Building Public Library Websites with Drupal

Building the Next Generation Public Library Website with Drupal
John Blyberg, Darien Library, CT
Eli Neiburger say “NY-burger”, Ann Arbor District Library, MI

Down into the pit to learn of the mysteries of Drupal..

Grand Hyatt, Constitution D, 10:30am, Sunday June 24. Buzzing, excited crowd, almost 200.

John Blyberg and Eli Neiburger

Here are the goodies:

Background – Drupal (say “drooo-pull”, accented first syllable) is a fully featured open-source content management system, as opposed to a “build-it-yourself” with Frontpage, Cold Fusion. Another popular CMS for small libraries is Joomla! Plenty of libraries are experimenting with CMS in their internal communications structure, and with Drupal, Ann Arbor has taken it live in a feature-rich way for their library front end website. ILS developers take notice.

Part 1
John Blyberg speaks first- What is a public library website supposed to be? “Public representation of a cohesive and comprehensive technology program.” Hmmm. Why just technology?

Qualities of Great Public Library website:
A firm commitment to not settle, single sign-on, integrated OPAC, Significant quantities of content generated every day, Usefulness, Understand your community, Youth, Staff buy-in, The website is an extension of the library experience, not a resource.

Why a CMS for Ann Arbor Michigan? Might be better explained as: “Why use a Content Management System(CMS) for your front-end?” and “We happened to do it with Drupal”.

Use a CMS as opposed to:
Screwing around with Dreamweaver, Fussing with FTP, “WTF do I do with all these files?”, Circ vs. Reference vs. Youth vs… (turf wars), (Battling for the unsustainable) With a CMS, users can create and import content with a very low technical barrier. All librarians at Ann Arbor have the ability to post content, with version tracking natively available. Separate FORM from CONTENT. “Your web developers can develop, and your authors can write.” Invites participation and elicits contribution.

What is Drupal and why should my library consider it? Open source, PHP, relatively low hardware requirements, can be run on Open Source platforms, LAMP, yes you can do WAMP.(Windows, Apache, MySQL, PHP)

Taxonomies are available to:
classify all content, organize entire site, cross-post stories, blog entries, etc. (this is very useful as most organizations have content or segments that must live in many categories)
Can be extended to custom “nodes” a node is a segment of content you create

Drupal Theme engine: Separates form from content. (Which should be standard for all websites.) Closely integrated with Drupal’s API. You can easily do multi-site or civic spaces (remembering the 90s when libraries provided community e-mail addresses) PHPTemplate and Smarty can be used as your templating engines.

The Drupal API(what connects one side to the other)
Hooks (callbacks), programming that makes “something happen when you do something”. Not only can Drupal search internal content, the built-in API search hook can query external databases and more. Form generation and processing – you can quickly create forms that take the style of your templates, and you don’t have to fight the HTML. Menu system is flexible and contextual.

Part 2

Eli Neiburger speaking next about the user experience (users both staff and public), give a tour of the stats since launch(2005) and the site itself. AADL adopted a CMS when migrating the automation system and wanted to change the site look at the same time. Evaluated many different CMS products, Joomla! not ready for release. Stats shown are all July 2005 through July 2007.

Fun & Useful bits: “Catalog and website are one site, that was one of our design goals” “Joomla! is another similar product–when you are choosing, vibrant community is important, you want the user support. That makes a difference in sustainability.” Where are users going on the site–most are hitting the Front Page, the catalog Start Page, the RSS feeds(represent a quarter of visits, but these could be hourly updates), My Account, Card Catalog Image(what a card catalog image would have looked like, cute and clever)  40,000 users, 32,000 of those are actual library card holders. 4250 content nodes contributed by staff over the past 2 years.
Over 10,000 comments by patrons to the staff blog posts. 13,000 contact us comments.
85 accounts that can post (staff poster) single training class, any staffer is empowered to contribute with permission from managers.
Non-parallel ways to organize our information are aided by taxonomy and native Drupal structure.
Patron reviews on items in the catalog 248 taxonomy terms in 7 vocabularies. A personal card catalog for each patron through MyAccount.

