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

PartialPublish / Discard vs Content Dimensions #5387

Open
mhsdesign opened this issue Nov 30, 2024 · 0 comments · Fixed by #5385
Open

PartialPublish / Discard vs Content Dimensions #5387

mhsdesign opened this issue Nov 30, 2024 · 0 comments · Fixed by #5385
Assignees

Comments

@mhsdesign
Copy link
Member

mhsdesign commented Nov 30, 2024

The versus issues goes into a next round. This time featuring our favourites: The opponent is publishing and fighting against content dimensions that are known to be especially cruel to ensure your mind does not sustain their presence.


In Neos 8.3 we tested the following behaviour (via the Neos Ui / Workspace module):

1.) Publish All publishes without respecting the current dimension all changes in the site
2.) Publish Current (the document) only publishes the document in the currently selected dimension
3.) Publish Document in the workspace module publishes all dimension for this document (EDIT: with #3986 and Neos 7.3 its was actually possible to publish each dimension too)
4.) When creating a page and then translating its possible to publish only the translation event though the original creation is not published


The current state of Neos 9 claims to support at its core dimension selective partial publishing but currently its not used by the Neos Ui. Reason for this is a regression when refactoring change evaluation in the Neos Ui in Neos 9: neos/neos-ui#3752 (comment)
Well its not totally correct that we dont do dimension selective publishing at all as we still evaluate the changes from the change projection and then just use all changes and all dimensions ... well not without bugs: #4614 (comment)

There are two ways from here: Either fix dimension based publishing or fully remove it for the release.

As we do not support 4. at the core - we cannot do a CreateNodeVariant before CreateNodeAggregateWIthNode is issued, and resorting and transforming the commands would be way to crazy - the viable option would be to not support it.

Change to simplify PublishIndividualNodesFromWorkspace to only allow to select node aggregate ids but not their dimension: #5385

Further not allowing dimension based publishing allows us to ignore a lot of edge cases for now:

  • in which dimension did a NodeMove happen and do we want to publish across all dimensions or split up a gather all command?
  • node type change can only be published across all dimensions
  • aggregate scoped properties can only be published across all dimensions
  • node creation and their variant can only be published across all dimensions (or creation first)

Fully removing is of course a behaviour change. So in order to allow us to restore the old behaviour at some point if we find a good concept, publishing in the Neos Ui dialog must look different and contain a warning wich other dimensions are affected! In the simple case of only editing text on the page it will not contain that warning and it feels like Neos 8.3, also moving content elements via scatter will not raise that warning as only the one dimension will be affected. -> so we need to mark all. changes in all dimensions as orange via change projection and evaluate the data from the change projection to display the warning accordingly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Prioritized 🔥
1 participant