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
{{/jcr:system/jcr:versionStorage}}.
> 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

        

Mime
View raw message