Drupal
   HOME

TheInfoList



OR:

Drupal () is a free and open-source web content management system (CMS) written in PHP and distributed under the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
. Drupal provides an open-source back-end framework for at least 14% of the top 10,000
websites A website (also written as a web site) is a collection of web pages and related content that is identified by a common domain name and published on at least one web server. Examples of notable websites are Google, Facebook, Amazon, and Wiki ...
worldwide and 1.2% of the top 10 million websites—ranging from personal
blog A blog (a Clipping (morphology), truncation of "weblog") is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in Reverse ...
s to corporate, political, and government sites. Systems also use Drupal for
knowledge management Knowledge management (KM) is the collection of methods relating to creating, sharing, using and managing the knowledge and information of an organization. It refers to a multidisciplinary approach to achieve organisational objectives by making ...
and for business collaboration. , the Drupal community had more than 1.39 million members, including 124,000 users actively contributing, resulting in more than 48,300 free modules that extend and customize Drupal functionality, over 3,000 free themes that change the look and feel of Drupal, and at least 1,400 free distributions that allow users to quickly and easily set up a complex, use-specific Drupal in fewer steps. The standard release of Drupal, known as Drupal core, contains basic features common to content-management systems. These include user account registration and maintenance, menu management, RSS feeds, taxonomy, page layout customization, and system administration. The Drupal core installation can serve as a simple website, a single- or multi-user blog, an
Internet forum An Internet forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are often longer than one line of text, and are at least tempora ...
, or a community website providing for
user-generated content User-generated content (UGC), alternatively known as user-created content (UCC), is any form of content, such as images, videos, text, testimonials, and audio, that has been posted by users on online platforms such as social media, discussion f ...
. Drupal also describes itself as a Web application framework. When compared with notable frameworks, Drupal meets most of the generally accepted feature requirements for such web frameworks. Although Drupal offers a sophisticated API for developers, basic Web-site installation and administration of the framework require no programming skills. Drupal runs on any
computing platform A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying so ...
that supports both a web server capable of running PHP and a
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases ...
to store content and configuration.


History

Drupal was originally written by
Dries Buytaert Dries Buytaert (born 19 November 1978)Curriculum Vitae
is ...
as a message board for his friends to communicate in their dorms while working on his Master's degree at the University of Antwerp. After graduation, Buytaert moved the site to the public internet and named it Drop.org. Between 2003 and 2008 Dries Buytaert worked towards a PhD degree at Ghent_University. The name ''Drupal'' represents an English rendering of the Dutch word '' druppel'', which means "drop" (as in a water droplet). The name came from the now-defunct Drop.org, whose code slowly evolved into Drupal. Buytaert wanted to call the site "dorp" (Dutch for "village") for its community aspects, but mistyped it when checking the domain name and thought the error sounded better. Drupal became an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized so ...
project in 2001. Interest in Drupal got a significant boost in 2003 when it helped build "DeanSpace" for Howard Dean, one of the candidates in the U.S. Democratic Party's primary campaign for the
2004 U.S. presidential election The 2004 United States presidential election was the 55th quadrennial presidential election, held on Tuesday, November 2, 2004. The Republican ticket of incumbent President George W. Bush and his running mate incumbent Vice President Dick Che ...
. DeanSpace used open-source sharing of Drupal to support a decentralized network of approximately 50 disparate, unofficial pro-Dean websites that allowed users to communicate directly with one another as well as with the campaign. After Dean ended his campaign, members of his Web team continued to pursue their interest in developing a Web platform that could aid political activism by launching CivicSpace Labs in July 2004, "...the first company with full-time employees that was developing and distributing Drupal technology." Other companies began to also specialize in Drupal development.Samantha M. Shapiro
"The Dean Connection"
''
The New York Times ''The New York Times'' (''the Times'', ''NYT'', or the Gray Lady) is a daily newspaper based in New York City with a worldwide readership reported in 2020 to comprise a declining 840,000 paid print subscribers, and a growing 6 million paid ...
'' December 7, 2003, accessed May 27, 2012.
By 2013 the Drupal website listed hundreds of vendors that offered Drupal-related services. , Drupal is developed by a community. From July 2007 to June 2008, the Drupal.org site provided more than 1.4 million downloads of Drupal software, an increase of approximately 125% from the previous year. more than 1,180,000 sites use Drupal. These include hundreds of well-known organizations, including corporations, media and publishing companies, governments, non-profits, schools, and individuals. Drupal has won several Packt Open Source CMS Awards and won the
Webware 100 A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
three times in a row. Drupal 6 was released on February 13, 2008, on March 5, 2009, Buytaert announced a code freeze for Drupal 7 for September 1, 2009. Drupal 7 was released on January 5, 2011, with release parties in several countries. After that, maintenance on Drupal 5 stopped, with only Drupal 7 and Drupal 6 maintained. Drupal 7's end-of-life was scheduled for November 2021, but given the impact of COVID-19, and the continuing wide usage, the end of life has been pushed back until November 1, 2023, to be reviewed annually. On October 7, 2015, Drupal 8 first release candidate (rc1) was announced. Drupal 8 includes new features and improvements for both users and developers, including: a revamped user interface; WYSIWYG and in-place editing; improved mobile support; added and improved key contributed modules including Views, Date, and Entity Reference; introduced a new object-oriented backend leveraging
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT license. Goal Symfony aims to speed up the cre ...
components; revamped configuration management; and improved multilingual support. Drupal 8 rc1 is the collective work of over 3,200 core contributors. Drupal 8 only allows clients to use local images and utilizes only filtered HTML designs. In October 2022, Drupal released an open source headless CMS accelerator, allowing the frontend to be managed outside of the core system.


