Archive for June, 2010
Today the Office the University Registrar and UWIT have released the R25 Class Room Scheduling Web Service to be available for public use. Please see documentation on how to use the Web Service.
It was back in June of 2009 that we first blogged about the R25 web service. At that time we started talking to folks on campus to help us understand the value proposition for offering classroom scheduling data available as a web service. Due to the low cost in providing the web service, a free web service interface to the R25 database provided by Collegenet, we determined that the return on investment for this solution was compelling.
In the past, the only people who could see when a particular classroom was available at a certain date/time were classroom schedulers on campus who had the R25 Windows desktop application installed on their PC. There are more than 100 individuals that help this University with room and course scheduling, but not all of them have R25 installed on their PC. This made scheduling classrooms challenging to say the least since all questions had to go through these limited set of folks. With the availability of this data through a web service interface now all departments on campus can get access to the data programmatically.
The Room Class Schedule Finder
In addition to our Web Service release, a client web application has been released along side the web service called the Room Class Schedule Finder (note that you must have access provided by the Office the University Registrar). This tool was written by our friend Scott Bush at the Office of the University Registrar. Please see his blog posting on how the web application was written.
This allows anyone on campus, with the appropriate access, the ability to type in a classroom and see the room availability.
Why Web Services?
Web Services help developers decouple their code from database schemas so that updates to the schema do not impact client applications that rely on the data. RESTful Web Services like this one offer an easy to use programmatic interface to get the data you need in real time that is technology agnostic. Scott’s web application is developed in PHP and jQuery however you can use any popular programming language to get access to the R25 Web Service.
In the future the Office the University Registrar would like to allow for people to submit scheduling requests to classrooms via the Web Service interface and/or the Room Class Schedule Finder.
An academic calendar web service has been long requested by campus developers who needed ways to populate departmental web pages and incorporate important dates into web apps. With the availability of academic calendar data on MyUW’s calendaring tool, developers now have a method to access the information they need—without resorting to screen-scraping or other jury-rigged techniques.
MyUW’s calendaring tool provides multiple export options for creating data feeds. Supported formats are iCal, webcal, RSS, Atom, XML, and nicely-formatted plain text; each is available for a given date range. In this way, developers can obtain all the academic calendar dates previously only available on a static, table-laden HTML page maintained by the Registrar’s office. (A few academic calendar dates were available through the Student Web Service (SWS) term resource because they existed in the SDB; a quarter’s first- and census days are prime examples.) This in itself is a huge step forward for developers who can easily get at the data, and for students who can now subscribe to the calendar on their iPhones, Google Calendar, or whatever calendaring device/service they prefer.
A few examples of how campus developers might use this web service:
- Integrate campus-wide registration periods and deadlines with important dates specific to their department;
- Display an alert on a web page when an important academic calendar date is nearing;
- Trigger an e-mail, text message, blog entry, etc. based on the UW’s academic calendar; and
- Populate “what’s happening” calendars with religious holidays, which are now part of the Academic Calendar.
But this approach has drawbacks when compared to a full web service such as the SWS resources UWIT developed. So why didn’t UWIT develop a resource for this information? In a word, bandwidth; or rather, a lack thereof. Reduced budgets and higher-priority projects precluded the option of building a dedicated SWS resource. Leveraging the existing MyUW tool was the only viable way to open up the data in the short term.
Some issues with this approach include:
- No date ranges – MyUW’s calendaring tool does not support date ranges, so ranges like “Registration Period II” must be entered as two discrete entries: a beginning date and an end date.
- Start and end times – What’s more, these dates are themselves represented as start and end times. Entries that do not include time information (which describes all academic calendar entries) default to an end time of midnight, which pushes the entry’s end date to the following day. It’s an easily-avoided problem: just use the start date for each entry. But it’s something that must be looked out for when using the data in an application.
- No non-date information – Questions like “What quarter is it now?” or “What general catalog was in use Spring quarter 2009?” cannot be answered directly via this tool because it only contains discrete dates. (It is possible to use the SWS’s Term resource and some logic to answer these questions, however.) Developers are limited to retrieving a list of significant events (grades are due, late registration starts, etc.) and their dates; or, querying a specific date to see what events take place on that date.
- XML issues – An early tester of the services noted an issue with how the XML parser deals with certain accented characters, and that the VCALENDAR-based XML format does not lend itself to parsing.
Definitely not an ideal solution, but certainly one that represents a significant step forward. So retire your screen-scraping tools and instead dive directly into that feed to start playing with the data. UWIT and the Registrar’s office would love to hear how you’ll use the academic calendar in your apps, and we’ll gladly listen to ideas on ways to improve this MyUW-based academic calendar web service.