Documents  
A Public/Academic Open Source Partnership: the Windsor Internet Booking System   
Art Rhyno of Ontario's University of Windsor explains how an academic library/public library partnership is producing an open source system for booking workstations.
@Art Rhyno

WIBS (Windsor Internet Booking System) was created in 2001 when the Windsor Public Library was evaluating systems to mediate public Internet stations. The University of Windsor and the public library are frequent collaborators in systems projects, so systems staff from both organizations reviewed the options that were available at that time. One of the requirements was that the system use authentication based on patron barcode numbers, and it was essential that the system both enforce desktop security while not conflicting with other desktop software. One of the systems that had come to our attention was the MRBS (Meeting Room Booking System) and it was decided that it could form the basis of a workstation booking system. MRBS is an Open Source system available from SourceForge (http://mrbs.sourceforge.net) that is in wide use all over the world. By changing the room-orientated look and feel of the system to one for workstations, MRBS offered much of the logic for scheduling PCs. However, it was necessary to provide a client piece to enforce bookings on the stations.

The public library was starting to use a thin client desktop at this point, and it was essential that a client side application provide a mechanism for logging in and enforcing bookings without interfering with the thin client environment. Due to restrictions in running desktop security software on the thin clients, a browser-based client was constructed which offered a web-based login form and used a JavaScript timer to time sessions. A warning was presented using a preset time limit for letting patrons know that their booking was about to expire near the end of their session.

The University of Windsor's Leddy Library adopted the same system in the spring of 2002, and in the 2002/2003 Semester (Sept. to May), WIBS recorded over 110,000 bookings. The system performed the basic task of mediation well enough, but there was interest in adding features to WIBS that hadn't come up in its initial setup. For example, the library often has need to do group bookings, and students as well as staff often have their own calendar systems. It was felt that there should be an option to pass booking information into these external systems. As well, the browser-based desktop setup was labour intensive for the initial setup, and displaying rows of available computers, which worked well for a few dozen machines, was growing increasingly cumbersome when the number of available workstations started to become much larger.

As a result, WIBS is currently being totally rewritten. The desktop client for windows is now based on pGina, an OSS option that allows custom authentication to be plugged into the Microsoft Windows graphical authentication layer (used by Windows' own login systems and login clients from companies like Novell). This provides a far more secure desktop and is very quick to install. The plugin-module is written in C++ and uses SOAP to talk to the booking server. The server-side is being developed in Apache Cocoon and is an example of an "XML-directed" solution. The pGina module makes a SOAP call to the Cocoon application, and all of the logic associated with the authentication process is kept on the server using Cocoon's component architecture. Cocoon has components for talking to SQL and LDAP sources directly, and statistics are also recorded on the server side. Once a booking is confirmed, the station initiates the windows login and a desktop "enforcer" written in Visual Basic is responsible for controlling the time limits on the station when the desktop is loaded. The Visual Basic program also uses SOAP to talk to the server to get the details of the patron's session, as well as for reporting information on the machine.

We are currently working out an arrangement with Userful, a company which sells a very nifty Linux-based desktop for using WIBS with their system. The company will create a Linux security layer to match the windows desktop setup. This is a good example of the value of SOAP, the server-side of WIBS sees only SOAP calls, while the desktop layers can be created as appropriate for the platform.

The Cocoon layer of WIBS makes use of two components that greatly extend how WIBS can fit into a library environment. First, Cocoon can act as a WebDAV proxy. WebDAV is an acronym for Web-based Distributed Authoring and Versioning, and is a protocol for using HTTP for writing and managing files. WebDAV allows many desktop applications to use web storage mechanisms as local files, and is supported by many calendar systems for feeding and/or updating scheduling/events information. It is this support that allows WIBS to talk to Mozilla's calendar for example.

The other Cocoon component utilized extensively in WIBS is SVG (Scalable Vector Graphics). SVG is an XML standard for graphics, and using a standard SVG editor, it is possible to create floorplans to be used as stylesheets in Cocoon. This allows functions like placing a red dot or some other indication on a specific machine in a floorplan, so that a patron can be given very specific directional information on where the machine is located that they have booked. As well, one of our requirements is that patrons only have to indicate location and software preferences, so if a patron gets issued a booking for "station 42" for example, a map will help them find it if it is located in a large sea of stations.

WIBS is distributed through SourceForge (http://wibs.sourceforge.net) and the MRBS-based system is available there now. The current schedule is to have an alpha version of the Cocoon-based WIBS available by the end of October, 2003. If you want to know more about WIBS and/or are interested in contributing to the project, please contact Art Rhyno (arhyno@uwindsor.ca) at the Leddy Library, University of Windsor.


Contribute to this topic
Do you have an article, presentation, or other content to share on this topic?
You can post it on this topic page. Find out more about submitting documents in the Member Center.
Ratings You must be signed in to rate this item
Average (0 Votes)
Comments