The European DrupalCon was held in Dublin from 26th - 30th September and I went along with a couple of colleagues to learn a few things about Drupal. I have been back from the conference for a few days now, and I wanted to write down some of the highlights of the conference in a blog post. There is a lot going on at DrupalCon and with 2000+ people, 3 full days of sessions, 2 tutorial days, multiple parties and over 10,000 cups of coffee consumed there is too much to write about here. So this will be a few random highlights and stand out moments of the conference.
I flew into Dublin on the Sunday before the conference started and turned up on Monday morning to take part in the sprint. This is where people turn up and work together to solve problems in Drupal. This might be in the form of coding changes, but can also be documentation, testing, or even just helping people find tasks that they can work on. I spent a little bit of time trying to find an issue I could work on, and I'm happy to say that I was able to produce a patch for Drupal core that has recently been accepted into Drupal 8.3.x. Now that I have contributed to Drupal I will now be furthering this effort. In fact, I have started work on another issue that touches upon a few different areas of Drupal 8. I think the biggest barrier to getting into core contribution was finding the right thing to solve in the issue queue. I did actually find another issue that I worked on, and submitted a patch for, only to find out that someone else had submitted the same patch just minutes before. This was fine though as I was able to add my voice to the issue and confirm that the patch applied cleanly and produced the correct result.
Tuesday started with me attending the keynote by the creator of Drupal Dries Buytaert, or the 'Driesnote' as it is affectionally known in the Drupal world. Dries talked about some new and upcoming features in Drupal 8 and how this would improve the usability of Drupal 8 going forward. The new features coming in 8.2 and 8.3 are mainly improvements to the usability of the system. This includes improvements to the quick editing and block placement system, which look like welcome improvements to the system.
Dries also talked about what events have had an impact on his life, and looked at how Drupal and the people surrounding it had changed his life for the better. This lead onto him talking about how the Drupal community is full of individuals who have also had their lives changed by Drupal. This included several videos and images from different people around the world who are using Drupal as a way of educating people into web development. In certain circumstances this education allows disenfranchised youths to gain a useful skill and gain employment that they wouldn't have otherwise had. Dries said that these stories meant a lot to him and that was clear from the way he spoke about these stories.
Incidentally, one such story was about the Drupal Apprenticeship program, which is currently running in the UK. Access, where I work as Technical Lead, is a part of this program and I recently attended a workshop session where I took part in talks and discussions about Drupal and web development. One of the pictures that Dries put up on the screen showing the UK apprentices was of me sat in this group, just in front of Jake Ryan the Access apprentice. Being mentioned, even indirectly, in the Driesnote was a nice experience.
Multimedia in Drupal 7 was a bit of a mess until the Media module tried to organise things into a consistent structure, and even then things weren't straightforward sometimes. So going to a multimedia in Drupal 8 session really showed me the current landscape of things to do with file uploads and multimedia libraries in core. Dries hinted at this in his keynote, but having Janez Urevc talk through the finer points of what is coming into Drupal 8 core was really good. It looks like there are some really good additions coming to Drupal 8 in terms of media libraries, wysiwyg embedding, and the re-usability of media assets.
The configuration export and import in Drupal 8 is proving to be a really powerful tool, but it is clear that some people (including myself) aren't clear on some of the finer points. So the configuration management: theory and practice talk really helped to spell out how configuration management should be used, and what to do under certain circumstances. Even though this talk was given by three people (Andrea Pescetti, Antonio De Marco, and Fabian Bircher)it wasn't confusing and actually was one of the best configuration management talks I have seen. They spelled out a situation and then showed how configuration management could be used and what plugins exist to aid that situation. For example, pushing configuration to your production system is fine, but what if your client changes some of the configuration on the production box? You can solve this by using the configuration read-only module to restrict what can be changed, or by using the configuration split module to allow the client changes to be merged in with your own development changes as needed. This real-world example and solution really worked and allowed them to paint a picture of how configuration management should work and can be made into a powerful tool.
I have been watching the progress of Commerce 2 for Drupal 8 for a number of weeks now, especially as now that I am using Drupal 8 more and more for projects. So thelaunching online stores with Commerce 2.x on Drupal 8 session with Ryan Szrama and Matt Glaman was a good overview of where they are, what they have done and where they plan on going with the product. It looks like there are some great things going on with Commerce 2 and lots of opportunities to contribute back to the project. What was also good to see was that they have broken out some internal components like Tax and Addressing and made stand alone PHP components that can then be used in other projects.
One of the better sessions I attended over the course of the week was from Alexei Gorobets, who talked about Practical Caching in Drupal 8. This was a talk about what forms of caching was available in Drupal 8, and what elements of the page are effected by different cache keys, contexts or tags. I have touched upon some elements of caching in Drupal 8, but having them all spelled out (with a few real world examples) was really useful.
On Thursday night there was a Drupal quiz night, which was run by the Drupal Ireland association. This was a really well run night and although we (Team Awesome) only came in 12th, we still had a good night.
The exhibitors space was really well organized and had lots to see and do there. This was also the space where the refreshments and food were served so people became familiar with the space by the end of the week. One highlight was a virtual reality tour of Gent by the web agency Dropsolid, and a chat with their lovely CEO Dominique De Cooman.
The Guiness factory is a good place to go for people visiting Dublin, and only takes a couple of hours to complete.
Overall the conference was really well organised and I learned so much in the week that I'm still trying to digest some of it. I've got lots of ideas to take back to my Drupal 8 development practices and I now have the confidence to continue contributing to Drupal 8.