Providing JSON data views onto database data in search
As part of working on Warwick's search engine, in the revamp we've been trying to leverage a lot of data that extends above and beyond just web pages and blog entries. This means we've been indexing a lot of data that is then stored in a database and refreshed periodically (typically, every 5 minutes). This is then included from a number of sources, such as our interactive map of campus and the XMPP/Jabber bot that we run at firstname.lastname@example.org (try adding it to your Warwick IM account!) - but it all comes down to exposing the data in the end.
But hey, it's all about sharing, so knock yourself out with the data...
You can get search results for sitebuilder or blogs (or both) from the endpoint, for example at http://search.warwick.ac.uk/search/query.json?q=accommodation&indexSection=sitebuilder (replace the sitebuilder with blogs, or remove the indexSection altogether to get amalgamated results).
Example usage: A live search, or search results from the XMPP bot.
Free seats in workareas
ITS provides a service at seats.warwick.ac.uk that shows where free seats are in workareas, and where the workareas are.
Example usage: Showing where there are free seats in work areas near to your department; results in interactive map; embedded results in search results; querying the Ask bot:
Live Bus Tracking
Travel West Midlands have started to track the positions of buses in relation to some bus stops in real time (presumably by some radio or satellite system) and are publishing the information to customers at their mobile website. For the stops in and around campus, this is useful information to some, so we've indexed the information (only including those buses that are being tracked in real time).
By amalgamating results from a number of sources (the Students' Union, Warwick Arts Centre, and the internal and external News and Events pages) into a single database, it's easy to query information from it and return a fairly comprehensive set of information about what's on on a particular day.
Example usage: Providing a feed of what's on today on campus; showing what's on in relevant searches; Ask bot results:
Where is this room?
Thanks to Emily in e-lab's tireless work collecting and collating the data, we also now have a database of information on what rooms there are on campus and where they are - 3018 rooms in total! As a former student myself, I've experienced the frustrating of receiving a timetable with rooms on and not knowing where they are. Hopefully this will be a help!
The JSON feed requires a query parameter, for example:
Example usage: Linking room data to a map; results on interactive map; injection into search results:
What this exercise has taught me, if nothing else, is that everything would be a whole lot easier if every bit of data provided me an API to access it!