I started writing this post at the DrupalCon and then continued work on it on the train back home after a long week, last Sunday after the code sprints—even now, more than a week later (after being ill for a week—I think I was burning the candle at both ends for a bit too long), it’s hard to believe that it’s finally over. I arrived the weekend before to participate in the pre-con code sprints and stayed for the Friday–Sunday after the conference to continue that effort. I’ll write about the sprints in another post. This one will cover the highlights of the actual DrupalCon, what I think worked well, and recommendations for those attending their first DrupalCon; with two new continents getting a ’con this year, I think there will be more than a few at their first.
For me, one of the major highlights of this conference was the outstanding food quality. It was so good I was distracted enough I never pulled out my camera to take photos of i, but it was attractive, gourmet, and delicious and there was something for everyone, even a fantastic salad buffet as well as more desserts than anyone could try… and hot dishes with plenty of options for both vegetarians and omnivores, alike. In the closing plenary, it was revealed that the catering costs for the event were about €352,000 for the 1800+ of us in attendance; not surprising for the quality and abundant variety of fare they served us. Food service tables were put in place in all areas of the conference so that there was no crowding into one area and the same dishes were provided at both the Sheraton and the Westin Grand, which were a few minutes’ walk away from each other. The conference occupied the three conference center floors of the Westin Grand and a few smaller rooms in the Sheraton, which were primarily “core conversations”. One might think I would gorge myself, but most days I had simple salad items, walnuts, and seeds… and gave myself a break before finishing with some fresh fruit and a light mousse from the dessert buffet. Despite the fact that the days were hot and many of the rooms weren’t well conditioned, people were alert and in good spirits and I think the food had more than a bit to do with that.
To continue a moment in the vein of “food”, since I really do think it was notable at this DrupalCon, I hope this reflects some new recognition of the importance of good sustenance when organizing a successful event like this. And I hope that future Drupal events will also place emphasis on food quality. That said, I also think that the community would pull together if we had commercial kitchen space and quality ingredients—we could prepare similar gourmet meals without quite the budget we used for catering at this conference; on the other hand, such a model might work better at one of the large DrupalCamps (a few hundred attendees) than at a huge (North American or European) DrupalCon. Of course preparing our own food would provide another place for people to connect (food preparation and more volunteer service), which I think would offset the downsides (not being able to be someplace else whenever you have “kitchen duty”).
Munich is a beautiful city I’d never really visited before the DrupalCon. Public transportation was not too expensive, but I got to see a bit more of Munich by walking almost everywhere, so my walks back from the pre-conference sprints and out to dinner (beer) in the evening were mostly through parks where I got to see the huge Olympics installation and unusual sights like Munich’s famous river surfing.
This was my second time attending a DrupalCon and I decided I wanted to primarily attend the “core conversations” track (with a few exceptions). For those who don’t know, the “core conversations” sessions are where plans for the future of Drupal are presented, discussed, and refined. It’s truly an amazing experience to sit in a room with dozens of top-notch developers as they hash out the architecture for new Drupal features or present the innovations they have already completed. Of course participating in the Drupal 8 (Multilingual initiative) sprints in Barcelona (a couple months ago) and before and after the DrupalCon session days probably also spurred my interest in the areas being covered by other initiatives, but it is definitely an interesting track if you are not sure what to attend. In the past, core conversations were often not fully recorded, another reason I chose to attend this track, but it looks like you can view most core conversations pretty well now, online. If you missed them and are interested in the future of Drupal (i.e. Drupal 8), there are many that you might want to watch.
Another first for me was helping the DrupalCon staff as a volunteer, mostly monitoring the rooms I was in and taking a head-count in mid-session. Other activities of a room monitor included being a bit early and making sure the speakers had everything they needed; I got to loan out a display adapter for one session and was prepared with multiple power adapters if anyone happened to be missing a way to plug in—we also tried to make sure that questions were recorded in session audio (either by having those with questions come to a microphone or the speaker repeating the question). I found volunteering rewarding and I thank Adam Hill, the DrupalCon Munich volunteer coordinator, for being a great guy to work with.
Angie Byron’s current overview of Drupal 8 (aka “Drupal 8: What you need to know”) had not changed a lot since I last saw her similar presentation at the “Developer Days” in Barcelona a couple of months earlier, but it filled the largest session room, so there may have been close to 1,000 in attendance. Some features are more polished, some of the features are not yet written, but are better conceptualized than they were a couple of months ago, but the general ideas are mostly the same so in a presentation providing an overview of Drupal 8, while much has changed, it wasn’t much that affected the presentation. I’ve take the liberty to add a few specifics which were actually covered in separate sessions (sessions which covered each core initiative, for example), just for the sake of brevity and consolidation of information.
One key point that was made by all Drupal 8 core initiative leads is that we are only 3 months away from “Feature freeze” for Drupal 8 (December 1st, 2012), so it’s time to pitch in and try to help get all the great planned features into Drupal 8. All of the major initiatives need help and have areas where they are behind schedule as far as being ready for the freeze deadline with all the features the community would like to have in core.
Configuration Management - This finally ends the problem of having an evolving set of configuration on the development/staging sites which needs to be moved to production… but can’t be since the configuration (in Drupal 6 and 7) tends to be all over the place. Having a set of YAML documents stored in your sites “
files” directory is a good way to manage and deploy common patterns to multiple sites, update configuration on production sites, etc. And it gets around the issue that pushing a database update from a development/staging server to production might overwrite actual content. So we now have a working configuration management system based on YAML files and a developers’ API, but no user interface for adjusting configurations; the UI still needs to be written. We also need ways to determine if configuration has been changed on the production server, have a range of multilingual configuration issues to still resolve, and performance issues, among other outstanding tasks. Join the #drupal-cmi IRC channel during the CMI meeting times and work on the issue queue if you want to help get the CMI full-featured for Drupal 8. Most active work is in the CMI sandbox repository.
Blocks and Layouts (aka Scotch) deals with helping sort out inconsistencies and inflexibility in the core blocks functionality. It’s been described as, “Like panels in core, only better”… well at least that’s the goal. Everything on a page has context and is a block or layout/nested layout. Since blocks are rendered independently, caching is well-supported. A responsive layout designer from Spark can allow you to figure out your layouts for different screen sizes without a ton of divs complicating their HTML. If you would like to help with improving Drupal 8 layouts, there are office hours every Friday in Drupal IRC in the #drupal-scotch channel and you can read more about their current issues by looking at the “sandbox” project for the Drupal 8 Blocks and Layouts Everywhere initiative (it is not yet in the 8.x master branch of Drupal).
Multilingual features will be in core and better than ever before. Interface translation, content translation, base language functionality and language configuration are all being greatly simplified so that it can all be in core with a nice, normal workflow. A lot of the real “pain points” with multilingual sites (or even simply non-English ones) have already been addressed and there is a ton that’s been done, but there is still a lot more to complete in the next three months if we want to really consider this a success. A lot of great progress was made during the code sprints before and after the conference. If you would like to help improve the Multilingual workflow in Drupal 8, there are lots of ways for anyone new to Drupal core development to still pitch in. There many open issues and many ways to move them forward without even writing a single patch. The best place to find active issues is probably to look at Gábor Hojtsy’s “focus issues” list. You can join the Drupal Multilingual initiative meetings in IRC (#drupal-i18n). See the meeting schedule on the main Drupal 8 initiatives’ help page.
Mobile is one of the biggest initiatives in terms of importance to Drupal 8’s success… ensuring that a site is responsive to the display size and has toolbars which nicely resize for device type is one of the major aspects of this work. We need good front-end performance for running on smaller, lower-powered devices; we need good, solid, clean, uncomplicated HTML5 code, and we need to be able to support easily using Drupal as a back-end for native mobile apps, purely responsive web design, web apps, or anything in between. There are some big parts of this which are not far along yet, so this is a great place for front-end developers and others interested in Drupal 8 mobile experience to get involved. One current obstacle to the Mobile initiative achieving its goals is greater completion of the Web Services initiative (WSCCI) also achieving its goals. Otherwise, John Albin Wilkins, the Mobile initiative project lead indicated two other areas which need a lot of work: front-end performance and the Drupal 8 mobile admin interface, likely designed with Spark’s Responsive Layout Builder. There are regular meetings on IRC (see meeting schedule on the mobile initiative’s official Drupal Groups page) and the Drupal 8 issue queue has a tag for "mobile" so it’s easy to jump in and help make mobile support rock in Drupal 8. You don’t need to be a rocket scientist to help move the issue queue along. As Dries and others have indicated, this might be the primary initiative for determining Drupal’s future success, given current trends.
Spark: One of the highlights of DrupalCon Munich sessions certainly had to be Angie Byron and the Spark team’s presentation of all the awesomeness that comes from the Spark-distribution modules. Spark is only still in “alpha”, but you can already tell how amazing the features are. The idea is that while they design the perfect authoring experience for Drupal 8, the community can use, test, and help to refine the new functionality (in Drupal 7 via the Spark distribution) so that the feature-set will be well-tested and as awesome as possible when Drupal 8 is launched. Spark allows you to simply edit content, in-place (via the Aloha editor used by the Edit module) and also has a number of nice tools for designing responsive layouts, and has a tool palette which pulls out from the side and responsively adapts to the device. The goal is for the editor system to output only clean code without a mess of ugly
divs and inline styling… and the editor is already living up to most of that promise. Words don’t really do Spark justice, so rather than take my word, you can try the demo. Note: Since anyone can make changes to the demo site that might be a bit weird, if things are really messed up, you can check back later. And of course reviewing patches in the Spark issue queue and creating new issues, where applicable, can help smooth the way to getting the envisioned “perfect” content authoring experience into Drupal 8.x core.
Twig: Theming/Templating improvements in Drupal 8 include the use of Twig, a templating system also designed by Fabien Potencier of Symfony. It eliminates PHP from the theming layer for simpler code and removal of many security threats. The work on Twig does figure heavily into some of the initiatives, but is not an official core initiative on its own. Work is being done in a Twig sandbox led by Andreas Sahle of Wunderkraut. If you are interested in helping build this up, you can check out this sandbox and assist with the issues.
Views in Core: Drupal 7 was released in January 2011, but it took over a year before there were enough of the important contrib modules ready enough for it that Drupal 6 was finally surpassed (in terms of numbers of Drupal 7 installations). Getting Views into core will hopefully help boost the uptake of Drupal 8 use as soon as it’s released. This will be a lot of work and there is a fund to help pay for development time. A lot of Drupal 8 Views features actually already work. Major parts of cTools are now in core. There is a funding request for getting Views into core (I threw 10 € into the donation box at the DrupalCamp in Barcelona), and the more we can donate, the more the Views team can allocate paid developer time to ensure that Drupal has a nice version of Views available when it ships. Of course you can also help with the Views for Drupal 8.x issues.
WSCCI - Web services in core (only better). There is still a lot to do, but the idea is that the site can take any kind of request and send appropriate responses without a lot of headache. A lot of Symfony components being brought into Drupal are especially important here. Symfony integration helps bridge a gap between ours and the also-dynamic PHP-based developer community around Symfony, so should help provide a lot more experienced developers for Drupal. There is still a lot to do here; you can check out the current status via the WSCCI sandbox and help with the issue queue. See the core initiatives overview page for IRC meeting times and details. If you weren’t there for Larry Garfield’s Munich presentation, Web Services and Symfony Core Initiative, you can still watch it to get a good overview.
Automated testing in Drupal 8 is much faster and the Symfony components also help allow us to have more modular modules… ones which can more easily be unit-tested. In Drupal 8, PHPUnit will replace Simpletest although the latter may remain in core for a transition period.
What happens between sessions is the real reason that most of us go to DrupalCons. There is nothing quite like participating in code sprints with Webchick sitting across the room, committing the patches you’ve just been helping with. And of course you can take your favorite Drupal developer out for a beer or something. It’s great to be in an atmosphere where there are thousands of people who actually have an idea what you are talking about when you tell them your occupation—and of course it’s nice, for a change, to be able to leave out any explanation of Drupal. If you go to a DrupalCon, it’s a given that you will leave having made new friends—new friends who will feel a bit more like “old friends” the next time you see them.
If you have never been to a DrupalCon, there are more DrupalCons coming in the next year than we’ve ever had in a year period, before. Granted, the two new (Australia / South America) cons are planned as smaller events that would actually be dwarfed by some of the larger DrupalCamps, but this is all a sign that Drupal is growing, world-wide.