UI Suite Monthly #37 — A new look for Display Builder, and an archaeology site digs in

Author
G4MBINI
Tags
display builder
drupal-planet
design system
display building
Reading time
6min
Comments

Our 37th monthly UI Suite meeting (July 23, 2026) opened with a small piece of housekeeping: our sessions had quietly drifted from 30 minutes to a full hour, so Pierre asked the group to bring them back to half an hour — with anyone who wants to keep chatting free to stay on after the slide deck. It worked. Thirty minutes, three updates, two demos, and we still had time for questions.

We also welcomed Carsten Logemann, invited by Pierre for his background in HTMX and backend data structures. As he put it himself: "I'm not the front-end guy — I'm the backend data structure guy." Exactly the kind of person this initiative needs.

Overall Summary

This month was about polish and consolidation. Display Builder Beta 5 was mostly a backend release — but a foundational one, moving history management onto entity revisions, which unlocks the translation and accessibility work still standing between us and a release candidate. On top of that new architecture, Jean demoed a sweeping UX refresh that touches almost every surface of the builder: the drag-and-drop, the scaffold pane, the navigator tree, keyboard shortcuts, and a brand-new floating control island pattern.

Meanwhile, UI Patterns shipped two releases in as many weeks, including a significant cross-site scripting fix that moves cleaning and escaping into Twig where it belongs. And Felip gave us our first look at a real production project: the website for the archaeological site and museum of Lattara, in southern France.

The through-line of the whole session is the same one we've been pulling on for nine months: making Drupal a Design System Native CMS, targeting 11.4 and 11.5 in November and December.

A few quick highlights before we dive in:

  • Beta 5 is out — light on the front, heavy on the backend, with entity revisions now powering history.
  • A major UX refresh is in a merge request right now: floating control islands, a working navigator tree, a WYSIWYG text area, and real performance gains.
  • UI Patterns fixed an XSS issue by moving escaping logic to Twig, and improved test performance considerably.
  • Canvas compatibility is still waiting on the Canvas side — our part is done.
  • Next meeting: September 17. We skip August, as is tradition.

Key Topics Discussed

Display Builder Beta 5 — a backend release that unlocks the rest

Jean kept this one short, and for good reason: Beta 5 is not a release you'll see. The important change is under the hood — history management moved from our own state handling to entity revisions.

That sounds dry, but it's the piece everything else was waiting on. With the buildable integration on instance entities done, the profile entity settled and the island plugin architecture confirmed, Jean's verdict was clear: "the architecture is okay, and we'll scale like that for a long time, we hope."

What's left before a release candidate:

  • Translation — the main missing piece.
  • Accessibility — an important layer to add near the end.
  • UX refinement — the big one, and the subject of the demo below.

The issue graph is trending nicely toward zero, with most of the remaining tickets clustered around that UX work.

The UX refresh — a builder that finally feels like a builder

This was the demo of the day. Jean was upfront about the history: the current UX was built by stacking things up over time, "not in a very nice way." Now that the backend API is solid, it's time to rebuild the front properly. The work lives in a branch with a merge request in progress, but it's already impressive.

Starting with the wording: the main page is now called the Canvas, aligning with design system vocabulary (no relation to any other Canva you might be thinking of).

