This week in Drupal core: December 19, 2013
by Angie Byron
Bonjour, it is that time of year again, we hope that you are getting ready for the holidays and New Year. If not, then we are ready with final edition of This Week in Drupal Core of 2013! :)
What's new with Drupal 8?
A new D8 alpha
Drupal 8.0-alpha7 was released today! Download it, try it out, and explore the latest-and-greatest in Drupal 8. There will be a new alpha release come mid-January. Watch this spot for more details!
PHP 4 support EOL in D6
As part of efforts to improve the core release cycle, support data migration from Drupal 6 to Drupal 8 (join up here!), and make best use of our limited security team resources, we've decided to stop supporting PHP 4 for Drupal 6 as of March 1, 2014.
Last week's top criticals
Two of last week's top criticals have been fixed thanks to everyone's focused efforts!
- Shortcuts are entities now and decoupled from menu links, which both unblocks work on configuration synchronization and cleans up signifiant technical debt in the menu system. Thanks to amateescu and tim.plunkett for recognizing the importance of this issue early and carrying it through.
- Meanwhile, a memory-hogging upstream Doctrine bug that was causing all sorts of chaos on the testbots was patched in core as a stopgap measure, courtesy efforts by dawehner and chx. The regression still needs to be resolved upstream, but the memory issues were severe enough that we committed an emergency fix and opened a policy discussion for similar cases in the future.
A new theme negotiator service is added to replace 'theme callback' form hook_menu() and move us closer to removing the legacy menu and routing technical debt. Thanks dawehner, David Rothstein, and tim.plunkett!
Where's Drupal 8 at in terms of release?
So what's the big picture? How long is it going to take to release Drupal 8.0? Here's a look at the criticals we've opened versus fixed each month since API freeze on July 1:
Since September, we are consistently resolving more critical issues than we file each month. This is exactly what needs to happen during this point in the release cycle. (Keep in mind that December is still in progress!)
Taking a wider view at the history of Drupal 8, here's the trend of our outstanding critical technical debt since the 8.x branch was opened in March 2011:
Note that the number of critical issues is dropping steeply -- hooray! -- but there's also still a very long way to go. We need to reduce our technical debt more quickly for a mid-2014 release. To this end, please help us by focusing only on the most important issues, avoiding unnecessary and disruptive changes, and leaving nice-to-haves for Drupal 8.1 or later. (Read more about how we're improving the Drupal 8 release cycle.)
* Observant Drupal 8 enthusiasts will notice that the above chart looks very different from drupalreleasedate.com. That's because we're only looking at the "true" (final) priority of issues, to filter out distortions from changes in core policy (e.g., when we recategorized outstanding change records from critical to major). The historical data comes from queries against the Drupal.org database.
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.
- Objectify the language negotiation system (blocks numerous language CMI conversions)
- Convert search plugins to use a ConfigEntity and a PluginBag (blocks node rank conversion to CMI)
- Move definition of menu links to hook_default_menu_links(), decouple key name from path, and make 'parent' explicit (removes hook_menu() and will iron out the new routing system; also fixes a performance regression.)
- Allow per-bundle overrides of field definitions (allows for node titles to have potentially different labels per node type from the managed fields screen and also fixes a performance regression)
More ways to help
If core's toughest criticals aren't on your to-do list this week, there are lots of other places to jump in and help with conversions and cleanups in core. The Drupal 8 "meta meta", compiled by vijaycs85, is a great place to start if you want to dig your teeth into a technical problem but aren't sure where to start. Here are a few of the meta meta's metas (ha!) that are all important for finishing Drupal 8:
- In our two-step process to convert core to the new routing system, we've completed the first step (removing the backwards-compatibility layer to the legacy routing system), but we still have lots of work to do to clean up our page controllers and remove unneeded page callbacks. These issues are a great way to learn about Drupal 8's routing system and become more familiar with Drupal 8's object-oriented paradigms and best practices.
- Now that Views is in core, we're converting core listings to Views to make Drupal more customizable and to remove redundant, legacy code. If you can build a view, you can probably help review and test these issues! The conversions are also a great opportunity to learn about Drupal 8 features like the configuration system and the Plugin API.
- After removing drupal_set_breadcrumb() from Drupal 8, now we are very close to removing drupal_set_title() as well. These issues are very important and will help in improving caching behavior in Drupal 8. Take a look and see if you can help cleaning up the remaining uses.
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 "1 week ago" --pretty=oneline (53 commits in total):
- Issue #2145041 by tim.plunkett: Allow dynamic routes to be defined via a callback. A big DX win for D8 routing!
- To resolve known performance regressions in Drupal 8 a new major issue is fixed now: Issue #1786490 by Berdir, amateescu, damiankloip, Wim Leers, dawehner: Add caching to the state system.. This patch shaves 3600 ms (!) off of a typical page request. Awesome work!
- Views block conversions continue this week with Issue #1938062 by dawehner, tstoeckler, slashrsm, tim.plunkett, olli, pcambra, YesCT, damiankloip: Convert the recent_comments block to a view.
- Issue #2155785 by alexpott, vijaycs85: Image_field_instance_update() can not handle default images with a fid greater than 9. An amusing bug exposed during ongoing work on the configuration management system.
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.
- Symfony author Fabien Potencier talked about fund raising in SensioLabs raises 5 million euros to boost the Symfony ecosystem
- If you don’t know about twig yet you can watch a screencast.
- Gábor Hojtsy and jessebeach shared an interesting conversation about how to become a community leader last week.
- If you want to start working on Drupal 8 and don't where to start, here is a nice read about top resources for getting started with Drupal 8.
- A fun place to get more info about most popular things in Drupal 8.
- Here are some unexpected things about Drupal 8.
- Finally, some Drupal 8 contrib related news: our Drupal must reads of 2013.
Drupal 8 in "Real Life
- Jan. 25-26: Mark your calendars for the next Global Sprint Weekend. Join local user groups around the planet for a weekend of Drupal 8 contribution. The sprint weekend will be a great opportunity to engage your local community, and there are lots of resources on the sprint page to help get new people involved. Events are already planned everywhere from Illinois to Budapest to Montréal to Spain. Add yours today!
- 24-30 March 2014: Drupal Developer Days Szeged: DevDays is still a ways off, but it will be the most important Drupal 8 developer event before DrupalCon Austin in June, so consider whether you can attend! See Join us for a week of Drupal 8 in March! by Gábor Hojtsy for more details.
- DrupalCon Austin: Five Reasons We Are Excited About DrupalCon Austin: We all love DrupalCons and Drupal Association has shared some intresting facts about upcoming DrupalCon Austin.
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!
Also, just a reminder that This Week in Drupal Core is taking the next two weeks off for the holidays. See you again on January 8!