Live-blogging the 2009 Vancouver PKP Conference

Importing Backissues into OJS: Development of an OJS Import Script with Django: the Session Blog

Friday, July 10th, 2009 (11:00 AM)
SFU Harbour Centre (Sauder Industries Room 2270)

Presenter: Syd Weidman, Library Systems Supervisor, University of Winnipeg – Session Abstract

Session Overview

Why was this an issue?

With the transition to open-access publishing of several journals at the University of Winnipeg, Syd Weidman and the University library have been involved in multiple aspects of this transformation.  Given that these journals have been in print for decades, one of the major obstacles that needed to be addressed was the importation of back issues into an online, open-access compatible format.

Initial attempts using the available software proved difficult.  They were met with bugs and their associated patches; overall, Syd described the process as “laborious and convoluted”.  He surmised that “in the context of importing [a large volume of] back issues, small efficiencies [may] have a large impact.”  With this notion in mind, Syd began work on the Open Journal Systems (OJS) Import Project.

Tackling the problem – Use of Django

Syd highlighted the basic design goals of any software to be used for this purpose; he stressed that the process needed to be as EASY as possible.  He sought to optimize the software’s ease of CONSTRUCTION, USE, DEPLOYMENT and MAINTENANCE.  Being most familiar and comfortable with the Python programming language, Syd opted to use the Django Web framework to build a Web-based application to carry out the task of importing back issues.

Django is an open-source framework that was initially used by the online publishing industry.  With a short digression, Syd took a moment to review the “4 freedoms” of open-source software, being the “free” use of software for any purpose, free access to its code, freedom to modify as well as an understanding that improvements will be shared with others (for more, take a look at the Free Software Foundation’s website.)  Django, in particular, has several advantages over other similar frameworks, namely:

  • object relational mapping – allows use of fewer lines of programming, increasing robustness
  • automatic administrator interface
  • elegant URL design
  • pluggable template system
  • flexible and robust cache system
  • i18n compatible – allows for the application to be adapted to other languages without significant engineering changes
  • excellent documentation
  • an active mailing list (a double-edged sword!)

Success!

With the development of the new importation software, the U of W was able to scan backissues into .pdf format, to ultimately be uploaded into their respective online journals.  This required the entering of appropriate metadata in order to allow for accurate archiving and searching.

Challenges and future directions

One of the difficulties in developing a script for another piece of software is to ensure that they remain in sync when new versions appear.  In a subsequent OJS release following the development of the OJS importing application, incompatibilities/bugs appeared, and needed patching.

Commentary/Questions

Just prior to the question period, Syd mentioned the recent development of another application, “Quick Submit”, which may now be able to perform similar functions to his program.

Related Links

University of Winnipeg library (and their OA publications: Canadian Bulletin of Medical History, Journal of Mennonite Studies and the Canadian Children’s Literature Journal)
Python programming language
Django framework

References

Weidman, S. (2009). Importing backissues into ojs: development of an ojs import script with django. PKP Scholarly Publishing Conference 2009. Retrieved 2009-07-08, from http://pkp.sfu.ca/ocs/pkp/index.php/pkp2009/pkp2009/paper/view/190