[meta] Config validation for a more reliable Drupal + reliable Recipes from the start

Created on 13 March 2024, 9 months ago
Updated 24 June 2024, 6 months ago

Problem/Motivation

  1. Numerous bugs are caused by code expecting config to contain certain key-value pairs and expect those values to be a certain shape, but they aren't
  2. 👆 This often leads to broken update paths!
  3. Very often working on core is slowed down by invalid configuration in an existing test or new tests.
  4. Sites using configuration management often have to deal with hard-to-understand config diffs, and worse, when using modules like https://www.drupal.org/project/config_split , chances are that the resulting config is invalid.
  5. Recipes will install modules/themes, apply other recipes, but will primarily be installing and updating configuration. Combining many recipes == combining lots of config. This results in a Cambrian explosion of config, and will make it very probable that a combination of recipes results in a broken ("misconfigured") site. UNLESS we make config validatable, and validate config after applying a recipe: #3405328: [meta] Make recipes safer to use in the real world by supporting config validation and rolling back a broken recipe
  6. We'd like to be able to enable new use cases for Drupal, such as decoupled admin UIs, but that requires the ability to safely modify configuration via APIs, and hence needs thoroughly validatable config. That would unblock [PP-2] POST/PATCH config entities via REST for config entity types that support validation Needs work .

All of these can be solved by getting Drupal core to 100% validatability! And after core, contrib.

Steps to reproduce

See above.

Proposed resolution

  1. Add missing infrastructure.
  2. Add validation constraints to all config.

Remaining tasks

🙏 Use the tags on all issues.

User interface changes

TBD

API changes

TBD

Data model changes

TBD

Release notes snippet

All config in Drupal core is now fully validatable.

🌱 Plan
Status

Active

Version

11.0 🔥

Component
Configuration 

Last updated 3 days ago

Created by

🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺

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

Comments & Activities

Production build 0.71.5 2024