Closed (fixed)
Project:
Experience Builder
Component:
Config management
Priority:
Critical
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
22 Aug 2024 at 11:56 UTC
Updated:
24 Sep 2024 at 14:24 UTC
Jump to comment: Most recent, Most recent file

Comments
Comment #3
wim leersComment #4
wim leerstests/src/Kernel/ComponentTest.phpwill need to have theexpectations updated to something like:
Comment #5
wim leersThis is in the critical path for #3454094: Milestone 0.1.0: Experience Builder Demo — see #3454125-53: Implement temporary design system for the DrupalCon Barcelona demo.1.2.
Comment #6
wim leersComment #7
kristen polThis will be fantastic 🙏
Comment #8
wim leersFYI: @f.mazeikis landed #3470550: Component config entities are incomplete: missing entries for optional props, causing errors in ComponentPropsForm earlier today, he's now pushing this forward 👍
Comment #10
f.mazeikis commentedPushed the changes so far, don't want to polish this too much before we agree it's going in the right direction.
Comment #11
wim leersDefinitely on the right track! 🤩👍
Comment #12
wim leersOne post-review thought: we need to verify that the
stateservice remains in sync with the SDC discovery cache. Otherwise, we risk that the state key-value pair is deleted while the SDCs already are discovered. That'd result in zero incompatible SDCs getting listed, while we know that's not the case.Comment #13
wim leersThis blocks #3464042: Add ComponentAuditabilityTest.
Comment #14
f.mazeikis commentedI think I've addressed all of the feedback.
Comment #15
kristen polThis is so great! Tested the MR branch and one thing that seems to be wrong is that if you disable=>enable a component then it still shows up in the disabled list. Should it be removed? You can see in the video:
https://youtu.be/5xsS7enWvSA
Comment #16
wim leersComment #17
wim leersIssue summary
@f.mazeikis, you haven't mentioned this at all, I think it'd take you <5 minutes to implement this and it'd help https://www.drupal.org/project/demo_design_system a lot? 😊🤞
Review
I know that you've chosen the pragmatic route to unblock/accelerate @kristen pol ASAP. And I support that.
But then we need to explicitly acknowledge/document those pragmatic choices that we already know are not the right long-term ones. IOW: I'm missing many documentation bits and many
@todos. See review threads on the MR for details.Finally: I previously already said the "reason" strings should be optimized for actionability. It's far better now, but this is still a problem:
👆 That does not match the contents of the
*.component.ymlfiles due to different encoding — in the YAML files it is:So let's ensure those schema definition URIs can be copy/pasted and grepped 🙏
Comment #18
wim leersWRT my remark on the MR about
@statepossibly getting wiped: that possibility for inconsistent state is already demonstrated by @kristen pol in https://youtu.be/5xsS7enWvSA?feature=shared&t=36 AFAICT… 🙈Comment #19
wim leers#15: hah, I think I predicted that bug while reviewing the code: https://git.drupalcode.org/project/experience_builder/-/merge_requests/2... 😅
Comment #20
f.mazeikis commentedThis already happens on every page load for the "Disabled components" page. Would you prefer that not to happen and introduce a separate "refresh" button to trigger this behaviour manually?
Other than that, I've addressed (or at least replied to) the feedback on the MR.
Comment #21
wim leers#20: oh, I see, I missed that! That's probably better still 👍 We'll have to wait and see if this reveals performance issues down the line.
@f.mazeikis posted screenshots in the MR on Friday, I missed those: https://git.drupalcode.org/project/experience_builder/-/merge_requests/2...
This MR still has merge conflicts that need to be resolved, plus there are some loose ends that should be addressed prior to merging 🙏 (See detailed feedback on MR.)
Comment #22
f.mazeikis commentedAddressed additional feedback, waiting on more feedback on 2 unresolved threads in MR.
Comment #23
wim leersThe problems/challenges that were identified while working on this and that were discussed should be captured both as:
@todos in the codebase pointing to those follow-up issuesOnce that's done, this will be RTBC :)
Comment #24
wim leersFollow-ups exist now:
👍
Posted one last round of review, found some nits/incorrect suggestion in the
*.schema.yml, and a bit of dead code. Once addressed, this will be RTBC 😊Comment #25
f.mazeikis commentedApplied suggestions, converted controller into a service, added comments.
Comment #26
wim leersComment #27
wim leersOn the verge of landing 🥳 — slightly delayed because @f.mazeikis decided to actually implement my very optional suggestion of using invokable services as controllers, which does make for a nicer, cleaner end result, and it'll be a good pattern for other controllers to copy 👍
Comment #29
wim leers🚀
Comment #30
wim leersAnd updating the issue summary to simplify future git archeology: visualize the change + capture what the decisions ended up being :)
Comment #31
wim leers