You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by Apache Wiki <wi...@apache.org> on 2006/04/23 11:04:07 UTC
[Jackrabbit Wiki] Update of "mix:versionable" by JukkaZitting
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.
The following page has been changed by JukkaZitting:
http://wiki.apache.org/jackrabbit/mix%3aversionable
New page:
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:versionable"]. 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.
== Comments and questions ==