For the past couple of weeks, the Islandora Community has been working together on a collective experiment in community-driven code: the community sprint. The brainchild of Jared Whiklo and Nick Ruest, a call was put out in mid-August for volunteers to tackle a maintenance sprint, fixing bugs, doing code tasks, and updating documentation. Ten people signed up:
- Nick Ruest
- Jared Whiklo
- Melissa Anez
- Diego Pino
- Mark Cooper
- Brian Harrington
- Kim Pham
- Peter Murray
- Lingling Jiang
- Jacob Sanford
And on Monday, August 31st, they got to work. 118 outstanding issues from our JIRA tracker were tagged as possible tasks for the sprint, ranging from complex bug fixes that spanned multiple modules, to 'newbie' tickets updating readme files and user documentation. The sprint to off to a brisk start, knocking off 15 tickets in the first 24 hours. The pace slowed a little as we ran out of low-hanging-fruit and got into the more challenging stuff, but I'll let this JIRA tracker gif speak for itself:
By the end, 38 tickets were down for the count.
Some of the highlights include:
JIRA 1087 - Get a WSOD when using xml form with template and changing tabbed template values. A particularly tricky little error that was difficult to trigger, but pointed to deeper issues. Reported nearly a year ago, and actually effecting the code since 2012, this bug finally fell to the efforts of Diego Pino near the end of the sprint. If you're curious about the details, just check that long and involved comments thread on the ticket - this one was a doozy!
JIRA 1383 and JIRA 1394 weren't particularly complex or difficult, but they share the record for pull requests for a single sprint ticket. Both involved making updates to the readme file of every module in the release, to point to our new static wiki documentation and to the new instructions on contributing to Islandora that will ship with every module. They were also my biggest ticket, and I include them in this report not to brag, but to demonstrate that someone with no programming skills using the GitHub GUI can still be an active part of a sprint. Kim Pham and I were both 'newbie' sprinters and tackled low-level tickets accordingly, but we racked up a decent chunk of the 38 completed tickets, so I hope more 'newbies' will consider joining us on the next sprint.
JIRA 1274 was a Blocker ticket finished up during the sprint by Jared Whiklo. This one brings Ashok Modi's great Form Field Panel into Islandora coding standards so the it can be included in the 7.x-1.6 release.
Our sprinters also did a lot of testing, enabling some fixed from outside the sprint to finally be implemented, such as:
- JIRA 1181 - newspaper view is broken when newspaper issues have XACML policies
- JIRA 1184 - islandora_batch failing to import MARCXML
- JIRA 1292 - Citeproc shouldn't try to render dates it doesn't have
- JIRA 1419 - Derivative Generation on Web Archive is Broken After Adding JPG Functionality (a Release Blocker)
Many thanks to the first team of Islandora community sprinters. Your hard work and coordination have proven this approach can have great results, so we will definitely be sprinting again. Keep an eye on the listserv and here on islandora.ca for the next announcement.