Drupal core updates for July 10, 2014
What's new with Drupal 8?
The past two weeks have seen steady progress on Drupal 8, with the release of drupal 8.0-alpha13, the Clearing of the RTBC Queue, the expected deployment of Semanitc Versioning support on Drupal.org, the launch of the #D8CX initiative, and the announcement about the roadmap for Drupal Commerce for Drupal 8!
Updates to api.drupal.org
If you go to https://api.drupal.org/api/drupal/8 you'll notice a few updates:
- A few months ago, we updated the landing page with a list of topics, which were mostly just stubs. Documentation has now been written for most of the topics that are linked from the landing page.
- There's a list of Services on the right sidebar, which you can filter by tag and name keywords — and each service has its own page, with appropriate cross-linking (list of code that uses the service on the service page, and if a service name is used in code, it should link to the service page)
- The Classes page now lists Traits as well as classes and interfaces
- For hooks like
hook_form_FORM_ID_alter()
, you can now see a list of functions that implement it (previously this only worked for hooks likehook_form_alter()
where the function name wasmodulename_hookname()
, but now it works for ALL_CAPS replacements as well).
Where's Drupal 8 at in terms of release?
Last week, we fixed 1 critical issue and 5 major issues, and opened 2 criticals and 10 majors. That puts us overall at 97 release-blocking critical issues and 614 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!
- We need people to review Issue #2260457: Allow config entities to remove dependent configuration keys when dependencies are deleted. Uninstalling modules in Drupal 8 will remove any configuration that has a dependency on that module. This will keep your site working but at the moment the delete is a bit greedy! Two other related issues, #2212081 and #1881630 could use some work too.
- Issue #2293773: Field allowed values use dots in key names - not allowed in config is nearly done, but we need to decide on the best of two paths forward, code review and commit.
- Issue #2268939: Config overrides not updated when config changes needs review.
- Issue #2256521: New plan, Phase 2: Implement menu links as plugins, including static admin links and views, and custom links with menu_link_content entity, all managed via menu_ui module needs extensive code reviews, API changes documented, a change record drafted, and existing change records that will need updates identified and updated to reference the issue.
- There are still 7 beta-blockers that need to be done to provide a stable data model and stable critical APIs (including a couple of the issues above), and 14 non-critical issues that significantly change the data model or critical APIs, and therefore can only be committed before the first beta is released. Please help move them forward!
More ways to help
Issue #1679344: Race condition in node_save() when not using DB for cache_field recently caused a Drupal.org outage. The issue already has a proposed resolution recommended in comment #24 — help out by creating a patch for either D7 or D8.
Additionally, there are a bunch of easy documentation issues which need some help moving forward. For each of these, there is a "Child Issues" sidebar. Look there for issues that are "active", "needs work", or "needs review":
- Issue #2269389: Make sure plugin developer info is discoverable
- Issue #2294117: Some @defgroup topics should be moved/renamed
- Issue #1908570: Update or create hook_help() texts for D8 core modules
If you want to get started with the core development process, this is a great way to get your first commit in core!
You can also search the Drupal Core issue queue for issues tagged "Novice": the ones in the "documentation" component are especially good for new contributors.
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.
Notable Commits
The best of git log --since "2014-06-25" --pretty=oneline
(201 commits in total):
- Issue #2144263 by fago, yched, alexpott, Berdir, plach, andypost, effulgentsia, michaelfavia: Decouple entity field storage from configurable fields — this important step in completing the Drupal 8 Entity Field API removed the hardcoded assumption that additional (non-base) fields had to be provided by the Field module (because only that was capable of creating the necessary tables for it), as the entity storage had those specific interfaces in the relevant methods. This change completes work done across DrupalCons Portland, Prague, and Austin! Great job team!
- Issue #2286357 by tim.plunkett: Introduce Display Variants, use for the block rendering flow — ports the concept of Variants from Panels/CTools into Drupal core.
- Issue #2016629 by larowlan, neclimdul, sun, alexpott, jibran, ParisLiakos, donquixote, effulgentsia, msonnabaum: Refactor bootstrap to better utilize the kernel.:
- By loading the kernel a lot earlier, we can take advantage of its features to remove superglobals from the bootstrap process and deprecate drupal_bootstrap().
- It also makes the code cleaner and more testable, opening the door to more kernel-based testing.
- Issue #2231595 by beejeebus, Steven Merrill, kim.pepper, Wim Leers, msonnabaum: Add a cache backend that checks an inconsistent cache, then falls back to a consistent cache backend. — this allows a site running on a cluster to cache some things locally (e.g.: APC) and other things remotely (e.g.: MySQL, Memcached or Redis), reducing network traffic and improving performance.
- Some new improvements:
- Issue #1906806 by Berdir, damiankloip, Sifro, dawehner: You can now add views relationships based on entity references
- Issue #1999312 by baisong, lokapujya, botanic_spark, attiks: The Responsive Image module now has an "empty image" option so you can hide images on certain devices.
- Issue #2227601 by mparker17, cs_shadow, swentel, lanchez, mgifford: You can now choose to hide field labels in an accessible way with a "- Visually Hidden -" label option.
- Issue #936704 by Matt V., swentel, tim.plunkett, Jalandhar, jimi-o: Drupal now asks for confirmation before deleting all your log messages.
- Some bug fixes:
- Issue #1468582 by mgifford, janusman, edward_or, tstoeckler, alanburke, Schnitzel, dcmouyard, LewisNyman: Added meta tags to tell mobile devices that the site is responsive, so they shouldn't render the desktop version
- Issue #2290261 by tim.plunkett, amool: the full configuration export would crash if the php_fileinfo extension was not installed
- Issue #2277281 by dobe, amitgoyal, michaelfavia | drumm: Removed the 128-character cap on allowed file extensions
- Issue #578400 by aaronschachter, melsi, Gábor Hojtsy, valthebald, idflood, sign, Damien Tournoud: Pages that are titled simply "0" are now displayed.
- Issue #2154775 by er.pushpinderrana, barnettech, kirkkala, InternetDevels | Wim Leers: You can now see your cursor while editing a title in-place
- Issue #2282599 by LewisNyman, joachim: Drop-down menus now work in Stark
- A whole bunch of deprecated functions were deleted, most notably
arg()
.
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
Excited to learn more about the changes coming up in Drupal 8, but don't like reading patch files? Here are some of the best articles from the past two weeks:
- Amber Matz of Drupalize.Me wrote a great analysis of the accessibility improvements in Drupal 8.
- Daniel Sipos of Web Omelette explains how the Entity Field Query service works in Drupal 8.
- Kristof van Tomme of Pronovix explains how we could get Behat coverage for all of Drupal.
- Steve Burge of OSTraining talks about the State of Drupal 8.
Drupal 8 in "Real Life"
Want to meet up with other Drupal folks excited about moving Drupal 8 forward? Code sprints are an ideal way to meet new friends, contribute to Drupal core and/or contrib, learn, share tips/tricks and discover new talent.
Two big events, Twin Cities DrupalCamp (in Minnesota, USA) and Drupalaton (in Lake Balaton, Hungary), will be holding massive, 4-day Drupal 8 sprints on Aug 7-10. Help us make sure there is space for everyone by signing up ahead of time!
Here are some other upcoming events:
- July 10: Forum One is hosting a Code Sprint at their offices in Washington DC.
- July 12-13: Drupal 8 at the Jersey Shore in New Jersey, USA, has room for 40 Drupal 8 sprinters. @drupalcampnj
- July 16: DesignHammer is hosting a Drupal Coder Lounge event in Durham, North Carolina, USA to help work on Drupal 8 core and update documentation and contribtued modules for Drupal 8.
- July 17-20: DrupalCorn in Iowa, USA will have a Drupal 8 contributed module sprint. @drupalcorn
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!