jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Sedding (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-168) Basic JCR VersionManager support
Date Thu, 05 Jul 2012 14:01:35 GMT

    [ https://issues.apache.org/jira/browse/OAK-168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13407121#comment-13407121

Julian Sedding commented on OAK-168:

An alternative approach to implement versioning could be to "tag" a revision in the MicroKernel
(like a Git tag). A tagged revision may not be garbage collected.

In order to expose the {{/jcr:system/jcr:versionStorage}} only the tag, and information about
which node is being versioned, need to be persisted. Based on this information, it should
then be possible to construct a suitable {{/jcr:system/jcr:versionStorage}} view in oak-jcr.

Having support for tagging in oak/mk, i.e. providing the possibility for taking snapshots
of the entire content tree at a relatively low cost, opens up a range of possibilities. E.g.
viewing the entire content tree as it was on 5th July 2012, but also e.g. hot-backups, which
could discard any information that was written after s tagged state, and thus guarantee consistency.

In my ideal world, a versioning mechanism that versions the entire repository, would even
find its way into the JCR spec.
> Basic JCR VersionManager support
> --------------------------------
>                 Key: OAK-168
>                 URL: https://issues.apache.org/jira/browse/OAK-168
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: jcr
>            Reporter: Jukka Zitting
> Versioning is a highly useful feature for many applications, so we definitely should
support that in Oak.
> We could start by adding a basic JCR VersionManager implementation that simply implements
checkin operations by copying content from a node to the respective version history under
> The next step would then be figuring out whether we want to expose such an operation
directly in the Oak API, or if a separate versioning plugin and an associated validator for
changes in the {{/jcr:system/jcr:versionStorage}} subtree works better.
> Based on that we can then proceed to implement more of the JCR versioning features.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message