Economy Size Geek - Organizing a Library

“What is a library? It's like Google made out of a tree.”—tevoul on

At first glance, you might assume that I'm going to discuss code libraries in this article, but instead, I'm talking about an actual library—one made of books, magazines and other dead-tree sources of wisdom. I have always collected books, and each new project or pastime becomes an excuse to expand my library. I don't always know what I have or, more important, where a certain book is. I try to keep my library organized in a physical sense, but I've always wanted a system that kept better track of my books.

Goals and Deliciousness

The goals for this project are pretty straightforward. I need something that can track all of the books I own. A big part of my collection is in my library at home, but I also have a large set of technical books at my office. I'd love to be able to see images of the covers (à la Delicious Monster—a Mac program that originally inspired me to sort this out). I also need something to show me where in the library the book is physically—the cabinet and shelf would be nice. One last thing is data entry. I have several thousand books, and I'd prefer not to have to type in a lot of information.

First Stop: Actual Library Software

The cool part about the Open Source world is that you can access software that is way beyond the scale of what you need. In the case of this project, I found Koha. According to the Web site, “Koha is the first open-source Integrated Library System (ILS). In use worldwide, its development is steered by a growing community of libraries collaborating to achieve their technology goals.” The project is targeted at actual libraries, which sounded like overkill, but I could not resist downloading and taking it for a spin.

I decided to play with the development version (as the last release was June 2009). The first step was to check out the code repository:

git clone git:// kohaclone

The repository actually had install instructions for several distributions. Because I'm running Ubuntu, I followed those instructions. Based on the differences between the Web site instructions for installing on Hardy (8.04) and the instructions in the development version, it looks like a number of packages outside the standard package tree have been added. That is a good sign, because it means installation will get easier and easier. Be warned though, Koha is built using Perl, and a few Perl libraries are not currently packaged in Jaunty. The instructions show you how to use CPAN to install them properly (although that means you will have CPAN versions that are not controlled by the package system—a side effect of working with CPAN). After following all the instructions and getting everything installed, I ran through the Web install to set up the database.

Once everything was up and “running”, I was ready to dive in to the heady world of running my own library. After spending an inordinate amount of time figuring out that I needed to provide some default values for the library and the type of content I was going to track, I was ready to add my first book. Pulling up Koha's add form presents a huge page of options, most of which meant very little to me (such as Leader, Control Number Identified and Fixed Length Data Elements). I forged ahead by trying to search for one of my test books by ISBN. I had to do something called a Z39.50 search. This is a protocol used for getting book information from other libraries. In the process, I learned that I had to add my own Z39.50 sources. I used the Library of Congress, because I figured it would have the most complete records (Settings are Database:Voyager - Syntax USMARC). Once all that was set up, I was able to add the book.

Figure 1. The Koha catalog screen—something tells me this is overkill.

All of the above was a lot of work, and I added only a single book. As much as I would like to use an industrial-strength tool, the system was too confusing for me as a layperson (my wife was kind enough to point out that there is a reason it is called Library Science). If you want to see what a properly configured Koha system is capable of, go to the Plano ISD library system (see Resources), which is running a version of Koha. It shows the book covers and even has a shelf browser. So if you have your own public library, Koha is really neat, but I realized I needed something else.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I'm the creator of the Linux

Brendan's picture

I'm the creator of the Linux wedge for the Microvision Flic. I released a new version today that fixed a race condition (that could result in linebreaks being entered at the wrong place, either before or in the middle of the content of the barcode). It's available from the same URL listed above, and all you have to do to update is replace the FlicServ executable.

I actually created the wedge because I wanted to register all of my books just like the author of this article. I tried lots and lots of different solutions and it took me years until I found open source software that I was satisfied with. I ended up using GStar. The advantages of GStar is that it's ready to use, but one can at the same time customize it greatly if needed. In addition it's written in perl, so it works equally well on Windows (for those sad, sad times when one only has a Windows-box available). Just make sure to back up your libraries from time to time. I once experienced my library becoming completely garbled which resulted in a whole night of manual labor and creating emacs regexps to save my library.