This (two!) weeks in Drupal Core: December 4, 2013
by Angie Byron
What's new with Drupal 8?
The last two weeks have been absolutely ACTION PACKED Drupal 8 core-wise. Let's see if I can remember it all. :)
Migrate in core
The Migrate in Core team had their first core patch land! This provides the underlying architecture for migrations, as well as a variable-to-CMI migration as a proof of concept. Drupal 8 will provide migrations from Drupal 6 and Drupal 7 both. If you're curious to see how it works, read the change notice for a quick overview, and the excellent documentation for more details. BIG congrats to mikeryan, chx, marvil07, bdone, jessehs, mpgeek, BTMash, fastangel, mongolito404, Moshe Weitzman, eliza411, YesCT, dawehner, and cosmicdreams!
Ding, dong! Overlay module is dead! My ears are still ringing a bit from all of the cheers and applause. :P~ However, rather than the module simply being booted to /dev/null, it has instead been replaced by a nifty "Back to site" button that shows up when you're in an admin context, and takes you back to where you were on your main site:
After extensive usability testing, this solution was found to solve the same "lost context" problem as the Overlay, but with a few thousand fewer lines of code. :) Let us all build nod_ a statue, as well as yoroy, lisarex, and Bojhan from the UX team.
Help fund a Drupal 8 core maintainer
Alex Pott, single-handedly responsible for almost 50% of the commits in Drupal 8 since he became a core maintainer, is nearing the end of his savings account + Gittip supplements that have allowed him to focus on core full time the past few months. Alex is actively seeking diverse community funding to sustain his momentum independently. If you're a business excited about the new awesome things Drupal 8 will bring, this would be an excellent way to very directly support all of D8 contributors' efforts.
Drupal 8 Alpha 6
Drupal security releases
There were also security releases of Drupal 6 and 7, which we are are in the process of forward-porting to Drupal 8 now. If you can help here to ensure expedient patching, that would be great!
Where can I help?
- Performance-wise, remove drupal_add_css(), remove drupal_add_js(), and remove drupal_set_title() are all very close, and fixing these helps to enable render caching, as well as get us to beta 1 sooner.
- If you're interested in learning Drupal 8 OO best practices, the ongoing effort to Convert page callbacks to Controllers and Convert non-controller forms to FormInterface is still happening. Read the docs on how to get started, as well as Form API-specific info.
- The Accessibility team is seeking help with the Green by 2014 initiaitve, which aims to ensure that there are zero accessibility-related test failures by 2014! Read that post for info on getting started.
- If you eat HTML and CSS for breakfast, the ongoing Style Guide for Drupal 8's admin theme effort needs helping hands. See if you can help with any of the issues tagged "styleguide".
- 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 "2 weeks ago" --pretty=oneline (232 commits in total):
In addition to the ones mentioned above:
- In PerformanceVille, we're making great progress on removing dynamic page elements to allow render caching to be awesome. Some relevant commits:
- Issue #2115061 by JeroenT, tim.plunkett: Remove direct calls to drupal_add_html_head_link().
- Issue #2102489 by InternetDevels: Remove drupal_set_title in views module controllers.
- Issue #2102449 by amateescu, swentel: Remove drupal_set_title in field_ui module controllers.
- Issue #2102445 by disasm: Remove drupal_set_title in content_translation module controllers.
- Issue #2102369 by vijaycs85, JeroenT, ACF, rteijeiro, -enzo-, tim.plunkett: Remove drupal_set_title in custom block module controllers and entitylist controllers.
See the Where can I help? section for how to help push this area further!
- Meanwhile, in Entity Field API-topia, lots of refactoring that helps bring these APIs closer to solid ground:
- Issue #2047229 by fago, smiletrl, Berdir, effulgentsia, amateescu: Make use of classes for entity field and data definitions.
- Issue #2076445 by plach, andypost, yched, Gábor Hojtsy: Make sure language codes for original field values always match entity language regardless of field translatability.
- Issue #2142549 by amateescu, yched: Support multi-column field types in base tables.
- Issue #1988612 by effulgentsia, yched, Wim Leers, Berdir, Pancho: Apply formatters and widgets to rendered entity base fields, starting with node.title.
- In "API changes you should be aware of" Land:
- Issue #1998638 by damiankloip, dawehner, kim.pepper, cosmicdreams, larowlan, Damien Tournoud: Replace all remaining superglobals with Symfony Request object removed all instances of $_GET, $_POST, and so on with the Symfony Request object. So from now on, just say "no" to $GLOBALS!
- Additionally, Issue #2131851 by tim.plunkett: Form errors must be specific to a form and not a global changed the signature of various form error-handling functions to now take a $form_state argument.
As always, see Change records for Drupal core for the whole list of Drupal 8 API changes.
- From the Isle of Usability, we bring you:
- Issue #675446 by mgifford, RobLoach, amateescu, nod_, longwave, oxyc, rteijeiro, tomyouds, Jelle_S, mcrittenden, Sutharsan, hansyg, Angry Dan, clemens.tolboom, droplet | Dave Reid: Use jQuery UI Autocomplete (instead of our own custom, less-accessible version)
- Issue #1255696 by dagmar, lslinnet, swentel, jenlampton, sun: Move field type modules into separate 'Field type' package (to help break up the modules listing some)
- Issue #1986074 by LewisNyman, Outi, mcjim, edward_or, ry5n, Bojhan, yoroy: Buttons style update. I mean, seriously, just *look* at how awesome our buttons are now!
- And finally, from the Developer Experience-opolis, two big wins to tell you about:
- Issue #2138867 by chx: Allow dangling commas in annotations makes annotations approximately 56,832% less annoying to work with
- Issue #2118991 by Berdir, dawehner: Use abstract service definitions to minimize copy & pasted service definitions is a huge win for the ongoing fight against verbosity.
Drupal 8 Around the Interwebs
Blog posts about Drupal 8 and how much it's going to rock your face.
- Vijay Nandwani and Matthew Lechleider put together a great tutorial on how to add a user interface "tour" of your module using Drupal 8's Tour module.
- December 3 was International Day of People with Disabilities (IDPwD), and Dries marked the occasion with a write-up of all the ways Drupal aims to be an inclusive community and platform. Jesse Beach made a sister post celebrating the individuals who help make our stellar accessibility possible.
- As part of their ongoing Drupal 8 Field API series, yched, swentel, and amateescu wrote an article about entity (form) displays and display modes, which does a deep-dive into this API and the improvements it offers over Drupal 7.
- Also in Field API land, check out Ivan Zugec's tutorial on How to Create a Custom Field Formatter in Drupal 8. It demonstrates turning a regular ol' boring link field into a snazzy YouTube player embedding link field!
- For the more design-inclined, Danny Englander wrote a great guide on porting your theme from Drupal 7 to Drupal 8 (Get Twig-gy With It). This goes over the syntax changes, file changes, and more. And best of all, it's pretty short! :)
- Steve Burge from Open Source Training provides an overview of the major changes in Drupal 8 since September in The State of Drupal 8: November 2013. Useful if you've missed a few installments of This Week in Core.
- If you want a more extensive D8 deep-dive, yours truly will also be giving a Webinar on Drupal 8 and what to expect on Tuesday, Dec. 10. Be there or be square! ;) (but please, no heckling. :D)
Drupal 8 in "Real Life"
- DrupalCamp Vienna happened Nov 22 - 24, and Josef Dabernig posted a great summary of the event.
- Among the sprinters was Janez Urevc who organized a Drupal media sprint at DrupalCamp Vienna and wrote up a summary of the results. Awesome work! Janez is running regular media initiative meetings the first friday of every month, which puts the next one this Friday, December 6 at 8 p.m. GMT (please help me I do not understand time)
- This coming weekend (December 7-8) has been dubbed Drupal Sprint Weekend, there will be sprints literally all over the globe! Check out London, Manchester, Phillipenes, India, Japan, Boston, and New York City! If you ever wanted to get involved in core and didn't know where to start, now might be a great time. :) There's also an upcoming Drupal Global Sprint Weekend on January 25 and 26 so if you missed the boat this time around, be sure to get your local community on the map next time!
- If Drupal 7 is more your style, there's also the D7onD7 virutal sprint, to try and give D7 contrib some extra love.
- Camp-wise, there's Drupagora in Paris on December 5, and DrupalCamp Chicago on December 7.
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!