start-sync-scope
Action starts or restarts a specific sync scope. The scope completes once all defined sync-entity actions/datasources have finished.
Examples and code snippets
In this example, three entities (database tables) are synced using
action.sync-entities, namely:earthquake (REST)
hike (Dynamica Data)
penguins ( Dynamic Data)
The
action.start-sync-scopeis used to write the status of the database tables to the local _syncScope table. In turn the _syncStatus table is updated with the sync operation.A datasource is configured against the _syncScope and _syncStatus table, and the details are returned in a list (for visibility in this example).
The
action.start-sync-scopeis used to start the sync scope. The results of the sync operation is visible in the list.
title: Sync-scope examples
type: jig.default
children:
- type: component.section
options:
title:
text: Scope
fontSize: medium
color: color3
isSubtle: false
isBold: true
numberOfLines: 1
children:
- type: component.list
options:
# Bind data from the sync-scopes datasource
data: =@ctx.datasources.sync-scopes
maximumItemsToRender: 8
item:
type: component.list-item
options:
# Display the sync scope state (syncing, synced, failed, interrupted)
title:
text: =@ctx.current.item.state
# Display the details JSON structure as subtitle
subtitle:
text: =@ctx.current.item.details
fontSize: regular
numberOfLines: 3
# Show the sync scope ID on the right side of the list item
rightElement:
element: text
- type: component.section
options:
title:
text: Status
fontSize: medium
color: color10
isSubtle: false
isBold: true
numberOfLines: 1
children:
- type: component.list
options:
# Bind data from the sync-status datasource
data: =@ctx.datasources.sync-status
maximumItemsToRender: 8
item:
type: component.list-item
options:
# Display the sync scope state
title: =@ctx.current.item.state
# Display the datasource table that the state applies to.
subtitle: =@ctx.current.item.entity
# Add a tag to show the status of the sync-scope.
tags:
- text: =@ctx.current.item.state
color: primary
# Show the id of each sync scope status. The id is used in the action to
# identify the sync status that must be deleted.
rightElement:
element: text
firstLine: =@ctx.current.item.id
actions:
- numberOfVisibleActions: 3
children:
# Action to start a new sync scope.
- type: action.start-sync-scope
# Specify a unique identifier for this sync scope action.
instanceId: sync-all
options:
# List the individual instanceIds of each sync (sync-entities)
# that the sync scope applies to.
instanceIds:
- sync-quakes
- sync-enviro
title: Start sync
Last updated
Was this helpful?