Drupal

Drupal
Druplicon.vector.svg
Original author(s) Dries Buytaert
Initial release January 2001 (2001-01)
Stable release 6.19 / August 11, 2010; 6 months ago (2010-08-11)
Preview release 7.0-alpha 6 / July 9, 2010; 7 months ago (2010-07-09)[1]
Development status Active
Written in PHP
Operating system Cross-platform
Type Content management framework, Content management system, Community and Blog software
License GNU General Public License version 2
Website http://drupal.org

Drupal (pronunciation: /ˈdrpəl/) is a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License.[2][3][4] It is used as a back-end system for at least 1% of all websites worldwide ranging from personal blogs to larger corporate and political sites including whitehouse.gov and data.gov.uk.[5][6] It is also used for knowledge management and business collaboration.

The standard release of Drupal, known as Drupal core, contains basic features common to most CMSs. These include user account registration and maintenance, menu management, RSS-feeds, page layout customization, and system administration. The Drupal core installation can be used as a brochureware website, a single- or multi-user blog, an Internet forum, or a community website providing for user-generated content.

Over 5800 free (as of July 20, 2010) third-party community-contributed modules, known as contrib modules, are available to alter and extend Drupal's core capabilities and add new features or customize Drupal's behavior and appearance. Because of this plug-in extensibility and modular design, Drupal is sometimes described as a content management framework.[3][7] Drupal is also described as a web application framework, as it meets the generally accepted feature requirements for such frameworks.

Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic website installation and administration.[8]

Drupal runs on any computing platform that supports both a web server capable of running PHP 4.4.0+ (including Apache, IIS, Lighttpd, and nginx) and a database (such as MySQL or PostgreSQL) to store content and settings.[4]

Contents

History

Originally written by Dries Buytaert as a message board, Drupal became an open source project in 2001.[9] Drupal is an English rendering of the Dutch word “druppel”, which means “drop” (as in “a water droplet”).[10] 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”) for its community aspects, but made a typo when checking the domain name and thought it sounded better.[9]

A large community now helps develop Drupal[11], and Drupal's popularity is growing rapidly. From May 2007 to April 2008, Drupal was downloaded from the Drupal.org website more than 1.4 million times, an increase of approximately 125% from the previous year.[12][13]

As of July 2010, hundreds of well-known organizations use Drupal[14], including companies, non-profits[15], schools, and individuals. No one knows exactly how many websites currently use Drupal, but it was estimated to be about 7.2 million as of July 2010. [16] Drupal has also won several Packt Open Source CMS Awards[17] and three times (in a row) won the Webware 100.[18][19]

Drupal 6.19, released in August 2010, is the latest release.[20] On March 5, 2009, Dries Buytaert announced a code freeze for Drupal 7 for September 1, 2009.[21] The latest test version, DRUPAL-7-0-ALPHA-6, was released on July 9, 2010.[1] There is no date announced yet for the final release of Drupal 7.

Drupal core

Drupal core is the stock installation of Drupal, which can be optionally extended by third-party contributions. In its default configuration, a Drupal website's content can be contributed by either registered or anonymous users (at the discretion of the administrator) and is made accessible to web visitors by a variety of selectable criteria. Drupal core also includes a hierarchical taxonomy system, which allows content to be categorized or tagged with key words for easier access.[8]

Drupal maintains a detailed changelog of core feature updates by version.[22]

Core modules

Drupal core includes core modules which can be enabled by the administrator to extend the functionality of the core website.[23]

The core Drupal distribution provides a number of features[23], including:

  • Access statistics and logging
  • Advanced search
  • Blogs, books, comments, forums, and polls
  • Caching and feature throttling for improved performance
  • Descriptive URLs
  • Multiple-level menu system
  • Multiple-site support[24]
  • Multiple-user content creation and editing
  • OpenID support
  • RSS Feed and Feed Aggregator
  • Security/new release update notification
  • User profiles
  • Various access control restrictions (user roles, IP addresses, email)
  • Workflow tools (Triggers and Actions)

Core themes

The color editor being used to adjust the "Garland" core theme

Drupal core includes selectable core themes, which customize the aesthetic "look and feel" of the site.[25]

The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes via a Web-browser interface. This feature was added to allow a high level of customization for administrators.[26]

Localization

By February 2008, Drupal's interface had been made available in 44 languages besides English (the default).[27] Support is included for right-to-left languages such as Arabic, Persian and Hebrew.[28]

Auto-update notification

