Testing Out LibraryFind
Apr 23rd, 2007 by Karen
Part of my master plan for the site redesign at UH Libraries is to incorporate a federate search tool into the site. Specially I want to implement LibraryFind for this. I’ve got a plan of attack for doing this. However, step one in that plan is for me to spend some time getting a server with LibraryFind up and running. So I’ve been working on that the last couple days. For the most part it has been a relatively smooth process. However, I wanted to share a couple places where I got stuck/went astray.
- installing MySQL ruby gem
The big problem here was that I was missing some dependencies to get the gem installed. I had mysql installed properly. However, in the SUSE package manager the development libraries for a program are often seperate from the actually program and installed as a separate package. I’ve encountered this issue before with Apache when I wanted to use APXS to compile and install additional modules. The same sort of thing is true for MySQL. There is an additional RPM in SUSE called mysql-devel which contains the MySQL Development Header Files and Libraries. If you want to install the MySQL ruby gem you need this RPM installed.
Luckily finding this out was a relative snap. I thought this might be the issue, but to confirm and so I got the right additional RPM installed I Googled “install mysql gem suse” The first result confirmed my suspicion and told me which package I was missing. - Setting local variables in my config.yml and environment.rb files
In some case I had no inkling of what these should be. The LIBRARYFIND_FERRET_PATH variable was particularly fun because while most of the others I could puzzle out, I had no idea how ferret worked or where it might want to stored indexes on my server. Through an email to the LibraryFind-users list, I discovered I could put this directory wherever I wanted so long as I had created it.
Another piece of the puzzle I haven’t solved yet but don’t need to just yet is how to run LibraryFind in a clustered fashion. Unfortnately, Rails doesn’t handle multi-threading well. So if you want a production instance of LibraryFind you are going to have to deal with this. Terry Reese, one of the LibraryFind developers recommends solving this using Mongrel, Mongrel_cluster, Apache 2.2 and mod_proxy_balancer. He doesn’t describe exactly how to do this, but there are some good tutorials out there that can help you.
Hopefully I’ll find some more time to work on this project this week, but really that all depends on my workload and stress level.

