June 2007
Volume 11, Number 1

Contents  |   TESL-EJ Top


Product Type: Content management system
Platform:Runs on Windows/Mac/Linux servers
Minimum System Requirements:
  • A web server that can execute PHP scripts (Apache is recommended, but Drupal can also be configured using IIS)
  • PHP version 4.3.3 or higher
  • A PHP-supported database server (MySQL 4.1 or higher, or PostgreSQL version 7.3 or higher)
  • A web browser that supports Javascript
User ManualExtensive documentation is available online in the Drupal Handbooks, and community support is available in the Drupal Forums.


Over the past five years, weblogs have exploded in popularity. Once the purview of tech-savvy Internet enthusiasts, blogging has quickly become a mainstream phenomenon, thanks in part to software advances that have simplified the process of creating and maintaining a blog. Technorati, a leading weblog-tracking company, now monitors over 70 million weblogs, and estimates that 120,000 new weblogs are being created every day (Sifry, 2007). Popular blogging applications include, among many others, Movable Type, Xanga, TypePad, and Blogger.

During the same time period, educational software designed to distribute course content and collect student work has also made great strides. Such software programs — referred to alternately as course management systems, learning management systems, or courseware — can now be found on most university campuses, and students have come to expect that at least some of their courses will be administered using one of these systems. Popular courseware systems include, among others, WebCT, Blackboard, Desire2Learn, Moodle, and Sakai.

At the intersection of blogging systems and courseware, a subset of content management systems (CMS) have emerged that feature easy-to-use interfaces typical of blogging systems, as well as classroom management features typical of courseware. This review focuses on Drupal, a popular open-source CMS employed by a growing number of university educators. Because TESL-EJ readers will be familiar with recent reviews of several blogging applications (Campbell, 2005) and courseware systems (Robb, 2004), this review gives particular attention to the features of Drupal that establish it as hybrid blogging/CMS system and make it a viable option for use in small classroom settings.

Description of the Product

The software that would eventually become Drupal was developed in 2000 by two University of Antwerp students who wanted a simple forum to share ideas among a small group of friends. Today, Drupal is in its fifth major iteration (this review focuses on Drupal 5.1, the most current version available at the time of writing), and website boasts more than 75,000 registered users. Because Drupal is open-source software, it relies heavily on contributions from its users, and it incorporates and builds upon numerous other open-source projects. Users contribute to the software in two primary ways: 1) by creating "modules" that enhance or add to Drupal's features, or 2) by creating "themes" that alter the visual appearance of Drupal-powered websites. The Drupal website offers hundreds of user-contributed modules and themes, all of which can be customized to meet the needs of individual users.

Drupal is written in PHP and stores its data in an SQL database (MySQL or PostgreSQL). In order to install the software, users must have access to a server that can execute PHP scripts and host SQL databases. Although these requirements may seem complex to users who lack experience configuring websites, most website hosting companies now offer PHP functionality and SQL databases as standard features. And for users who may be intimidated by operating server-side software, the current version of Drupal can be installed and configured almost entirely within a web browser, eliminating the need to use a command-line interface or code editor. Although PHP and SQL experience is not necessary to run a Drupal site, it is helpful. At minimum, users should be familiar with HTML and be comfortable with file-transfer protocol (FTP) software.

To install Drupal, users download the software package from the Drupal website, then upload the files to a web server. After creating an SQL database (many website hosting companies will perform this step upon request), users run an installation script in their browser that configures the database and creates the default site, shown below in Figure 1.

Figure 1. A new installation of Drupal, as it appears the first time a user visits the site.

