Our lead community developer, Alona Oneill, has been sitting in on the latest Drupal Core Initiative meetings and putting together meeting recaps outlining key talking points from each discussion. This article breaks down highlights from meetings this past week.
You'll find that the meetings, while also providing updates of completed tasks, are also conversations looking for community member involvement. There are many moving pieces as things are getting ramped up for Drupal 9, so if you see something you think you can provide assistance on, we encourage you to get involved.
Drupal 9 Readiness Meeting
September 02, 2019
Meetings are for core and contributed project developers as well as people who have integrations and services related to core. Site developers who want to stay in the know to keep up-to-date for the easiest Drupal 9 upgrade of their sites are also welcome.
- It usually happens every other Monday at 18:00 UTC.
- It is done over chat.
- Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
- Has a public Drupal 9 Readiness Agenda anyone can add to.
- The transcript will be exported and posted to the agenda issue.
Multiple Version Compatibility for info.yml Files
Congratulations on landing multiple version compatibility for info.yml files! The new core_version_requirement key in *.info.yml files for modules and themes now supports semantic versioning as implemented by the Composer project. This allows modules and themes to also specify that they are compatible with multiple major versions of Drupal core. For more information, read the issue at
New 'core_version_requirement' key in info.yml files for modules and themes allows Composer semantic version constraints including specifying multiple major versions of core.
To follow up, the issue Don't catch exception for invalid 'core_version_requirement' in info.yml files was opened and Gábor Hojtsy posted Drupal 8.7.7+ will support extensions compatible with both Drupal 8 and 9! to explain the multi-version support in the newest release.
Drupal 9 Requirements Issue
The Drupal 9 requirements issue has been updated to list 3 requirements:
- Multi-version compatibility
- Symfony 4.4 green, and
- lack of (or very low) use of deprecated APIs.
There is also a fallback date on the week of October 14th, alongside 8.9's branching [META] Requirements for opening the Drupal 9 branch.
Symfony Updates
- Symfony 4.4 compatibility issue is down to an APCU bug.
- Alex Pott and Michael Lutz have been working on the issue Allow Symfony 4.4 to be installed in Drupal 8.
Drupal Core Depreciation
Drupal core's own deprecation testing results are posted here.
DrupalCon Amsterdam
- DrupalCon Amsterdam is approaching fast! It would be lovely to run Drupal 9 compatibility contribution events for next month's DrupalCon.
- Tools for PHP deprecations should be there.
Missing tooling for constants, JS deprecations, and Twig deprecations
- Deprecated constant use is not found by any of our tools to date.
- Matt Glaman has been looking at this extensively and the underlying PHP tooling does not seem to expose the phpdoc / constant relations apparently
- Twig deprecation testing has a suggested tool but not implemented yet, see Provide information on usages of deprecated code in Twig templates for more details.
- Detect the use of deprecated libraries via the issue Asset libraries in *.libraries.yml can now be marked as deprecated.
Admin UI Meeting
September 04, 2019
- Meetings are for core and contributed project developers as well as people who have integrations and services related to core.
- Usually happens every other Wednesday at 2:30pm UTC.
- Is done over chat.
- Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
- There are roughly 5-10 minutes between topics for those who are multitasking to follow along.
- The Admin UI Meeting agenda is public and anyone can add new topics in the document.
Core Issue Draft
- Review core issue draft to add Claro administration theme to core.
- We need to open an issue to start evaluating what's needed to add Claro to core and start getting feedback from everybody involved in the process
- Roadmap issue we still need several things.
Underlining Link
Today some concerns were raised about the last issue for underlining link.
There are two proposed options to solve the issue.
Black underlined links and hover in blue.
Blue underlined links and remove underline on hover.
Action Link Styles and Padding
The current design of action links leads to several issues:
- Spacing between mixed elements button | button | action-link | action-link | button.
- No explicit visual feedback that they're links.
- Extra whitespace if an action link is the first element in a content row.
In the last revision, we had with Product Management for Claro we had some feedback that we need to address before adding Claro to core.
Some initial tests are moving this way.
Composer in Core Initiative Meeting
September 04, 2019
While working toward issue 2982680: Add composer-ready project templates to Drupal core, we discovered that the Vendor Hardening Plugin sometimes fails to work, throwing an error. The issue is documented in Move Drupal Components out of 'core' directory.
A related issue, [meta] Reorganize Components so they are testable in isolation, covers the ability to test Drupal's core Components in isolation as much as possible.
Vendor Hardening plugin
Add Composer vendor/ hardening plugin to core.
Ryan Aslett summarized: Duplicate the contents of core-file-security into core-vendor-hardening because core-vendor-hardening is unable to find core-file-security when composer-installers move it due to the composer's behavior regarding plugin interaction. Moving all of the components might have other consequences and require additional efforts that we eventually want to tackle, just not right now.
Broken Builds
- While creating the 1.4.0 release of this project this line was changed resulting in broken builds for all packages that depended on behat/mink-selenium2-driver: 1.3.x-dev such as Drupal core and many others.
- It also looks like we're inching closer to a 1.7.2 release in behat/mink.
Template Files
The templates we have so far look good, once vendor hards things the question is, will they be done? The tests are probably not something we want in drupalci like that. Possible we should wait for Add a new test type to do real update testing to add tests. It's okay to add this to core without tests for the time being.
Automatic Updates
Potential conflicts have been uncovered and need to be addressed.
Angie Byron has been trying the past couple of days to get up to speed on the autoupdates initiative. Work is happening at https://www.drupal.org/project/issues/automatic_updates and it seems they’re going a “quasi-patch” approach doing in-place updates. You can find Greg Anderson's summary within the issue comments to follow along.
Migration Initiative Meeting
September 05, 2019
This meeting:
- Usually happens every Thursday and alternates between 14:00 and 21:00 UTC.
- Is for core migrate maintainers and developers and anybody else in the community with an interest in migrations.
- Is done over chat.
- Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
- Has a public migration meeting agenda anyone can add to.
- Transcript will be exported and posted to the agenda issue.
- For anonymous comments, start with a emoji. To take a comment or thread off the record, start with a emoji.
Issues Needing Review
Great progress is being made, and there are a lot of issues that are awaiting review.
- Hide and disable Drupal Migrate Multilingual
- Add more tests of node revisions
- MigrationPluginManager::createInstance() doesn't throw an exception when failing to create an instance
- SQL id_map should respect ID schema from config is closed as it works as designed.
- Use generators by default in source plugins
- Migrate UI - use module name not machine name on Review Page
- Improve the documentation on executeMigrations
- static_map process plugin incorrctly detects NULL values
- Undeprecate Drupal\comment\Plugin\migrate\source\d6\Comment::prepareComment()
- Invalid argument supplied for foreach() Migration.php:352
- Change length in make_unique_entity_field to less than 32
- D7 to D8 Book Migration "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry"
31 Days of Migrations
31 days of migrations have been an outstanding success, thanks to Mauricio Dinarte and his brother! How best can we include these guides in the official documentation and make sure that they are disseminated to those who could use them? Mauricio suggested:
- It can be copied over in full like this book, Drupal 7 - The Essentials.
- Should it be broken down into "recipes" (self-contained examples)?
- Should it be broken apart and add the relevant pieces into the existing documentation topics/pages?