Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning
titleImportant

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

Table of Contents
maxLevel4

Magic Collaboration Studio offers a one-way resource synchronization functionality allowing you to move resources from one Magic Collaboration Studio Teamwork Cloud 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.

Note
  • 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 Teamwork Cloud 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 Teamwork Cloud server and select the resources and/or categories you want to synchronize.
    2. Select the category on the target Magic Collaboration Studio Teamwork Cloud 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.


Note
  • 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 Teamwork Cloud 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 Teamwork Cloud server


  1. On the target Magic Collaboration Studio Teamwork Cloud server (e.g., archive server), create a remote resource configuration for a single time synchronization operation:
    1. Connect to the source Magic Collaboration Studio Teamwork Cloud 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 Teamwork Cloud 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.

Warning

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:

    Code Block
    languagebash
    themeDJango
    linenumberstrue
    -rrof, --remove-read-only-flag <-resourceID=<value1>,<value2> --categoryID=<value1>,<value2>>
    Tip
    titleExample
    datamanager -rrof --resourceID=a4c498c9-f125-453c-b9cb-3d5a6e675714 --categoryID=a1d569ea-fe6a-402f-8a25-aef6b932de48

Configuring TLS encrypted connection for cross-cluster synchronization

Both source and target server must have the same values set in Webapp:

Code Block
languagetext
twc.client.keystore.type
twc.client.keystore.path
twc.client.keystore.password
twc.client.tls=true

It is not necessary to set the same port for TLS in Webapp. However, keep in mind that during login, you need to set a port when adding a resource. Otherwise, it will use the target server's TLS port to log in to the source server, where it has a different TLS port.

To enable encrypted synchronization in Magic Collaboration Studio, append the following parameter to the end of application.conf:

Code Block
languagetext
esi.server.sync.tls-enabled = true

Both Magic Collaboration Studio Teamwork Cloud servers must have a certificate signed by a trusted Certificate Authority (CA). You can use self-signed certificates, but you may need to add the certificate to your JVM keystore and OS path as well.