Explanation: --- JCR introduces the very abstract concept of Workspaces which leaves a lot of developers unclear on what to do with them. I would like to propose to put your use of workspaces to the following to test.
If you have a considerable overlap of corresponding nodes (essentially the nodes with the same UUID) in multiple workspaces you probably put workspaces to good use. If there is no overlap of nodes with the same UUID you are probably abusing workspaces. Workspaces should not be used for grouping or access control reasons, even though it may be tempting to put things into a "bucket", I would recommend to use a "folder" (node) for your bucket. Workspaces are the boundary for references and query. Examples: --- Use workspaces for things like: - v1.2 of your project vs. a v1.3 of your project - a "development", "qa" and a "published" state of content - completely separated applications that should probably run on separate repositories to begin with ;) Do not use workspaces for things like: - user home directories - distinct content for different target audiences like public, private, local, ... - mail-inboxes for different users