The catalog, and my Account features. Taking the info out of the ILS, and putting it in Drupal. You can tag items in the collection as a patron and maintain your own tag catalog. Patrons can see the tags of others. (Beauty! In My Account, a wireless device list pulled from the wireless gateway. Hmmm.) “Anyone can promote their content to the front page, but it is a decision not to be taken lightly.” 1024×768 resolution page format for site. They drop content from the catalog directly into Drupal pages. A catalog blog, anyone can contribute. Staff are assigned to blog and follow current developments of interest to users, hot materials etc. Events blog also. “People want to know what their neighbors think about a book”. “The true value of these blogs is that nice patrons can see how “not nice” other patrons are immediately.” “Show your customer service standards to everyone.!” “There is nothing about Drupal that you cannot change.” All modules were written by PHP programmers that are on staff at AAPL.
Modules in Drupal created by AADL software scripters: catalog search page, catalog card generator, events display, featured item block, job postings, new & top items, social opac, catalog tags, user account tools, wifi devices management, aadl-gt tournament apps, catalog wrapper, cover image tool, equipment sale form, aadl, freespace, gallery, ILL form, Lego league registration, contact us form & browser research page display, REST catalog interface, summer reading.

Wrapping the catalog
Drupal session id
Drupal Catalog module (used to render the information retrieved from the ILS)
User Authentication
Page Rendering
Feature Integration-
ILS, Bib records, Search results, Account Data, Fulfillment

Where are you pulling your content, your covers from? ILS, Syndetics Solution, Amazon for the user-linked info.

Who controls training and content? Librarian who is a content manager, this is a role, not a position, she is in charge of training. What ILS are you using? Innovative InterfacesAre these modules importable modules, or are they just embedded code? They are modules, but are not up yet (at Drupal), source code is available through request, but it is highly locally customized.Challenges in interfacing with the ILS? A lot of data, a lot of things couldn’t be done, especially getting information directly from the catalog, so the wrapper was invented, and a script was substituted for the end user using a browser.

Size of server?
“About this big.” E.N.
Compaq DL350
Debian, Apache, MySQL

When changes occur with the ILS, do you shudder?
We have test servers, all test servers, ILS, webserver. Drupal’s updates are more time consuming.

What kind of development environment do you have?
3 FTEs that have software development responsibility, 10 people in the IT department.

Was it a hard sell? No, we had an intermediary website from the 1997 look where we were doing some of this already.

Where do you go for your RSS? Drupal has RSS built in. But we send out notifications once a month that if you are using a web-based rss reader, your subscribed feeds may be publicly accessible.


  1. themegarden.org

    An nteresting resource for drupal themes (skins) – at Drupal Theme Garden you can find live preview of drupal themes (both drupal 4.7 themes and drupal 5 themes)

  2. Pingback: Free as in Time » Blog Archive » Two for Shauna

  3. John

    Melissa, what I should have said was that a website should be a “Public manifestation of a cohesive and comprehensive technology program” — Naturally representative of the library in its entirety. Thanks for pointing that out.

  4. Eli

    I really regret not leading the audience in singing the drupal jingle. We all would have been singing it all weekend, it’s got a vicious hook.

  5. Pingback: lauren’s library blog » Blog Archive » links for 2007-06-30

  6. Tomas Saorin

    Recently I’vre write a post about the interaction betwen ILS and CMS, and I question myself what kinds of features must have an ILS in order to interoperate with a WCMS like Alfresco or Drupal, or Entreprise Portal like Liferay or Jboss?

    ILS’s with standar API’s to make library websites.

    The full post is in: http://www.nonsense.es/node/30

  7. Pingback: JD » Blog Archive » Job Talk links

  8. Rainer München

    Where can I get the drupal jingle – it’s fun, isn’t it?
    If not, I’d really like to have that 🙂

    But to contribute something remarkable… a online CMS is a must nowadays!

Comments are closed.