Last weekend I went to Drupalcamp London: it's high time I said something about it, as it was such a great experience and I'm so glad I was part of it, however small.
Because it really was huge: 550+ people, comparing favourably to the first Drupalcon I went to in Paris. What's becoming clear is that the smaller tier events - the camps, the local meetups - are punching well above their weight. Don't get me wrong, I'm still excited about Drupalcon Amsterdam this year - mostly because of the Tour de Drupal plan to cycle there from London via the Harwich ferry - but if you've got limited time available, and you can't conscience flying to a conference, then local meetups are the most efficient way to fill that calendar.
Below is a brief roundup of some of what I saw and heard at Drupalcamp London this year.
Drupal 8 is coming (still) and bringing its mate Symfony along
... which is good news (still) as you get the feeling that it's sucking at least some of the oxygen out of specific D7 issue queues (still). But it really does sound like it's all going to be worth the wait.
Pedro Cambra reprised his great talk, on the hidden gems in D8, from Drupalcamp North West last November (luckily for me as it clashed back then.) The news and arguably hype surrounding D8 is understandably dominated by the big-scale initiatives, and Pedro wants to give some of the smaller details - not aligned with any initiative - some time in the spotlight.
As he said, none of the details are completely finalized yet (but it's getting better): even then, there's a lot of exciting changes and improvements coming as part of D8: an integral WYSIWYG editor; TWIG moustache-syntax templating; configuration in text files (including fields); configurable form modes for customizable e.g. registration versus user-edit differences; D6/D7 upgrade as effectively migration in core, powered by YAML files and with bundled plugins, and yes handling things like system variables (I asked!); multiple and drag-and-drop uploading in core.... It's an impressive list of "and there's more" to sit alongside the initiatives.
Sadly I missed the other explicitly D8 talks, although I hope they'll be posted on the website soon. But I did manage to attend Richard Miller's talk about Symfony2 as an application framework. D8 is going to be in a large part a Symfony-based app, with at least some of the Drupalisms excised in favour of that framework. So it was great seeing how one might build any other MVC-ish application with the same system.
Richard took us through the entire process: from downloading Symfony, through getting it working as a dev or production environment, to building a simple application. He also showed how code could be factored and refactored to take advantage of more and more of the boilerplating that Symfony provides. All in all it was really interesting, and basically provided me with a tutorial to be able to go away with practice myself.
Right now, though, it's all about entities...
Entities are a much underused aspect of D7, from the average site builder's perspective. As Jeni Tehan found when she was trying to explain in her talk about Entity Construction Kit (ECK), it's difficult to explain what they are - except by explaining what are entities instead: a single node of content is a content entity; a person's user account is a user entity; their profile2 profiles are each profile entities. And so on. In D6 and earlier, the custom data storage you might build with nodes and content types, you build in D7 with entities, and avoid much of the overhead that core imposes on nodes (publishing cycles, menus, search indexing etc.)
Jeni's talk was an eye-opener: it took us through a point-and-click interface to creating new entity types and adding fields to entity bundles (sub-typing of entities, like content types for nodes). Almost during the talk, she demonstrated how to rebuild core taxonomy using custom entities: not that you'd want to, but it immediately opens up possibilities for one's own custom development. And the resulting entity types and bundles were features-exportable. The neater but simpler modules like Message might simply turn into features exports of types, bundles, rules and views in the future...!
At the other end of the scale, Joachim's talk might have singlehandedly made much of my future custom-entity development much faster to get off the ground. Almost entirely code where Jeni's was almost entirely GUI, it took us through how to use the entity operations module to build tabbed UIs, and views and rules integration, to accompany our next custom-entity system. There's scope for EO to play nicely with ECK in the middle ground, although that's still a work in progress: nonetheless, each provides a powerful tool for attacking entities from two radically different directions.
... when it's not about communities
Drupalcamps wouldn't happen without community support and all the volunteers that help out. But let's take that as a given, for this section at least, and touch on some of the talks and other aspects of the camp that illustrate it best.
Megan Sanicki from the Drupal Association gave an interesting talk on the Sunday morning, about how the DA has grown up, and how the community has grown up; and how they might both grow up further, and play more nicely and more interestingly together, in the future. Since its expansion after Drupalcon London, the DA has grown into a great potential resource for the community, that very few people know about (its place in organizing and bankrolling conferences, its directing of the d.o website, its ability to publicize and amplify support for Drupal).
At the same time, the DA's authority stems from and is granted by the community, and as it moves towards a more and more transparent approach, the DA depends upon the community to help it with focus, direction and feedback. In some ways it was a comparatively muted and level-headed talk, where keynotes are sometimes all about the fireworks: but maybe that's what we want the DA to be, in preference to how other big Drupal organizations sometimes behave. Megan still gave us so much to think about in terms of: how do we structure, scaffold and support our community; and where does the DA fit into that vision?
Saturday night was the big social, which was good fun as always. But a lot of the fun comes from being able to sit down and chat with all the people I've got to know over the years, and also get introduced to other people and talk work and play with them too. Much as I like super-loud music - in its place - I couldn't really carry out many of the conversations I wanted to in the party venue: eventually, my voice gave out; maybe I took my Drupalflu with me after all. But until that point, I met a few great new faces, who I'll hopefully get to talk to again at future Drupal events.
Obviously there were also the chats at lunchtimes and coffee breaks, where I was able to catch up with literally dozens of, if not almost a hundred, people I've known from previous conferences, Twitter, IRC and the like. And I also tried my best to line up one of my current clients with other freelance developers: since going freelance, I've found that the community is in part an engine that generates paid work for me, so it'd be great if I could ever donate those successes back into the system.
Sadly (again, owing to clashes) I missed the Whisky BoF session on Saturday; but there was still an almost entirely full bottle of Laphroaig QA floating around on - now don't judge - Sunday morning. Purely to be sociable, I have to admit having taken a nip or two: the technical term is a dram, I'm sure. And if what Morten said was true, that drinking rum in the morning makes you a pirate, then drinking whisky in the morning must make you a highlander.
There were also great talks which resist being shoe-horned into my narrative. The GDS keynote from its head of innovation Mark O'Neill was practically worth the ticket price on its own: especially his understanding of how different government projects are perceived from outside government; honesty is always really appreciated at conferences, for its obvious professionalism if nothing else.
I was also really glad to hear John Ennew talk about how to make unthreaded PHP kind of pseudo-threaded, in the context of data migration; and to catch Rupert Jabelman uncovering some of the hidden possibilities in Apache Solr. Thanks to you all!
And that's it!
What can I say apart from thank you? Thank you to all these speakers, and to the speakers I missed (and sorry to them). Thanks to the team that organized the conference, including Ben Wilding and Alex Burrows (but many others who, because they rather wonderfully didn't shout about it, I don't know who they are.) Thanks to the volunteers and to the sponsors, and to the obliging staff at City University for having us all traipse through their corridors of a weekend.
And thanks to everyone I met and spoke to, for dealing with me in a half-coldy, half-oversocialized daze. If you lot weren't the kind of people you are, I'd never enjoy these events half as much.