541
Views
1
CrossRef citations to date
0
Altmetric
Preconference Programs

Hands on with Drupal: Making a Licensing Database

Pages 21-26 | Published online: 08 Apr 2013

Abstract

Drupal is a flexible content management system that allows for easy organization and quick remixing of information that static Web pages cannot provide, and it does not require any knowledge of code to get results. This half-day session simplified the daunting task of using Drupal by explaining jargon and leading participants through the development and creation of a website to manage and track database licenses. The session's goal was to give participants the necessary skills to put together a simple site by using fundamental functionality such as content type creation, views, and permissions. The creation of a license tracking database was used as an example to highlight ways to share and manage licenses online.

BACKGROUND

Amanda Yesilbas began the presentation by explaining why and how the Florida Center for Library Automation (FCLA) began using the content management system Drupal to organize licensing information.Footnote 1 The website redesign group at FCLA, which Yesilbas headed, chose Drupal as the development tool for FCLA because of its flexibility and ease of use. As a content management system, it would allow users not only to create content but to create dynamic displays and parsing of content without any coding knowledge. Drupal is advantageous to use because it is open source software with a huge contributing user community that includes users such as the White House, Sony, and the Grammy Awards program.

When Yesilbas began working in e-resources she found the data related to acquisition and licensing to be spread across various places and with very limited accessibility for potential users. The goal of organizing the data into a Drupal website was to create a one stop shop for all vendor and licensing information. The intention was to make that data accessible to the staff at FCLA, at eleven universities serviced by the organization, and at the state and independent colleges of Florida that participate in some deals.

SUPPORTING MATERIAL AND INFORMATION

Aware that retaining all the information and steps for creating a full website would be difficult for participants, Yesilbas provided detailed step-by-step handouts that document, with screenshots and text, each activity covered in the presentation. Because of the detailed and technical nature of the presentation, only the highlights are covered by this article. For the full instructions given in the presentation, the documentation can be found on the FCLA website.Footnote 2

VOCABULARY

While Drupal is easy to use, it does possess a unique vocabulary that can be a barrier to new users. To understand any discussion of Drupal a few common terms need to be defined. The definitions provided are taken from the Drupal.org website and expanded on by Yesilbas.Footnote 3

Modules

Modules are pieces of software (usually Hypertext Preprocessor scripting language [PHP] and Cascading Style Sheets [CSS]) that extend Drupal features and functionality. Drupal distinguishes between core functionality that comes with an ordinary download of Drupal, and contributed modules that deliver added-on functionality, which are created by community users. Modules allow users to accomplish different tasks in Drupal like creating dynamic lists, calendars, slideshows, and more.

Node

A node is a piece of content in Drupal, typically corresponding to a single page on the site. It has a title, an optional body, and perhaps additional fields. Each node belongs to a particular content type and can additionally be classified using the taxonomy system. Examples of nodes are polls, stories, book pages, and images.

Views

Views is a contributed module that provides site developers with a simple graphical interface for creating lists of various Drupal objects, most notably, users and nodes. Views permits selection of specific fields to display, filtration against various node attributes, choice of basic layout options (i.e., list, full nodes, teasers, etc.), and other more advanced features. Many Drupal sites use Views extensively.

Fields

Fields are elements of data that can be attached to a node or other Drupal entity. Fields commonly contain text, image, or terms. In plain language, a field is an individual piece of data on a content type. For example, a field could be the zip code on an address form.

Content Type

Every node belongs to a single node type or content type that defines various default settings for nodes of that type, such as whether the node is published automatically and whether comments are permitted. Common content types that just about any website would have include blog post and page. Content types can have different fields and modules can define their own content types. The core Drupal Book and Poll modules are two examples of modules that define content types. Content types are basically the forms created to input a specific kind of information. In the session demonstration, license and vendor content type were created. To add data into the database, users click the content type of the kind of information they want to add and are presented with a predefined form.

Blocks

Blocks are the boxes visible in the regions of a Drupal website. Most blocks are generated on-the-fly by various Drupal modules, but they can be created in the administer blocks area of a Drupal site as well. Blocks are one method to arrange content on a page. They can be dropped in predefined areas.

Theme

A theme is a file or collection of files (PHP, Textinfo [INFO], CSS, JPG, GIF, PNG), which together determine the look and feel of a site. A theme contains elements such as the header, icons, block layout, and more. There are additional themes available in the downloads section of Drupal.org.

Taxonomy

Taxonomy is the science of classification. In Drupal, Taxonomy is a powerful core module that gives sites the use of terms that are organizational keywords, known in other systems as categories, tags, or metadata. In Drupal, these terms are gathered within vocabularies. The Taxonomy module allows a user to create, manage and apply those vocabularies.

Roles

Roles are sets of permissions that can be applied to individual users. Users can belong to more than one role. Two roles, authenticated users (those users that sign up for an account) and anonymous users (those either without an account or not logged in), are supplied by default with Drupal installations. Drupal allows the creation of additional roles.

GETTING STARTED

