This week in Drupal Core - April 30th 2014
by Angie Byron
What's new with Drupal 8?
This week saw the release of Drupal 8 alpha 11 and two major patches - one adding PSR-4 autoloading support and another containing the Drupal 6 to Drupal 8 migration path.
The PSR-4 patch added PSR-4 support alongside PSR-0 but it is planned to remove PSR-0 support for module classes before the first beta. We will continue to support PSR-0 for external libraries provided by modules. For more information read the change record.
The Drupal 6 to Drupal 8 migrate path was a huge patch, congratulations to all those involved. For more information keep watching This week in Drupal Core and the Core group. You can take it for a spin with the latest version of drush and
Where's Drupal 8 at in terms of release?
Just last week!
How close are we to Beta 1?
It's the end of April, and we are down to just 28 beta-blocking issues. For context, here's how that count has changed over the course of 2014. We started 2014 with 140 known beta blockers and missing change records combined, with 123 of those issues still unresolved. We've identified additional beta-blocking issues along the way, so as we get closer, the picture becomes more complete. In total, we've already fixed 137 beta blockers and completed more than 70 missed change records. The 28 issues that remain are a fraction of more than 200 total.
That said, we need your help. Many of the beta blockers that remain include significant changes, and the community's support and focus on these issues now will pay off at DrupalCon Austin sprints and after. Or, help with one of the approachable tasks for beta 1 we shared last week. (Also see the "Where can I help?" section below.)
...So then when is Drupal 8 released?
We release the first Drupal 8 release candidate when there are 0 critical issues remaining. Right now there are 118 (including the 28 top-priority beta blockers). The number of criticals has been dropping steadily since DrupalCon Prague thanks to 900 Drupal 8 patch contributors during that timeframe alone. (In total, 2035 people have contributed to Drupal 8 patches over the past three years!)
That still looks like a lot of remaining criticals -- and it is. However, when we compare it to the total work that's already been done in the cycle, including more than 700 critical issues already fixed, it becomes clear we are in the final phase of Drupal 8's development. (Yep... keep scrolling...)
If you're as eager to build amazing things with Drupal 8 as we are, please devote what resources you can to resolving the remaining release blockers, or support the indefatigable contributors who continue to shape Drupal 8 directly.
Where can I help?
Top criticals to hit this week
Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented with a draft change record.
- #2116363: Unified repository of field definitions (cache + API). Please help review this essential step to complete the Drupal 8 Entity Field API.
- #2183231: Make ContentEntityDatabaseStorage generate static database schemas for content entities is a big patch that needs your help and reviews to bring it home.
- If you have performance profiling expertise: Issue 2222719 could use your help (see comment #60).
More ways to help
- Help with the approachable tasks for beta 1!
- In particular, the taxonomy/term/% Views conversion (issue #1857256) needs a before-and-after EXPLAIN for the queries generated.
- As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.
The best of
git log --since "2014-04-21" --pretty=oneline (90 commits in total):
- Issue #1874640 by xjm, Wim Leers: Rename edit module to quickedit.
- Issue #2231413 by blueminds, tim.plunkett: Link field does not accept a valid path alias.
- Issue #2218039 by dawehner, sun: Render the maintenance/install page like any other HTML page.
Removes some of crazy installer-specific logic
- These three issues move us closer to Symfony 2.4's structure and away from custom code:
Issue #2223615 by znerol: Use request stack in local task/action manager.
Issue #2223593 by znerol: Decouple the router.request_context service from the request service.
Issue #2236207 by znerol: Use router request context instead of request service in system breadcrumbbuilder.
- Issue #2244185 by damiankloip: Remove cURL dependent options from HTTP client - Removes dependency on cURL
- Issue #1067408 by alexpott, Jalandhar, jessebeach, Désiré, neetu morwani, dawehner, sun Themes do not have an installation status. Treat themes like modules so we can determine if they're actually used, only enabled themes get loaded / functions get executed, they can manage their data, translations can be imported, etc. One more DrupalWTF removed; DX++
- Issue #2198429 by alexpott: Make deleted fields work with config synch. Makes field data purging compatible with syncing a module uninstallation.
- Issue #2225955 by tim.plunkett, Berdir: Improve the DX of writing entity storage classes. Removes a lot of boilerplate code related to storing entities. DX++
- The PSR-4 patches - these are the big one.No more super-nested directories (lib/Drupal/your_module/FooClass.php becomes just src/FooClass.php)
Issue #2083547 by donquixote: Implement PSR-4 for module-provided class files.
Issue #2083547 by donquixote: Introduce core/scripts/switch-psr4.sh, to move module-proided class files to their new PSR-4 location.
- Issue #2245249 by tim.plunkett: Convert installer forms to FormInterface. Makes the installer less of a special-case; more like other forms
- Issue #2228261 by beejeebus, kim.pepper, alexpott, Wim Leers: Add a local, PhpStorage-based cache backend.
You can also always check the Change records for Drupal core for the full list of Drupal 8 API changes from Drupal 7.
Drupal 8 Around the Interwebs
Blog posts about Drupal 8 and how much it's going to rock your face.
- @Gabor's 2014 Dev Days organiser report
- Summary of user facing a11y improvements in Drupal 8 by @mgifford
- A post by @ParisLiakos asking for feedback on changing our file extensions
- A post by @webchick asking for contrib maintainer feedback on extending Drupal 6 support
- Drupal 8's block plugin API by Drupalize.me
Drupal 8 in "Real Life"
Whew! That's a wrap!
Do you follow Drupal Planet with devotion, or keep a close eye on the Drupal event calendar, or
git pull origin 8.x every morning without fail before your coffee? We're looking for more contributors to help compile these posts. You could either take a few hours once every six weeks or so to put together a whole post, or help with one section more regularly. Contact xjm if you'd like to help communicate all the interesting happenings in Drupal 8!