jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Buchmann <david.buchm...@liip.ch>
Subject Re: New to JCR (again) and mildly baffled by workspaces
Date Mon, 09 May 2011 06:39:42 GMT
Hash: SHA1

the point of the revision control system is mostly to emphasize that
workspaces are not intended for things like access control or for
example a multi-tenant system where each client gets one workspace. they
are meant to be branches of the same content, like the revision control
branch feature.

i think for your usecase you want to look into the clone and copy
methods that allow to copy nodes between workspaces.
clone has the nice effekt of keeping the ids intact, so you should be
able to map the changes from a new revision of your content back into
your master workspace (master branch).

revisioning is not needed for this concept. revisioning is to store a
change history of a node. as in svn, the change history stays inside the


Am 08.05.2011 18:32, schrieb Tom Anderson:
> Hello!
> I'm new to JCR (still - i looked into JCR, and was on this list briefly,
> a year ago, but never managed to make time to really understand things),
> and trying to get my head around some of the concepts - in particular,
> workspaces and versioning. I have some general, non-Jackrabbit-specific,
> questions about JCR - is this a suitable place to ask them?
> In a post on this list several years ago:
> http://jackrabbit.510166.n4.nabble.com/JCR-workspace-usage-td510218.html
> Marcel Reutegger wrote:
>  you can look at workspaces as local checkouts of a revision control
>  system.
> That's a really useful metaphor, because i understand revision control
> systems. However, i don't understand how the parts map on to JCR. The
> workspace corresponds to a local working copy, right? So what's the
> equivalent of the central repository? What are the equivalents of
> updating and committing? How about branching and merging?
> I see from the javadoc that there are methods checkin, checkout, and
> merge - but that these are (as of JCR 2.0) on the VersionManager. That
> suggests to me that if i'm going to use them, i'm also going to be
> getting involved with versions. Is that the case? Are workspaces and
> versioning inextricably linked? Can i use workspaces without versioning?
> Can i use versioning without workspaces?
> The job i'd like to use JCR for is something fairly simple. It would be
> management of an e-commerce product catalog - categories, products,
> SKUs, supporting media and so on. There would be a small merchandising
> team editing this data. The model i have is that the repository holds
> the master version of this information; when the team wants to do some
> work (adding a new category of products, say), they would create a new
> working copy of it, do their editing, over the course of days or weeks,
> and when it was ready, fold it back into the master copy. There could be
> several such bits of work in progress at once. Should i be thinking in
> terms of having a workspace for the master copy, and a workspace for
> each bit of work? A workspace for each bit of work with no master
> workspace? A single workspace, active in multiple sessions, using
> versioning to separate bits of work? Some combination of the above?
> Has anything entry-level been written about how to use workspaces and/or
> versioning? The spec is pretty opaque, and the javadocs, being javadocs,
> don't really have a single coherent narrative.
> Thanks in advance for any insights!
> tom

- -- 
Liip AG // Agile Web Development // T +41 26 422 25 11
CH-1700 Fribourg // PGP 0xA581808B // www.liip.ch
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


View raw message