Computers in Libraries
Vol. 22, No. 2 • February 2002

Table of Contents Subscribe Now! Previous Issues ITI Home
Sowing An Information Garden: Gemini's Home-Grown Catalog
by Ruth Kneale and Colin Aspin

"This has been a great lesson in remote site administration and distributed library management!"
In mid-1999, I (Ruth Kneale) moved from my hometown of Tucson, Arizona, to tropical Hilo, Hawaii, in order to set up the library and archives for the Gemini Observatory. Gemini is a multinational organization with two main telescope sites, one in Hawaii and a twin in Chile. Gemini also maintains a project office in Tucson. I had been working in the Tucson office (while finishing up my Master's in Library and Information Science at the University of Arizona), taking care of the project's technical documentation, architectural and mechanical drawings, and the Web sites. (We had a minuscule library there consisting of some International Society for Optical Engineering conference proceedings and a Thomas Register, but not much more.) Immediately after graduation, I moved to Hawaii, assumed the mantle of observatory librarian, and was given a big empty room to turn into our main library and archives. I was also offered the opportunity to manage the Joint Astronomy Centre (JAC) library. The JAC is a neighboring observatory that had a library but no librarian to manage it, and it had grown a bit out of control. (See my article "Reclaiming the JAC Library" in the June 2000 issue of Information Outlook.) I was about to start dealing with books, magazines, and journals, in addition to the project archives I was already tracking.

So there I was, on the ground and running, with two libraries to cultivate. They say that in order for anything to grow in Hawaii, just drop a seed and step back. It was time to see if the same could be said about growing an organized garden of knowledge out of the wild fields of information I saw ahead of me.

Preparing the Garden Soil
Once I'd finished the tasks of laying out the room, ordering shelves, and overseeing their installation, I had prepared the new Gemini library for books and it was time to start ordering. However, I had to figure out how I was going to keep track of our new items with an extremely limited budget. I also had to figure out a way to get the JAC library items cataloged; there was a minimal text file listing some information, but nothing more. Then I went to my first Internet Librarian conference in November 1999, and I had high hopes of finding all the answers I needed.

I went into the conference excited about the various talks and presentations I was going to see. But I was also anxious to finally start shopping for a complete solution for our libraries, not just for the immediate need but for the changes that would take place as the library grew from a starter seed into a garden. I wish I could say that my search for the perfect "gardening tool" was resolved at this first conference, but I was overwhelmed with the options that each vendor offered, and I had to determine if any of them had what we did need without an overload of anything we did not. It was time to start weeding.

Planning and Weeding
After the conference in California, I went back to Hilo and set up a temporary solution in Microsoft Access. I knew that I wanted each item to have its own unique identification number, along with the usual MARC-inspired cataloging information like title, author, publication information, call number, etc. Since we have a great many conference proceedings, I also wanted to have a field to indicate where the conference was held, and when. I set up a table in Access that defined each field we needed, and I began entering items into it in order to get them out on the shelves and available to the observatory staff.

At the same time, I began evaluating the various demo packages and literature that I had either brought back from Internet Librarian or had had sent to me from the vendors. I looked at products from companies like Cuadra, SIRSI, and Innopac, and found several tools that looked very usable. The various vendors assured me that any modules I didn't need could be removed from the final tool. The possibilities were numerous, and several packages were very appealing—until I saw the prices. Sadly, I couldn't afford a single one of the products I had learned about at Internet Librarian, even if the unneeded sections were removed. The costs were just too high for my whimpering budget to take.

By this time, I had hired an assistant librarian, and we were running into problems as we continued to use Access. The largest was that we couldn't enter book information simultaneously. This was a bit frustrating! So I headed to the Special Libraries Association's 2000 annual meeting in Philadelphia. This time I was more prepared for the onslaught of offerings from the vendors; I began asking right off what the package prices were, whether they offered any government, educational, or small-library discounts, and if they were multi-user tools. I went back and visited several of the vendors from Internet Librarian, and spoke with several more, like OCLC and TLC. I also began investigating alternate platforms. Everything I'd seen at Internet Librarian was Microsoft Windows-based, and I had another platform I could run from—Linux.

A New Plan for the Garden
I'd been to two conferences so far trying to find an existing tool that fit Gemini's needs. I had begun to believe it was time to re-think the shape of the garden. Back to Internet Librarian I went, this time to attend the several talks about Linux in the libraries and to see if perhaps something existed in that world that would give my struggling garden the room that it needed to grow. Unfortunately, if a Linux-based tool existed, I missed that talk at the conference. I came back from Monterey, California, with a new purpose—we would build what we needed ourselves.

In addition to being Gemini's librarian, I am also the Webmaster. I finally realized that I had a perfectly good tool right at hand with the Web. I could build a Web-based form that both the assistant librarian and I could use at the same time. We could also use it from any computer with Web access. I set up a password-protected library administration area on our Web server, built a front-end form to input all the cataloging information, and constructed a template for the catalog output page. What I needed was a tool that would take our cataloging input from the form, assign that information to the proper catalog based on ownership (Gemini or JAC), assign the item a unique ID number, and generate two Web pages for the item (a publicly viewable catalog page and a private page limited to the librarians). I approached Colin Aspin, one of Gemini's scientists who was a big library supporter and a programmer, about the possibility of writing a program to handle this.

The Perfect Gardening Tool
Colin and I first defined what information needed to be stored in the database and came up with a list of steps to catalog each library acquisition:

  • Gemini's Web server runs Apache, on a PC running Red Hat Linux 6.2. It also has several instances of the WebGlimpse search engine running on it, for various search functions.

  • The output from the HTML form described above POSTs the text entries to a Perl-based CGI script on the server.

  • The Perl script takes the input entries and appends them to one of two sequential access text files (one for Gemini, one for the JAC), one library acquisition being one line of the text file. This has the added benefit of generating a delimited text file that can be imported into any number of programs.

  • The script next creates two HTML format Web pages: one containing the entries that are for general access, a "public" page with title, authors, call number, location, etc.; and one for access by the librarians only, the "libadmin" page. The latter contains all the public page information plus entries not of interest to the public like requestor of the item, vendor, cost, etc.

  • These HTML pages are archived in separate directories with appropriate permissions based on end-users.

  • An instance of the WebGlimpse search engine was tailored to search the public Web pages for keywords such as author, title words, subject, etc. This is the final method that users need in order to find out what titles are available in the library and where they're located.

  • An option to re-generate all HTML pages was included on the input form. This way, when we find typos or the inevitable cataloging errors, we can change just the text file, and don't need to change each HTML file in the separate directories.
The Perl CGI script that receives the entry information from the HTML Web entry page currently calls programs written in Fortran 77 to manipulate the database text file (to add new entries or delete unwanted ones). This procedure could have easily been done in Perl, but with Colin's 20 years' experience in Fortran and only 2 years in Perl, the Fortran crept into the system by default!

This entire process, from determining what should go into the database to starting to input data via the Web-based form, took about a month. There were several iterations and test runs of the form itself with nonsense data, and then a few more iterations of the whole process after the Access data were exported to a text file. After the original data were in place, with the Perl-appended text file and the Web page generation working well, I began using the Web form exclusively to catalog our new books.

Future Expansion Plans
As my 2-year contract time was coming to a close, the database was all set up and the items that had been purchased since June 1999 had been entered into the new catalog. But we weren't finished populating the Gemini collection yet. (Not by a long shot!) The 20 years' worth of the JAC library collection still needed to be taken care of. As I mentioned earlier, there was a basic text file but no further information, so each item needed to be entered into the new database as well. I had to move back to Tucson, but my assistant Virginia Smith remained in Hilo, and we're still working on the project together. As we purchase new items for the libraries, we're both entering items into the database; Virginia is also slowly working her way through the JAC back-cataloging project. This has been a great lesson in remote site administration and distributed library management! At this writing, we have been using our home-grown solution for just under a year, and it is working like a charm for both of us.

What we plan on implementing in the next couple of months (so it's likely to be in place by the time you read this) is a checkout module that can be used by either me, my assistant librarian, an administrative assistant at the JAC, or an administrative assistant in Chile who keeps an eye on the Gemini South library for me. At this time, our checkout procedure is a patron putting her name and the date on a library card and leaving the card when she takes the book. We track usage statistics in the Gemini North library by entering the information into a spreadsheet; however, this process is not very effective, and fairly unusable at the JAC and Gemini South.

What we envision is a separate Web-based form, accessible again from the password-protected Web site, which would enable the appropriate individual to enter the unique ID number from the book, and to note that it's checked out, the borrower's name, and the date. The form's program would get the appropriate full catalog information from the data files and generate two new Web pages; the public one would simply indicate whether or not the book is checked out, while the libadmin one would tell us who checked it out and when. As books are returned, the same form could be used to indicate a check-in; new Web pages generated would indicate the book was available. This would allow our patrons to see right away whether the item they'd be seeking is available or not. We would still use our library card checkout process; we don't have the finances or the real estate to set up a checkout computer in any of the libraries, and the staff members in all the locations that are using the cards say that this is a very easy process. So I figure, if it ain't broke, don't fix it!

In addition, Colin and I plan to upgrade the Perl/Fortran scripting/programming to be entirely Perl-based, as well as to investigate storing the acquisition database in a Sybase system rather than a simple text file. Since Perl has excellent modules for Sybase database access, this should be quite feasible.

What We've Planted Will Continue to Flourish
The fully grown garden that I see ahead for Gemini's libraries is still only a picture in my mind, but I can overlay it to the groundwork we've already done and see it beginning to bloom. Without Colin's programming expertise, this effort would have been for naught; many kudos and thanks to him for his willingness to make the tools.

I hope that someday, some automation vendors will see that extra-small libraries that don't have consortia or large university affiliations need their services too; in the meantime we'll be content to build and use our own tools to keep our flourishing information garden in good shape.

Ruth Kneale is the observatory librarian for the Gemini Observatory in Tucson, Arizona; Hilo, Hawaii; and La Serena, Chile. She's been delivering information via the Web since 1993, and electronic information management led her to library school, where she obtained her M.L.I.S. from the University of Arizona in Tucson. Her e-mail address is
Colin Aspin is a Gemini scientist based at the Gemini North Operations Center in Hilo, Hawaii. His work involves, among other things, supporting visiting astronomers who use Gemini North, developing the Gemini Science Archive, and interfacing between the other astronomers and the Observatory System Admin Group. He has a Ph.D. in astronomy from Glasgow University in Scotland. His e-mail address is
Table of Contents Subscribe Now! Previous Issues ITI Home
© 2002