[
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