These two weeks in Drupal Core

mparker17's picture

What's new with Drupal 8?

The past two weeks saw the Drupal community rally together to support each other and recognize the hard work involved in making Drupal awesome, starting with the launch of the Drupal Core Gittip Team and the news that Alex Pott had been hired by Chapter Three to work on Drupal 8 development full-time. It also saw some great performance improvements in Drupal 8 and a handful of Developer Experience improvements.

Drupal Core Gittip Team

On Friday, May 2nd, Cathy Theys (YesCT) and Alex Pott (alexpott) launched the Drupal Core Gittip Team, a new funding effort to allow companies and individuals to support the people who are regularly contributing their own time, without compensation, to Drupal Core development. (See their announcement and Team FAQ for more information.) A weekly contribution to the Core Gittip team is a great way for individuals and companies (and you!) to both help Drupal 8 and improve the long-term sustainability of Drupal Core development.

Sponsored Drupal 8 development

On Tuesday May 6th, Alex Pott announced that Chapter Three had hired him to work on Drupal 8 full-time, and that he would be using his Gittip income to support the rest of the Drupal Core Gittip team. This came a year and thirty-five days after he became a Drupal co-maintainer and nine months after he asked for the community's help to continue to support his Drupal 8 development work.

In response to Alex's announcement, Dries blogged about the investment case for employing a Drupal core contributor and Jennifer Hodgdon responded with the case for a small Drupal shop contributing to Drupal.

Contrib fundraising initiatives

Nick Veenhof announced that the Search API team were able to meet (and exceed!) their goal to fund the porting of Search API to Drupal 8 along with the next sprint date.

And, Wolfgang Ziegler (fago) announced the #d8rules initiative, an effort to get the Rules module ported to Drupal 8.

Where's Drupal 8 at in terms of release?

Last week, we fixed 13 critical issues and 16 major issues, and opened 11 criticals and 12 majors. That puts us overall at 115 release-blocking critical issues and 545 major issues.

4 beta-blocking issues were fixed last week. There are still 20 of 163 beta blockers that must be resolved before we can release a Drupal 8 beta.

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.

More ways to help

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.

You can also help by sponsoring Drupal core development on Gittip.

Notable Commits

The best of git log --since "2014-04-30" --pretty=oneline (147 commits in total):

There were a number of commits that improved performance directly and indirectly:

  • Issue #2099131 by jessebeach, Wim Leers, catch, Berdir, benjifisher, martin107, andypost: Use #pr_render pattern for entity render caching.
    This slight change to the render pipeline allows Drupal to cache the render array, in addition to the resulting HTML. Preliminary tests showed that, from a warm cache, this change makes full page loads between 15 and 25% faster. Woohoo!
  • Issue #2226761 by Wim Leers: Change all default settings and config to fast/safe production value.
    This changes the default settings for new sites so that HTML and Twig caching, CSS and JavaScript aggregation are all turned on, and Twig debugging and Twig auto-reloading is turned off.
    It also introduced an example.settings.local.php with examples of how to toggle these settings on development sites.
  • Issue #2257709 by znerol, Wim Leers: Remove the interdependence between the internal page cache and management of the Cache-Control header for external caches.
    This commit is part of an ongoing effort to modernize the page caching mechanisms in core. This change makes the Symfony Response object responsible for setting the Cache-Control HTTP header.
  • Issue #2228261 by beejeebus, kim.pepper, alexpott, Wim Leers | catch: Add a local, PhpStorage-based cache backend.
    This will make it possible to cache data on the filesystem when it makes sense to do so.
  • Issue #2241249 by Wim Leers: First step in making search results pages cacheable: add the associated SearchPage's cache tag.

To improve the developer experience (DX):

  • Issue #2079797 by ParisLiakos, Xano, amateescu, tim.plunkett: Provide a trait for $this->t() and this->formatPlural().
    Previously, any class that containing at least one translatable string needed to define a t() function that called \Drupal::translation()->translate(...) in order for the string extractor to determine what needed to be translated.
    This patch reduces the boilerplate code to a single line: use StringTranslationTrait; through the use of a PHP Trait. Classes with this trait can still call $this->t() to make strings translatable.
    Reducing boilerplate code for the win!
  • Issue #2241633 by sun: Simplify site-specific service overrides.
    You can now override a service in your module by simply adding a services.yml file.
  • Issue #2257835 by tim.plunkett, sun, Jalandhar: Move form submission logic out of FormBuilder int a new class.


  • Issue #2039163 by Reinmar, Wim Leers: Update CKEditor library to 4.4.
    Did you know that the CKEditor Widgets feature introduced in CKEditor 4.3 was specifically developed for Drupal 8 as a way to make accessible, easy-to-use templates in body content?
    This patch updated CKEditor from 4.2 to 4.4, adding this feature and unblocking a couple of other ones.
  • Issue #2116363 by Berdir, jessebeach | fago: Unified repository of field definitions (cache + API)>
    This milestone Entity Field API commit concludes work begun at DrupalCon Prague and unblocks the removal of legacy D7 field API code.

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

Here are a selection of the best blog posts about Drupal 8 in the past few weeks:

Drupal 8 in "Real Life"

There are a whole bunch of camps and sprints happening this coming weekend (May 16, 17th and 18th)!

  • Drupal Open Days 2014 in Dublin, Ireland on May 16th and 17th, with a session on building Multilingual sites in D8.
  • DrupalCamp Wrocław in Wrocław, Poland on May 16th, 17th and 18th has sessions on CKEditor in Drupal 8, Drupal 8 on mobile platforms, and a session on what to look for today so as not to get left behind when Drupal 8 is released.
  • DrupalCamp Spain 2014 in Valencia, Spain on May 16th, 17th and 18th with a Drupal Core Criticals sprint and sessions about CMI, Sessions in D8, Commerce in D8 and a couple of talks on Migrate in D8.
  • MoldCamp 2014 in Chisinau, Moldova on May 17th and 18th, featuring sessions on Guzzle and what to expect in Drupal 8.
  • Drupal Camp Alpe-Adria in Portoroz, Slovenia on May 17th and 18th, with sessions on the D8 Entity API, Rules in D8 and CMI; and with D8 sprints.
  • TC Drupal Spring Sprint in Minneapolis, MN on May 17th, featuring a documentation sprint!
  • Albany Drupal Sprint Day in Albany, NY on May 18th.

Also coming up are:

  • DrupalCamp Helsinki on May 23rd and 24th in Helsinki, Finland, featuring sessions on Symfony, Media Management in Drupal 7 and 8, D8 JavaScript, D8 Routing and Menus, D8 Theming and multiple sessions on Twig. And, to top it all off, there will be code sprints.
  • DrupalCamp Soleil 2014 in Montpellier in the south of France on May 24th and 25th, featuring an non-non-conference on Drupal 8.
  • A Drupal 8 Code Sprint in Leuven, Belgium on May 25th.
  • DrupalCamp Yorkshire 2014 in Leeds, West Yorkshire, England on May 31st and June 1st.

Don't forget that DrupalCon Austin is quickly approaching! The extended sprints start on May 31st and run until June 8th. If you plan to participate in any way (remotely or in-person), please sign up ahead of time so we can plan for your attendance!

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!