What's new:

  • Rich highlighting — a reworked highlight system where you choose what you want to highlight, with better colour matching throughout.
  • Drag-and-drop, fixed — the sortable table integration that used to be a source of annoyance now behaves. Move something, and it really moves.
  • The scaffold pane (formerly "highlight layers") can now render layout-based components. Instead of a flat stack, you configure which components to render — grids, rows, columns — and get a realistic view of nested structures.
  • The Navigator tree is back, and it's no longer flaky. You can reorder components directly in the tree, drop them into slots, and see live highlighting as you drag over it.
  • A WYSIWYG text area returns. Deliberately minimal: bold, links, basic formatting. No CKEditor with full Drupal filter formats — because in a design system, styling belongs to the design system, not to a content-level text override. Apply your padding and spacing outside the text area, where you can actually see what's happening.
  • Real performance gains. Hidden panels are no longer refreshed until you open them. On complex layouts, moving a component now feels almost instant.
  • Floating control islands — a new island type that appears only on the view pane it belongs to. Previously, control buttons were misleading: you'd click one and nothing appeared to happen, because it wasn't targeting your current view. Now the action lives with the view it acts on. Pierre's reaction: "I'm in love with the floating island — it will unlock so much potential."
  • Keyboard shortcuts, rewritten. Now Macintosh-compatible (Command key and all), with copy, duplicate and paste, plus a new context menu that lets you copy, paste or merge the styles applied to an element.
  • A consistent toolbar, now always pinned to the top across page layouts, views and entity displays.

Showcase — Lattara, an archaeological museum built with Display Builder

Felip presented a project started at the beginning of the year: the website for Lattara, the Latin name of what is today Lattes, a small city near Montpellier in southern France. It's a place of real archaeological importance — you can still find people digging there over the summer — and there's a museum on the same site. The website isn't live yet, but it should be by the end of the year.

Why UI Suite? Because the web design was heavily component-based from the start: heroes all over the site, one- and two-column presentation blocks, cards reused throughout. And once the decision to use UI Suite was made, Felip figured it was a good moment to try Display Builder too — beta and all.

Some notes on how they use it:

  • Entity view display, mostly. Components live at the node level, so page layouts weren't needed. They also use the views integration a little.
  • Paragraphs everywhere, with Display Builder used to implement components and wire them into paragraph displays.
  • Content editors don't touch it. Florent asked whether editors use the drag-and-drop to reorganise sections; for this project, Felip and the front-end developer handle setup, and editors simply don't need the layout features.
  • Still on Beta 4 — the Beta 5 upgrade hit some issues.

The most encouraging part of the story is the onboarding. Felip wasn't sure his front-end developer would adopt the workflow smoothly — declaring components in YAML, and inverting the usual relationship so that she provides components he then uses across paragraphs and views, rather than him handing her templates. She adopted it without friction. As Felip put it, she "doesn't know Drupal at all, but she was able to use Display Builder very easily."

That fed directly into the day's best discussion (see below).

UI Patterns — two releases, one important security fix

Mikael reported on a pre-summer double release, ahead of the Summer of UI Patterns work now getting underway.

  • July 8 release — a solid bag of fixes, including string normalization, plus notable test performance improvements thanks to contributions from Florent and Jean. It's a hidden improvement, but a meaningful one for everyone contributing.
  • The following week — follow-up fixes on the string normalization issue and some PHPStan updates.

The headline change is a cross-site scripting fix. The team changed how data flows through the system so that strings carrying markup are no longer supported, and moved the cleaning and escaping logic into Twig — a safer, more standard way of rendering data.

Also landing: a symmetric translation feature developed by Christian and Pierre, which is slated for use inside Display Builder.

On Canvas compatibility, the answer is the same as last month, and the month before: both sides need to move, and UI Patterns has done its part. Canvas still needs to merge fixes for the plugin manager conflict — both projects had assumed they were alone in that space, and they aren't. The same applies to the JSON Schema reference system and the new core stream wrapper integration: done on the UI Patterns side, pending on Canvas. There have been some signs of movement on step one, which is why checking on it is this month's group action item.

Core, tooling, and the AI strategy

  • Florent reported that the new code quality tool has been merged into Drupal core (11.x and main), landing in core 11.5 and Drupal 12. The merge request to make it available to contrib modules is in progress, and Florent is currently exchanging with the GitLab templates maintainers — reviews welcome.
  • On AI, Rajab's team is actively working on the Display Builder AI module, building a full strategy around Display Builder with UI Kit and Penpot. Beyond components, the plan extends to automated design token workflows — the same workflows we're already building, but with AI assistance. Demos are expected in the coming months.

