This post is co-written with Julia Furay.
Thanks to the dedicated work of our acquisitions librarian, Prof. Julia Furay, the Kingsborough library buys a lot of interesting books throughout the academic year. Typically, these are displayed on the New Books shelf for about a week before they find their permanent homes upstairs in the library stacks.
The problem is that if you don’t catch a new book during its brief stay on the New Books shelf, the odds are that you won’t find it upstairs unless you’re specifically looking for it. This means that some of our acquisitions pass unnoticed into the relative obscurity of the stacks.
Obviously, it would be great if we could better publicize these new arrivals. Julia recently came up with the great idea to send an email to faculty with each month’s new books. But the problem is that such a list would probably be too long to sift through easily.
Her next iteration of this idea was to use a LibGuide to allow for easy access from any user, as well as a browseable archive. But what do you include on this kind of list? Title and author, certainly; and our vendor also provides a preliminary LC call number. This could all be easily exported to a CSV file. But wouldn’t library users find it frustrating to have to jump between tabs, and to search for the books themselves in the catalog? A far better solution would be to include a catalog permalink to each title along with the citation information.
Getting all these links one by one would be an extremely labor-intensive process, however, with over 2000 new titles added each academic year. We wanted a solution that would be easy to maintain moving forward. As an alternative, Julia used Excel’s formula function to set up a canned search for each title using our discovery layer, Primo (branded as OneSearch at the CUNY libraries). After figuring out the format for a catalog search, we copied the formula down to the bottom of the spreadsheet, a process which took only a few minutes. As a result, each title listed has a live link to search the catalog for that specific title.
Another question: How to sort the list? Some users may find it simplest if we listed the new books alphabetically by title or author. But this allows for little serendipity in discovery. What about all the titles our users didn’t know about yet? We decided instead to sort the new books by their call number. This led to perhaps the biggest problem in the finished project: Excel does not easily sort by correct LC call number. On the CSV file, you might find titles in this order: LB1, LB1000, LB2, LB2000. Solutions for this problem exist through a series of formulas in Excel, though none of the hacks on the web could be implemented easily in our case. Since we didn’t want to dig too deeply into the issue, we merely advertised the titles as sorted by “LC Class” as opposed to call number. Most months did not feature an inordinate number of arrivals in any one category, so we hoped these variations would not prove too confusing for our users. This gives faculty direct access to their subject area, as well as the ability to look through past months.
And creating the list of titles was just the beginning. Assembling this LibGuide required manually converting large spreadsheets of new books into HTML. Doing this would be very tedious and time-consuming – definitely not something you’d want to do every month.
The solution was to write a Python script that would convert a CSV file of new books into HTML. Then we could feed our new books CSV file to the script every month and it would generate the needed HTML for our LibGuide. This was a fun coding challenge for Mark, and you can see the results of our handiwork on LibGuides and on GitHub.
There is room to make this script better, such as improving the capitalization of titles. Additionally, there are problems with the call numbers provided by our vendors. These numbers are preliminary and may be slightly different (or occasionally, very different) from the final number after the book is cataloged. Also, there is no Cutter number. A title will be listed as BF637.M4 when its actual call number is BF637.M4 A385 2018, for example. Again, this is not ideal, but we ultimately needed a solution that would suit our workflow, so we decided to leave it. To make sure users are aware of this, we posted a warning — highlighted in yellow — on each page on the site:
Even with these issues, the page more or less does what we need. Julia recently emailed a link to the resulting LibGuide to all Kingsborough faculty, and the feedback was overwhelmingly positive. Our takeaway from this experience is that a bit of time spent automating some boring tasks allowed our library to deliver a monthly notification service that was too labor-intensive to provide otherwise.