Core

In the Drupal community, "core" refers to the collaboratively built codebase that can be extended through contributory modules and—for versions prior to Drupal 8—is kept outside of the "sites" folder of a Drupal installation. (Starting with version 8, core is kept in its own 'core' sub-directory.) Drupal core is the stock element of Drupal. Common Drupal-specific libraries, as well as the bootstrap process, are defined as Drupal core; all other functionality is defined as Drupal modules including the system module itself. In a Drupal website's default configuration, authors can contribute content as either registered or anonymous users (at the discretion of the administrator). This content is accessible to web visitors through a variety of selectable criteria. As of Drupal 8, Drupal has adopted some
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT license. Goal Symfony aims to speed up the cre ...
libraries into Drupal core. Core modules also includes a hierarchical taxonomy system, which lets developers categorize content or tagged with key words for easier access. Drupal maintains a detailed
changelog A changelog is a log or record of all notable changes made to a project. The project is often a website or software project, and the changelog usually includes records of changes such as bug fixes, new features, etc. Some open-source projects in ...
of core feature updates by version.


Core modules

Drupal core includes modules that can be enabled by the administrator to extend the functionality of the core website. The core Drupal distribution provides a number of features, including:


Core themes

Drupal includes core themes, which customize the "look and feel" of Drupal sites, for example, Garland and Bartik. The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes via a browser interface.


Localization

As of September 2022, Drupal is available in 100 languages including English (the default). Support is included for right-to-left languages such as
Arabic Arabic (, ' ; , ' or ) is a Semitic language spoken primarily across the Arab world.Semitic languages: an international handbook / edited by Stefan Weninger; in collaboration with Geoffrey Khan, Michael P. Streck, Janet C. E.Watson; Walter ...
, Persian, and
Hebrew Hebrew (; ; ) is a Northwest Semitic language of the Afroasiatic language family. Historically, it is one of the spoken languages of the Israelites and their longest-surviving descendants, the Jews and Samaritans. It was largely preserved ...
. Drupal localization is built on top of
gettext In computing, gettext is an internationalization and localization (i18n and l10n) system commonly used for writing multilingual programs on Unix-like computer operating systems. One of the main benefits of gettext is that it separates progr ...
, the GNU
internationalization and localization In computing, internationalization and localization (American) or internationalisation and localisation (British English), often abbreviated i18n and L10n, are means of adapting computer software to different languages, regional peculiarities and ...
(i18n) library.


Auto-update notification

Drupal can automatically notify the administrator about new versions of modules, themes, or the Drupal core. It's important to update quickly after security updates are released. Before updating it is highly recommended to take backup of core, modules, theme, files and database. If there is any error shown after update or if the new update is not compatible with a module, then it can be quickly replaced by backup. There are several backup modules available in Drupal. On 15 October 2014, an SQL injection vulnerability was announced and update released. Two weeks later the Drupal security team released an advisory explaining that everyone should act under the assumption that any site not updated within 7 hours of the announcement were compromised by automated attacks. Thus, it can be extremely important to apply these updates quickly and usage of a tool like
drush Drush (DRUpal SHell) is a computer software shell-based application used to control, manipulate, and administer Drupal websites. On the surface, drush is a tool for updating site modules, however Drush has a more comprehensive list of features. ...
to make this process easier is highly recommended.


