The best coding tutorials (IMHO) are the ones that help you create something practical and/or applicable to your area of interest. And, with that in mind, I’ve started a list of open source library projects that may be of interest to those getting started with writing code. These projects aren’t necessarily beginner level (many of them aren’t) but provide examples of real code in action and something that you may be able to use and (eventually) contribute to.
This is the second part of our Battle of the Content Management Systems series, looking at library-specific tools and implementations of CMSs. You can catch up with part one, WordPress plugins and tools. While WordPress offers a welcome simplicity in both setup and management, Drupal throws simplicity to the wind and offers instead a ridiculous level of customisation and extension possibilities (all wrapped up in a very active user community). To see some of this customisation in action, take a look at some of the ‘Drupal success stories‘; from the Whitehouse site to Books for Keeps and incredibubbles somewhere in between. What I’ve covered here is really just skimming the surface of what’s possible but it will hopefully give you a few ideas to start with.
We’ve already mentioned the active WordPress librarian community, but Drupal also has its fair share of dedicated fans who congregate as the Drupal libraries group. Here you’ll find guidance about using Drupal, modules, presentations and a list of links to (mostly US) Drupal-run library websites. There’s also a ListServ for librarians called ‘DRUPAL4LIB’
The Drupal libraries group provides a series of ‘how to’ guides and will give you a heads-up about what library-related modules (comparable to WordPress’ ‘plugins’) are actively maintained. Unfortunately, quite a few of the library-relevant plugins are not yet compatible with Drupal 7 which was released in early 2011 and involved quite a large overhaul of the Drupal architecture. This means that the Link Resolver and Library modules have fallen into disrepair (though the creator of the Library module is seeking a co-maintainer so those with Drupal chops should get in touch). The MARC module, though still under active development, is currently only compatible with Drupal 6 as is the Lending module. Hopefully many of these will soon catch up with the latest version but it’s something to keep in mind when using external extensions to power your site.
For adding book data to your website, there’s ISBN2Node or Book post (which uses the Open Library API ). The Bibliography module provides a way to display lists of ‘scholarly publications’ in your Drupal site and will let you import and manage formats such as PubMed, BibTex, RIS and MARC.
There are a few different options if you are looking at adding live chat to your website. Tribune works like IRC rather than the standard chatroom website add-on. There’s a demo site available if you’d like to try it out. Chat Room is the most widely used chat plugin and has some library-friendly options such as the ability to set status and away messages, ability to archive and create private chats, staff roles and customisation of the open and closed messages.
Drupal really leaves WordPress in the dust when it comes to 3rd party integration. You can integrate Drupal with existing library tools (such as LibraryThing for Libraries and EZProxy), import MARC records and much more. You can even use Drupal as the basis for a comprehensive OPAC – the Social OPAC (SOPAC) is Drupal-based, albeit, a heavily modified version used in conjunction with Insurge and Locum.
The eXtensible Catalog (XC) Drupal Toolkit is another 3rd party tool that you can use to embed library data into a Drupal site. This gives you a way of providing a Drupal frontend for your library catalogue and a series of ‘hooks’ for module development, although it’s quite a bit more involved then just activating a module or two.
So, if you are looking for a very comprehensive web publishing platform to deliver library content then Drupal has a lot to offer, though for the time being is worth considering sticking with Drupal 6 or carefully testing each plugin until more of the specialist modules catch up.
Both WordPress and Drupal have sizeable and dedicated supporters from the librarian community and they both offer quite a lot of specialist functionality so I thought it was time to take a closer look at the two most popular web publishing platforms through librarian eyes. With OneClick installer scripts for both platforms now pretty common in hosting providers, setting up a Content Management System (CMS) is no longer too difficult but finding the right extensions in a sea of millions of plugins, themes and frameworks can be. This is part one of a series looking at web publishing platforms, starting with WordPress.
There are plenty of libraries using WordPress – there’s even a WordPress and Librarians facebook group with more than 200 members. There are a number of good library-related plugins for WordPress 3 but unfortunately some others (BiblioPress and the Koha plugins for example) haven’t been updated and are no longer compatible with the latest version of WordPress. WordPress 3 introduced the custom post types which was a significant step forward in using WordPress for publishing different types of specialist content. The Library Custom Post Types plugin takes this a step or two further to make it easy for libraries to add journals, databases or staff member listings to their website.
Relevanssi adds a bunch of advanced search options to your WordPress site, including document search, fuzzy matching, phrase search and ‘did you mean?’-type suggestions. Another very handy feature of this search is that it logs queries, letting you see the most popular queries as well as searches that got no hits. The Relevanssi plugin basic version offers all these features and more but there’s also a ‘premium’ version with some additional features and support from the developer. Dave’s WordPress Live Search (which does pretty much what is says on the tin; It’s a search autocomplete plugin …made by Dave) also integrates with the Relevanssi plugin so worth a look if you really want to supercharge your site’s search capabilities.
If you are after a more OPAC type search setup there’s a Faceted Search plugin which lets users use the categories (or tags) you setup on your site to narrow their search.
There are a few different plugins for room or resource bookings that could be used in a library setting, though some of these are linked to external booking applications. Booking Calendar offers quite a lot of options, perhaps too many, but can also be set up to manage quite simple reservations. The WP Simple Booking Calendar offers a similar level of flexibility but the free version is restricted to a single calendar.
While WordPress doesn’t have a mass of active plugins for libraries, there are some great and easy-to-use options for presenting (and to a less degree, managing) library information on a WordPress site. If you are planning to or currently using WordPress in your library, check out the Facebook group for links and advice. And for those tasked with developing a WordPress site, instant WordPress is a handy way to setup a development environment to try some of these out. If you know of any libraries doing interesting things with WordPress or any plugins you’ve found useful, feel free to highlight them below.
The latest issue of Library Technology Reports looks at Web Scale Discovery services and there’s an interview with the author, Jason Vaughan, on the ALAtechsource.org blog. Together these provide a pretty decent overview of the current status of web scale delivery systems and why these might just be the library systems of the future.
Ned Potter at The Wiki Man has produced a Blogging Workshop Workbook for a session at the New Professionals Conference and made it and the other presentation materials available via his blog. It covers blogging platforms, setting up a library blog and why blogs are important for libraries. A great, comprehensive resource for those looking to extend or improve their library’s web presence.