Skip to main content

Data synchronization

Some EVA configuration can be exported from one environment, to be imported into another EVA environment. The following configuration can be exported:

  • Roles (including functionalities)
  • ScheduledTasks
  • RecurringTasks
  • Settings
  • Cookbook
  • Stencil
  • Symphony
Synchronization via Admin Suite

Synchronization can also be performed in its dedicated front end: Synchronization.

Creating a synchronization file

Specify what area you'd like to synchronize in the 'Name' field. The values correspond to the ones listed here above. Be sure to start this service in the environment you'd like to copy from.

We can create a synchronization file with CreateSynchronization:

{
"Managers": [
{
"Name": "Settings"
}
]
}

Above request will instruct EVA to create a synchronization file for settings only. Leave the Managers property empty to create a file for all components. The response will contain a BlobUrl which can be imported into another environment. Specifying multiple managers will not create multiple files.

Blobs generated as a result of CreateSynchronization expire after 30 minutes. They can however be downloaded and locally stored or manually hosted if so desired.

Use GetAvailableSynchronizationManagers to see what configuration can be synchronized:

{}

Comparing data

Start this service in the environment you'd like to compare the settings from the first environment with.

Since the list is huge in practice, here's a selection of three values from our CompareSynchronization call. Note that when you state "IncludeIdentical":"False", any hidden values will always be shown, since they cannot be compared.

Enter the URL you received in the Create call and whether you'd like to be shown values which are identical.

{
"BlobUrl": "https://assets.typings.on-eva.io/blob/bfe60331-a90a-4cf2-ba4a-01114f8ffb2e",
"IncludeIdentical":"false" // or true, based on whether you'd like to see identical values
}

Applying changes

Also start this service in the environment you want to copy to.

Service call UploadSynchronization lets you specify which settings (or any other configuration subject) you would actually like to import into the second environment. Specify the same 'BlobUrl' and enter the IDs of the objects (as seen in the Compare call) to import to the second environment.

You can also enter another value if you'd like.

{
"BlobUrl":"https://assets.typings.on-eva.io/blob/ac901f9-9703-4063-9da5-1cd90f46d8",
"Import":[
{"ID":"Setting:docs_inc_UserSearch:UseNewUserTypeFiltering", "Values": [{"Type": "value", "Value": "false"}]}
]
}

IsNew specifies whether the setting was already present but with a deviating value (false), or if it was completely missing (true).