This year, Catalyst organized the fifth annual Open Source Academy. It took place in our Wellington HQ from 5 to 16 January 2015. It was a full house again with 23 students. They came primarily from Wellington, but we also had a few from the Auckland and Canterbury regions. This year, girls outnumbered boys by three students.
The first week, as usual, was a tutorial week in which the students learn programming basics, get acquainted with open source philosophy and tools, as well as learn what it takes to pull a software project together.
In the second week they get the chance to work on an open source project. There were five projects that the students could choose from:
- Drupal – content management system
- Koha – integrated library management system
- Mahara – ePortfolio system
- Piwik – web analytics platform
- SilverStripe – content management system
All five software projects are popular open source applications that are used around the world. Catalyst staff who are core developers and experienced programmers in Drupal, Koha and Mahara, mentored students in these applications. It was great to have the Piwik core team on board again, and core SilverStripe developers for the first time.
The students fixed bugs, wrote new features, tested patches, and in the case of Piwik and SilverStripe also created a new theme each.
Students fleshing out user stories for their persona during the first week of the Academy. Source: Kristina Hoeppner, CC BY-SA
The Mahara team
This year, we had five students who wanted to work on Mahara. Hugh was the main mentor for the week helping the students with their programming questions and reviewing code. Jinelle introduced the students to automated functional testing using Behat.
Our five students created 29 patches over the course of just 3.5 days of which the majority has been merged into Mahara already. They fixed some bugs that have been around for a while and created a few new features that could be accomplished in that time. Not to forget the numerous tests they wrote for their fixes or features which enhance our growing test suite of automated tests. For example, they added:
- Added help icons to numerous pages.
- Replaced the old paginator with the newer one and added a drop-down menu for more flexibility on how many items to display on a page.
- Added more passwords that users would not be able to choose because they are too simple.
- Limited the number of characters that could be typed for a message type.
- Changed language strings to improve them.
- They removed superfluous items in the “Profile completion” administration interface and re-arranged another one.
- Added a link to an artefact that was marked as objectionable so that the admin can go to it directly instead of just being taken to the page in which the artefact appears.
- Added a bunch of automated tests.
The students had a good investigative sense when they read bug / feature descriptions and scoured the code to find the place where the change needed to be made. They were also pros at the end of the week working with git, checking out code, pushing code to the review system and finding files in the code base.
Although I was not able to spend lots of time with the students, it was always a treat to check in with them a few times during the day and see where they had gotten to and see if they needed any additional help.
At the end, the teams were asked to present what they had done over the course of the project week, and the Mahara students decided to write a Behat test to have their presentation run automatically within Mahara. What a great way to show their skills!
The Mahara students work together on their final presentation. Source: Kristina Hoeppner, CC BY-SA
View more photos from the Academy.