Drupal (pronounced /ˈdruːpəl/) is a free and open source modular framework and content management system (CMS) written in the programming language PHP. Drupal, like many modern CMSs, allows the system administrator to create and organize content, customize the presentation, automate administrative tasks, and manage site visitors and contributors.
Although Drupal offers a sophisticated programming interface, basic Web site installation and administration can be accomplished with little or no programming. Drupal is sometimes described as a "web application framework," as its capabilities extend from content management to enabling a wide range of services and transactions.
Drupal runs in many environments, including Windows, Mac OS X, Linux, FreeBSD, OpenBSD, Solaris 10, OpenSolaris and any platform that supports either the Apache (version 1.3+), or IIS (version IIS5+) Web server and the PHP language (version 4.3.3+). Drupal requires a database such as MySQL or PostgreSQL to store content and settings.
History
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.[1]
From May 2006 to April 2007, Drupal was downloaded from the Drupal.org website more than 600,000 times.[2] A large community now helps develop Drupal.[3]
As of April 2008, Drupal 6.2 is the latest release.[4]
Drupal core
The official release of Drupal, known as "Drupal core", contains basic features common to most CMSs. These include the ability to register and maintain individual user accounts, administration menus, RSS-feeds, customizable layout, flexible account privileges, logging, a blogging system, an Internet forum, and options to create a classic "brochureware" Web site or an interactive community Web site.
Web site content can be contributed by registered or anonymous users (at the discretion of the administrator), and made accessible to Web visitors by a variety of criteria including by date, category, searches, etc. Drupal core also includes a heirarchical taxonomy system which allows content to be categorized or "tagged" with keywords for easier access.
Drupal maintains a detailed changelog of core feature updates by version.[5]
Core modules
Drupal core also includes "core modules" which can be enabled by the administrator to extend the stock functionality of the core Web site.
Modules included in Drupal's 5.x core[6] enable users to:
- Post, revise, and categorize content
- Conduct searches on internal site content
- 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
- Aggregate 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 descriptive URLs that provide more information to search engines (for example, "www.mysite.com/?q=products" rather than "www.mysite.com/?q=node/432).
- Clean Urls (removing the ?q= ) are possible by default on most servers, but some may require special configuration.
In February 2008, Drupal 6.x introduced these additional features:
- Development tools (clear the cache, view theme functions and variables, view load time, etc.)
- Triggers and Actions - a simple workflow tool.
- Update Status module - automatically notifies the administrator of any new releases to installed modules and themes.
- Redirect log
- Support for OpenID login.
Core themes
The color editor being used to adjust the "Garland" core theme
Drupal core comes with several "core themes" which customize the aesthetic look-and-feel of the Web site. These themes can be chosen by the administrator via a special menu.
The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes. This feature was added in order to allow a higher level of customization for the average non-coder.
Translations
As of February 2008, translations for Drupal's interface were available in 44 languages plus English (the default).[7] Some read right to left, such as Arabic and Hebrew. Drupal 6 provides improved support for content and content administration in multiple languages.
Auto-update notification
Beginning in version 6.0, Drupal can automatically notify the administrator when a new version of a module, theme, or Drupal core itself, becomes available. This is a feature which may help to keep a Drupal installation up-to-date with the latest features and security fixes.
A module for version 5.x provides identical functionality, but it is not included in the core release.
Extending Drupal core
Drupal core is designed to be modular with a system of "hooks", or "call backs" that allow "contributed" (e.g., 3rd party, non-core) modules to insert their own functionality into Drupal's path of execution. This has the effect of allowing Drupal's core behavior to be easily extended or even overridden completely.
Contributed modules and themes are added to special "theme" and "modules" folders to alter core behavior. Drupal's developers recommend never altering Drupal core's code itself.
Contributed modules
Third-party Drupal modules can "override" the core's built-in features, extending or even replacing Drupal's default behavior without directly manipulating the programmed code in Drupal's core files. This increases flexibility and security, and allows users to cleanly upgrade to newer releases, as the core code remains untouched.
The Drupal Web site lists more than 3390 [8] free modules (as of March 19, 2008), written and contributed back by the Drupal community, including:
- CCK - the Content Construction Kit[9]
- CCK-associated modules[10]
- Views[11]
- Organic Groups[12]
- Panels[13]
- e-commerce systems[14][15]
- Photo galleries
- XML sitemaps
- Amazon Associate Tools[16]
- Mailing list management
- A Constituent Relationship Management (CRM) System, CiviCRM
- Integration with CVS
- Workflow features - "Triggers" and "Action" modules are part of 6.x core
- System version tracking
The "Content Construction Kit" & "Views" modules
Two prominent and extremely powerful contributed modules, the "Content Construction Kit" (CCK) and "Views" modules, are commonly used together in many (if not most) Drupal installations to extend Drupal's core functionality. CCK is used to create unique "content types" so that Drupal can store virtually any type of information. Views is used to facilitate retrieval and presentation of content to the Web site visitor.
More information about using CCK and Views are available on the Drupal Web site.
Contributed themes
Contributed themes, which can also be added without disturbing Drupal's core installation, are used to adapt or replace a Drupal Web site's native look-and-feel.
Drupal themes use standardized formats that may be generated by common third-party theme design engines. Most themes for Drupal are written in the PHPTemplate engine[17] or to a lesser extent, XTemplate engine[18]. Some templates use hard-coded PHP.
Although early versions of Drupal's theming system were criticized [19] as being less design-oriented and more complicated than those for Mambo, Joomla! and Plone, the inclusion of the PHPTemplate and XTemplate engines in Drupal has addressed some of these criticisms. The new Drupal 6 theming system utilizes Template processor in an attempt to further separate HTML/CSS from PHP. A new Drupal development module (Devel) provides assistance to Drupal themers who use Drupal 6.
Criticism
Some developers consider Drupal administration to have a significant learning curve compared to other CMS software.citation needed In particular, its configuration options and the appearance of a newly installed site are often compared unfavorably to WordPress and Joomla!.citation needed To address these concerns, Drupal 5.0, released January 15, 2007, shipped with a web-based installer, a newly designed visual theme, and a reorganized administration panel to act upon this. Drupal supports the use of install profiles with pre-configured site content. Drupal 6.0, released in February 2008, improved the installation and administration experience even further.[20]
Some programmers have criticized Drupal's exclusive use of procedural PHP rather than Object-oriented programming (OOP). Drupal's defendants argue that OOP and Aspect-oriented programming (AOP) principles are in fact present in Drupal's design, even though PHP's OOP language features are not directly implemented to ensure compatibility with older versions (4.x) of PHP.[21] Future versions starting with Drupal 7 will use the OOP features offered by PHP 5.x, which means earlier versions of PHP will no longer be supported.[22]
Distributions
Customized Drupal distributions include some repackaged third-party modules, some with modifications to the core, including vbDrupal, which is Drupal integrated with vBulletin.
Drupal 4.2 [23] was used for DeanSpace, which hosted many independent Web sites 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." Thus CivicSpace is a spinoff distribution originally based on Drupal 4.2.
Many innovations in CivicSpace have been incorporated back into the Drupal project itself[24]. Features particularly useful for nonprofit organizations and political campaigns are provided in the CiviCRM module for Drupal 5.0 and higher.
It has been suggested to distribute "pre-made" Drupal installations that are pre-customized with third party modules and configured towards a particular type of Web site: an online store, a music review site, a blogging site, etc. Drupal 5.x goes in this direction, providing a set of "installation profiles" tailored to specifics goals[25].
In late 2007, Acquia announced its formation. Drupal project lead Dries Buytaert is one of Acquia's founders. Acquia announced at Drupalcon Boston 2008 that it will be offering a subscription-based service for Drupal in the 2nd half of 2008. Subscriptions will include one or more Drupal distributions[26], a set of companion network-supplied value-add services, and access to a Technical Assistance Center. The announcement is comparatively notable due to Buytaert's role as CTO in the organization.
Drupal community
Drupal has a strong community of users and developers. The last major conference was DrupalCon, held in Boston, Massachusetts. Parts of Drupal's community can be found on Drupal Forums and on IRC on the freenode network.
Acquia
In November 2007, Drupal creator Dries Buytaert announced the creation of Acquia, a startup company meant to facilitate the distribution and development of Drupal in a corporate environment.[27]
See also
Notes
Further reading
- Douglass, Robert T., Mike Little, and Jared W. Smith. Building Online Communities With Drupal, phpBB, and WordPress. New York: Springer Verlag/Apress, 2005. ISBN 1590595629.
- Gillmor, Dan. We the Media: Grassroots Journalism by the People for the People. Sebastopol, Calif.: O’Reilly, 2004. ISBN 0-596-00733-7.
- Graf, Hagen. Drupal. Community-Websites entwickeln und verwalten mit dem Open Source-CMS. Munich: Addison-Wesley, 2006. ISBN 3827323215. (German)
- Mercer, David. Drupal: Creating Blogs, Forums, Portals, and Community Websites. Birmingham, England: Packt Publishing, 2006. ISBN 1904811809.
- Peacock, Michael. Selling Online with Drupal e-Commerce. Birmingham, England: Packt Publishing, 2008. ISBN 978-1-847194-06-0
- Shreves, Ric. Drupal 5 Themes. Birmingham, England: Packt Publishing, 2007. ISBN 1847191827.
- Trippi, Joe. The Revolution Will Not Be Televised: Democracy, the Internet, and the Overthrow of Everything. New York: ReganBooks, 2004. ISBN 0-06-076155-5.
- VanDyk, John K., and Matt Westgate. Pro Drupal Development. New York: Springer Verlag/Apress, 2007. ISBN 1590597559.
External links
|