Felis catalogus

Earlier in 2014, a lot of librarians and library techies united under the #libs4ada hashtag to raise money for the Ada Initiative.

During the fundraising, some perhaps intemperate challenges were issued — and as a result, dresses were purchased, beards were grown, and some beards were shaved. My challenge was to answer the following question:

[Picture of cat asking "I haz books. I can haz catalog?"]

And the answer is yes, dear cat – you can be in the library catalog.

To see it in action, click on the words LIBRARY CATALOG.

What’s going on here? Besides cluttering this blog post with more cats, it’s showing off the LibraryCat jQuery plugin I wrote to fulfill my promise.  The image of the migrating cat you saw if you clicked on “library catalog” is just for fun, but the plugin also has a slightly more serious purpose — two of them, in fact.

First, not every library runs an open source ILS such as Koha or Evergreen, but most ILSs in use today provide at least a minimal ability to do tweaks to the public catalog HTML — and that’s enough to allow putting in some JavaScript to alter the catalog’s behavior. LibraryCat provides one example of a way to do that.

And even if a library is using something like Evergreen or Koha, it’s not always a good idea to implement every minor customization directly in the source code or display templates of the ILS. Sometimes a change is so specific to a given library’s needs that a patch implementing it would have no chance of being incorporated into the main project, and sometimes even if it is, there may not be enough time to polish it enough for inclusion. Moving minor customizations into a separate plugin can pay off by making upgrades of the base ILS easier.

Second, the LibraryCat plugin makes visible one of the services available under the hood of both Koha and Evergreen, namely their implementation of unAPI. In a library catalog context, unAPI is a way of telling tools that might interact with a web-based library catalog how to get at computer-readable versions of bibliographic information. For example, the citation manager Zotero can use unAPI to retrieve a version of a catalog record that it can import.

unAPI is strictly a behind-the-scenes API, but LibraryCat can make it more visible, like this:

[Image of LibraryCat show a menu of record formats available via unAPI

This shows a menu of the record formats available via unAPI, from which a user can select a format to download. This isn’t necessarily of direct interest to patrons, but could be useful for a librarian tweaking and testing the catalog. Future versions of LibraryCat will expose more of the behind-the-scenes microdata that increasingly allow library catalogs to be indexed well by search engines.

And there we have it — cats infesting our catalogs, much like they do our laps.

The LibraryCat plugin is available under the GPL, and it can be found on GitHub. I also did a lightning talk about the plugin at the Code4Lib British Columbia meeting in November of 2014, and my slides are available as well.