Database abstraction

Prior to version 7, Drupal had functions that performed tasks related to databases, such as SQL query cleansing, multi-site table name prefixing, and generating proper SQL queries. In particular, Drupal 6 introduced an abstraction layer that allowed programmers to create SQL queries without writing SQL. Drupal 9 extends the data abstraction layer so that a programmer no longer needs to write SQL queries as text strings. It uses PHP Data Objects to abstract the database.
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
has written a database driver for their SQL Server. Drupal 7 supports the file-based
SQLite SQLite (, ) is a database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it belongs to the family of embedded databases. It is the mo ...
database engine, which is part of the standard PHP distribution.


Windows development

With Drupal 9's new database abstraction layer, and ability to run on the Windows web server
IIS IIS may refer to: Organizations * Indian Information Service, of the Government of India * Institute of Information Scientists, a professional association now merged into the Chartered Institute of Library and Information Professionals, UK * Inst ...
, it is now easier for Windows developers to participate in the Drupal community. A group on Drupal.org is dedicated to Windows issues.


Accessibility

Since the release of Drupal 7, Web accessibility has been constantly improving in the Drupal community. Drupal is a good framework for building sites accessible to people with disabilities, because many of the best practices have been incorporated into Drupal Core. Drupal 8 saw many improvements from the Authoring Tool Accessibility Guidelines (ATAG) 2.0 guidelines which support both an accessible authoring environment as well as support for authors to produce more accessible content. The accessibility team is carrying on the work of identifying and resolving accessibility barriers and raising awareness within the community. Drupal 8 has good semantic support for rich web applications through WAI-ARIA. There have been many improvements to both the visitor and administrator sides of Drupal, especially: * Drag and drop functionality * Improved color contrast and intensity * Adding skip navigation to core themes * Adding labels by default for input forms * Fixing CSS display:none with consistent methods for hiding and exposing text on focus * Adding support for ARIA Live Regions with Drupal.announce * Adding a TabbingManager to support better keyboard navigation The community also added an accessibility gate for core issues in Drupal 8.


Extending the core

Drupal core is
modular Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a s ...
, defining a system of hooks and
callbacks In computer programming, a callback or callback function is any reference to executable code that is passed as an argument to another piece of code; that code is expected to ''call back'' (execute) the callback function as part of its job. Thi ...
, which are accessed internally via an API. This design allows third-party contributed
modules Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a s ...
and
themes Theme or themes may refer to: * Theme (arts), the unifying subject or idea of the type of visual work * Theme (Byzantine district), an administrative district in the Byzantine Empire governed by a Strategos * Theme (computing), a custom graphical ...
to extend or override Drupal's default behaviors without changing Drupal core's code. Drupal isolates core files from contributed modules and themes. This increases flexibility and security and allows administrators to cleanly upgrade to new releases without overwriting their site's customizations. The Drupal community has the saying, "Never hack core," a strong recommendation that site developers do not change core files.


Modules

Contributed modules offer such additional or alternate features as image galleries, custom content types and content listings,
WYSIWYG In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
editors, private messaging, third-party integration tools, integrating with BPM portals, and more. the Drupal website lists more than 44,000 free
modules Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a s ...
. Some of the most commonly used contributed modules include: * Content Construction Kit (CCK): allows site administrators to dynamically create content types by extending the database schema. "Content type" describes the kind of information. Content types include, but are not limited to, events, invitations, reviews, articles, and products. The CCK Fields API is in Drupal core in Drupal 7. * Views: facilitates the retrieval and presentation, through a database abstraction system, of content to site visitors. Basic views functionality has been added to core in Drupal 8. * Panels: drag and drop layout manager that allows site administrators to visually design their site. * Rules: conditionally executed actions based on recurring events. * Features: enables the capture and management of features (entities, views, fields, configuration, etc.) into custom modules. * Context: allows definition of sections of site where Drupal features can be conditionally activated * Media: makes photo uploading and media management easier * Services: provides an API for Drupal. *
Organic Groups Mailing List OG Mailinglist (Organic Groups Mailing List) is a module that turns Drupal into a listserv, allowing it to run multiple electronic mailing lists. OG Mailinglist is coded primarily in PHP and requires the Organic Groups modules as well as Phpmail ...


