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

Reply via email to