Zhao, a Project Application Programmer Analyst, recently participated in a code sprint in Vancouver. Below is a recap of his experience.
What is a 'code sprint'?
The Public Knowledge Project Sprint took place from March 10 to 11 at Simon Fraser University in downtown Vancouver. PKP is the part of SFU's library system that produces and manages open source softwares for universities. The main software is called Open Journal System - OJS. This platform can be downloaded from PKP's website by anyone, and there are currently around 24,000 live instances on the web from institutions around the globe.
Although heavily used, PKP realizes OJS needs many improvements, as online users report various issues through forums and mailing lists. To address these issues, PKP plan to release a new version of OJS with significant reworking. However, given that PKP's resources are not enough to produce the new version within 1 or 2 years, they decided to invite developers from institutions that use OJS to collaborate on the new release, as well as improving the current release. The sprint was the first step to launch this initiative. The new OJS 3.0 Alpha has been under development by PKP members for around a year, and has improved looks and functionality. However, it is still far away from the official release.
What happened during the code sprint?
There were two goals for this sprint:
- Plan and implement functionalities for the new version
- Improve current version's functionalities
For the first goal, teams were made based on types of functionalities needed; they include new UX/UI design, Automated Testing, Accessibility, CrossRef and a few other topics. Each team spent the first day evaluating OJS 3.0 features and flaws regarding their topic. As a member of the UX team, we inspected the registration process, the submission process and the layout of the various elements in general. The design has received significant changes comparing to the latest stable version 2.4; new organization of elements and new graphic design improve the ease of use greatly. However, we have identified many improvements that are needed still. At the end of the day each team reported their findings and progress; and each were able to identify and address key issues to a good extent. However, they needed more time to complete most tasks. The second day was focused on fixing issues for the current stable release 2.4. The teams were remade, and each claimed a few tickets from the issue tracker and worked on them.
I worked with Alec Smecher, one of the lead developers at PKP, on adding multiple CSS stylesheets for a single journal. Alec showed me the file structure of OJS, how different types of files interacted to process a request from the user to the database. This greatly increased my knowledge of OJS, knowledge that will be used for most other modifications. The stylesheet modification was difficult because the default behavior for uploading stylesheet is to overwrite the current, while we intended to keep all uploaded sheets until the user deletes them. This meant to modify the PHP class responsible for database retrieval to insert multiple values into a single database row, as well as changing the classes that relays the information from the user to the database. In the end, most modifications were successful after many tests, but the deletion of stylesheets still required more investigation. The sprint was a success in that the new OJS has received significant planning and development. The PKP team at SFU will continue to develop OJS, and members of other universities will continue to collaborate online with PKP to continue contributing to the code on Github. The issue fixes for 2.4 are still being worked on; they are being collected into the list of bugs and improvements for the next 2.4.X release before 3.0.
The sprint was organized by Brian Owen of PKP, the Dean of Library Services at Simon Fraser University Library. The participants included eleven members of the PKP team, eight of whom are from SFU and three from other universities. Joining them, eight invitees from University of Toronto, Carlton University, University of Guelph, York University, Free University of Berlin, University of Murcia, CrossRef, and ETCL at University of Victoria.
Want to know more?
To learn more, feel free to contact me by email or phone at 416-946-0114.