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 mix:versionable mixin type.
All versionable nodes must also be referenceable, thus mix:versionable is a subtype of mix:referenceable. There are no other constraints on the content or structure of the versionable nodes.
A versionable node has a corresponding nt:versionHistory node within the /jcr:system/jcr:versionStorage tree. The jcr:baseVersion property references the nt: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 nt: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
mix:versionable is a subtype of mix:referenceable
The nt:VersionHistory type represents the full version history of a node.
The nt:version type represents a single version of a versionable node.