-
-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Odd things about (user) workspaces #4566
Comments
Looking into #4588 and Sebobo/Shel.Neos.WorkspaceModule#33 I also found that creating a new workspace based on the title will lead to workspace names like "My funny workspace-p54t2". Is this expected as this is differes to the pre neos 9 behaviour? |
i think the auto suffix only happens with sebs workspace module and not via cli and the legacy module. |
As discussed today: That way we could make sure to only ever create workspaces that have not been used yet and can still always resolve the owner from the workspace name vice versa. |
Since users may have multiple accounts (e.g. one per authentication provider), personal workspace names should refer to user IDs and not workspace IDs. This would also solve the Currently, we always use the security context account's id, except when comparing for accessibility in Neos.UI's WorkspaceService::getAllowedTargetWorkspaces |
I agree but turning workspace names into cryptic UUIDs could pose new issues regarding readability and "debuggability".
With that we could do something like: // naming tbd of course
$this->someWorkspaceService->getDefaultPrivateWorkspace($neosUserId)->publishAllChanges(); The names of those workspaces could still be "human readable" with that, but more importantly they would be wired to a Neos user with an explicit mechanism |
Yes please! Clear realation between user and workspace would be great |
I also noticed that
$userIdentifier = $this->persistenceManager->getIdentifierByObject($user);
if ($workspace->workspaceOwner !== $userIdentifier) {
continue;
} |
This will be addressed with the security issues |
… user with id" after `cr:prune` and site switching - After `cr:prune` all sessions are destroyed to enforce a fresh login. The login will then create the missing personal workspace if needed. - During site:switch it is checked wether the new site has a personal workspace for the current user and create this if missing Resolves: neos#4566 Relates: neos#4401
While working on #4534 we found this logic
neos-development-collection/Neos.Neos/Classes/Service/EditorContentStreamZookeeper.php
Lines 121 to 126 in 033c07a
As discussed in slack and here we came to the conclusion that this
increment
logic will never be executed.To reassure this i placed a logger at this point and tried a few scenarios. I couldnt prove our thesis wrong but i noticed other oddities that we need to address.
Foo
has a personal workspace nameduser-Foo
. If the user is deleted and a new user namedFoo
is created it will use the previously still existent workspaceuser-Foo
.\Neos\Flow\Security\Account::setAccountIdentifier
and that would break the coupling of user <-> workspaceuser-Lol
and a new userLol
would use it as personal workspace.user-Bar-p54t2
(which will then not show up in the list be cause they are "user" workspaces)WorkspaceProvider
should have aprovideForUser
factoryThe text was updated successfully, but these errors were encountered: