Important

Be aware that cross-cluster resource synchronization is only supported between deployments running the same major version. While the minor version does not need to match, both deployments must be on the same major version to ensure compatibility and smooth operation.

On this page

Magic Collaboration Studio offers a one-way resource synchronization functionality allowing you to move resources from one Magic Collaboration Studio server to another and periodically update them. This is a convenient way to collaborate with disconnected teams or departments and share not only resources but their entire history as well. Therefore you can use resource synchronization as an alternative to exchanging .mdzip files and then updating server projects with local changes. In addition, you can perform a one-time synchronization operation to offload resources to another server for archiving.

  • Cross-cluster resource synchronization works only in one direction - from the source to the target server. Synchronized resources on the target server are read-only and cannot be edited to ensure version consistency.
  • The synchronization feature checks project uniqueness by Project ID, Resource ID, and Project Name.

Using resource synchronization for collaborating

You can periodically synchronize Magic Collaboration Studio resources from the source server to the target server so that other users can use synchronized projects in other projects stored on the target server.

Setting up a periodic synchronization operation to share resources that can be reused on the target server.

To use resource sync for collaboration between disconnected Magic Collaboration Studio sites


  1. On the target Magic Collaboration Studio server, create a remote resource configuration to synchronize selected resources from the source to the target server:
    1. Connect to the source Magic Collaboration Studio server and select the resources and/or categories you want to synchronize.
    2. Select the category on the target Magic Collaboration Studio server where you want the synced resources to be stored.
    3. Select one of the following synchronization triggers: on every commit, on commit with a specific tag, or manual synchronization
  2. Use the synchronized resources in your projects stored on the target server.
  3. Update synchronized resources when new project versions become available.


  • The source server determines all of the resource's metadata. Therefore, if you change the name of a synchronized project on the source server, the name also changes on the target server on subsequent synchronization iteration. If you change the name of a synchronized project on the target server, the name changes back to the one on the source server during synchronization.
  • If you move a synchronized project to a different category on the source server, the project continues synchronizing as before. If you do so on the target server, on subsequent synchronization iteration, the synchronized project returns to its original category specified in the synchronization configuration.
    However, if a whole category is being synchronized and you remove a resource from that category, this resource is not synchronized anymore. Only the remaining resources in the category are synchronized further.

Multi-hop synchronization

In the case of external collaboration between separate entities, direct network connectivity is usually not permitted between the two parties due to IT-level security constraints. As a remedy to this issue, the cross-cluster sync feature can be set up to support the so-called multi-hop deployment topology. That is, a separate Magic Collaboration Studio instance can be spun up in a neutral environment outside of the involved organizations' network, so the need to connect the two together is eliminated. Instead, resources can be shared and synced between the source and target in multiple hops through the common/neutral Magic Collaboration Studio repository in the middle.

Synchronizing resources in multiple hops via a common or neutral environment.

Using resource synchronization for resource offloading

If there are dormant recourses in your Magic Collaboration Studio server, you can move them to another server for archiving to free up space on the main server (e.g., production server).

Setting up a one-time synchronization operation to move resources to another server.

To use resource sync for moving resources to another Magic Collaboration Studio server


  1. On the target Magic Collaboration Studio server (e.g., archive server), create a remote resource configuration for a single time synchronization operation:
    1. Connect to the source Magic Collaboration Studio server (e.g., production server) and select the resources and/or categories you want to synchronize.
    2. Select the category on the target Magic Collaboration Studio server where you want the synced resources to be stored.
    3. Select one the On every new commit synchronization trigger.
  2. Use Data Manager to remove the synced resources from the source server to free up server space.
  3. Remove the remote resource configuration created in step 1.


Removing the read-only flag from offloaded resources

If you have used resource synchronization to offload resources to a remote server, these resources are read-only and you can no longer edit them. However, there is a way to remove the read-only flag from synchronized resources and make them active again.

Do not remove the read-only flag from periodically synchronized resources or categories. This will cause version inconsistencies after subsequent synchronizations.

The read-only flag removal is recommended only if resources or categories were moved to another server as a result of a one-time synchronization operation and you want to make them active again.


To remove the read-only flag from offloaded resources


  • Run Data Manager and execute the following command:

    -rrof, --remove-read-only-flag <-resourceID=<value1>,<value2> --categoryID=<value1>,<value2>>

    Example

    datamanager -rrof --resourceID=a4c498c9-f125-453c-b9cb-3d5a6e675714 --categoryID=a1d569ea-fe6a-402f-8a25-aef6b932de48

Configuring TLS encrypted connection for cross-cluster synchronization

Certificate Authority-signed certificate

If the source server has TLS set up with a Certificate Authority (CA)-signed certificate, no further actions are necessary. The target server will connect to source automatically using TLS.

Internal or self-signed certificate

In order to enable TLS encrypted connection with either a self-signed certificate or certificate signed by your organization internally, update the Java cacerts trustores on the target Magic Collaboration Studio server. Both the Java cacerts used by Magic Collaboration Studio and Web Application Platform on the target server will have to be updated with the source server's public certificate. 

Copy the source Magic Collaboration Studio server's public certificate to the target server. Use the keytool import command to add the source server certificate to the target server's Java cacerts truststore. This command will need to be executed with the Magic Collaboration Studio Java keytool and Web Application Platform's Java keytool.

keytool -import -cacerts -file <source server cert> -alias <unique alias>