Vidispine supports syncing between remote sites, this is handled via site rules. In order to start using the multi-site capabilities, the sites must first be set up so they know about each other.
Every site must have a name. Out of the box, a Vidispine instance will have the site name VX. The site name determines what prefix the ID:s in the system will get (e.g. VX-1234) The site name can be changed by setting the Java system property com.vidispine.site. It is important that every site in a multi site setup have different names.
Before anything can be synced between sites, Vidispine must be told how to connect to the remote sites. This is done by adding a site definition for each remote site. How this is done in practice is described in the reference section.
It is important to note that all sites must know about all other sites in order for the syncing to work properly! It is also important that the clocks on the different servers are set correctly, since for some operations the timestamps of changes are important.
To determine which entities to sync to remote sites, Vidispine uses site rules. Site rules can be defined for a number of different entity types, and the rules can also define what parts of the item should be synced.
Site rules can be set for individual entities or collectively for all entities of a specific type (e.g. you could set a site rule applying only to item VX-100, or a rule that applies to all items in the system).
Site rules can be added for the following entity types:
- Collections All child entities will also be synced.
- Libraries All child items will be synced.
- Users Will also sync any parent groups.
- User groups Any child groups and users will be synced with the group.
Depending on what entity type the rule is posted to, a number of different settings are available. For item, collection and library rules, the following settings are available:
- metadata Whether or not to sync metadata
- access Whether or not to sync ACLs for the entities. This also requires that the affected users and groups have been synced, otherwise this setting will have no effect.
- shape Determines whether or not to sync a shape containing this tag.
- files Whether or not to also sync files or just shape information.
User and group rules have no special settings.
Setting a site rule on an entity will cause it to be synced to the remote site specified in the rule, and any future changes will also be synced. A synced item will be synced both ways. So any changes made on the remote site will be synced back to the original site as well.
The following XML would describe a site rule for an item to the site NY. Metadata is synced, ACLs are not synced, and any web and editing shapes will be synced along with the files:
<SiteRuleDocument xmlns="http://xml.vidispine.com/schema/vidispine"> <site>NY</site> <metadata>true</metadata> <access>false</access> <shape>web</shape> <shape>editing</editing> <files>true</files> </SiteRuleDocument>
When having a synced item on several sites, there is always the possibility of metadata conflicts occurring. In the Vidispine multi-site setup, it is handled as “last edit wins”. Meaning that the edit with the latest timestamp will win. This does not mean that the older change is lost however. A full history of all edits will still be available on all sites, and the old value can be manually brought back with a later edit.