Align config storage properties & mechanisms

Created on 4 July 2025, 2 days ago

Problem/Motivation

In Views integration we have:

  • builder_config_id
  • display_builder_id
  • sources

Example:

id: articles
label: Articles
module: views
display:
  page_1:
      display_extenders:
        display_builder:
          builder_config_id: default
          display_builder_id: views_6861421654810
          sources: [ ... ]

In Entity display integration, we have:

  • entity_config_id
  • sources

Example:

id: node.article.default
targetEntityType: node
bundle: article
mode: default
content: {}
hidden: {}
third_party_settings:
  display_builder:
    enabled: true
    entity_config_id: default
    sources: [ ... ]

In page layout (not a config entity yet but will be: 📌 [1.0.0-beta1] Add proper page management Active ), we have:

  • builder_config_id
  • builder_id
  • sources

Example:

id: page_layout
label: 'Page Layout'
builder_config_id: default
builder_id: page_layout_686785d880bc5
sources: []

Proposed resolution

Naming:

  • display_builder (instead of builder_config_id and entity_config_id).
  • instance (instead of builder_id and display_builder_id)
  • sources stays the same :)

But fixing the naming may not be enough. We must also align the mechanisms:

  • Entity view display has no instance because the identifier from the Drupal State API is build from the config entity identifier: display_builder_entity_view__node__article__default from node.article.default
  • Views has instance (called display_builder_id for now) because it allows to load/detach a builder instance to share theme between configs:

    but this may be overkill for most of users
  • Page Layout is not a config entity yet (see 📌 [1.0.0-beta1] Add proper page management Active ) and has also an instance (called builder_id for now) which is not visible in the UI

There are 2 ways of tidying this:

  • Adding instance to Entity view display and always showing up the instance selector
  • Or building the instance IDs of Views and Page Layout from the config entity ID, so removing both instance property and the instance selector

I have a string preference for the second option.

Proposal:

📌 Task
Status

Active

Version

1.0

Component

Main / Misc.

Created by

🇫🇷France pdureau Paris

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024