Closed (fixed)
Project:
Experience Builder
Version:
1.x-dev
Component:
Page builder
Priority:
Major
Category:
Feature request
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
5 Aug 2025 at 09:14 UTC
Updated:
8 Sep 2025 at 11:34 UTC
Jump to comment: Most recent
Comments
Comment #2
f.mazeikis commentedComment #3
f.mazeikis commentedComment #4
balintbrewsI added the
uiLibraryproperty in the issue summary which will allow us to track which part of the XB UI the folder belongs to. Note that we also need to be able to have folders under Code, but Code is not something that\Drupal\experience_builder\Entity\Component::computeUiLibraryis aware of.Comment #5
balintbrewsComment #6
balintbrewsComment #7
balintbrewsComment #8
balintbrewsComment #9
balintbrewsComment #11
lauriiiParent issue is already tracked as a stable blocker.
Comment #13
f.mazeikis commentedFE folk need this in order to start FE part of Folder work, so I've extracted unfinished tasks into #3541364 and moving this into review.
Comment #14
balintbrewsWe previously had code in the MR that ensured that folder names are unique within a UI library. Then I asked for removing it because the concept of UI libraries is going away. What I didn't consider was that we still need unique folder names for components in the library vs. internal code components (which will eventually move to a separate menu item). I'm really sorry, but we'll need to bring back some of that code. I think we shouldn't call the property
uiLibraryas that concept will still go away. Maybeparent? Any other ideas?Comment #15
balintbrewsAnother thing just occurred to me. Yes, I'm sorry. I don't anticipate more changes, fwiw. 🙂
We need to support organizing pattern entities, too, not just components. So I recommend that we rename the
componentsproperty toitems.Comment #16
bnjmnmIn case it's helpful for additional testsl:
I'm working on the F.E. implementation of this and added 3 test modules that create setup content
xb_internal_code_componentscreates several internal code componentsxb_test_patternscreates several patterns (that are essentially the same but with different names)xb_test_folderscreates at least two folders for patterns, library components and internal code components. It depends on the modules above +xb_test_sdcComment #17
wim leersVery nice work, this was a pleasantly solid MR to review! 😄
At the MR level, this looks near perfect, but if I zoom out to the full scope of XB, I see some concerns.
Review
docs/config-management.mduuidproperty) on the MR.Comment #18
wim leersNice progress, the BE MR is getting close to ready! 👏
Comment #19
f.mazeikis commentedStill need to add documentation, will have a go at it first thing tomorrow. The rest can be reviewed.
Comment #20
wim leersReview highlights:
statusvia the HTTP API, and shouldn't have to call logic available only in PHP when testing the HTTP API: https://git.drupalcode.org/project/experience_builder/-/merge_requests/1...Over to Felix for the last 2! 😄
Comment #21
wim leers🚨 Just realized something (having just finished ensuring items in a folder are unique): shouldn't we also verify that each item can only be placed in one
Folder?!It seems a usability nightmare to see the same
Componentappear in multiple folders in the left sidebar? 🤔 Or … perhaps … that's actually the very intent? In any case: that's currently allowed, so we should expand test coverage for that, too, arguably.Although, that means that in order to move a
Componentfrom oneFolderto another would require first deleting it from one and then adding it to another. So perhaps keeping this as-is is reasonable, and can be considered a Feature™️? 😅Comment #22
wim leersUpdate path test looks good! 😄
Remaining:
status)docs/config-management.md)Comment #23
wim leersEverything in #22 has been addressed!
Comment #24
wim leersTwo last remarks:
::loadByItemAndType()should return an array https://git.drupalcode.org/project/experience_builder/-/merge_requests/1...testOneFolderPerItemLimitConstraintValidation(): https://git.drupalcode.org/project/experience_builder/-/merge_requests/1...Comment #25
wim leersComment #27
wim leers