2008

Weiling Liu, Building Collaborative Web Applications with Drupal

Weiling Liu, University of Louisville (Kentucky)

Session summary: An excellent demonstration of the modular and flexible nature of Drupal, an open-source web content management system. Drupal has featured prominently in library conferences recently; however, one of the strengths of Liu’s presentation was in the two project examples she used: managing news and events web content that comes from a variety of library staff; and creating a library conference application that collected conference proposals, turned the accepted proposals into a conference schedule, and provided a place to link to conference presentations after the conference. Also useful are her “Lessons Learned the Hard Way” (near the end of this post).

Liu began by describing Drupal and showing examples of Kentucky-area library sites that use Drupal. She then described two projects that used Drupal to solve what were complicated projects with poor workflows: enabling library staff to post content about library news and events : enablinposting library news and events to the library’s web presence

Example 1: Library News & Events

Before using Drupal, library staff posted information about library news and events in static web pages. Disadvantages of static pages include low visibility and difficulty in managing them. Static pages become outdated and need to be weeded; often, it’s not clear to the person maintaining web files when news-y types of information should be removed from the web site. Some items are relevant to users for only a day, while an exhibit announcement should remain present until the exhibit is removed.

Desired features for a new means of posting this important content to the library web presence included ease of use for library staff; maintain a separate presence for multiple libraries adn departments; RSS feed to get users to subscribe; Drupal’s built-in features satisfied these requirements.

Liu also created help files for staff who were using Drupal to post this kind of content

Example 2: Online Proposal Submission Form for a local Kentucky conference

Previously, proposals were emailed to committee organizers, who then had to coordinate distribution of the proposals, their review, and then creation of a conference schedule–clunky to say the least.

Goals for a project that would streamline this workflow included a system that would: collect and review proposals and then turn the proposals into both an online conference schedule and a place to link presentation repository come conference time

Users of this system could also manage their own contact information, relieving the conference organizers of maintaining email addresses and other contact information.

Technical Information: How did Liu build the system?

1. Define needs/needs assessment

2. Install/configure application–“the cool part” (design, modules, permissions)

3. Testing

Notes: Liu stated that configuring and testing were the most time-consuming phases of the project;

If more customization is required, PHP programming knowledge is necessary

Liu described Drupal as a highly modular system; there is a good deal of flexibility offered for those who do NOT have programming (PHP) skills, yet is is scalable/extensible with a number of add-on modules, and it can be developed further by those with programming skills.

Drupal terminology: pages are called “nodes;” nodes have types that describe the type of content contained in them; “teaser” is a short form display; “roles” are groups in the sense of permissions, etc. (See Liu’s slides for a more complete list)

Design: Themes can be assigned to people in different roles, easily offering control of design elements in a flexible manner.

Access control: there is an add-on module that allows much finer control over permissions than the default admin module. User experience can be customized to direct users directly where they need to go to create their content, preventing them from getting “lost” in the CMS.

Module tips (Lessons learned the hard way):

-If you can do what you need to do with the core module, stick to the core module. Add-ons are kewl, but when you use them, it can make upgrading Drupal to a new version more difficult.l

-When installing add-on modules, put them all in the same directory so that they can easily be located and upgraded all at once. This allows you to keep better track of them.

-Read the README file. Pay attention to the warnings and recommendations about modules.

-Always BACK UP your system before adding a new add-on module so that you can restore if something bad happens during the addition/upgrade

-Add modules one at a time, test, and check them before adding another. Allows for easier troubleshooting if there are problems. Avoid impulse shopping: “Ooh, I want this module…and this module…”

Be sure to view Liu’s slides of Drupal site examples and interal Drupal screen shots, which demonstrate many of the concepts covered and offer a glimpse into the administrative side of things. Her slides are available on the conference USB drive and will be posted in the LITA site after the conference.

One comment

  1. Weiling Liu

    Thank you very much for the compliment and the blog. Just a small correction about the title of the second example, “local Kentucky conference”. The conference is the 2008 National Diversity in Libraries Conference (NDLC) held in conjunction with the Kentucky Library Association’s, Southeastern Library Association’s and Kentucky School and Media Association’s joint conference. So, it is not just a local conference. Because the name is too long and the screenshot shows the full name, I only said “KLA joint conference”. I apologize if that was misleading.

Comments are closed.