Drupal can automatically notify the administrator when a new version of any module, theme, or the Drupal core itself becomes available. This feature can help keep a Drupal installation up-to-date with the latest features and security fixes.[28]

Extending Drupal core

Drupal core is designed to be modular with a system of hooks and callbacks, which are accessed internally via an API.[29] This design allows third-party contributed (often abbreviated to "contrib") modules and themes to extend or override Drupal's default behaviors without changing Drupal core's code.

Drupal's modular design, which isolates Drupal core's files from contributed module and themes, increases flexibility and security and allows Drupal administrators to cleanly upgrade to new releases of Drupal core without potentially overwriting their site's customizations.[30] To maintain this separation, Drupal administrators are instructed to avoid altering Drupal core's software.[31]

Contributed modules

Contributed Drupal modules offer a variety of features including image galleries, custom content types and content listings, WYSIWYG editors, private messaging, third-party integration tools[32], and more. The Drupal website lists over 5800 free modules (as of July 20, 2010), written and contributed to by the Drupal community.[7][33][34]

For example, some of the most powerful and commonly used contrib modules include:

The CCK Fields API has been integrated into Drupal core in the development Drupal 7 branch.[35]

Contributed themes

Contributed themes adapt or replace a Drupal site's default look and feel.

Drupal themes use standardized formats that may be generated by common third-party theme design engines. Many themes for Drupal are written in the PHPTemplate engine[36] or, to a lesser extent, the XTemplate engine.[37] Some templates use hard-coded PHP.

Although early versions of Drupal's theming system were criticized[38] for 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 concerns. The new Drupal 6 theming system utilizes a template engine in an attempt to further separate HTML/CSS from PHP. A Drupal development module, Devel, provides assistance to theme authors who use Drupal 6.

Community-contributed themes[39] at the Drupal website are released under a free GPL license,and most of them are demonstrated at the Drupal Theme Garden[40].

Contributed installation profiles

In the past, those wanting a fully-customized installation of Drupal had to download a pre-tailored version separately from the official Drupal core. Today, however, an installation profile can be used to create a fresh Drupal installation built to suit a specific purpose.

Installation profiles offer a way to "pre-customize" a new Drupal site without having to manually seek out and install third-party contrib modules or adjust configuration settings. They are collections of modules, themes, and associated configuration settings that "build" Drupal to taste. For example, an installation profile might be used to install Drupal as a "brochureware" site rather than a "news" site. Another installation profile might be used to install Drupal as an online store.

Popular installation profiles include OpenPublish [41], Drupal Commons[42], Open Atrium[43], Managing News[44], Tattler[45], and NodeStream[46].

Community

Drupal has a large community of users and developers. More than 830,000 user accounts have been created on Drupal.org, and more than 2000 people have signed up for developer accounts. The Drupal conference happens twice a year, alternating between North America and Europe.[47] DrupalCon Szeged 2008, held in August 2008, had an attendance of 500. DrupalCon Washington DC 2009 attracted over 1400 people.[48] In September 2009, the conference was held in Paris, with 800 attendees.[49] Over 3000 people registered for DrupalCon San Francisco in April 2010.[50] The European DrupalCon 2010 took place in August 2010 at Bella Center in Copenhagen, Denmark.

There are a number of active Drupal forums,[51] mailing lists[52] and discussion groups[53]. Drupal also maintains several IRC channels[54] on the Freenode network.

There are over 20 national communities[55] around drupal.org offering language-specific support.

DrupalCon Events

DrupalCon event locations and attendance
City Year Month Attendance Site
Chicago 2011 March http://chicago2011.drupal.org/
Copenhagen 2010 August 1500pp http://cph2010.drupal.org/
San Francisco 2010 April 3000pp http://sf2010.drupal.org/
Paris 2009 September 850pp http://paris2009.drupalcon.org/
DC 2009 March 1400pp http://dc2009.drupalcon.org/
Szeged 2008 August 500pp http://szeged2008.drupalcon.org/
Boston 2008 March 850pp http://boston2008.drupalcon.org/
Barcelona 2007 September 450pp http://barcelona2007.drupalcon.org/
Sunnyvale 2007 March ~300+pp http://drupal.org/events/oscms2007/
Brussels 2006 September 150pp http://groups.drupal.org/drupalcon-brussels-2006
Vancouver 2006 February ~150pp http://drupal.org/node/46559
Amsterdam 2005 October ~100pp http://drupal.org/conference-amsterdam-2005/
Portland 2005 August over 100pp http://drupal.org/conference-portland-2005/
Antwerp 2005 February under 50pp http://drupal.org/conference-antwerp-2005/

