Skip to content
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

!!! TASK: Move workspace module to separate package #5118

Merged
merged 6 commits into from
Jun 4, 2024

Conversation

ahaeslich
Copy link
Member

@ahaeslich ahaeslich commented Jun 3, 2024

Tasks

  • Create new package named "Neos.Workspace.Ui"
  • Move settings
  • Move translations
  • Only minimal adjustments in controller code
  • Use singular for controller name
  • Register package in neos distribution
  • Create core migration to adjust existing privilege usages ❓

Upgrade instructions

Add neos/workspace-ui as dependency.

Review instructions

Checklist

  • Code follows the PSR-2 coding style
  • Tests have been created, run and adjusted as needed
  • The PR is created against the lowest maintained branch
  • Reviewer - PR Title is brief but complete and starts with FEATURE|TASK|BUGFIX
  • Reviewer - The first section explains the change briefly for change-logs
  • Reviewer - Breaking Changes are marked with !!! and have upgrade-instructions

@Sebobo Sebobo marked this pull request as ready for review June 3, 2024 11:21
@Sebobo Sebobo force-pushed the feature/4255-introduce-workspace-package branch from 4d8eeb0 to 4d9ed13 Compare June 3, 2024 11:49
The change includes the code migration for existing projects
@Sebobo Sebobo force-pushed the feature/4255-introduce-workspace-package branch from 4d9ed13 to 67c9ec4 Compare June 3, 2024 11:56
@Sebobo Sebobo self-requested a review June 3, 2024 11:58
Copy link
Member

@kdambekalns kdambekalns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine by reading…

@ahaeslich ahaeslich requested a review from bwaidelich June 3, 2024 15:02
…-workspace-package

# Conflicts:
#	Neos.Neos/Resources/Private/Translations/de/Modules.xlf
@ahaeslich ahaeslich merged commit bc01151 into 9.0 Jun 4, 2024
10 checks passed
@ahaeslich ahaeslich deleted the feature/4255-introduce-workspace-package branch June 4, 2024 15:10
@@ -502,7 +499,7 @@ public function rebaseAndRedirectAction(Node $targetNode, Workspace $targetWorks
$this->redirect(
'show',
'Frontend\\Node',
'Neos.Neos',
'Neos.Workspace.Ui',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fyi here it must stay Neos.Neos but ill fix that

@mhsdesign
Copy link
Member

Aaaand if we have a list for creating new packages we should also add that we need to adjust to include it in phpstan as well.

Btw did you migrate all the translation files by hand oO soooo much work :O or can weblate do this as well? xD

@Sebobo
Copy link
Member

Sebobo commented Jun 17, 2024

Did it by hand, while you were talking during the sprint 😉

@kdambekalns
Copy link
Member

Did it by hand, while you were talking during the sprint 😉

I think it would have been enough to do it in the en files, Weblate should clean things up as needed then…

ahaeslich added a commit to ahaeslich/neos-ui that referenced this pull request Jun 28, 2024
While extracting the workspace module into a separate package, the route was adjusted to `neos/management/workspace`.

Relates: neos/neos-development-collection#5118
@dlubitz
Copy link
Contributor

dlubitz commented Sep 20, 2024

It seems, there are references to the moved translations, which where not updated and are not working anymore.

E.g: https://github.com/neos/neos-development-collection/blob/9.0/Neos.Media.Browser/Resources/Private/Templates/Usage/RelatedNodes.html#L127-L127

Are there any plans to find and change them?

(I fixed them in the RelatedNodes.html, but I guess there are more in other templates)

@ahaeslich
Copy link
Member Author

Thx for finding the issue.

Are there any plans to find and change them?

It seems we have to check more views for this labels.

@dlubitz
Copy link
Contributor

dlubitz commented Sep 23, 2024

We might re-think which package owns the translations. E.g. the translation of "Workspace" should not be owned by a workspace package. As this is a general translation in Neos. Otherwise we would need to have a dependency to the workspace package in each package where we use the "Workspace" translation.

@dlubitz
Copy link
Contributor

dlubitz commented Sep 23, 2024

E.g. The Media Browser... By using the translation keys of Workspace.Ui I made the Media Browser package dependent on the Workspace UI package. Which shouldn't be.

mhsdesign added a commit to mhsdesign/neos-development-collection that referenced this pull request Jan 6, 2025
With the introduction of explicit user assignments for workspaces neos#5146 and roles and the full evaluation of those via neos#5298 we have replaced the previously still kept 8.3 yaml security configuration for workspaces.

This decision was done as for security we can no longer use flows security framework which uses aop inside the content-repository library, and also we wanted to cleanup the user <-> workspace relation ship as well as the concept of internal vs shared workspaces.

Following yaml roles were removed:
- `Neos.ContentRepository:Administrator`
- `Neos.ContentRepository:InternalWorkspaceAccess`

Following yaml targets were removed:
- `Neos.Neos:PublicWorkspaceAccess`
- `Neos.Neos:OtherWorkspacesAccess`
- `Neos.Neos:Backend.OtherUsersPersonalWorkspaceAccess`
- `Neos.Neos:Backend.PublishOwnWorkspaceContent`
- `Neos.Neos:Backend.DiscardOwnWorkspaceContent`
- `Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace`

Note that these targets were moved to the `Neos.Workspace.Ui:Backend` package via neos#5118 in 9.0 but were removed now either way:

- `Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces`)
Sebobo pushed a commit to mhsdesign/neos-development-collection that referenced this pull request Jan 13, 2025
With the introduction of explicit user assignments for workspaces neos#5146 and roles and the full evaluation of those via neos#5298 we have replaced the previously still kept 8.3 yaml security configuration for workspaces.

This decision was done as for security we can no longer use flows security framework which uses aop inside the content-repository library, and also we wanted to cleanup the user <-> workspace relation ship as well as the concept of internal vs shared workspaces.

Following yaml roles were removed:
- `Neos.ContentRepository:Administrator`
- `Neos.ContentRepository:InternalWorkspaceAccess`

Following yaml targets were removed:
- `Neos.Neos:PublicWorkspaceAccess`
- `Neos.Neos:OtherWorkspacesAccess`
- `Neos.Neos:Backend.OtherUsersPersonalWorkspaceAccess`
- `Neos.Neos:Backend.PublishOwnWorkspaceContent`
- `Neos.Neos:Backend.DiscardOwnWorkspaceContent`
- `Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace`

Note that these targets were moved to the `Neos.Workspace.Ui:Backend` package via neos#5118 in 9.0 but were removed now either way:

- `Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces`)
neos-bot pushed a commit to neos/contentrepository-nodeaccess that referenced this pull request Jan 13, 2025
With the introduction of explicit user assignments for workspaces neos/neos-development-collection#5146 and roles and the full evaluation of those via neos/neos-development-collection#5298 we have replaced the previously still kept 8.3 yaml security configuration for workspaces.