After orienting participants to Drupal, Yesilbas demonstrated setting up a desktop installation. Using a desktop installation allows a user to practice and experiment without the overhead of setting up a full website. It is a great way to get started and test new modules. For the presentation, the Aquia DevDesktop installation was used.Footnote 4 The software is free and provided by Aquia, a company that develops and provides support for Drupal. The modules installed were Views, Field Permissions, Reference, Field Group, Date, and Taxonomy Access Control.

BUILDING A SITE

The remainder of the presentation provided step-by-step instruction on how to build a site. The example site created during the presentation was designed to organize e-resource licensing and acquisition data, and then make the content selectively available using roles and permissions. The demonstration site emulates what is being used at FCLA to share data within the state university system, the state college system, and with some of the independent colleges and universities of Florida.

Content Types

The first step in the creation of the site was building custom content types. Yesilbas suggested making this a pen and paper exercise. A user needs to consider and define what information he or she will track using Drupal and then break down the data elements required into logical groups. This task is the first step in any database design, and the licensing site created is basically just a database of databases. For demonstration purposes, the content types, vendor, license, and statistics were created. Each content type contained fields that stored the data related to that content type. For example, the content type “vendor” had fields such as vendor contact name, vendor e-mail, vendor contact phone number, and so on.

Several contributed modules increase the functionality of the fields added to the content types. The module References allows the creation of special fields that can reference already created content. This is used to create a drop-down list of vendors on the license content type. The module Field Group allows fields to be put into containers that can be hidden or collapsed for cleaner-looking pages. The Date module allows for date fields and widgets, like pop-up calendars, to be added.

Permissions

After the content was defined and created, Yesilbas demonstrated how to add viewing permissions. On a licensing site, there may be a need for some information to be viewable publicly, like interlibrary lending (ILL) terms, and some information viewable only to select users, such as price. Permissions are assigned to roles, and roles are assigned to users. There can be any number of roles created and assigned to a user. This allows for very granular control of permissions on a Drupal site.

There are a couple ways to create permissions using different modules. The Field Permissions module allows permissions to be assigned on a field by field level. For example, the field “price cap” on the license content type could be hidden from the public but viewable to a user with a license viewer role. On the same license content type the ILL fields could be unrestricted. Each piece of content can be individually controlled.

Another way to control access is through the module Taxonomy Access Control. This is a broader form of permissions. A user role is given or denied access to a piece of content based on a taxonomy term assigned. This is “all or nothing” viewing as opposed to the field by field viewing of Field Permissions.

Views

The next topic covered was Views and Yesilbas maintained that Views is the real power of Drupal. Technically, Views is a query builder with a point-and-click user interface, meaning a user can call data from anywhere to rearrange and display in dynamic lists. With expansion modules, the possibilities are endless. Views can be used to create calendars, galleries, slide shows, latest news lists, and many other products. Yesilbas indicated that providing information about views could take an entire separate class, but the presentation would cover the basics.

In the demonstration, several views were created. A list of vendors demonstrated the simplest views. Lists of statistics files were used to demonstrate the use of exposed filters, drop-down menus that change results on the fly, and how to rewrite output. A variation of the statistics view was also used to demonstrate how to pass arguments into a Uniform Resource Locator (URL). This technique allows a single view to be used repeatedly and thus to eliminate the unnecessary creation of some views.

PUTTING IT TOGETHER

In the final portion of the site-building exercise, Yesilbas covered how to put all the pieces together into a unified site. This included how to reassign the front page, create menus, how to change some of the elements on the pages, and how to use blocks. Blocks can be repositioned around the page for simple layout changes. Blocks can also have permissions to control viewing. Yesilbas briefly touched on theming. Themes are what control the look and feel of the site including color and layout. Many premade themes are available on the Drupal.org website. Beyond the installation of premade themes, theming requires coding and was not included in the presentation.

CONCLUSION

The presentation concluded with suggestions on where to find more tutorials and help. The best place for local help is to participate in a local Drupal group. Local groups can be found at the Drupal groups page.Footnote 5 The Drupal4Lib listserv provides support specifically for libraries using Drupal.Footnote 6 There are also many sites around the Internet providing help. Yesilbas assured the preconference audience that if they have a question, someone else has already asked and answered it.

Notes

1. The Florida Center for Library Automation has become part of the Florida Virtual Campus (FLVC) since the presentation.

2. FLVC, “Hands on with Drupal: Making a Licensing Database,” http://fclaweb.fcla.edu/content/hands-drupal-making-licensing-database (accessed on July 13, 2012).

3. Drupal.org “Glossary,” http://drupal.org/glossary (accessed on July 13, 2012).

4. Acquia, “Aquia Drupal Downloads,” http://www.acquia.com/downloads (accessed on July 13, 2012).

5. Drupal Groups, “Drupal Groups,” http://groups.drupal.org/ (accessed on July 13, 2012).

6. Drupal4Lib Listserv, “Drupal For Libraries,” http://listserv.uic.edu/archives/drupal4lib.html (accessed on December 12, 2012).

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.