Drupal core updates for September 18th, 2014
by Angie Byron
What's new with Drupal 8?
The big news this week is we're still on one beta-blocker. Patches for the remaining beta blocker are coming rapidly with @effulgentsia, @plach and @fago working hard to get it over the line. Could we have zero beta blockers by DrupalCon?
Other keys issues to land this week include Remove ArrayAccess from FormState - never again deal with random arrays - rejoice - $form_state is a first-class object!. Thanks to @timplunkett and others who helped get this through. If you have any contrib projects accessing $form_state in an array fashion eg
$form_state['values']['fooey']; then you need to familiarize yourself with the change record.
In a further sign that Drupal 8 is maturing into a modern HTTP framework, we now have support for a stack-php based middleware this will allow us to clean up how page caching, conent negotiotiaton, implementing ban.module's functionalty, options requests and various other elements of the request processing pipeline work. For more information on middlewares see Stackphp.com and this article or see the list of existing middlewares supported by stack-php, and therefore likely to be compatible with Drupal.
In the same vein Modularize kernel exception handling brought some much needed cleanup to to the way we handle exceptions and enables contrib modules to easily add their own exception handling, particularly for custom REST formats.
Over in Convert UnitTestBase to PHPUnit and Remove UnitTestBase, @sun, @Berdir and @tim.plunkett have been working towards removing Simpletest-based Unit tests. There are plenty of sessions around the future of testing at Drupalcon Amsterdam so be sure to check these out if testing is your thing.
The Consensus Banana is moving full-steam ahead with loads of issues resolved to move classes out of preprocessing and into templates landing this week. Meanwhile in Split Seven's style.css into SMACSS categories @LewisNyman has been making great strides towards bringing sanity to Seven's CSS structure.
@WimLeers, @alexpott and @chx worked tirelessly in Add cacheability metadata to access checks to harmonize our access-checking systems and add cacheability to the access results in the form of an AccessResultInterface, great work!
Over in Remove text_processing option from text fields, expose existing string field types as plain text in UI @Berdir, @Wim Leers, @dawehner consolidated our text field types, an important change for Site Builders.
Finally, PHPStorm 8 has been released with lots of support for Drupal 8 APIs!
Where's Drupal 8 at in terms of release?
Since the last Drupal Core Update on Sept. 4, we've fixed 19 critical issues and 24 major issues, and added 12 criticals and 19 majors. That puts us overall at 97 release-blocking critical issues and 644 major issues.
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, we could use your help!
- SqlContentEntityStorage::onFieldStorageDefinition(Create|Update|Delete)() is broken for base fields is the final step of the our last beta blocker. Reviews and manual testing welcomed.
- [Meta] Untangle Drupal 8 page rendering lays out the final steps to standardize the page building process. While it's not the result the SCOTCH initiative was hoping for it does line up the pieces needed to allow contrib to experiment with layout mechanisms in a clean and supported way. There are a bevy of child-issues for you to sink your teeth into.
There are also several beta deadline issues that, while not quite critical, will need to be done before the beta if they're to be done at all. The following beta deadline issues are especially important:
- #2002138: Use adapters for supporting typed data will improve developer experience for the Typed Data API, which in turn improves numerous other APIs.
- Field type (item) classes implementing AllowedValuesInterface::getPossible(Values|Options)() is incompatible with Views and possibly other use cases will make an important difference for Views as well as contributed modules like Rules.
- #2312093: Rename FieldInstanceConfig to FieldConfig is a final step to bring consistency and clarity to naming in the Field API.
More ways to help
- Now that we're nearing beta, its time to turn our attention to release-blocking criticals.
- Beta target issues are issues that can be added to Beta 1, Beta 2, or later, but would be best done sooner rather than later for solid beta releases.
- With a looming beta, now we can ramp up our efforts on contrib modules - there's a sprint at Amsterdam just for that - so put your name on the list if this is your thing.
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 independent Drupal core development.
The best of
git log --since "2014-09-04" --pretty=oneline (200 commits in total):
- Issue 2333113 by effulgentsia, plach: Add an EntityDefinitionUpdateManager so that entity handlers can respond (e.g., by updating db schema) to code updates in a controlled way (e.g., from update.php).
- Issue 1857256 by dawehner, xjm, tim.plunkett, jibran, ParisLiakos, hussainweb, pcambra, ekes, InternetDevels, rhabbachi, rdrh555, tstoeckler, oadaeh, Gábor Hojtsy, vijaycs85: Fixed Convert the taxonomy listing and feed at /taxonomy/term/%term to Views.
- Issue 2333501 by swentel | marcvangend: Implement ThirdPartySettingsInterface in EntityView|FormDisplay.
- Issue 1740492 by dawehner, damiankloip, dasjo, xjm: Implement a default entity views data handler.
- Issue 2331019 by slashrsm: Implement ThirdPartySettingsInterface in Vocabulary.
- Issue 2320157 by moshe weitzman, Wim Leers, penyaskito, tim.plunkett: Generate placeholder content for Field types - essentially devel generate in core.
- Issue 2329485 by damiankloip, dawehner: Allow permissions.yml files to declare 'permission_callbacks' for dynamic permissions.
- Issue 1898478 by joelpittet, Cottser, lokapujya, m1r1k, jstoller, er.pushpinderrana, duellj, organicwire, jessebeach, idflood, Jalandhar, Risse, derheap, galooph, mike.roberts, tlattimore, nadavoid, LinL, steveoliver, chakrapani, likin, killerpoke, EVIIILJ, vlad.dancer, podarok, m86 | c4rl: Menu.inc - Convert theme_ functions to Twig.
- Issue 1915056 by Arla, Berdir, amateescu | catch: Use entity reference for taxonomy parents.
- Issue 2321745 by larowlan, tim.plunkett: Add #type => 'path' that accepts path but optionally stores URL object or route name and parameters.
- Issue 474004 by mdrummond, kim.pepper, Wim Leers, jibran, tim.plunkett, joachim | JohnAlbin: Add options to system menu block so primary and secondary menus can be blocks rather than variables - essentially menu block module in core.
- Issue 2068331 by roderik, slashrsm, pcambra, Sharique, piyuesh23, vijaycs85 | plach: Convert comment SQL queries to the Entity Query API.
- Issue 2226493 by Berdir, Wim Leers, m1r1k, mr.baileys, andypost, scor, cbr, joelpittet: Apply formatters and widgets to Node base fields.
- Issue 2302563 by chx, dawehner: Fixed Access check Url objects.
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
- Joe Schindler of Drupalize.me gave us Unravelling the Drupal 8 Plugin System an expansive run-down on Drupal 8's plugin architecture.
- Addison Berry, also of Drupalize.me tells us about what to expect now that a Drupal 8 beta is so close
- Dcycle gave us An approach to code driven development in Drupal 8
- Hernani Borges de Freitas of Acquia tells us about Web services in Drupal 8 Core
- Josef Dabernig of the D8 Rules team gives us a rundown on all the comings and goings around Rules in Drupal 8 in Amsterdam
Drupal 8 in "Real Life"
- September 19 - October 3: DrupalCon Amsterdam in Amsterdam, The Netherlands is going to be amazing with lots of opportunities to learn about and get involved with Drupal 8. Be sure to sign up for the extended sprints!
- September 18 - Milwaukee:
Drupal414 meetup: Building a Drupal 8 theme with new fangled awesomeness - Marc Drummond will present on building a Drupal 8 theme
- September 18 - Washington, DC:Drupal 8 code sprint with Forum One - join Forum one to work on Drupal 8.
- September 20 - Helsinki: Join Wunderkraut to sprint on Drupal 8
- October 17 - Austria: Drupal 8 starter day a free workshop style introduction to Drupal 8
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.0.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. Read more about how you can volunteer to help with these posts!
Finally special thanks to KatteKrab for assisting with compiling this edition.