[56]

Security

Since early in the project's history, Drupal has adopted a full transparent policy towards security [57]. A dedicated security team has a transparent and methodical process [58] to review any reported issue—whether in Drupal core or contrib. If in core, a trusted core contributor is tasked to implement a fix in an expedited fashion, followed by re-review by the security team. If in contrib, the module maintainer is asked to implement the fix, followed by a review. Once obtained, the security team announces the nature of the vulnerability and the availability of the fixed code in a timely manner, so that site administrators can immediately take remedial action. Though this policy tends to lead observers to think that Drupal has a high number of security issues, there is no proof that this is the case; the Drupal project's transparent approach is generally considered superior to the alternative—security through obscurity.

As security holes are discovered and remedied, the Drupal core is updated to new versions. Administrators of Drupal sites are automatically notified of these new releases via the Update Status module.[59] Additionally, Drupal.org maintains a security announcement mailing list, a history of all security advisories,[60] a security team home page [61], and an RSS feed[62] with the most recent security advisories. In 2008, eleven security vulnerabilities were reported and fixed in the Drupal core.[60] Security holes were also found and fixed in 64 of the 2243 user-contributed modules.[60][63]

Criticism

In an article about the adoption of Drupal by the Whitehouse.gov site, Slate noted that Recovery.gov, which is devoted to tracking stimulus spending, originally used Drupal but soon hired a private contractor at a reported cost of $18 million to rework the site.[64] The article goes on to list some common criticisms of Drupal.[64]

Examples

These are examples of websites based on the Drupal CMS:

Further reading

See also

