Have you been in Helsinki? Then you surely noticed all those wonderful Web 2.0 tools that help librarians to communicate with their users and create community around their library. But all those tools are located at different places and each requires a specific login and password. Would it be possible to have the same functionalities at one place? Some Open source content management systems could help in some way, and among them, Drupal.
Drupal open source CMS
Drupal (http://drupal.org) is a content management system (CMS) using the common MySQL PHP technologies. A content Management System is a web-based software that allows you to add content to your Website without any knowledge of HTML. Drupal was created in 2000 by a Belgian student: Dries Buytaert. After its public release in 2002, it was rapidly sustained by a community of users and developers, among them some librarians. The evolution of the software is regular (version 4 in 2006, now in version 6.2) and support from free software services companies is available in several countries.
The tree main concepts of Drupal are: nodes, modules and themes. Lets have a look.
In Drupal, a « node » is the basic information element. A node is constituted of a title, a teaser and a content bloc. It has also some properties like the place published (first page or not), the comments options, the classifications, etc. By default, there are two node types: story (news) and page. Regarding the modules you activate, some other nodes type may appear like blog entry or forum message.
The core modules
«Out of the box », you will get a content management system with several core modules, some of them still need to be activated. The User module allows to create different roles with specific rights on the system. The first user is the administrator with all rights on the system. A user registered to one Drupal site may also be recognized on other sites thanks to OpenID. The taxonomy module allows you to define vocabularies (sets of categories) which are used to classify content. The module supports hierarchical classification and association between terms, allowing for truly flexible information retrieval and classification. Free tagging allows users to enter a free term into a thesaurus, users with taxonomy administration rights may then rearrange the thesaurus. A lot of third party modules enhance the taxonomy functionalities.
Every node may receive a comment feed ; forums can be rapidly installed ; blog is also available: every user may start his own blog within the site developed with Drupal. Drupal generates RSS feeds but also contain a RSS aggregator: several external feeds may be aggregated and presented within Drupal, each feed may be categorized.
Drupal has a lot of optional modules developed by third parties (http://drupal.org/projects/modules). These allow to rapidly and easily extend Drupal functionalities. But selecting one is sometimes a challenge: you must evaluate the ability of the module to be updated in the future, or be ready to do it on your own. Several module are indeed well maintained (since version 4), here follows a selection of the most common optional modules that could be of interest for a library.
Drupal has several WYSIWYG modules available. Those module allows to get the usual icons to format the text of a node. The administrator may choose to most suited one (TinyMCE, FKC editor, BUE, YUI….).
To enhance the presentation of nodes, the Views module is often used. The CCK module allows to add fields to specific node types in order to get structured information. It allows to build simple databases within Drupal. Those two modules are almost core modules.
A module allows to import and export data from Drupal ; another allows the basic database management within Drupal. Additional software, like PHPMyAdmin is thus not necessary. Authenthication may also occur via an external active directory thanks to the LDAP module.
Some modules also help to manage different languages within a single Drupal site.
The MARC module allows to import MARC records as nodes (for Drupal 6). The Z39.50 module allows to search external catalogues and present results. The Millenium Integration module allows to import bibliographic information from the Millenium WebOPAC and generates biblio type nodes.
The bibliography module allows show bibliographical references on a Website. It is fitted with an import function for common text files (RIS, BibTex) or Endnote format, and export as well. Some other additional modules may be added: normalize which normalize the names and faceted search which creates a link between the bibliography module and the faceted search module, and the OAI-PMH module will transforms your system into an OAI-PMH harvestable depot.
Layout is store in theme with page templates and cascading style sheets (CSS). It is easy to switch from theme, and the admin part of the site may have a different stye than the public.
Here, we provide some examples suited for libraries.
Providing an OPAC 2.0 with Drupal
A first example is SOPAC (social OPAC), based on Drupal 4.x and implemented at the Ann Harbour Library. It has not been updated for the most recent versions of Drupal (http://www.blyberg.net/2007/01/21/aadlorg-goes-social/). Another example is . It is based on the beta MARC module. (http://fish4info.org/).
Building a catalogue
Leo Klein, an American librarian that started the Drupal4lib discussion list, has produced an impressive screen-cast showing how to combine different modules to quickly set up a database catalogue on the Website of a library (http://chicagolibrarian.com/node/262). Another great example is provided by the tinytax module that allows to navigate into the taxonomy and list the related content, like the MeSH browser. (http://sandbox.scratchpads.eu/)
Creating collaborative documents
Drupal is not a wiki system, but it has the « book » concept. This is a set of node hierarchically organized with a table of content. Drupal handles rights management and may store the different versions of a node.
An interesting example is the support site of Biblioscape (http://support.biblioscape.com). In this case, the edition is limited to a specific group of editors.
Building an internet / intranet
Drupal is powering a lot of well known websites, including libraries websites (http://drupalib.interoperating.info/library_sites). One nice thing is that Drupal may handle multi-sites: each site has its own folder with specific database connection infos, modules and themes folder. All sites are thus run by the same Drupal, facilitating the update process that must occur once only. But each site has its own look and feel.
Drupal is a mature Open source project and has been adopted by a large amount of Webmaster, including librarians. Drupal offers indeed a lot of opportunities to develop into one site several services for the users, and give them several tools to participate to the library life. More than an Content Management System, Drupal is an open source social publishing system that should be considered for any project related to diffusion of information by librarians. For more information, visit DrupalLib (http://drupalib.interoperating.info/), join the librarians Drupal group (http://groups.drupal.org/libraries) and subscribe to the Drupa4Lib mailing list (http://listserv.uic.edu/archives/drupal4lib.html)
Patrice Chalon, MSc, Knowledge Manager, KCE – Belgian Health Care Knowledge Centre, Brussels, Belgium