Drupal is free content-management software designed to let an individual or user group publish, manage and organize Web sites that feature a wide variety of content. Drupal is currently being used to power community Web portals, discussion sites, corporate Web sites, intranet applications, personal Web sites and blogs, fan sites, e-commerce applications, resource directories and social networking sites. Recently, the Obama administration adopted Drupal as the foundation for the WhiteHouse.gov Web site.
The standard release, known as Drupal core, lets users do the following:
• Register and maintain individual user accounts within a role-based permission and privilege system.
• Create and manage menus.
• Create, manage and aggregate RSS feeds.
• Customize page layouts.
• Perform logging.
• Index and search all content in the system.
The basic Drupal installation allows the creation of classic static Web sites, single- or multiuser blogs, Internet forums or online communities that can handle user-generated content. New features can be added via plug-in code known as contrib modules, which have been used for collaborative authoring environments, peer-to-peer networking and podcasting, for example. Drupal can run on any server platform that also supports PHP and a database for storing content and settings. The software is distributed under the GNU General Public License.
Drupal was originally written by Dutch student Dries Buytaert to produce a small site that allowed friends to leave notes about network status and share personal news. Buytaert wanted to name the site dorp (Dutch for village) because of its community aspects, but he mistyped the domain name as drop and decided the erroneous version sounded better. Drop.org turned into a place for personal experimentation with new Web technologies, and in January 2001 Buytaert released the software as open source. Drupal comes from the English pronunciation of the Dutch word druppel, meaning drop.
Drupal: Yes or No?
Drupal might be a very good choice when you need a Web site that…
* Is flexible enough to evolve in any direction and add features.
* Can be easily configured to interact with other sites and technologies.
* Can handle complex forms and workflows.
* Allows you to create your own content types, such as custom fields.
* Can quickly organize and display lists of information.
* Meets your needs with one or more existing Drupal modules.
* May require you to quickly develop custom functionality.
Drupal might not be the best choice if…
* Your needs are limited in scope, such as just writing a personal blog, creating a wiki or hosting a discussion forum.
* You aren’t prepared to spend time learning how Drupal works — its learning curve can be steep.
* You absolutely need backward compatibility. Drupal’s designers have chosen to forgo this with each new major revision.
* Performance is critical to you; in some tests, Drupal’s high query rate has adversely impacted scalability and performance relative to other systems, such as Joomla.