Libraries have always been a magical place for me. When I was in the 5th grade, I wrote an autobiography and in the chapter about my future career I wrote that I wanted to be either a librarian or a missionary when I grew up. I feel that I sort of combined the two together since I have lived in 5 different countries and spent a significant portion of my career as a school librarian.
I recently applied for a job as a library applications developer (I mean, why not merge my two passions together!) and have been investigating how development works in that setting. I find the whole thing fascinating and have discovered so many tools and technologies that I never new existed. Developing in a library setting, especially a large academic one, seems to be vastly different from the corporate or start-up scene.
Solr is a search platform built in Java. It’s a popular search platform for libraries because it can index and search multiple sites. The major features include:
- Full-text search
- Faceted search
- Real-time indexing
- Database integration
- Rich documents handling (DOC, PDF)
Blacklight is an open source Solr user interface discovery platform that uses a Ruby on Rails front-end. I absolutely love working with Ruby and was excited to see that many libraries use it for their development purposes! Libraries really seem to love Blacklight due to its faceted searching features. I have to admit that it seems pretty slick and has a very pleasant user interface. Here is a screen shot with some sample data to give you a better idea of what I’m talking about.
The sidebar on the left shows you an example of facets. It enables the user to search for something in the search bar, or browse the collection using facets. The facets can be defined or changed to whatever the library needs them to be in the app/controllers/catalog_controller.rb file.
I played around a bit with Blacklight and have discovered some positives and negatives. On the positive side, it is fairly simple to get up and running. There are also some extensions that can be used such as blacklight-marc, which includes MARC enhancements for Blacklight. There is also a plug-in called Spotlight that allows you to create attractive, feature-rich websites for your collections.
While I feel the positives definitely outweigh the negatives, they are worth mentioning. The biggest challenge for me has been when issues come up. Most of the code for views, controllers, routes, etc. are in the Blacklight gem so you can’t go to all the normal places that a Ruby on Rails developer goes to debug. I had a hard time finding help for my issues on stack overflow since it seems to be a gem used by a specific group of developers. The Spotlight website does provide a link to a Google Group for Blacklight.
I reached out to some current library application developers for advice and I have to say they have all been helpful and have given me some suggestions on things to learn and important topics in the world of libraries. My latest recommendation was to check out jq, which sounds very intriguing. It is a command-line JSON processor. I may have to play around with it and write a follow-up post!