Web Design & Development Guide




Home page of a default Drupal installation (with a Lorem Ipsum article).
Latest release: 5.2 / July 26, 2007
OS: Cross-platform
Genre: Content management framework, Content management system, Community and Blog software
License: GPL
Website: http://drupal.org

Drupal (IPA pronunciation: [druː pʰʊɫ]) is a free and open source modular content management system written in the programming language PHP. A content management system (or CMS for short) is a web application that handles the displaying of content without any special knowledge (or in some cases none) of the language the system was programmed in, which in this case is PHP.

Drupal is able to run on a number of different platform environments, assuming the system can run one of the two web server systems, Apache, or IIS. Since Drupal, like other content management systems, uses a database to store content and settings, it requires a database package such as MySQL or PostgreSQL.

As of July 26, 2007, the current version of Drupal was 5.2.[1]


Originally written by Dries Buytaert as a bulletin board system, Drupal became an open source project in 2001. Drupal is an English transliteration of the Dutch word “druppel,” which means “drop” (as in “a water droplet”). The name was taken from the now defunct Drop.org website, whose code slowly evolved into Drupal. Buytaert wanted to call the site “dorp” (Dutch for “village”, referring to its community aspects), but made a typo when checking the domain name and thought it sounded better.[2]

Over the years, Drupal has gained popularity. From May 2006 to April 2007, Drupal was downloaded from the Drupal.org website more than 600,000 times.[3] A large community now takes part in Drupal's ongoing development.[4]

Content Management System

Drupal has a basic layer, or "core", which provides essential features and supports pluggable modules that add additional functionality.[5]

Modules included in Drupal's core enable users to:

  • Post, revise, and categorize content
  • Conduct searches
  • Post comments
  • Take part in forums
  • Vote in polls
  • Work on collaborative writing projects
  • Post and view personal profiles
  • Communicate among themselves or with the managers of a site
  • Change the look of a site with off-the-shelf or custom-made themes
  • Build multi-level menus
  • Provide users with an interface in their local language
  • Provide RSS feeds
  • Gather content from the RSS feeds of other sites
  • Register and manage user accounts
  • Assign fine-grained user roles, granting users permission to use selected features of a site
  • Use access rules to deny site access to specified usernames, e-mail addresses, and IP addresses
  • Provide statistics and reports for administrators
  • Manage caching and throttling to improve how a site performs in heavy traffic
  • Construct and specify various input filters and content types
  • Generate user-friendly, easy-to-remember URLs (for example, "www.mysite.com/products" rather than "www.mysite.com/?q=node/432)

The version control system, also a core feature, tracks the details of content updates, tracking who changed it, what was changed, the date and time of changes made, and so on. The system provides for a comment log and enables users to roll back content to an earlier version.

Users and administrators can employ core features without needing to know PHP or HTML.


Drupal's modular design allows people with knowledge of PHP to write modules to implement additional features. The Drupal website provides many hundreds of free modules written by Drupal users.

These modules provide, for example, e-commerce systems, workflow features, photo galleries, organic groups, Google sitemaps, Amazon Items[6], mailing list management, and integration with a CVS.

Integrating the modules with the core via a system of hooks, or callbacks, allows modules to insert functions into Drupal's path of execution. Drupal core provides protection against many of the usual security problems, like SQL injection.


Most themes for Drupal are written in the PHPTemplate engine[7] or the XTemplate engine[8]. Earlier templates used hard-coded PHP.

Earlier versions of Drupal's theming system were criticized [9] as being less design-oriented and more complicated than the systems for Mambo and Plone. The inclusion of the PHPTemplate and XTemplate engines in Drupal has addressed some of these criticisms.


As of August 2007, translations for Drupal's interface were available in 37 languages other than English (the default).[10] Supported languages include some that read right to left, such as Arabic and Hebrew.


The installation of Drupal (and its modules) requires access to a database as well as certain high-level privileges, including the ability to use SQL commands such as SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, and LOCK TABLES. Some Web hosting providers, however, do not offer these features. Anyone who wishes to use Drupal should ensure that their host offers these features before they begin installation.

As with other content management systems, one can set up the initial database by using the command line[1] or with phpMyAdmin/PhpPgAdmin. But since version 5.0 one can install Drupal and set up the database almost entirely from a web-based interface.

Some[11] have considered Drupal more difficult to learn and slightly more difficult to install than some simple CMS programs or basic blogging tools such as WordPress. Drupal 5.0, released January 15, 2007, is packaged with a web-based installer to partly answer these criticisms, and Drupal 6.0, which may be released in September, goes even further.[12]

Some programmers critize Drupal because they perceive it as not being OOP, but Drupal programming from an object-oriented perspective explains how OOP and AOP principles apply to Drupal.


Drupal 4.2 [13] was the basis for DeanSpace, a content management system used to power many independent websites supporting the 2004 presidential campaign of Howard Dean. After the Dean campaign ended, the DeanSpace project grew into CivicSpace, a Drupal-based "grassroots organizing platform that empowers collective action inside communities and cohesively connects remote groups of supporters." CivicSpace[14] includes CiviCRM and other features useful on websites for nonprofit organizations and political campaigns.

There are several other customized Drupal distributions. Most are simply Drupal repackaged with third-party modules, but some also include modifications to the core. An example of such a distribution is vbDrupal, which is Drupal integrated with vBulletin.


Drupal has been discussed in several books:

  • Pro Drupal Development (April 2007) by John K. VanDyk and Matt Westgate (ISBN 1590597559)
  • Drupal: Creating Blogs, Forums, Portals, And Community Websites by David Mercer (ISBN 1904811809)
  • Building Online Communities With Drupal, phpBB, and WordPress by Robert T. Douglass, Mike Little, and Jared W. Smith (ISBN 1590595629)
  • The revolution will not be televised: democracy, the internet, and the overthrow of everything by Joe Trippi (ISBN 0-06-076155-5)
  • The power of many: how the living web is transforming politics, business, and everyday life by Christian Crumlish (ISBN 0782143466)
  • We the media: grassroots journalism by the people, for the people by Dan Gillmor (ISBN 0-596-00733-7)
  • Drupal. Community-Websites entwickeln und verwalten mit dem Open Source-CMS. (German) by Hagen Graf (ISBN 3827323215)


  1. ^ Deelstra, Heine (2007-07-26). Security updates and bugfixes available: Drupal 5.2 and 4.7.7 released (HTML). Drupal.
  2. ^ http://drupal.org/node/769
  3. ^ "Drupal Download Statistics," http://buytaert.net/tag/statistics
  4. ^ "Growth Graphs," http://groups.drupal.org/node/1980
  5. ^ (The features of Drupal's core are described in the online "Drupal Handbook" beginning at http://drupal.org/handbook/modules.
  6. ^ Amazon Items
  7. ^ "PHPTemplate theme engine", Drupal.org.
  8. ^ "XTemplate theme engine", Drupal.org.
  9. ^ "How does Drupal compare to Mambo?" discussion thread, Drupal.org.
  10. ^ "Translations," Drupal.org http://drupal.org/project/Translations (retrieved 12 August 2007)
  11. ^ Alister Lewis-Bowen et al., "Using open source software to design, develop, and deploy a collaborative Web site," IBM, July 11, 2006.
  12. ^ Drupal 5.0 Feature List January 15, 2007. Accessed January 15, 2007.
  13. ^ http://drupal.org/node/4877#comment-7552
  14. ^ CivicSpace, a significant contributor to the Drupal project,

See also

External links

eZ Publish

Page created in 0.091921 Seconds