DrupalCamp London 2017 was held on the 4th and 5th of March at the newly refurbished main hall of City, University of London. The new facilities are really nice and keep the conference in the same area, but they aren't too small that it feels cramped.
This year's opening keynote was with Matt Glaman, who talked about his journey into development from his original career of a delivery driver. He is now an author, a contributor to Drupal, and a well respected developer with Commerce Guys. It's always interesting to see how people got into development from different careers and Matt said that he had started off with WordPress but that most of his education was just self education. One pithy thing that Matt said was that he "was as knowledgeable as he chose to be", meaning that he was ultimately responsible for his own success and his subsequent career path. Matt also mentioned a few schemes that aim to teach people how to code, including #coaltocode and the Drupal Apprenticeship program here in the UK, both of which are filled with inspiring stories.
Next up was A-jax Of All Trades with James Hall. This was a great talk that looked at how to create different kinds of ajax controls in both Drupal 7 and Drupal 8. James walked us through select list replacements, form submissions and validations, ajax links, modal windows and even forms embedded in modal windows. What was really interesting was that James showed some really useful examples, all of which had working examples and code from Drupal 7 and Drupal 8. Probably the best talk on ajax in Drupal I've ever seen.
I actually skipped the next session and instead talked with Crispin Read about the Drupal apprentice scheme that is currently running in Manchester. There are some great apprentices coming through the scheme and I am really looking forward to taking one of them on at Access.
After lunch (which consisted of a packed lunch) I went to see Tim Marsh talk about Building A Symfony Application. This was a look at a Symfony application that used a few different libraries and methodologies to create a life saving organisation.
The next talk I attended was Peter Vanhee with Building reusable websites on Drupal 8: lessons learned from transforming rednoseday.com. This was a look into some of the history of the Red Nose Day projects (which includes comic relief and sports relief) and how they are developed by Peter and his team. The project is in the unique position in that the sites they build are only used for a maximum of 2 years before being archived and as such they are able to rebuild the new sites with the best technologies. This allowed them to swap from a panels based approach to a paragraphs based approach and to rebuild with Drupal 8 for the latest Red Nose Day campaign. Peter also went through a few of the tools they are using to build the sites, including Phing, Behat, BBC Wraith as well as some Drupal modules like config devel and default content.
The final session of the day was Automate Testing with Behat, Selenium, PhantomJs and Nightwatch.js, presented by Nikhil Sukul. I've seen a few talks on automated testing but this is the only one that showed how all of these tools fit together. Nikhil presented each tool in turn and then showed what tool is the best way to test different situations.
The Saturday night social was held at The Blacksmith and Toffee, which is the same venue as last year, but it's a good venue. This gave me and the team a good opportunity to catch up with a few people.
Sunday morning started with a keynote with Jeffrey A. "jam" McGuire, who talked about not just selling Drupal, but to selling value. He shared a few quotes and choice words people who he had interviewed for his podcast. Some inspiring words and stories of success from within the Drupal world.
Next, was my own session Getting Started With Webform In Drupal 8. I have spent quite a bit of time looking into the fantastic new Webform module in Drupal 8, and this talk was a synopsis of that experience. I will probably be writing one or two blog posts regarding the Webform module in the coming months, so I won't go into too much detail here.
The final technical session of the conference was with Ashish Thakur, who talked about Dependency Injection and Service Containers. This was a look at the problem of object coupling, what dependency injection is and what kinds of dependency injection exist. Ashish then showed how to use dependency injection containers in Symfony to allow dependencies to be managed without having to add a lot of boiler plate code to get objects ready before they are able to be used. For me, this talk tied a few different ideas together and allowed me to better understand how dependency injection containers work and why they are needed.
We unfortunately had to miss the closing keynote with Danese Cooper due to having to leave to get the train home. By all accounts it was an exceptional talk, so it's a shame we missed it.
Overall, DrupalCamp London 2017 was a blast. I met a few new people and got caught up with some familiar faces. I took loads of notes over the weekend and I have already applied some lessons learned to my day-to-day work. I always try to keep my ear to the ground to see what themes and technologies are coming over the horizon. Drupal 8 is now well established in the Drupal world and is the basis of the majority of the talk subjects. That said, one of the main themes this year was not about Drupal 8 itself, but about how to get the most value for clients and how to effectively develop and test with the platform.
Massive thanks to the team behind the camp and the sponsors who make the camp possible. I'll be sure submit a session and attend next year's camp.