-
Type: New Feature
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 5.1.1
-
Fix Version/s: 5.1.3
-
Component/s: None
The goal of this task is to manage the user personal workspace : a workspace automatically created for the user, where he has EVERYTHING permission. The main problem of handling such a feature is that in a company, there may be thousands of users and so thousands of such personal workspaces. Without any care, this may have two bad consequences :
- it can lower a lot the browsing tree , because of the need to evaluate the security of thousands of node each time to finally display only one
- it can lower the repository because jackrabbit doesn't handle correctly big "flat" structure without some modifications of our integration.
The first remark will lead to use hidden in navigation directory, as described below,
The second remark leads to depends on the NXP-1608
The user workspaces are under a new type "Userworkspacesroot", folderish and hidden in navigation. There is already a "user data", but this is probably used for technical purpose. The Userworkspacesroot can contains "workspace" type of nodes.
When the user logs on, a check is done to see if his personal workspace already exists, otherwise it creates it.
As it is under a "Hidden in navigation" folder, it is not directly accessible from the tree, so a link must be created (a link inside a NuxeoTheme Fragment) whose action when clicked is to set the root of the tree directly to the personal workspace. That means there must be an evolution of the tree manager and the navigation context, to handle a context modification through this link.
The fragment that holds the link switch the link to "return to repository" when in the personal workspace.
One big issue I see is : what happens if the user press the "back" button of the browser ? it seems its context will be broken ...