Drupal is commonly described as an “online community in a box” or a “web log plus.” The primary strength of the core product is the ability to post articles on the site easily and the ability to select and install modules from a vast community supported module library.
The most commonly-used modules for a community portal are calendar, blog, and forum.vii
With its LAMP-based architecture, Drupal performs well even on inexpensive hardware.
Drupal is also one of the few PHP based CMS that runs on PHP5.
Drupal can support a diverse range of web projects ranging from personal web logs to large community-driven sites. Drupal is very easy to set up and administer. Much of the configuration can be done through the administration user interface. Drupal is frequently used for intra/inter-departmental intranet sites where individuals can post articles and other notifications rather than use email distribution lists.
Out of the box, Drupal supports two basic content types: Page and Story. Story is the most commonly used on Drupal sites. Content is largely unstructured with just a title and a body.
More structured content types are available through the addition of modules. Occasionally, popular modules are added into the core product.
WYSIWYG HTML editing requires the addition of a WYSIWYG editor such as TinyMCE. Otherwise, users need to be familiar with HTML tags.
An option to filter which HTML tags are used in content can help keep users out of trouble.
There is preview functionality to verify how pages look when presented on the site. Users with programming skills and sufficient privileges can insert PHP code into their pages.
Workflow consists of just two states: unpublished and published. More advanced workflow can be added by installing a module such as Drupal Workflow.
Site organization is achieved through a category structure of Vocabularies, which consist of one or more Terms. This framework allows content to have multiple facets to be used in search and listing pages.
Drupal has a theme framework that allows administrative users to download a theme from a community supported library and install it. There are settings to allow individual users to personalize their view by selecting from the installed themes.
Creating new themes requires knowledge of basic PHP and CSS. RSS XML output is native in the core product and other formats, such as Atom, are available through modules.
Search is provided by an add-on module based on the open source search engine Swish-E.
While the default behavior of Drupal is to use query string URLs, if mod_rewrite is installed, an administrator can select a user “Clean URL” option to format URLs without query strings.
Drupal’s commenting feature enables users to have a dialog around a page or article.
Drupal has a large and vibrant grassroots community but does not have the structure that of Plone and TYPO3. Drupal users and developers are passionate about the software and eager to contribute their time and knowledge to the advancement of the project.
Most of the contributions come in the form of add-on modules and skins. Frequently, users post bounties or other requests for these features to be developed. There is also some energy behind improving documentation which is organized into a set of handbooks.
The chief resource for support is the Drupal forum. In the past, Drupal has been vulnerable to various security exploits. Drupal is aggressive about patching these vulnerabilities and communicating risks through the Drupal Security Announcements RSS feed.