Users then create the first account on the system, which becomes the default administrator account. The user of this account has access to all levels of the site and can create other users, assign privileges to new users, restrict access to certain parts of the site, and so on. Because this first user account has unlimited power, users who are new to running server-based applications (or those who are nervous about making changes that can't be undone) may want to create a second account for everyday use, reserving the first account for upgrading the website and performing administrative functions.

Once the software is running, customizing Drupal for educational use is a fairly simple process. Users can give the website a name (in the screenshots included here, I have created a fictional class website for "English 101"), a slogan, a mission statement, and even a logo, if desired. Several types of "content" can then be added to the site, from weblog entries to course policy documents to forum posts. Each type of content can be customized (or disabled altogether) to meet the needs of a particular course. By default, the home page of a Drupal site contains the most recently added content, listed in reverse-chronological order. This organizational scheme is ideal for educational settings, as students visiting the website will always see the most recent updates and announcements at the top of the page. Figure 2 shows what a home page for a course website might look like a few weeks into a semester.

Figure 2. The default appearance of a new Drupal site, with minimal content added.

Features of the Software

Drupal's greatest strength as a software application lies in the almost limitless number of ways in which it can be customized. Nearly every feature of the software can be fine-tuned to meet the needs of a specific community, from the way content is entered and organized to the way it is then displayed to users. A review of this length can only hint at the number of features available within Drupal, and the following examples are included here not as an exhaustive list, but as an illustration of Drupal's "granularity."

Customizable Visual Design

Although Drupal's default visual design is quite eye-catching, users may want to customize the visual appearance of their sites. Drupal provides several ways to achieve this goal. First, the color scheme of the default theme included with a standard installation of Drupal can be modified using a new "color picker" module, which allows users to alter the site's style sheet without modifying any lines of computer code. Figure 3 demonstrates the color picker included with Drupal, as well as a preview image of what the site will look like once the color choices are approved.

Figure 3. Individual elements of "Garland," Drupal's default theme, can be customized using a color-selector tool.

Second, users can download additional themes from the Drupal website, then upload those themes to their server. With the click of a button, users can switch from one theme to another, completely redesigning their site in a matter of seconds. Figure 4, which shows nine different themes applied to the same website, illustrates the range of visual styles available to Drupal users. Note that these styles have not been modified in any way; in other words, users with little or no knowledge of HTML or cascading style sheets (CSS) can choose from dozens of styles created by members of the Drupal development community.

Figure 4. The same website, as styled by nine different themes.

Third, Drupal users who have experience working with HTML, CSS, and PHP can create their own visual themes to further customize their sites. Several guides and tutorials for beginning this process can be found on the Drupal website, and members of an active theme-developers forum can provide advice for new theme developers and help troubleshoot technical problems that will inevitably arise.

Customizable Administrative Options

The administrator of a Drupal site can modify the settings for every module installed on the site. For example, the "Path" module, in combination with the "Clean URLs" feature, allows users to give unique names to each "node," or bit of content, on the site. As a result, a node that would have this URL:

can instead have a URL that is simpler to read and easier to remember:

Similarly, the administrator can create an unlimited number of user "roles" (e.g., teacher, teaching assistant, student, group leader, etc.), then modify the "permissions" that each user has on the site. This feature allows instructors to hide certain content from students, or to make a course website "invisible" to anyone who is not enrolled in the class. In an age of increasing concerns about privacy and security on educational websites, these features offer additional protection for students' personal information and course assignments. Figure 5 shows the administrative interface for managing access to different features of the site.

Figure 5. Drupal allows administrators to restrict access to features by user role.

Customizable User Interface

Just as site administrators may have differing levels of expertise with running server-side software, students who use the site may have differing levels of familiarity with HTML. By default, the text-entry boxes used to create content in Drupal are just that — plain text boxes with no formatting options. This interface requires users to insert their own HTML tags to create bold or italic text, or to create hyperlinks to other websites. Fortunately, several modules can be implemented to modify Drupal's text-entry boxes to include formatting buttons. The QuickTags module adds seven small buttons at the top of a text-entry box, and the FCK Editor module adds a more comprehensive collection of formatting buttons, creating a What You See Is What You Get (WYSIWYG) interface similar to those found in popular word processing programs. Figures 6, 7, and 8 illustrate the differences between these three options.

Figure 6. Drupal's default text editor.

Figure 7. The QuickTags text editor, with minimal formatting options.

Figure 8. The FCK text editor, with extensive WYSIWYG formatting options.

As I mentioned previously, the features I have discussed here only scratch the surface of what can be done with a Drupal website. In an educational setting, Drupal modules can be used to create personal file repositories for each student, offer wiki functionality for collaborative writing, aggregate RSS feeds from multiple sites, and deliver podcasts and videos. With this wide range of add-on modules, Drupal can be tailored to meet the needs of individual instructors and classrooms. For instance, in a language-learning classroom students might use use the wiki module to critique and correct their peers' work, they might use one of the many audio modules to record and upload MP3 files to demonstrate oral proficiency in a second language, and they might use the glossary module to enhance their discipline-specific vocabularies.

Because Drupal can be adapted for so many different types of websites, educators may need to seek out specialized help as they experiment with the software's educational features. Recently, a group of educators has created a DrupalEd, a customized installation of Drupal for use in classroom settings. This version of Drupal comes with several education-specific modules pre-installed, which can save new Drupal users hours of time and effort. The DrupalEd community also maintains an email listserv to discuss questions and problems that arise when using Drupal for educational purposes. More information is available on the DrupalEd website.


Although Drupal's flexibility is perhaps its greatest strength, for new users, the system's seemingly endless array of options can be its greatest weakness. Users who are unfamiliar with content management systems or courseware will likely be overwhelmed when they install Drupal for the first time. Although the most recent version of Drupal has made great strides in terms of simplifying the system's administrative interface, some modules can be configured only by navigating to three or four different administrative pages. First-time users will likely spend a few hours trying to understand the system's organizational scheme, and nervous novices may abandon the software before seeing what it can do, worried that they might "break" something. Fortunately, it is quite difficult to damage Drupal beyond repair, but unless users have a do-it-yourself mentality, they may find Drupal too finicky and too complex for their first foray into content management systems.

The DrupalEd installation solves some of these problems by coming configured with pre-defined user roles, some sample data typical of what might be used in a university course, and some additional "getting started" documentation. Users who are new to content management systems would do well to start with the the DrupalEd version of Drupal.

A second shortcoming of Drupal is one that is typical of open-source software; namely, the tendency for certain features to "disappear" as the software evolves and matures. Drupal's hundreds of contributed modules and themes must be updated each time a new version of the Drupal "core" is released, and since all contributions to the Drupal project are voluntary and unpaid, some developers abandon modules or themes as their interest in the project wanes. In theory, any user is welcome to pick up where another developer left off, but in practice, this doesn't always happen. As a result, users who rely heavily on contributed modules and themes but who lack the technical expertise to update those projects may be forced either to delay installing new versions of the software, or to sacrifice functionality to which they have grown accustomed.

Finally, Drupal lacks some features typically found in learning management systems, most noticeably a grade book and a secure, private method of providing individual feedback to students. Although a grade book module is currently in development and other modules can be customized to allow for individualized feedback on student work, these solutions aren't available "out of the box," and instructors may need to make a significant time investment to add such functions to their sites. Where Drupal excels in small courses that emphasize writing and collaboration, it may fall short in large classes that rely heavily on tests and quizzes. Instructors who are interested in learning management systems primarily for their ability to administer multiple choice tests or to automate grading will be disappointed in Drupal.

These criticisms point to a few of Drupal's genuine shortcomings, but they should be considered in light of the important fact that Drupal is free, open-source software. Compared to any number of costly, proprietary learning management systems, Drupal is not only a bargain, it is an incredibly powerful one.


Drupal certainly isn't for everyone. Instructors who have never used courseware in their classes may be better off starting with a simple blogging system (such as Blogger or TypePad) or a institutionally supported learning management system (such as WebCT or Desire2Learn). But for instructors who have experimented with other systems and found themselves underwhelmed either by the number of available features or the level of available customization, Drupal may prove to be the perfect choice for bridging the gap between blogging systems and courseware. With a stable, mature codebase and a thriving community of users and developers, Drupal should continue to be a solid choice for classroom content management for years to come.


Campbell, A. (2005). Weblog applications for EFL/ESL classroom blogging: a comparative review. TESL-EJ, 9(3),

Robb, T. N. (2004). Moodle: a virtual learning environment for the rest of us. TESL-EJ, 8(2),

Sifry, D. (2007). The state of the live web, April 2007. Sifry's Alerts,

About the reviewer

Quinn Warnick is a doctoral student in the Rhetoric and Professional Communication program at Iowa State University. His research interests include content management, visual communication, and critical computer pedagogy. For the past two years, he has worked with ISU's communication across the curriculum program to develop and promote content management systems for use by instructors at all levels of technological proficiency.

© Copyright rests with authors. Please cite TESL-EJ appropriately.

Editor's Note: The HTML version contains no page numbers. Please use the PDF version of this article for citations.