weblogging at the beach

« We Have Lift Off! | Main | mod_authz_svn versus htpasswd »

July 03, 2006

More on the Pre-registration Project

Time for a bit more detail on the SBCS pre-registration project.

A bit of background: at QMUL, student information is held by the central Registry, but each School is responsible for collecting that information and verifying it. The old system collected all the information on paper. This information has to be checked for correctness (is the student's name spelled correctly; are they on the right degree programme; have they registred for the correct units?) before being typed up and sent on. With a thousand students you can imagine how much work this is during the short registration period at the beginning of the semester.

We've created an online replacement for the old system. Using a variety of information sources we've uploaded information on students, staff, programmes, and courses. Students are assigned to members of staff who act as their advisors, and are responsible for editing their registration information. Certain members of staff are capable of editing the other information we store, including programme and course descriptions. In effect we've created a complete custom content management system for all information related to registration. The School is very happy with the result, and so are we.

As we mentioned before, the site runs on PLT Scheme and SQLite, with Apache forwarding to the PLT web server. We use the 3m version of PLT Scheme. Memory consumption seems stable at around 200MB. We don't have any impressive uptime stats to report as we've been updating our PLT Scheme installation quite regularly which neccesitates bringing down the web server (current uptime is about a day). Peak load is modest; there are about 40 advisors who will be using the site at any one time. So far our highest daily load has been about a thousand hits. Last I checked we had about 20K lines of code. It has probably increased since.

Development has been interesting. We've run into two bugs in the PLT web server (both fixed), and found a way to reliably make SQLite crash (also now fixed). Oh yeah, and we've had our server flooded. We will be releasing some of our libraries as open-source as we get time to clean them up. Look for Unlib, our utility library, Snooze, our persistence manager, and Lylux, our web framework, at a PLaneT near you.

Finally, we made the claim “This is, to our knowledge, first large site to run the PLT Scheme web server continuously for any length of time”. There are at least two other prior contenders for the crown: Jacob Matthews, who puts the science back into speed-dating, and Shriram Krishnamurthi et al with Continue.

Posted by Noel at July 3, 2006 04:09 PM

Comments