Mixin type for versionable nodes.
Definition
[mix:versionable] > mix:referenceable mixin - jcr:versionHistory (REFERENCE) mandatory protected < nt:versionHistory - jcr:predecessors (REFERENCE) mandatory protected multiple < nt:version - jcr:baseVersion (REFERENCE) mandatory protected IGNORE < nt:version - jcr:isCheckedOut (BOOLEAN) = true autocreated mandatory protected IGNORE - jcr:mergeFailed (REFERENCE) protected multiple ABORT
Description
This is the key type of the JCR versioning system. All versionable nodes have the versionable mixin type.
All versionable nodes must also be referenceable, thus versionable is a subtype of referenceable. There are no other constraints on the content or structure of the versionable nodes.
A versionable node has a corresponding versionHistory node within the /jcr:system/jcr:versionStorage
tree. The jcr:baseVersion
property references the version node that represents the base version of this node within the version history.
The jcr:predecessors
property contains one or more (because of merges) references to version nodes within the version history. When this node is checked in, these versions will be recorded as the predecessors of the checked in version.
The jcr:isCheckedOut
flag indicates whether the node is checked out, i.e. can be modified and then checked in as a new version.
The jcr:mergeFailed
property is populated with references to the base versions of conflicting nodes during a merge. An application needs to resolve the merge failure before checking in this node, as the presence of the jcr:mergeFailed
property will abort a checkin.
Related node types
- versionable is a subtype of referenceable
- The VersionHistory type represents the full version history of a node.
- The version type represents a single version of a versionable node.