Shared type objects

Instances of a shared type object can be created in multiple replicas.

To prevent cross-replica conflicts, the following restrictions apply:
  • The instance restrictions (if any) on the type object must allow creation of the instance.
  • For all objects except versions and branches, the current replica must master the object to which the instance is being attached.
    • For a version, the current replica must master the branch on which the version is located.
      Note: When you apply a label whose instance restriction is one per branch, your current replica must master the branch. When you apply a label whose instance restriction is one per element, your current replica must master the element.
    • For a branch with default mastership, the current replica must master the branch type.
    • For a branch with explicit mastership, the current replica must master the branch object.
Note: If a hyperlink type is shared, you can create a hyperlink of that type between any two objects, at any replica. If the type is global, the restrictions on creation of the local copy apply.

Restrictions that prevent instance creation in an unreplicated VOB also prevent instance creation in a replica; for example, if there is a lock on the type object, instance creation fails. However, because locks are not replicated (except for locks created with –obsolete), a lock on a shared type object in one replica does not prevent instance creation in another replica.

A shared type cannot be converted to unshared. Instance restrictions (for example, once-per-branch use of a label type) for a shared type object cannot be changed.