22nd October 2012

How we got started with Drupal 8 core development

John Ennew
Technical Director

This week saw the Deeson Online development team try their hand at Drupal core development. Although we maintain some contrib modules and have submitted numerous patches to other contrib projects, core is not something any of us had been involved with before. Deciding to make the leap and get involved, we ordered pizza, booked out a meeting room, locked the doors and closed the blinds to begin what will become a monthly evening code sprint at the offices named 'Coder Lounge'! Not knowing where to begin we logged onto IRC, gave ourselves suitably silly nicknames and joined the #drupal-contribute channel. There we met nod_ who had asked for help in developing and maintaning Drupal's JavaScript. nod_ helpfully provided issues for us to work on and advice throughout the evening sprint. At the end he provided some helpful feedback on our efforts and where we could improve. The evening saw us start by getting the latest Drupal 8 onto our MacBooks via git. For some this meant installing git and an irc client, both vital tools for a core developer. We split into smaller groups in an attempt to pair program. 3 of us tackled The form data loss issue where it is possible to lose all the data on a Drupal form by misclicking. This involved a lot of discussion of possible options, a white board and suggestions from irc. We opted for using the HTML5 localStorage functionality which has started to be used in D8 already in other areas. Our idea was to save form state locally so that when you left and returned to the form it could reloaded. An initial demonstration of this idea made it onto the issue queue. Another pair dug into a few of the issues that have been hanging around unsolved for a while including:

And one of us managed to get some contributions into the Coffee project. Though we did not create the killer patch that solved all of Drupal's problems(!), we did manage to move some of the conversations along and, hopefully, start six people down the path of long term Drupal core contributors. Things we learned on the day:

  • Pair programming is very productive - encouraging and supporting each other, things are done quicker and are more fun
  • Talking to the masters in #drupal-contribute is really helpful
  • Debating jQuery inclusion in core can start riots in irc
  • Holy Crap, it's John Resig!