Notes

  1. 1.0 1.1 Drupal 7.0 Alpha 6 released
  2. "Licensing FAQ". drupal.org. http://drupal.org/licensing/faq. Retrieved 2009-04-08. 
  3. 3.0 3.1 "The Drupal Overview". drupal.org. http://drupal.org/node/265726. Retrieved 2009-04-08. 
  4. 4.0 4.1 "System Requirements". drupal.org. http://drupal.org/requirements. Retrieved 2009-04-08. 
  5. The State of Drupal 2010 speech
  6. Lincoln (2008-09-24). "45 Sites You May Not Have Known Were Drupal-Based". Social CMS Buzz. http://socialcmsbuzz.com/45-drupal-sites-which-you-may-not-have-known-were-drupal-based-24092008/. Retrieved 2009-04-08. 
  7. 7.0 7.1 "Modules". drupal.org. http://drupal.org/project/Modules. Retrieved 2009-04-08. 
  8. 8.0 8.1 "Features". drupal.org. http://drupal.org/features. Retrieved 2009-04-08. 
  9. 9.0 9.1 "History". drupal.org. http://drupal.org/node/769. Retrieved 2009-04-08. 
  10. "Druppel: Dutch to English Translation". Babylon Translation. http://translation.babylon.com/Dutch/to-English/druppel/. Retrieved 2009-04-08. 
  11. Koenig, Josh. "Growth Graphs". Groups.Drupal. http://groups.drupal.org/node/1980. Retrieved 2009-04-08. 
  12. Buytaert, Dries (2008). "Drupal Download Statistics". http://buytaert.net/drupal-download-statistics-2008. Retrieved 2009-04-08. 
  13. Buytaert, Dries (2007). "Drupal Download Statistics". http://buytaert.net/drupal-download-statistics-2007. Retrieved 2009-04-08. 
  14. "Drupal Sites". Dries Buytaert. http://buytaert.net/tag/drupal-sites?page=27. Retrieved 2010-07-20. 
  15. "List of Nonprofit, NPO, NGO Websites Using Drupal". ENGINE Industries. http://engineindustries.com/blog/jason/list-nonprofit-npo-ngo-websites-using-drupal. Retrieved 2010-07-20. 
  16. "How Many Websites Use Drupal?". ENGINE Industries. http://engineindustries.com/blog/jason/how-many-websites-use-drupal-lets-estimate-number-part-one. Retrieved 2010-07-20. 
  17. "OSS CMS Award Previous Winners". Packt Publishing. http://www.packtpub.com/open-source-cms-award-previous-winners. Retrieved 2009-04-08. 
  18. Drupal is a Webware 100 winner for the third year in a row
  19. Cnet.com
  20. "Drupal Project downloads". drupal.org. http://drupal.org/project/drupal. Retrieved 2009-09-16. 
  21. Buytaert.net
  22. "View of /drupal/CHANGELOG.txt". drupal.org. http://cvs.drupal.org/viewvc.py/drupal/drupal/CHANGELOG.txt?view=markup. Retrieved 2009-04-08. 
  23. 23.0 23.1 "Handbook: Core Modules". drupal.org. http://drupal.org/handbook/modules. Retrieved 2009-04-08. 
  24. "Drupal Multisite Installation recipes". http://drupal.org/node/43816. 
  25. Buytaert, Dries. "Garland, the new default core theme". drupal.org. http://drupal.org/node/91964. Retrieved 2009-04-08. 
  26. "Color: Allows the user to change the color scheme of certain themes". drupal.org. http://drupal.org/handbook/modules/color. Retrieved 2009-04-08. 
  27. "Translations". drupal.org. http://drupal.org/project/Translations. Retrieved 2009-04-08. 
  28. 28.0 28.1 "Drupal 6.0 released". drupal.org. http://drupal.org/drupal-6.0. Retrieved 2009-04-08. 
  29. "API Reference". drupal.org. http://api.drupal.org/. Retrieved 2009-04-08. 
  30. "File and directory management". drupal.org. http://drupal.org/node/22283. 
  31. "Do not hack core". drupal.org. http://drupal.org/node/144376. 
  32. Integrating Drupal with External Systems
  33. Nash, Tim (2007-01-08). "CCK & Views the ultimate combination, part 1". The Venture Skills Blog. http://blog.venture-skills.co.uk/2007/01/08/cck-views-the-ultimate-combination-part-1/. Retrieved 2009-04-08. "Two modules particularly important to typical Drupal installations" 
  34. Safuto, Robert (2007-07-30). "Drupal CCK and Views Tutorial". Awakened Voice Learning Center. http://learn.awakenedvoice.com/2007/07/30/drupal-cck-and-views-tutorial/. Retrieved 2009-04-08. 
  35. "Field API". 2009. http://drupal.org/node/361849. Retrieved 2009-05-08. 
  36. "PHPTemplate theme engine". drupal.org. http://drupal.org/phptemplate. Retrieved 2009-04-08. 
  37. "XTemplate theme engine". drupal.org. http://drupal.org/node/6493. Retrieved 2009-04-08. 
  38. "How does Drupal compare to Mambo? discussion thread". drupal.org. 2005-01-17. http://drupal.org/node/15689#comment-25704. Retrieved 2009-04-08. 
  39. Drupal themes
  40. Drupal Theme Garden
  41. "OpenPublish". http://www.openpublishapp.com/. 
  42. "Drupal Commons". http://drupal.org/project/commons/. 
  43. "Open Atrium". http://www.openatrium.com/. 
  44. "Managing News". http://www.managingnews.com/. 
  45. "Tattler (app)". http://tattlerapp.com/. 
  46. "NodeStream". http://www.nodestream.org/. 
  47. drupal.org discussion on Drupalcon event management
  48. Bogle, Bonnie. "DrupalCon DC By the Numbers: Community, Profit, and Sustainability". drupalcon.org. http://dc2009.drupalcon.org/news/drupalcon-dc-numbers-community-profit-and-sustainability. Retrieved 2009-04-08. 
  49. "Get Ready for DrupalCon". linuxjournal.com. http://www.linuxjournal.com/content/get-ready-drupalcon. Retrieved 2010-05-14. 
  50. "DrupalCon San Francisco 2010". drupal.org. http://sf2010.drupal.org/community. Retrieved 2010-05-14. 
  51. Drupal.org forums
  52. Drupal.org mailing lists
  53. Drupal Groups
  54. Drupal IRC channels on FreeNode
  55. Language specific communities
  56. [1] Drupal events
  57. Drupal security team: past, current and future
  58. Drupal Security team
  59. "Module: Update Status". drupal.org. http://drupal.org/project/update_status. Retrieved 2009-04-08. 
  60. 60.0 60.1 60.2 "Security advisories". drupal.org. http://drupal.org/security. Retrieved 2009-04-28. 
  61. Drupal security team
  62. Drupal Security RSS feed
  63. "Contributed modules". drupal.org. http://drupal.org/security. Retrieved 2009-04-28. 
  64. 64.0 64.1 Message Error, Why running the White House Web site on Drupal is a political disaster waiting to happen Chris Wilson. Slate (magazine) October 27, 2009
  65. 65.0 65.1 Hagopian, Peter (2008-07-10). "Drupal Addresses Security In 6.3, Usability in 7". Information Week. http://www.informationweek.com/blog/main/archives/2008/07/drupal_addresse.html. Retrieved 2009-04-08. 
  66. Scollan, Becca; Abby Byrnes, Malia Nagle, Paul Coyle, Cynthia York, Maleka Ingram (2008-05-01). "Drupal Usability Research Report" (PDF). http://groups.drupal.org/files/DrupalUsabilityResearchReport.pdf. Retrieved 2009-04-08. 
  67. Lal, Kieran (2008-06-26). "Drupal usability tests from the University of Baltimore with community solutions". drupal.org. http://drupal.org/usability-test-university-baltimore-community-solutions. Retrieved 2009-04-08. 
  68. 68.0 68.1 Buytaert, Dries (2008-07-03). "Usability, usability, and usability". http://buytaert.net/usability-usability-and-usability. Retrieved 2009-04-08. 
  69. Buytaert, Dries (2008-03-10). "First results from usability testing". http://buytaert.net/first-results-from-usability-testing. Retrieved 2009-04-08. 
  70. "Report from Formal Drupal" (PDF). 2008-03-03. http://buytaert.net/files/usability-testing-minnesota.pdf. Retrieved 2009-04-08. 
  71. Howard, Brian C. (2007-01-25). "Harnessing Drupal for Citizen Journalism". NewAssignment.Net. http://newassignment.net/blog/brianchoward/jan2007/24/harnessing_drupa. Retrieved 2009-04-08. 
  72. "Drupal Review". http://www.cmscritic.com/drupal-content-management-system-6-x-series-review/. 
  73. Buytaert, Dries (2006-05-26). "Backward Compatibility". http://buytaert.net/backward-compatibility. Retrieved 2009-04-08. 
  74. Buytaert, Dries (2006-07-27). "The pain before the pay-off". http://buytaert.net/the-pain-before-the-payoff. Retrieved 2009-04-08. 
  75. Drupal's Upgrade Instructions (end-user)
  76. "Joomla 1.5 & Drupal 6.1 Performance Comparison". http://www.alldrupalthemes.com/blog/joomla-15-drupal-61-performance-comparison.html. 
  77. "Is Drupal Slow & Bloated?". http://www.nixer.org/is-drupal-slow-bloated. 
  78. "Is Drupal the right tool for the job?". http://drupal.org/node/346217. 
  79. "Authenticated User Page Caching (Authcache)". drupal.org. http://drupal.org/project/authcache. Retrieved 2009-09-23. 
  80. Buytaert, Dries (2006-08-11). "Drupal vs Joomla performance". http://buytaert.net/drupal-vs-joomla-performance. Retrieved 2009-05-20. 
  81. "Speed up a Drupal web site by enabling MySQL query caching". nadeausoftware.com. 2007-03-07. http://nadeausoftware.com/articles/2007/03/speed_drupal_web_site_enabling_mysql_query_caching. Retrieved 2009-06-21. 
  82. Book on Drupal Performance & Scalability
  83. "Caching in Drupal 6". drupal.org. 2008-07-28. http://drupal.org/node/288488. Retrieved 2009-06-21. 
  84. "Drupal 6 vs Drupal 7 performance and comments vs nodes". CivicActions.com. 2009-05-19. http://civicactions.com/blog/2009/may/19/drupal_6_vs_drupal_7_performance_and_comments_vs_nodes. Retrieved 2009-06-21. 
  85. "Drupal on the rise in government with ALRC website win". computerworld.com.au. http://www.computerworld.com.au/article/358764/drupal_rise_government_alrc_website_win/?eid=-255. Retrieved 2010-08-30. 
  86. http://www.london.gov.uk/blog/100213
  87. Press Release: Lullabot, Drupal, and MTV UK
  88. "Thoughts on the Whitehouse.gov switch to Drupal". Oreilly. http://radar.oreilly.com/2009/10/whitehouse-switch-drupal-opensource.html. Retrieved 2009-11-27. 
  89. "WhiteHouse.gov Goes Drupal". TechPresident. http://techpresident.com/blog-entry/whitehousegov-goes-drupal. Retrieved 2009-11-27. 
  90. "Case Study: United Nations World Food Programme (WFP.org)". Phase2 Technology. http://www.phase2technology.com/project/world-food-programme-wfporg-cms. Retrieved 2009-11-27. 

External links