Allow a custom HTML element to be selected for a grouping field
Problem/MotivationAs you can see from below the H3 tag which is generated from using grouping (@ Format: Unformatted list | Settings:Grouping field) has no divs around it like the regular fields. In my...
View ArticleField label unchanged after add new default language
Problem/MotivationField label unchanged after add new default languageSteps to reproduce1. Install Drupal using standard profile. 2. Enable module "Interface translation". 3. Add language Russian. 4....
View ArticleAdd support for tables with two headers in views table display
Problem/MotivationFor accessibility, some tables call for having both column headers and row headers. The WAI table concepts tutorial describes a number of table models, with corresponding example use...
View ArticleDocument ViewsConfigUpdater
Problem/MotivationAnytime configuration for views is changed things need to pass through the ViewsConfigUpdater. web/core/modules/views/src/ViewsConfigUpdater.phpThis class is really complex even...
View ArticleThe update module should check the validation of a module version
This issue was reported privately, but has been approved for public discussion by the Drupal Security Team.Problem/MotivationThe update module does not sufficiently check if the required core version...
View ArticleAttachmentsInterface is not documented
Problem/MotivationDrupal\Core\Render\AttachmentsInterface is basically as bad as the legendary ContextInterface was "interface for context". Steps to reproduceOpen AttachmentsInterface . Try to figure...
View ArticleUse final to define classes that are NOT extension points
Problem/MotivationIn core we've held off from using final on classes because of the idea that final limits extensibility and a key feature is extensibility.However there are cases where we've defined...
View ArticleAdd comments about alphabetical sorting in UpdateRegistry and test
Problem/MotivationThis comes from a suggestion in #3115223: Remove Stable as a base theme of core themes\Drupal\Core\Update\UpdateRegistry::getAvailableUpdateFunctions() returns post_updates to be run...
View ArticleWhen using drupalGet(), provide an associative array for $headers
Problem/MotivationI noticed this while working on https://www.drupal.org/project/admin_toolbar/issues/3407845, where a test in the newly set-up CI fails. This is because the test just extends...
View ArticleProcess translation config files for custom modules
Problem/MotivationIt's possible to define a custom content type by placing necessary files into a custom module's directory structure under config/[install | optional]. One might also want that content...
View Article[May 2024] Add void return typehints to all test methods
Problem/MotivationFollow-up to #3353210-37: [PHPUnit 10] @dataProvider methods must be declared static and public.Test methods should have an appropriate typehint: void in most cases or something else...
View ArticleAllow additional keys in #attached
Problem/MotivationThe render array #attached key bubbles up and merges information from elements. The keys are checked against an allowed list in HtmlResponseAttachmentsProcessor, and an exception is...
View Article[PHP 8.4] Fix implicitly nullable type declarations
Problem/MotivationpplIn PHP 8.4, declaring functions/methods with parameters containing null as a default value, but without null as one of the types (either as a nullable syntax or as a Union type...
View ArticleJSON-based data storage proposal for component-based page building
Note: I'm opening this issue in the Drupal core queue for discussion, but I think any initial implementation should be done first in contrib, to make sure it's robust and well-tested in the wild before...
View Article[meta] Commented-out code in Drupal
Problem/MotivationThere's lots of commented-out code in the core codebase, especially. Code might be commented for a lot of reasons -- missed cleanup on a patch, accidentally leaving something...
View ArticleLink field display defaults to trim at 80 chars, breaking longer plaintext URLs
Problem/MotivationWhen you create a new link field, the display settings default to trim the output at 80 characters. This means that any time a URL longer than 80 characters is used, without a title...
View ArticleContentTranslationManager::isEnabled() can load/create the same config entity...
Problem/MotivationIdentified this in profiling a multilingual site. isEnabled() loads the config entity (or even creates one on-demand if it doesn't explicitly exist). This has a non-trivial overhead...
View ArticleContent Translation should use EntityPublishedInterface or the...
Problem/MotivationBefore EntityPublishedInterface was introduced in 8.3.0, there was no standard way to determine whether an entity type has a "status / published" field, so Content Translation is...
View ArticleContent Translation does not use EntityOwnerInterface properly
Problem/MotivationIf you have an entity type that implements EntityOwnerInterface but does not use uid for the owner field, then content translation will add a content_translation_uid field instead of...
View ArticleRemove JavaScript from Views configuration form now that it is only CSS
Problem/Motivation#3439580: Make drupal.tableheader only use CSS for sticky table headers allowed the sticky header in table feature to be done with CSS only instead of JavaScript.In...
View Article