Hi,
I'm using jackrabbit for storing some (perhaps a few thousand) name/
value pairs in a hierarchical format (there's no real "content" as
such so things are pretty light weight).
The key requirement is for users to be able to update names and/or
values for their own use but not have those changes visible to other
users. Further down the track we may get into merging of user pairs
back into the main hierarchy, and versioning, but that's a way off yet.
I was hoping workspaces would be a suitable solution for this - but
appears that once a workspace is cloned, any changes to the original
workspace aren't reflected in the cloned workspace (this isn't
surprising since the clone is taken at a point in time.)
As far as I can tell, the only way to achieve this is to merge the
user's workspace with the workspace it was cloned from on a regular
basis, but this necessitates comparing each name/value pair in each
workspace and only merging if:
(a) the cloned workspace has an update; and
(b) the user doesn't have an overridden value.
It's by no means impossible, but it does seem a little ... clunky?
(and I haven't really thought about performance impact of doing that
yet)
Does anyone have any suggestions on a "nicer" way to achieve what
we're after?
I'm sure there are a bunch of things I'm missing here - happy to
accept any advice that y'all may have!
Thanks,
Martin