Sync-enabled feature services

Feature services have a capability called Sync.

"capabilities": "Create,Delete,Query,Sync,Update,Uploads,Editing"

When the Sync capability is listed, the feature service is sync-enabled, and all layers and tables in the service can be used in sync workflows . If the Sync capability is not listed, the service cannot be used in sync workflows.

Feature service capabilities define the operations that are allowed when working with a feature service. There are two configurations supported for feature services that participate in offline map use:

Any other configurations will return an error when you download or synchronize the data.

To enable the Sync capability on feature services created with ArcGIS Server, you need to prepare your geodatabase in advance. An option to enable sync by editing item properties is also provided in Portal for ArcGIS and ArcGIS.com for hosted feature services.

For sync-enabled feature services, an additional syncCapabilities property describing the following supported features is provided:

If supportsRegisteringExistingData is true, the createReplica operation has a replicaOptions parameter that supports registering existing data. This allows a replica to be created based on an existing replica. Example 3 in the workflow examples describes a workflow where this option is used.

If supportsSyncDirectionControl is true, the service will allow control of data sync direction. The default is bidirectional. Other directions are upload, download, and snapshot.

If supportsPerLayerSync is true, layers can be synchronized independently, and the service will accept a value of perLayer for the sync model during the createReplica operation. If supportsPerLayerSync is false, the only sync model supported is perReplica.

If supportsPerReplicaSync is true, the layers can be synchronized together, and the service will accept a value of perReplica for the sync model during the createReplica operation. If supportsPerReplicaSync is false, the only sync model supported is perLayer.

If supportsAsync is true, the service can execute sync operations asynchronously.

If supportsRollbackOnFailure is true, the rollbackOnFailure parameter can be set to true or false when running the synchronizeReplica operation. If supportsRollbackOnFailure is false, the synchronizeReplica operation does not support the parameter.

JSON syntax for feature service properties related to Sync

{
  "currentVersion": <currentVersion>,
  "syncCapabilities" : {
    "supportsRegisteringExistingData" : <true | false>,
    "supportsSyncDirectionControl" : <true | false>,
    "supportsPerLayerSync" : <true | false>,
    "supportsPerReplicaSync" : <true | false>,
    "supportsRollbackOnFailure" : <true | false>,
    "supportsAsync" : <true | false>,
  }
...
}

JSON response example

{
  "currentVersion": 10.21,
  "syncCapabilities":{
    "supportsRegisteringExistingData": true,
    "supportsSyncDirectionControl": true,
    "supportsPerLayerSync": true,
    "supportsPerReplicaSync" : false,
    "supportsRollbackOnFailure" : false,
    "supportsAsync": true
    }
...
}

9/13/2017