Run a Hackathon, inspire passion for Drupal
by Adam Malone
With a beta release of Drupal 8 just around the corner, and a library of modules that need a stable port (or at least a beta release) on release day, now is the time to get your learning underway and dive in.
A brief look at this chart from the Drupal 7 development cycle makes the effect of available contrib on core uptake really clear. If we as a community can ensure contrib is ready when Drupal 8 is released, then everyone has a greater incentive to jump in!
One of my favourite ways of learning and rapidly spreading ideas to many is to run a Hackathon. The amazing thing about Hackathons in general is twofold:
- Meeting with like-minded and passionate people who share a genuine desire to further themselves and Drupal;
- The sheer concentrated brainpower in one room, conducive to leaps in development.
What I experienced at the CI&T Hackathon in Campinas, Brazil was another great example of these.
Starting early on Thursday 26th June, the gathered attendees split off into six groups, each headed by a more experienced sensei. The aim of this Hackathon was to both increase the CI&T developers' grasp of Drupal 8 and get some modules ported while we were at it.
For the first hour, both myself and fellow Acquia technical consultant, Hernâni Borges de Freitas, presented an overview of Drupal 8. Not only are there new features to learn about, but also differences from Drupal 7 that are important to know about as module developers. With a collection of homegrown examples and code from the pants module, we were able to cover info.yml files, routing, configuration management, extending classes in Drupal 8 to leverage core, debugging tips and entities.
With this brief injection of Drupal 8, the attendees set about creating teams and deciding on their targeted contrib module to port. Each team was headed up by a senior CI&T developer to act as sensei and guide the learning of the team. Guiding the senseis was the job of Hernani and I. Acting as floating resources, we were on hand to unblock issues and provide both information and inspiration!
After consulting with each team and advising on module choice the teams selected the following to port from Drupal 7 to Drupal 8:
- Security Kit
- Language Icons
- Comment RSS
- 403 to 404
- Flood Control
- Filter Allowed Protocols
- Login Security
The choice of module was carefully considered and each selection adhered to a set of guidelines the Acquia team provided. Our end goals as Hackathon mentors were that all attendees helped port a module and all attendees learned without feeling overwhelmed. We recommended the teams choose modules that all members had used previously; the familiarity would save valuable development time by removing the need to work out how the module worked.
Additionally, while ambitiousness is by no means a bad quality, the teams only had around 12 hours to fully port their chosen modules. With this in mind, we recommended against larger projects and advised more for smaller, yet diverse modules to give each team exposure to as many new Drupal 8 features as possible.
With the modules selected, each team started to discuss module architecture, identifying tasks and key features that would be involved in the port. Prior to the Hackathon, the CI&T team had introduced us to a number of the different development methodologies they use day to day on projects. It was fascinating to watch each team continue to follow these methodologies throughout the sprint.
The main techniques I observed were Agile and Dojo. For those unfamiliar, the Dojo technique limits each team to one computer and 15 minute coding stints. Each team member spends their allotted time at the keyboard with the rest of the team either providing knowledge or absorbing information; this ensures potential distractions are reduced and allows for kinesthetic learning where each team member gets a go rather than be limited to just watching.
At the end of a day and a half of near constant hacking, the teams had managed to port seven modules to Drupal 8. To do so in such limited time is impressive by anyone’s standards and puts a good dent in the number of projects that needed the upgrade. After convening to discuss efforts we were proud to announce team’s Seckit and Login Security as joint winners. Not only had they teamed up on important contributed modules, but they’d done it in an inclusive manner where everyone learned. Overall though, we were really proud of the effort everyone attending put in.
As a Drupal 8 advocate, it’s my aim to spread the love of Drupal 8 to as many in the community as I can wherever in the world they are! Inline with this, it’s my hope that by empowering the CI&T Brazil team with Drupal 8 knowledge, they’ll be able to take on the roles of mentors themselves and spread that knowledge further.
In addition to the noise I make about the importance of getting an early edge on the latest and greatest Drupal, the D8CX initiative headed up by Lee Rowlands (larowlan) is something to follow. A cousin of the D7CX initiative, D8CX aims to provide promotion and assistance to port contributed modules.