Apache Jackrabbit : Mix -versionable

Mixin type for versionable nodes.


[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


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

Comments and questions