Dave Pattern continues to do interesting things with the catalog(ue) at the University of Huddersfield.
Check out the two screenshots from Amazon.co.uk. They show a seminal report which is now of great historical interest 😉 Notice that a Greasemonkey script has inserted a line above the title in each.
The top screenshot shows the first edition of this report (which the library does not have). However, it does have the second edition. So it pops up the line: “Other editions of this title are available from the University of Huddersfield“. Clicking on this link brings you through to the appropriate page on the Huddersfield catalogue.
I then looked at the second edition in Amazon.co.uk. Notice the line this time: “Due back at the University of Huddersfield Library on 20/01/2006“.
Surely some mistake – has somebody really borrowed this 😉
This is pretty neat. Here is what is going on, taken from Dave’s own description in an email correspondence.
Dave has adapted the SPL Linky script to displays links to the Huddersfield OPAC from relevant Amazon.co.uk pages. He has integrated our xISBN service to track down other editions – where the ISBN will not appear on the Amazon page.
Here is Dave’s description:
The xISBN lookups are handled by a server side Perl script. The Greasemonkey script basically calls the Perl script and asks it to check if the ISBN appears on our OPAC. If it does appear, then the script returns the relevant OPAC page (which is then processed by the Greasemonkey script).
If it doesn’t appear, then the Perl script passes the ISBN to xISBN and (if other editions are available), these are cross-referenced with the OPAC. If any of the other editions are found on the OPAC, then the Perl script returns the string “other editions available for ISBN” to the Greasemonkey script.
The same Perl script is used to handle the link from Amazon to the OPAC. If the ISBN appears on our OPAC, then the script simply redirects the browser to the relevant OPAC page. If it doesn’t appear, then it uses the ISBNs found by the xISBN lookup to create an OPAC search to display the other editions.
Unfortunately the original SPL Linky script doesn’t work with Amazon.co.uk, and mine (currently) doesn’t work with Amazon.com — this is due to the fact that both sites use different HTML and formatting for their pages. However, I’ll see if I can come up with a version that works for both sites… failing that, it’s a fairly simply modification to change my script to make it work with Amazon.com pages instead of the UK site.
The Greasemonkey script is still being tested and I’ll probably make some improvements before making available to our student population.
The script is at https://webcat.hud.ac.uk/firefox/hudamazon.user.js: you need Greasemonkey installed.
A couple of comments. What I like about this is it shows how we can connect a discovery experience which happens completely outside the library environment to a library location and fulfilment service. Again, it is putting the library in the user environment.
This is really nice, so nice that it would be nice to be able to scale it up to work with multiple libraries. To do that, what do we need? It would be good to have a consistent lightweight ‘service layer’ for the library system in terms of access to circ and catalog data? To set a hold? To …? It would be good to be able to do ‘service routing’ (connect a user with a library which he or she is authorized to use) which depends on knowing something about the user and on a registry of libraries and their services, including resolvers. Those are the types of things that come to mind when I think about how one would surface this type of functionality in OpenWorldCat.
So, an instructive implementation, and a direction. One could imagine being able to provide the full range of what a user might want to do (place a hold for example) from within their starting interface, Amazon.co.uk in this case.
Related entries:
- A catalog with service (a note about some of Dave’s other work with his catalogue).
- Discover, locate … vertical and horizontal integration