Page History
Warning | ||
---|---|---|
| ||
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 | ||
---|---|---|
|
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 |
---|
|
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
- 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:
- Connect to the source Magic Collaboration Studio Teamwork Cloud server and select the resources and/or categories you want to synchronize.
- Select the category on the target Magic Collaboration Studio Teamwork Cloud server where you want the synced resources to be stored.
- Select one of the following synchronization triggers: on every commit, on commit with a specific tag, or manual synchronization
- Use the synchronized resources in your projects stored on the target server.
- Update synchronized resources when new project versions become available.
Note |
---|
|
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
- On the target Magic Collaboration Studio Teamwork Cloud server (e.g., archive server), create a remote resource configuration for a single time synchronization operation:
- 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.
- Select the category on the target Magic Collaboration Studio Teamwork Cloud server where you want the synced resources to be stored.
- Select one the On every new commit synchronization trigger.
- Use Data Manager to remove the synced resources from the source server to free up server space.
- 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 language bash theme DJango linenumbers true -rrof, --remove-read-only-flag <-resourceID=<value1>,<value2> --categoryID=<value1>,<value2>>
Tip title Example 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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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.