From Rookie to Drupal core contributor in one day
Picture: Thomas Ricker
A thick fog had settled in Amsterdam. Moist was gathering in my beard and a nice drupal was forming. I had a clear goal in mind and a blurry world around me. As a tourist in my own country I biked among thousands of spoked wheels. I passed hipster parents with children in carts throwing clouds at each other. And soon the Amsterdam RAI showed up. My first community sprint was about to start.
It was the last day of Drupalcon and we had built up a routine. And as one of the human beings we are, I picked the wrong building. Luckily one of the mentors (our own @marcvangend) was helpful enough to show me the way. I entered the building early in the morning and a wall of orange shirts greeted me, a full fledged team of volunteer mentors in the colors of our beautiful hosting country. Armed with name tags, stickers, sprint task cards, a lot of energy and patience they were fully equipped to guide us rookies through the day.
So, what am I? According to the relatively new system of sprint task cards (pdf) I could be an Explorer, Community Contributor, Issue Mover, Developer or Mentor. Since I already had Drupal 8 installed, and played with it during, for example, the Drupal 8 Multilingual Hands-on of @gaborhojtsy and Aimee Degnan, I was up to some community contributing.
Sprint stickers
We, the mentored, were seated upstairs while the more experienced once worked more focussed in teams on certain projects at ground level. During the day some of us would descend for some specialized guidance. But first we had to set our teeth in "something". The theme of the day was: get "something" done and get ready to teach others. So, if you didn't know what to do, you where presented an issue to work on or you could search for an issue tagged "novice".
Among the tasks we undertook where: testing and reviewing patches, making screenshots (so helpful, as Angie would show later) or creating a solution on your own. Wait, no, not on your own. You weren't seated alone and the mentors were all over the place to step in at your earliest convenience.
In my case I wanted to see if a core 7 bug I had found earlier was present in 8. So I set out to create a little module for my scenario. But, where to start, which files are needed and how do I name them? Jesus Manuel Olivas @jmolivas and Larry Garfield (@crell) to the rescue, with respectively the nice console module to generate D8 modules from the CLI and the session recording of the Drupal 8 Crash Course.
Ok, ready to test some hook_form_alter. Result: failure one. It's so simple, but why doesn't it work? Mentor @BartFeenstra to the rescue: it seems you checked out branch 8.x instead of 8.0.x, d'oh stupid me. Luckily, after some testing the D7 bug seemed to be gone in D8. However, during my testing I found another new problem.
Because drupal.org was under such a pressure and the issue search didn't really work any more, I descended the stairs in search of a core fields maintainer with the simple question: is this a bug and is there an issue for this problem? And it was a bug, empty multiple field items should be deleted after a node search, and there was no issue for it. Using the dreditor, a nice browser helper plugin for people working in the issue queue I was able to create my issue in no-time.
In the meantime upstairs the temperature had risen while the ground floor was still comfortable cool, outside it had become a nice early autumn day (meteorologic speaking), and my table neighbour and colleague, Valerie Valkenburg Gibson (@valvalg), had created her first core issue and patch.
Since it apparently isn't allowed to get a patch in core without at least 20 comments and multiple people working at it I was offered the opportunity to help improving the patch. So mentored by @marcvangend and Théodore Biadala (@nod_) I checked if the patch was confirm the coding standards and got rid of some duplicate functionality. Next I did some finger exercises and create a diff, another diff of two diffs, uploaded the new diff and interdiff and licked my chupachup. Then it was time to go to the live core commit session hosted by Angie (@webchick).
Everybody gathered in front of the big screen while the necessary group pictures where taken and we waited in anticipation. Then Angie showed us how a core committer reviews, tests and finally commits. She even almost mistakenly used branch 8.x instead of 8.0.x, but was quickly corrected by the crowd. And I didn’t feel so stupid anymore. Finally, as the closure of the day, we were treated with two live commits and, like my collegue Gerben Spil (@gerbenspil) always says: there was much rejoicing!
Picture: Patrick van Efferen
Of course so much more happened, there were fun, food, facts and many friends.
And by the way: can I have my new sticker now?
Daniël Smidt (@dmsmidt)