Drupal

From Includipedia, the inclusionist encyclopedia

Jump to: navigation, search
Drupal
Image:Druplicon.vector.svg
Image:Drupal 5 Screenshot.png
Home page of a default Drupal installation (with a Lorem Ipsum article).
Latest release 5.5 / December 6, 2007
OS Cross-platform
Genre Content management framework, Content management system, Community and Blog software
License GPL
Website http://drupal.org

Drupal (Template:PronEng) 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 organize the 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, 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.

Contents

[edit] 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]

[edit] Design

Web administrators, designers, and programmers have praised Drupal's modular design, which allows its basic layer, or "core", to provide essential features in its default configuration. Functions and presentation can be added through pluggable modules and themes.[4].

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 helps defeat SQL injection.

Custom themes, which can be added without disturbing Drupal's core, use standardized formats that can be generated by third-party theme design engines.

[edit] Modules

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.

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 Drupal website provides hundreds of free modules written by the Drupal community, which provide:

[edit] System version tracking

update_status, a relatively new module available for 5.x (and being introduced as part of core in 6.0) automatically notifies the administrator of any new releases to installed modules and themes.

[edit] Themes

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

Earlier versions of Drupal's theming system were criticized [8] 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.

[edit] Translations

As of August 2007, translations for Drupal's interface were available in 37 languages plus English (the default).[9] Some read right to left, such as Arabic and Hebrew.

[edit] Criticism

Some developers[10] consider Drupal more difficult to learn install than other popular CMS programs. In particular, the complexity of its configuration options and the spartan appearance of a newly installed site are often contrasted with the simplicity of tools such as WordPress and the polished new user experience of Joomla!. Drupal 5.0, released January 15, 2007, shipped with a web based installer, a newly designed visual theme, and a reorganized administration panel in part because of these criticisms. 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[11] as one reason for the project's plan to drop support for PHP4 in future versions of the software.

[edit] Distributions

Customized Drupal distributions include some repackaged with third-party modules, some with modifications to the core, including vbDrupal, which is Drupal integrated with vBulletin.

Drupal 4.2 [12] 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 based on Drupal 4.2.

Many innovations in CivicSpace have been incorporated back into the Drupal project itself[13]. 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[14].

[edit] See also

[edit] Notes

  1. ^ http://drupal.org/node/769
  2. ^ "Drupal Download Statistics," http://buytaert.net/tag/statistics
  3. ^ "Growth Graphs," http://groups.drupal.org/node/1980
  4. ^ The features of Drupal's core are described in the online "Drupal Handbook" at http://drupal.org/handbook/modules.
  5. ^ Amazon Items
  6. ^ "PHPTemplate theme engine", Drupal.org.
  7. ^ "XTemplate theme engine", Drupal.org.
  8. ^ "How does Drupal compare to Mambo?" discussion thread, Drupal.org.
  9. ^ "Translations," Drupal.org http://drupal.org/project/Translations (retrieved 12 August 2007)
  10. ^ Alister Lewis-Bowen et al., "Using open source software to design, develop, and deploy a collaborative Web site," IBM, July 11, 2006.
  11. ^ Drupal 7 and PHP 5.2
  12. ^ http://drupal.org/node/4877#comment-7552
  13. ^ CivicSpace
  14. ^ See http://drupal.org/project/Installation+profiles

[edit] Further reading

[edit] 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 zh:Drupal

Personal tools