This decision was done as for security we can no longer use flows security framework which uses aop inside the content-repository library, and also we wanted to cleanup the user <-> workspace relation ship as well as the concept of internal vs shared workspaces.

Following yaml roles were removed:
- `Neos.ContentRepository:Administrator`
- `Neos.ContentRepository:InternalWorkspaceAccess`

Following yaml targets were removed:
- `Neos.Neos:PublicWorkspaceAccess`
- `Neos.Neos:OtherWorkspacesAccess`
- `Neos.Neos:Backend.OtherUsersPersonalWorkspaceAccess`
- `Neos.Neos:Backend.PublishOwnWorkspaceContent`
- `Neos.Neos:Backend.DiscardOwnWorkspaceContent`
- `Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace`

Note that these targets were moved to the `Neos.Workspace.Ui:Backend` package via neos/neos-development-collection#5118 in 9.0 but were removed now either way:

- `Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces`)
neos-bot pushed a commit to neos/neos that referenced this pull request Jan 13, 2025
With the introduction of explicit user assignments for workspaces neos/neos-development-collection#5146 and roles and the full evaluation of those via neos/neos-development-collection#5298 we have replaced the previously still kept 8.3 yaml security configuration for workspaces.

This decision was done as for security we can no longer use flows security framework which uses aop inside the content-repository library, and also we wanted to cleanup the user <-> workspace relation ship as well as the concept of internal vs shared workspaces.

Following yaml roles were removed:
- `Neos.ContentRepository:Administrator`
- `Neos.ContentRepository:InternalWorkspaceAccess`

Following yaml targets were removed:
- `Neos.Neos:PublicWorkspaceAccess`
- `Neos.Neos:OtherWorkspacesAccess`
- `Neos.Neos:Backend.OtherUsersPersonalWorkspaceAccess`
- `Neos.Neos:Backend.PublishOwnWorkspaceContent`
- `Neos.Neos:Backend.DiscardOwnWorkspaceContent`
- `Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace`

Note that these targets were moved to the `Neos.Workspace.Ui:Backend` package via neos/neos-development-collection#5118 in 9.0 but were removed now either way:

- `Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces`)
neos-bot pushed a commit to neos/workspace-ui that referenced this pull request Jan 13, 2025
With the introduction of explicit user assignments for workspaces neos/neos-development-collection#5146 and roles and the full evaluation of those via neos/neos-development-collection#5298 we have replaced the previously still kept 8.3 yaml security configuration for workspaces.

This decision was done as for security we can no longer use flows security framework which uses aop inside the content-repository library, and also we wanted to cleanup the user <-> workspace relation ship as well as the concept of internal vs shared workspaces.

Following yaml roles were removed:
- `Neos.ContentRepository:Administrator`
- `Neos.ContentRepository:InternalWorkspaceAccess`

Following yaml targets were removed:
- `Neos.Neos:PublicWorkspaceAccess`
- `Neos.Neos:OtherWorkspacesAccess`
- `Neos.Neos:Backend.OtherUsersPersonalWorkspaceAccess`
- `Neos.Neos:Backend.PublishOwnWorkspaceContent`
- `Neos.Neos:Backend.DiscardOwnWorkspaceContent`
- `Neos.Workspace.Ui:Backend.PublishAllToLiveWorkspace`

Note that these targets were moved to the `Neos.Workspace.Ui:Backend` package via neos/neos-development-collection#5118 in 9.0 but were removed now either way:

- `Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageOwnWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageInternalWorkspaces`)
- `Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces` (`Neos.Workspace.Ui:Backend.Module.Management.Workspace.ManageAllPrivateWorkspaces`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants