Overview
In ComponentTreeStructureConstraintValidator we have the todo
// @todo Validate that the string is a valid UUID. *And* that it is unique in the tree.
Proposed resolution
Add this validation.
See if we can do this all in \Drupal\experience_builder\Plugin\Validation\Constraint\ComponentTreeStructureConstraintValidator::validateTree
User interface changes
None
Issue fork experience_builder-3471026
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3471026-harden-uuid-validation
changes, plain diff MR !288
Comments
Comment #2
abhisekmazumdarPicking this up and giving my best try.
Comment #4
abhisekmazumdarThe MR is ready for review.
Comment #5
wim leersThanks @abhisekmazumdar!
@tedbow Thoughts on all the test-only UUIDs that now cause failures, such as
?
Comment #6
wim leersLGTM! Well done, @abhisekmazumdar 😊 That looks as simple/elegant as I'd hoped 😄
#3472299: Update default config to make a fresh install result in an XB UI with an empty canvas will change/reduce the amount of test expectations that need to be updated, so postponing this on that.
Comment #7
abhisekmazumdarCan we resume work on this ?
Comment #8
wim leersYes! Great catch! Thanks, @abhisekmazumdar :)
Comment #9
wim leersDidn't happen at Barcelona, but let's get it on https://contribkanban.com/board/experience_builder now 😄
Comment #10
wim leersGiven the huge range of tests that would need updating by now, I don't think this is anymore.
It's something that might be a stable blocker. Doing it now doesn't buy us much though, so postponing.
Comment #11
wim leersIt looks like #3468272: Store the ComponentTreeStructure field property one row per component instance will largely do this!
Comment #13
wim leersReviewing #3468272: Store the ComponentTreeStructure field property one row per component instance right now, it 100% certainly addresses this! 🥳