[meta] Drupal modernization

Created on 18 July 2024, about 2 months ago
Updated 3 September 2024, 5 days ago

Problem/Motivation

Drupal has a lot of areas where we have added a new feature/API etc. which is capable of replacing something else, but that replacement has never happened, leading to two or more, often confusing, ways to do things, or a general level of unevenness across core where legacy and new ways to do things conflict or don't combine well. This goes across site builder features, PHP, theming, JavaScript, docs.

Opening this issue to collect some of the issues trying to address this. While the individual issues don't necessarily have much in common, at lot of them have common themes at a higher level. Also because I'm in the middle of drafting a blog post about this and need an issue to link to.

This doesn't have to be strictly about when there are two ways of doing things in core, it can also cover when finishing a core feature properly would allow it to replace a contributed modules (entity API for example).

Steps to reproduce

Proposed resolution

Remaining tasks

Site building features/usability

✨ [META] Expose Title and other base fields in Manage Display Active [META] Expose Title and other base fields in Manage Display
✨ Add the notion of a 'configured layout builder block' to solve a number of content-editor and performance pain points Active Add the notion of a 'configured layout builder block' to solve a number of content-editor and performance pain points
πŸ“Œ Add access control to /filter/tips Needs work Add access control to /filter/tips
✨ Continuation Add Views EntityReference filter to be available for all entity reference fields Needs work Add Views EntityReference filter to be available for all entity reference fields
#1823450: [Meta] Convert core listings to Views β†’ Convert core listings to views
🌱 [Meta] High-performance images (nearly) out of the box Active High performance images out of the box
πŸ“Œ Deprecate the Number (float), and List (float) field types and move them to contrib Active Move float and list (float) fields to contrib
✨ Add poster image to HTML5 media videos Needs work Add poster image to HTML5 media videos

HTML/CSS

πŸ“Œ Refactor system/base library Needs work Refactor system/base library
πŸ“Œ Add a native dialog element to deprecate the jQuery UI dialog Needs work Native dialog element
🌱 META: Reduce / eliminate β€œjank” (layout shifts) within Drupal’s admin UI Active Eliminate layout shifts / jank in the admin UI
#1804614: [meta] Consolidate similar twig templates and properly use theme suggestions in core β†’ Consolidate twig templates and use theme suggestions
🌱 Deprecate preprocess variable cruft in core Active Deprecate template variable cruft in core
🌱 [meta] Remove support for IE11 Active Remove IE11 support
🌱 Update parts of Umami that are falling behind Closed: outdated Update parts of Umami that are falling behind
🌱 [PLAN] Drupal CSS Modernization Initiative Active Modernize core CSS (native nesting etc.)

PHP APIs

πŸ“Œ OOP hooks using event dispatcher Needs review OOP hooks
πŸ“Œ [meta] Convert all core plugin types to attribute discovery Active Convert all plugins to attributes from annotations
πŸ“Œ Finalize API for creating, overriding, and altering code-defined bundle fields Needs work Finalize bundle field API
#2875151: [META] Implement Batch API as a service β†’ Batch API as a service
🌱 [META] Adopt the symfony mailer component Needs review Symfony mailer
πŸ“Œ Convert update_calculate_project_update_status() into a class Needs work Convert update_calculate_project_update_status() into a class
πŸ› XSS attribute filtering is inconsistent and strips valid attributes Needs work XSS filter carnage
#2350509: Implement auto-route generation for all core entities and convert all of the core entities. β†’ Implement auto-route generation for all core entities and convert all of the core entities.

JavaScript

#3238306: [META] Where possible, refactor existing jQuery uses to vanillaJS to reduce jQuery footprint β†’ Refactor jQuery to use vanilla js
πŸ“Œ Replace Contextual Links BackboneJS usage with VanillaJS equivalent Needs work Replace backbone with vanilla js
✨ Add an API for importmaps Active Add an importmaps API
✨ Create Javascript library for searching rendered lists on the client. Needs work Create Javascript library for searching/filtering rendered lists on the client.
πŸ“Œ Provide a new library to replace jQuery UI autocomplete Needs work Provide a new library to replace jQuery UI autocomplete
πŸ“Œ Add a native dialog element to deprecate the jQuery UI dialog Needs work replace jQuery UI dialog with native dialog element

Docs and tooling

#3398293: Consolidate local development environment documentation to recommend DDEV β†’ Consolidate local development environment documentation to recommend DDEV
🌱 [policy] Decide on format of commit message Active [policy] Decide on format of commit message

User interface changes

API changes

Data model changes

Release notes snippet

🌱 Plan
Status

Active

Version

11.0 πŸ”₯

Component
OtherΒ  β†’

Last updated about 8 hours ago

Created by

πŸ‡¬πŸ‡§United Kingdom catch

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

Comments & Activities

Production build 0.71.5 2024