DrupalCamp London, now in it's 4th year, was held of the weekend of the 4th, 5th and 6th of March at The University of London campus in London. Myself and a few other developers from Manchester headed down for the weekend to attend. I wasn't able to attend the CXO day on the 4th, but we were all in attendance for the camp event.
The day started with a quick introduction from the team behind the camp, after which we went onto the key note from Clifton Cunningham. Clifton talked about development teams and processes in technology companies. This was an interesting keynote and perhaps the most interesting aspect was the notion of 'developer anarchy'. This is the notion that a developer is essentially responsible for their own work and the project managers are only responsible for getting the developers everything they need to do the job. In fact, Clifton mentioned that out of the hundreds of different types of jobs we see in corporate IT only the developers and the project managers actually do the work.
After they key note the first round of sessions started. The first session I attended was The Drupal 8 plugin system: extensibility for all with Bart Feenstra. A plugin in Drupal 8 is a "swappable extensions that provide logic for a specific (set of) task(s)". Plugins are dynamically discoverable and work in a similar way to hooks in Drupal 7, although in a much more advanced and object oriented way. I had heard the term 'plugin' banded around quite a bit in Drupal 8 discussions, but this session laid everything out for me so I now know how they fit into the Drupal 8 architecture. Things like blocks, forms, and fields are plugins in Drupal 8 and are contained within a module that might define other functionality and plugins. The plugin module is a good way of viewing an administration interface for plugins within a Drupal 8 site.
After a quick coffee break I headed to see fellow Vlad contributor Dan Bohea talk about Provision your Mac with Ansible. This was an interesting insight into configuring OS X via the command line and using Ansible to carry out these tasks in an automated fashion. The main aim in this was to replicate the setup of an environment between computers and to get new developers up to speed quickly with a nicely provisioned system. Dan has clearly spent a lot of time looking into this and has tackled lots of issues and problems along the way. This talk was interesting from an Ansible point of view, but also from a OS X administration point of view.
Lunch consisted of a packed lunch (provided by DrupalCamp London), after which I headed over to see my colleague Ashley Johnson talk about Prior Planning Prevents Poor Performance. Ash talked about how to properly plan out a project, with real world examples and useful tips along the way. It was a great talk, and Ash (although quite hungover) was on form.
Next up was Writing custom entities in Drupal 8, with Deji Akala. This was an interesting look at the advancements made over defining entity types in Druapl 7. I have recently spent a lot of time doing just that, so this talk made a lot of sense to me. One thing that stood out was that annotations in classes make up a lot of the configuration for the entities in Drupal 8. Deji's custom code for defining entities is all available online if you are interesting in seeing it.
The last session of the day was with fellow NWDUG organiser Mike Bell, who talked about Practical REST in Drupal 8. There are some new RESTful API's built into Drupal 8 and Mike was able to show them in action, along with some authentication mechanisms provided by the OAuth module. Rather than just a dry collection of JSON formats and HTTP headers Mike also showed the API in action through a tool called Paw. It was good to see the new Drupal 8 API's working in real time in this way. Mike's code is also available online if you are interested in seeing more about RESTful services in Drupal 8.
After the last session we (slowly) headed over to The Blacksmith & The Toffeemaker pub and networked with our Drupal peers.
Sunday started with a keynote from Alexis Cheshire, who talked about building a software platform for the UK Scouts association. This is a collection of around 8000 independent charities, comprising around 444,000 young members. Alexis looked over the different projects that Scouts has, which were sometimes built in Drupal. What was interesting was seeing the different challenges that he faced in getting the Scouts onto a modern architecture and capitalising on their legacy systems.
The next session was run by me! I submitted a session a while ago called Becoming A Drupal Master Builder, which I was lucky enough to get accepted. This talk was similar to the same session I gave at DrupalCamp Scotland although with a lot of tweaks and changes. I think the session went well. The crowd (there were quite a few people there) had a few questions at the end, and I even overran by a few minutes.
The penultimate session of the weekend was Create rich web stories with Drupal 8 and paragraphs with Tassos Koutlas. One of the colleagues I attended with was a big proponent of using Paragraphs in Drupal 7, so it was interesting for us to see how things look in Drupal 8, as well as some of the thoughts behind the decisions being made. This was an interesting session and Paragraphs looks like a great tool in Drupal 8.
The final session was a wrap up session that thanked the people involved and went through how much coffee and internet was consumed during the weekend. After this I headed off with the people I had travelled down with and we visited the British Museum for a few hours before getting the train back.
Overall, the weekend was pretty good. The event was well organised and ran very smoothly. There were a lot of great people there and it was awesome to catch up with various people I don't see that often and to meet a few new people as well. Now that Drupal 8 has been released it is amazing to see some of the amazing work being done with it now. DrupalCamp London is an amazing event and is well worth attending. I'm looking forward to next year already.