Overview of content related to 'schema' http://www.ariadne.ac.uk/taxonomy/term/153/all?article-type=&term=&organisation=&project=&author=gary%20brewerton&issue= RSS feed with Ariadne content related to specified tag en Redeveloping the Loughborough Online Reading List System http://www.ariadne.ac.uk/issue69/knight-et-al <div class="field field-type-text field-field-teaser-article"> <div class="field-items"> <div class="field-item odd"> <p><a href="/issue69/knight-et-al#author1">Jon Knight</a>, <a href="/issue69/knight-et-al#author2">Jason Cooper</a> and <a href="/issue69/knight-et-al#author3">Gary Brewerton</a> describe the redevelopment of Loughborough University’s open source reading list system.</p> </div> </div> </div> <p>The Loughborough Online Reading Lists System (LORLS) [<a href="#1">1</a>] has been developed at Loughborough University since the late 1990s.&nbsp; LORLS was originally implemented at the request of the University’s Learning and Teaching Committee simply to make reading lists available online to students.&nbsp; The Library staff immediately saw the benefit of such a system in not only allowing students ready access to academics’ reading lists but also in having such access themselves. This was because a significant number of academics were bypassing the library when generating and distributing lists to their students who were then in turn surprised when the library did not have the recommended books either in stock or in sufficient numbers to meet demand.</p> <p>The first version of the system produced by the Library Systems Team was part of a project that also had a ‘reading lists amnesty’ in which academics were encouraged to provide their reading lists to the library which then employed some temporary staff over the summer to enter them into the new system.&nbsp; This meant that the first version of LORLS went live in July 2000 with a reasonable percentage of lists already in place.&nbsp; Subsequently the creation and editing of reading lists was made the responsibility of the academics or departmental admin staff, with some assistance from library staff.</p> <p>LORLS was written in Perl, with a MySQL database back-end.&nbsp; Most user interfaces were delivered via the web, with a limited number of back-end scripts that helped the systems staff maintain the system and alert library staff to changes that had been made to reading lists.</p> <p>Soon after the first version of LORLS went live at Loughborough, a number of other universities expressed an interest in using or modifying the system. Permission was granted by the University to release it as open source under the General Public Licence (GPL)[<a href="#2">2</a>].&nbsp; New versions were released as the system was developed and bugs were fixed. The last version of the original LORLS code base/data design was version 5, which was downloaded by sites worldwide.</p> <h2 id="Redesign">Redesign</h2> <p>By early 2007 it was decided to take a step back and see if there were things that could be done better in LORLS.&nbsp; Some design decisions made in 1999 no longer made sense eight years later.&nbsp; Indeed some of the database design was predicated on how teaching modules were supposed to work at Loughborough and it had already become clear that the reality of how they were deployed was often quite different.&nbsp; For example, during the original design, the principle was that each module would have a single reading list associated with it.&nbsp; Within a few years several modules had been found that were being taught by two (or more!) academics, all wanting their own independent reading list.</p> <p>Some of the structuring of the data in the MySQL database began to limit how the system could be developed.&nbsp; The University began to plan an organisational restructuring shortly after the redesign of LORLS was commenced, and it was clear that the simple departmental structure was likely to be replaced by a more fluid school and department mix.</p> <p>Library staff were also beginning to request new features that were thus increasingly awkward to implement.&nbsp; Rather than leap through hoops to satisfy them within the framework of the existing system, it made sense to add them into the design process for a full redesign.</p> <p>It was also felt that the pure CGI-driven user interface could do with a revamp.&nbsp; The earlier LORLS user interfaces used only basic HTML forms, with little in the way of client-side scripting.&nbsp; Whilst that meant that they tended to work on any web browser and were pretty accessible, they were also a bit clunky compared to some of the newer dynamic web sites.</p> <p>A distinct separation of the user interface from the back-end database was decided upon to improve localization and portability of the system as earlier versions of LORLS had already shown that many sites took the base code and then customised the user interface parts of the CGI scripts to their own look and feel.&nbsp; The older CGI scripts were a mix of user interaction elements and database access and processing, which made this task a bit more difficult than it really needed to be.</p> <p>Separating the database code from the user interface code would let people easily tinker with one without unduly affecting the other.&nbsp; It would also allow local experimentation with multiple user-interface designs for different user communities or devices.</p> <p>This implied that a set of application programming interfaces (APIs) would need to be defined. As asynchronous JavaScript and XML (AJAX)[<a href="#3">3</a>] interactions had been successful applied in a number of recent projects the team had worked on, XML was chosen as the format to be used.&nbsp; At first simple object access protocol (SOAP) style XML requests was experimented with, as well as XML responses, but it was soon realised that SOAP was far too heavy-weight for most of the API calls, so a lighter ‘RESTful’ API was selected.&nbsp; The API was formed of CGI scripts that took normal parameters as input and returned XML documents for the client to parse and display.</p> <p></p><p><a href="http://www.ariadne.ac.uk/issue69/knight-et-al" target="_blank">read more</a></p> issue69 tooled up gary brewerton jason cooper jon knight google harvard university loughborough university microsoft gnu access control ajax api archives authentication bibliographic data blog cache chrome cookie data database digital library e-learning framework google books gpl html javascript jquery json library management systems licence metadata moodle mysql open source perl refworks restful schema shibboleth soap software sql standards web browser xml z39.50 zip Sat, 28 Jul 2012 14:32:55 +0000 lisrw 2354 at http://www.ariadne.ac.uk