Drupal core updates for September 4, 2014
by Angie Byron
What's new with Drupal 8?
It has been a month since the last update on Drupal core development. In the meantime we met and worked hard together at TCDrupal and Drupalaton at the start of August triaging outstanding critical issues and resolving some. Also we collaborated on making Drupal's frontend better at Frontend United at the end of the month.
We've been doing such a great job taking care of the beta blocker issues that we are currently down to only one beta blocker as of this writing. What does this mean? Once we are down to no beta blockers left, a final alpha release is published. If there are no more beta blockers identified during a two-week window, the first beta release is published. Then we'll focus on resolving the hundred or so remaining critical issues to get to release candidates (once all of them are resolved).
Right now, help with the remaining beta blocker as well beta deadline and beta target issues is most welcome. Beta target issues may get in anytime later, but beta deadlines may not unless re-evaluated for inclusion regardless.
The best opportunity to get to work with Drupal developers in person is the 9 (nine) days of sprint opportunities coming up at the end of September at and around DrupalCon Amsterdam. It is the best way to learn Drupal 8 hands-on and help on the way.
Where's Drupal 8 at in terms of release?
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!
- Issue #2330121: Replace ContentEntityDatabaseStorage::getSchema() with a new EntityTypeListenerInterface implemented by SqlContentEntityStorageSchema is part of our only remaining beta blocker, in which we factor out the SQL database creation from going through the ModuleHandler and instead introduce onEntityType(Create|Update|Delete)() methods to cover our use cases. The beta blocker is purposely broken to smaller issues to help reviewers. Look for more sub-issues under #1498720: Make the entity storage system handle changes in the entity and field schema definitions later on.
- Issue #2313159: [meta] Make multilingual views work is a collection of problems related to making multi-lingual views in Drupal 8. A number of the sub-issues are "Major", meaning they have significant repercussions but do not render the whole system unusable.
More ways to help
- Pick a critical issue or beta deadline issue, take the time to thoroughly read the issue (including doing some background reading if necessary to understand the problem space), and then update the issue summary for the issue. Include a summary of the current status and remaining tasks for the issue, and identify any API changes the issue would introduce. Consider whether the change would require a change record or updates to existing change records. Consider what the implications of not resolving the issue would be, or of resolving it after the first beta or after release.
- We also need help writing help text for core modules like Field UI, Image, Taxonomy and Toolbar. This is an easy way to learn the Drupal Core contribution process and start contributing to Drupal Core.
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 individual Drupal core development.
Some of the best of
git log --since "August 4, 2014" --pretty=oneline (277 commits in total):
- Issue 1510544 by swentel, Bojhan, Gábor Hojtsy, merlinofchaos, Cottser, Wim Leers, plopesc, aspilicious, sannejanssen, larowlan, tim.plunkett, nod_: Fixed Show previews in front-end theme, able to select different view modes. This was a long time coming. Finally, your node preview will not appear on the backend!
- Issue 2248767 by effulgentsia, beejeebus, alexpott: Use fast, local cache back-end (APCu, if available) for low-write caches (bootstrap, discovery, and config). Improves performance for some critical data a great deal.
- Issue 2224761 by Gábor Hojtsy, alexpott, pfrenssen, effulgentsia, xjm, mlncn: Add a generic way to add third party configuration on configuration entities and implement for field configuration. Resolved a beta blocker by adding a facility for configuration entities to support third party settings. To be used for node types and other things as needed as well. Provides a simple solution when a full-on plugin architecture as in views is not suitable, but extension mechanisms are needed for configuration.
- Issue 1966436 by naveenvalecha, cesarmiquel, Berdir, mr.york, jlbellido, segi, vasi1186, Leksat, Gábor Hojtsy, Schnitzel, grisendo, Aron Novak, likin, penyaskito, vijaycs85, kfritsche, fago: Fixed Default *content* entity languages are not set for entities created with the API. Now made Drupal properly create entities in the right language regardless of through the UI or API (eg. when adding a tag or uploading a file). Also makes entities created from the creation of the site be in the right language always.
- Issue 2295469 by Cottser, dawehner | effulgentsia: Add support for static permission definitions with *.permissions.yml. Makes it possible to simply define permissions in a simple YAML file making this system consistent with several other in Drupal 8.
- Issue 2271529 by attiks, alexpott, Lowell, YesCT, Jelle_S | mdrummond: Move breakpoint settings to theme and module *.breakpoints.yml files at root level. Improves developer experience providing breakpoints.
- Issue 2317085 by pfrenssen | rteijeiro: Added the possibility to create a REST export when creating a new view. Makes it much easier to create simple web service views of Drupal content.
- Issue 2250119 by ParisLiakos, Devin Carlson: Run updates in a full environment. Now that updates are not supposed to operate in API-incompatible environments, their implementation was unified with any other Drupal environment.
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 security
With the API stabilizing we are focusing on security again. In our last issue we already reported on Twig autoescape now being on, sometimes resulting in unwanted HTML strings appearing on the page because of double escape bugs. Please check the meta issue if you see these.
- The router service is now access aware so there is no need now to separately access check the routes returned from it.
- Building on this, now menu links, shortcuts and link fields use a unified path validator service..
Drupal 8 Around the Interwebs
- Drupal.com was relaunched and it runs of course on Drupal 8! Read more about it in Dries Buytaerts' post.
- Adam aka phenaproxima is working on modernizing and extending the Drupal Module Upgrader, so you can get automated help upgrading your Drupal 7 modules.
- There are several good practices you can adopt in your Drupal 7 projects preparing for Drupal 8. One of them is using PHPUnit tests in Drupal 7. Lee Rowlands has a great post about this.
- Tobias Stöckler is explaining a Composer based Drupal 8 workflow for integrating Drupal 8 with other PHP libraries seamlessly.
- In D8FTW: Your Next Drupal Hire Isn't a Drupal Hire Larry Garfield says you should look farther than Drupal developers for hiring and suggests some techniques to connect with the larger PHP community.
- Nuvole's Fabian Bircher posted a teaser to his Drupal 8 training showing a Git workflow for managing Drupal 8 configuration
- Four well known Drupal core contributors Jennifer Hodgdon, Bojhan Somers Alex Pott and Cathy Theys sat down with Brian Lewis to talk about sustainability of core development and the Drupal Core Gittip team.
- Jeffrey A. "jam" McGuire recorded and recently published a video podcast with Joël Pittet and Scott Reeves on Drupal 8's new Twig templating system.
Drupal 8 in "Real Life"
- September 5: First Friday D8 Contrib Sprint in Zurich, Switzerland as part of the regular series.
- September 6-7: Lviv Euro DrupalCamp in Lviv, Ukraine will have a sprint lead by top Drupal contributor andypost.
- September 12: Drupaldelphia in Philadelphia, USA includes sessions on Drupal 8 theming and Migrate.
- September 12-13: DrupalCamp Montreal in Montreal, Canada is full of great Drupal 8 content on theming, services as well as an introduction.
- 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. It includes two hours of updates on popular contributed modules on Drupal 8 and nine days of sprints.
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!