jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject Novel workspace idea
Date Thu, 14 Feb 2013 08:27:44 GMT
Hi,

When discussing workspaces and our options for implementing them, our
main options so far have been:

1) No workspace support (with jcr:system just a normal subtree)
2) Workspaces as fully independent trees (each with its own jcr:system)
3) Workspaces as subtrees of a bigger repository tree (with jcr:system
mounted virtually to each workspace tree)

Working with the SegmentMK draft it occurred to me that we might also
have another alternative:

4) Workspaces as partial branches (with jcr:system as the only subtree
synced across such workspace branches)

With such an approach each new workspace would start with a branched
copy of the jcr:system subtree from the default workspace. That
jcr:system branch would get periodically (or on-demand) synced to
bring in new version histories and other repository-wide data like
node types.

The benefit of such an approach would be to avoid the need for a
virtual jcr:system subtree mount, making most operations in all
workspaces behave like in option 1). The downsides are the added
branching complexity, the MK support required for it and extra
difficulty in ensuring things like consistent node type updates across
all workspaces (since a Validator can only look at one branch at a
time).

I'm bringing this up just as one more alternative to consider, not
something that I think we definitely should implement. Personally I'd
prefer to stick with options 1) or 2) until someone actually needs
more feature-rich workspaces.

BR,

Jukka Zitting

Mime
View raw message