UI Patterns or Display Builder — when to use which?

Mikael put the question to Felip directly: for a simple case — one paragraph rendered as a component, a title mapped to a slot, a body to another — why Display Builder rather than UI Patterns field formatters, which handle that quickly and easily?

Felip's answer was about coherence: he wanted the same experience whether editing a view display or a node display, and he has considerably more complex cases elsewhere in the project. Pierre framed the broader distinction well:

UI Patterns is a layer on top of the existing legacy Drupal UI. Display Builder refreshes everything, ditches the table, and builds a brand-new UI.

For newcomers — and for front-end developers who don't know Drupal — that dedicated interface is simply a better experience. Mikael's verdict on Felip's story of onboarding a non-Drupal front-end developer in days: "that's a killer argument."

Key Action Points

A shorter list than usual, which is what happens when a meeting stays inside its 30 minutes. The main open item is the one that has been open for a while — and it isn't on our side.

  • The group — Check the state of Canvas compatibility with UI Patterns and Display Builder, and confirm whether the recent changes have actually been implemented. There were signs of movement on step one; step two appears untouched.
  • Canvas maintainers — Merge the plugin manager fix, plus the JSON Schema reference and core stream wrapper alignment. UI Patterns has shipped its half.
  • Jean & the Display Builder team — Land the UX refresh merge request, then move on to the last two blockers for RC: translation and accessibility.
  • Felip — Complete the Beta 4Beta 5 upgrade (help was offered — take it!), with the Lattara site targeting a live launch by year-end.
  • Florent — Continue the GitLab templates discussion so the new code quality tool reaches contrib modules. Reviewers welcome on the merge request.
  • Rajab's team — Keep building the Display Builder AI strategy around UI Kit and Penpot, with a demo hoped for in the coming months.
  • Everyone — Submissions are open for the Spain camp and opening soon for Germany. If you have something to say about design systems in Drupal, say it.

Want to get involved? The channel is still going and still welcoming new people. Whether you're a front-end specialist, a backend data structure person like Carsten, or someone with a real project to show — there's room.

Upcoming Deadlines / Releases

ItemStatus / TargetNotes
Display Builder Beta 5ReleasedBackend-focused: history now built on entity revisions. Foundation for translation and accessibility.
Display Builder UX refreshMerge request in progressFloating control islands, navigator tree, WYSIWYG text area, keyboard shortcuts, performance gains.
Display Builder RC1After translation + accessibilityThe last two blockers before a release candidate, then stable.
UI Patterns — July 8 releaseReleasedString normalization fixes, major test performance improvements.
UI Patterns — follow-up releaseReleasedFollow-up normalization fixes, PHPStan updates, XSS fix (escaping moved to Twig).
Summer of UI PatternsSummer 2026Ongoing contribution push through the break.
Canvas compatibilityBlocked — Canvas sidePlugin manager fatal, JSON Schema references, core stream wrapper. UI Patterns' part is done.
Core code quality toolCore 11.5 / Drupal 12Merged into core; contrib availability pending GitLab templates MR.
Design System Native CMS goalDrupal 11.4 / 11.5 — Nov–Dec 2026Nine months in; JSON Schema references still in review.
Display Builder AI moduleDemos expected in coming monthsUI Kit and Penpot integration, plus automated design token workflows.
Drupal Camp PolandSeptember 2026Talks from the initiative.
DrupalCon RotterdamSeptember 2026Talks from Pierre, Marilyn, Andreas and Florent.
Drupal Camp ItaliaOctober 2026Another chance to meet in person.
Spain & Germany campsAfter October 2026Submissions open (Spain) / opening soon (Germany).
Next monthly meeting (#38)Thursday, September 17, 2026August skipped, as is tradition.

See you on September 17. In the meantime: upgrade to Beta 5, follow the UX refresh merge request, and if you're building something real with Display Builder — like Felip is — come and show us. That's still the best part of these meetings.