- Issue created by @mglaman
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Or … better yet: what if we allow navigating to
/xb
without any entity, which then would load the XB UI without any request to/xb/api/v0/layout/{entity_type}/{entity}
.I'll get a draft MR going with the server-side bits.
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Quickly hacked together an initial MR, seems to at least kinda work? Now just needs JS updates to finish booting :)
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Oh and this of course would still show the navigation bar with the UI:
- 🇪🇸Spain penyaskito Seville 💃, Spain 🇪🇸, UTC+2 🇪🇺
Created 📌 Add permission for "Use Experience Builder" Active , and postponed on this
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Just discussed this with @effulgentsia and @penyaskito. We agreed that
create
access for thexb_page
content entity type would be a reasonable first step until 📌 Allow XB to be used on all node types Active happens. - 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
This blocks:
- 🇫🇮Finland lauriii Finland
I don't think this needs to block the beta. It would be very nice to have though for the beta since this would make testing XB outside of Drupal CMS / other pre-defined setup much easier.
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Rebased the sole commit on top of
1.x
. Adopted the access check 📌 [PP-1] Update `experience_builder.(experience_builder|api.layout.get) routes` to respect content entity update/field edit access of edited XB field Active added (yay!)From a back-end POV, this mostly just needs tests — see the
@todo
intests/src/Kernel/Controller/ExperienceBuilderControllerTest.php
.Per #4 — we could land this as-is IMHO, and then just let the front-end folks make the necessary changes in a subsequent MR to not fetch the edited entity's component tree (because there's no entity in this context).
- First commit to issue fork.
- 🇬🇧United Kingdom thoward216
I've updated some tests that were failing, updated the access check to account for the new route and added to the test.
- 🇺🇸United States effulgentsia
Now that we're effectively in beta, changing route names requires a BC layer
I haven't reviewed the MR to have an opinion on whether or not we should change the route names. But if it seems like the new names are better, then we can do so without providing a BC layer. For XB, beta only means data stability, not API stability.
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
#14++ — route names are not an API, and likely never will be in XB.
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Closed #3539685 in favor of this, reasoning: #3539685-3: Document that you need to programmatically create an `xb_page` in order to use experience builder → .
- Assigned to thoward216
- Status changed to Needs work
18 days ago 2:30pm 11 August 2025 - 🇬🇧United Kingdom thoward216
Moving to needs review to get some eyes on the one bit of feedback that I've attempted to implement and comment added on the MR, may need further work. All other feedback should be addressed.
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
I don't think we need an e2e test for this; we've got a functional test in
tests/src/Kernel/Controller/ExperienceBuilderControllerTest.php
, which combined with any development we all do would quickly reveal if this ever gets broken 🤓 - 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Paired with @thoward216. Turns out that
Page
's"add-form" => "/xb/xb_page",
is a long-lost ambition: it doesn't work at all: the JS UI crashes right away (just like in #4).
It's also obsolete now, thanks to the
experience_builder.api.content.create
route being called first.We may choose to restore this in the future, but for now, being able to start using XB without any entity (
/xb
working rather than only/xb/node/5
or/xb/page/4
) is more important. Which is why I rescoped it as such in #2 (original title was: ).For now, just removing that altogether, including the test coverage at
\Drupal\Tests\experience_builder\Kernel\Entity\Routing\XbHtmlRouteProviderTest::testAddFormRoute()
, seems more sensible — because it's testing that HTML is served that results in a crashing JS application. 😅 -
wim leers →
committed 6b2c5a7d on 1.x
Issue #3529836 by thoward216, wim leers, mglaman, penyaskito, lauriii,...
-
wim leers →
committed 6b2c5a7d on 1.x
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
That's in! Thanks, @thoward216! 😊
This unblocked ✨ Move entity type and ID from base path and into routing parameters Active .
The work that still remains is updating the UI (it currently just "loads" XB forever as demonstrated in #4), so changing the issue queue component.
However … we might also just want to close this and let ✨ Move entity type and ID from base path and into routing parameters Active take care of that. 🤔 Doubly so because that issue literally states
I defer to @jessebaker :)
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Oh I see that ✨ Move entity type and ID from base path and into routing parameters Active is already planned to be worked on this sprint!
@hooroomoo in chat confirmed:
Yes I agree it makes sense to just close that issue and have #3502887 address the frontend part. I think Jesse is gonna pick it up when he's back from PTO
🥳
Automatically closed - issue fixed for 2 weeks with no activity.