[ 
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

        

Reply via email to