|
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 there is a sophisticated programming interface, most tasks 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, 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 Feb 2008, Drupal 6.1 is the latest release.[4]
Drupal Core
The core Drupal install comes with a blog system, forum, and a menu system to create either a classic "brochureware" website or an interactive community website.
As in WordPress or Joomla!, content is stored independent of a hierarchical menu. The user can choose to provide this "classical" navigation and/or make use of the Taxonomy System which sorts tagged content into categories.
Modules included in Drupal's 5.x core[5] 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 easy-to-remember URLs that can also be more easily interpreted by search engines (for example, "www.mysite.com/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.
Additional core administrative functions included in Drupal 6.x:
- 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.
The Drupal core has been designed with a system of hooks, or callbacks, that allow modules to insert functions into Drupal's path of execution. Functions and presentation can be added through pluggable modules and themes.
Drupal maintains a detailed changelog of core feature updates by version[6]
Contributed Modules
The Drupal website provides more than 2250[7] free modules written and contributed back by the Drupal community, including:
- CCK - the Content Construction Kit[8]
- CCK-associated modules[9]
- Views[10]
- Organic Groups[11]
- Panels[12]
- e-commerce systems[13]
- Photo galleries
- XML sitemaps
- Amazon Associate Tools[14]
- 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
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 modularization policy increases flexibility and security, and allows users to cleanly upgrade to newer releases, as the core code remains untouched.
Themes
Custom themes, which can be added without disturbing Drupal's core, use standardized formats that can be generated by third-party theme design engines.
Most themes for Drupal are written in the PHPTemplate engine[15] or to a lesser extent, XTemplate engine[16]. Some templates use hard-coded PHP.
The color module was introduced in the Drupal 5.x series, which 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.
Earlier versions of Drupal's theming system were criticized [17] as being less design-oriented and more complicated than the systems 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.
Translations
As of February 2008, translations for Drupal's interface were available in 44 languages plus English (the default).[18] Some read right to left, such as Arabic and Hebrew. Drupal 6 provides improved support for content and content administration in multiple languages.
Criticism
Some developers consider Drupal to have a significant learning curve compared to other CMS software[19]. In particular, the complexity of its configuration options and the spartan appearance of a newly installed site are often compared to WordPress and Joomla!. 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, but few have been released as of late 2007.
Some programmers have criticized Drupal's exclusive use of procedural PHP rather than OOP. The article Drupal programming from an object-oriented perspective argues that OOP and AOP principles are present in Drupal's code, even though PHP's OOP language features are not directly used. Improved support for OOP in PHP5 was cited[20] as one reason for the project's plan to drop support for PHP4 in future versions of the software.
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 [21] 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[22]. 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[23].
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[24], 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 IRC on the freenode network.
See also
Notes
- ^ History http://drupal.org/node/769
- ^ "Drupal Download Statistics," http://buytaert.net/tag/statistics
- ^ "Growth Graphs," http://groups.drupal.org/node/1980
- ^ History http://drupal.org/drupal-6.0
- ^ The features of Drupal's core are described in the online "Drupal Handbook" at http://drupal.org/handbook/modules.
- ^ Changelog http://cvs.drupal.org/viewvc.py/drupal/drupal/CHANGELOG.txt?view=markup
- ^ http://drupal.org/project/Modules/name
- ^ http://drupal.org/project/cck
- ^ http://drupal.org/project/Modules/category/88
- ^ http://drupal.org/project/views
- ^ Organic Groups http://drupal.org/project/og
- ^ Panels http://drupal.org/project/panels
- ^ http://drupal.org/project/ecommerce
- ^ Amazon Associate Tools http://drupal.org/node/18842
- ^ "PHPTemplate theme engine", Drupal.org.
- ^ "XTemplate theme engine", Drupal.org.
- ^ "How does Drupal compare to Mambo?" discussion thread, Drupal.org. - Old, but still interesting
- ^ "Translations," Drupal.org http://drupal.org/project/Translations (retrieved 18 February 2008)
- ^ Alister Lewis-Bowen et al., "Using open source software to design, develop, and deploy a collaborative Web site," IBM, July 11, 2006.
- ^ Drupal 7 and PHP 5.2
- ^ http://drupal.org/node/4877#comment-7552
- ^ CivicSpace
- ^ See http://drupal.org/project/Installation+profiles
- ^ http://acquia.com/projects
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.
- 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
bg:Drupal ca:Drupal cv:Drupal cs:Drupal da:Drupal de:Drupal el:Drupal es:Drupal eo:Drupalo fa:دروپال fr:Drupal ko:드루팔 id:Drupal it:Drupal hu:Drupal nl:Drupal no:Drupal pl:Drupal pt:Drupal ro:Drupal ru:Drupal fi:Drupal sv:Drupal th:ดรูปาล vi:Drupal tr:Drupal uk:Drupal
|
|