Wim Leers: XB week 26: ComponentSource plugins

A strong start of the week by Harumi “hooroomoo” Jang and Jesse Baker, to remove the “insert” panel appearing over the left sidebar, in favor of the components being listed inside the left sidebar:

Experience Builder’s (XB) component library now appears in the left sidebar — making them easier to reach. (Previously, there was a blue “plus” button that covered the left sidebar.)
Issue #3482394, image by Harumi.

The XB UI is once again leaping ahead of the back end: the UI for saving compositions of components as “sections” landed, well ahead of the necessary config entity, let alone the needed HTTP API for actually saving those! 👏

Missed a prior week? See all posts tagged Experience Builder.

Goal: make it possible to follow high-level progress by reading ~5 minutes/week. I hope this empowers more people to contribute when their unique skills can best be put to use!

For more detail, join the #experience-builder Slack channel. Check out the pinned items at the top!

Blocks

After a lot of iteration, Dave “longwave” Long, Felix “f.mazeikis” Mazeikis, Ted “tedbow” Bowman, Lee “larowlan” Rowlands and I landed the initial MR to add Blocks support to XB!

Until now, XB was tightly coupled to Single Directory Components (SDC). That’s no longer the case, thanks to the introduction of:

  • ComponentSource plugins: the existing SDC support was refactored into an sdc component source, the new Block support lives in a block component source
  • XB’s Component config entities now have a source property, referring to one of those source plugins

There’s still lots of loose ends — from the pragmatic low-level choice of using hook_block_alter() to automatically create Component config entities, to the rather limiting facts that block plugins’ settings forms do not yet work (the default settings are always used). But the basic infrastructure is there!

This was a huge refactor: 35 files, +1861, −878 is no small diffstat 😅

Grab bag

Week 26 was November 4–November 10, 2024.

PubDate

Tags