Themes

, there are more than 2,800 free community-contributed themes. 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 are written in the PHPTemplate engine or, to a lesser extent, the XTemplate engine. Some templates use hard-coded PHP. Drupal 8 and future versions of Drupal integrate the
Twig A twig is a thin, often short, branch of a tree or bush. The buds on the twig are an important diagnostic characteristic, as are the abscission scars where the leaves have fallen away. The color, texture, and patterning of the twig bark ar ...
templating engine. The inclusion of the PHPTemplate and XTemplate engines in Drupal addressed user concerns about flexibility and complexity. The Drupal theming system utilizes a template engine to further separate
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
/
CSS Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technolo ...
from PHP. A popular Drupal contributed module called 'Devel' provides GUI information to developers and themers about the page build. Community-contributed themes at the Drupal website are released under a free GPL license.


Distributions

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, a distribution defines a packaged version of Drupal that upon installation, provides a website or application built for a specific purpose. The distributions offer the benefit of a new Drupal site without having to manually seek out and install third-party contributed modules or adjust configuration settings. They are collections of modules, themes, and associated configuration settings that prepare Drupal for custom operation. For example, a distribution could configure Drupal as a "brochure" site rather than a news site or
online store Online shopping is a form of electronic commerce which allows consumers to directly buy goods or services from a seller over the Internet using a web browser or a mobile app. Consumers find a product of interest by visiting the website of the r ...
.


Architecture

Drupal is based on the Presentation Abstraction Control architecture, or PAC. The menu system acts as the Controller. It accepts input via a single source ( HTTP GET and POST), routes requests to the appropriate helper functions, pulls data out of the Abstraction (nodes and, from Drupal 5 onwards, forms), and then pushes it through a filter to get a Presentation of it (the theme system). It even has multiple, parallel PAC agents in the form of blocks that push data out to a common canvas (page.tpl.php).


Community

Drupal.org has a large community of users and developers who provide active
community A community is a social unit (a group of living things) with commonality such as place, norms, religion, values, customs, or identity. Communities may share a sense of place situated in a given geographical area (e.g. a country, village, t ...
support by coming up with new updates to help improve the functionality of Drupal. more than 105,400 users are actively contributing. The semiannual DrupalCon conference alternates between North America, Europe and Asia. Attendance at DrupalCon grew from 500 at Szeged in August 2008, to over 3,700 people at Austin, Texas in June, 2014. Smaller events, known as "Drupal Camps" or DrupalCamp, occur throughout the year all over the world. The annual Florida DrupalCamp brings users together for Coding for a Cause that benefits a local nonprofit organization, as does the annual GLADCamp ( Greater Los Angeles Drupal Camp) event, Coders with a Cause. The Drupal community also organizes professional and semi-professional gatherings called meetups at a large number of venues around the world. There are over 30 national communities around drupal.org offering language-specific support.


Users

Notable Drupal users include: * NBC * Taboola *
Patch Patch or Patches may refer to: Arts, entertainment and media * Patch Johnson, a fictional character from ''Days of Our Lives'' * Patch (''My Little Pony''), a toy * "Patches" (Dickey Lee song), 1962 * "Patches" (Chairmen of the Board song ...
*
We the People The Preamble to the United States Constitution, beginning with the words We the People, is a brief introductory statement of the Constitution's fundamental purposes and guiding principles. Courts have referred to it as reliable evidence o ...
* Tesla *
Oxford Oxford () is a city in England. It is the county town and only city of Oxfordshire. In 2020, its population was estimated at 151,584. It is north-west of London, south-east of Birmingham and north-east of Bristol. The city is home to the ...
*
NASA The National Aeronautics and Space Administration (NASA ) is an independent agency of the US federal government responsible for the civil space program, aeronautics research, and space research. NASA was established in 1958, succeedin ...
*
Nokia Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finland, i ...
*
European Commission The European Commission (EC) is the executive of the European Union (EU). It operates as a cabinet government, with 27 members of the Commission (informally known as "Commissioners") headed by a President. It includes an administrative body ...
* UNICEF * Wish * Qualcomm * AMD ( Advanced Micro Devices) * Rainforest Alliance * VISA *
Olympic Games The modern Olympic Games or Olympics (french: link=no, Jeux olympiques) are the leading international sporting events featuring summer and winter sports competitions in which thousands of athletes from around the world participate in a multi ...
*
Smithsonian Institution The Smithsonian Institution ( ), or simply the Smithsonian, is a group of museums and education and research centers, the largest such complex in the world, created by the U.S. government "for the increase and diffusion of knowledge". Found ...
*
Universal Music Group Universal Music Group N.V. (often abbreviated as UMG and referred to as just Universal Music) is a Dutch–American multinational music corporation under Dutch law. UMG's corporate headquarters are located in Hilversum, Netherlands and its ...
*
Pfizer Pfizer Inc. ( ) is an American multinational pharmaceutical and biotechnology corporation headquartered on 42nd Street in Manhattan, New York City. The company was established in 1849 in New York by two German entrepreneurs, Charles Pfize ...
*
Johnson & Johnson Johnson & Johnson (J&J) is an American multinational corporation founded in 1886 that develops medical devices, pharmaceuticals, and consumer packaged goods. Its common stock is a component of the Dow Jones Industrial Average and the company i ...
*
Princeton University Princeton University is a private research university in Princeton, New Jersey. Founded in 1746 in Elizabeth as the College of New Jersey, Princeton is the fourth-oldest institution of higher education in the United States and one of the ...
*
Columbia University Columbia University (also known as Columbia, and officially as Columbia University in the City of New York) is a private research university in New York City. Established in 1754 as King's College on the grounds of Trinity Church in Manhatt ...
*
Emmy Awards The Emmy Awards, or Emmys, are an extensive range of awards for artistic and technical merit for the American and international television industry. A number of annual Emmy Award ceremonies are held throughout the calendar year, each with the ...


Security

Drupal's policy is to announce the nature of each security vulnerability once the fix is released. Administrators of Drupal sites can be automatically notified of these new releases via the Update Status module (Drupal 6) or via the Update Manager (Drupal 7). Drupal maintains a security announcement mailing list, a history of all security advisories, a security team home page, and an RSS feed with the most recent security advisories. In mid-October 2014, Drupal issued a "highly critical" security advisory regarding an SQL injection bug in Drupal 7, also known as Drupageddon. Downloading and installing an upgrade to Drupal 7.32 fixes the vulnerability, but does not remove any backdoor installed by hackers if the site has already been compromised. Attacks began soon after the vulnerability was announced. According to the Drupal security team, where a site was not patched within hours of the announcement, it should be considered compromised and taken offline by being replaced with a static HTML page while the administrator of its server must be told that other sites on the same server may also have been compromised. To solve the problem, the site must be restored using backups from before October 15, be patched and manually updated, and anything merged from the site must be audited. In late March 2018, a patch for vulnerability CVE-2018-7600, also dubbed ''Drupalgeddon2'', was released. The underlying bug allows remote attackers without special roles or permissions to take complete control of Drupal 6, 7, and 8 sites. Drupal 6 reached end-of-life on February 24, 2016, and does not get official security updates (extended support is available from two paid Long Term Services Vendors). Starting early April, large scale automated attacks against vulnerable sites were observed, and on April 20, a high level of penetration of unpatched sites was reported. On 23 December 2019, Drupal patched an arbitrary file upload flaw. The file-upload flaw affects Drupal 8.8.x before 8.8.1 and 8.7.x before 8.7.11, and the vulnerability is listed as moderately critical by Drupal. In September 2022, Drupal announced two security advisories for severe vulnerability in Twig for users of Drupal 9.3 and 9.4. That week, Drupal also announced a patch for the S3 File System to fix an access bypass issue.


See also

* Backdrop CMS Drupal 2013 fork *
Comparison of web frameworks Two comparisons of web frameworks are available: * Comparison of JavaScript-based web frameworks (front-end) * Comparison of server-side web frameworks This is a comparison of notable web frameworks, software used to build and deploy web applic ...
* List of content management systems


References


Further reading

* Abbott/Jones (2016), Learning Drupal 8, England, Packt Publishing. * * * * * * * * * *


External links

* {{DEFAULTSORT:Drupal 2000 software Blog software Cross-platform software Free content management systems Free software programmed in PHP PHP frameworks Software using the GPL license Web frameworks Website management Web development software