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

Change CopyNodesRecursively command to capture intent #5359

Closed
bwaidelich opened this issue Nov 11, 2024 · 2 comments · Fixed by #5371
Closed

Change CopyNodesRecursively command to capture intent #5359

bwaidelich opened this issue Nov 11, 2024 · 2 comments · Fixed by #5371

Comments

@bwaidelich
Copy link
Member

Currently the CopyNodesRecursively command has two properties that reflect the inner working more than the original intention to copy existing nodes.
This is a problem because it allows to circumvent constraint checks.

Namely:

  • $nodeTreeToInsert that basically contains a serialized snapshot of all the affected nodes
  • $nodeAggregateIdMapping that creates new, random, node aggregate ids

Both should not happen at command creation time but in the command handler, i.e. we should introduce some CopyNodesRecursivelySerialized variants.

Related: #5353

@mhsdesign
Copy link
Member

More importantly this will allow us to do proper constraint checks (see

// we assume here that the child node is tethered because the grandparent specifies that.
// this is not always fully correct and we could loosen the constraint by checking the node type schema
for example)

And further this is required for copying with dimensions: #5054

@bwaidelich
Copy link
Member Author

More importantly this will allow us to do proper constraint checks

Right, that's why they are mentioned in the 2nd phrase :)

@bwaidelich bwaidelich changed the title Change CopyNodesRecursively command to capture _intent_ Change CopyNodesRecursively command to capture intent Nov 11, 2024
@github-project-automation github-project-automation bot moved this from Prioritized 🔥 to Done ✅ in Neos 9.0 Release Board Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants