Open Source as of:
Current major release:
Originally developed as a community platform for a student dorm, Drupal has become more of a web application framework than just a CMS, thanks to its large and active developer community. It fulfils the broadest range of requirements, combining flexibility, scalability, accessibility, and today’s latest web technologies. Drupal is the third most used CMS in the world.
Less is more
The biggest difference between Drupal and other content management systems is the reduction of its core to the bare essentials. There is only a handful of modules – mostly deactivated by default – in a standard installation. These activate functions like a search function or RSS feeds. The core functionality gives clues both about Drupal’s origins and its strengths: community, collaboration, and user generated content.
Every web project is different. Even CMS with a great deal of out-of-the-box functionality don’t meet everyone’s or every project’s needs. Drupal’s design takes this into account and goes for maximum reduction of means in its core. All additional functionality is added to Drupal via plug-in modules. In the Drupal community, there’s a saying: “There’s a module for that!” and it’s usually true. Among the thousands of well-documented contributed modules compatible with the current version, you will find almost anything you need. This is one of the strengths of a large open source community: developers’ individual efforts are voluntarily submitted to the project’s central platform, where they are available to anyone as well as maintained and improved by the community.
Those who want to save themselves the time of choosing, installing, and configuring modules can choose to start their project with one of more than 140 Drupal installation profiles and distributions. These are tailored to solve typical use cases like e-commerce, event organisation, school or academic department websites, intranet, publishing of various kinds, and more. They are free and freely available, just like their constituent components.
Drupal profits four ways from its approach of starting only with what is necessary. First, performance: The slender base installation uses few resources. Second, simplicity: Administrators and editors only see functionality and controls that are actually in use. Third, efficiency: You must only maintain and upgrade what is in use whilst the system remains robust and secure. Fourth, scalability: The system can grow in size and expand in functionality as requirements and user base grow and change.
Rethinking and lateral thinking
Drupal’s operating concept is different than many other CMS’s. Drupal does not have strictly divided front- and back-ends. It has instead a highly granular access system that makes links and menus available to anonymous or authenticated users based on assigned user roles and permissions. Administrators configure the system and make permissions available based on the purpose and workflow of the site, not the other way around. Administrative and editorial pages can be viewed in an administrative design (“theme” in Drupal), or these pages can be set to appear in the same theme as the public front-end of the site with a simple click.
To change a piece of content, an editor will find an "edit" button that either allows "quick edit" text elements right in place or open an edit form which makes all necessary functionality available (edit, restore previous version, etc), thanks to the permissions assigned to the editorial user role.
Drupal’s fundamental content strategy is reusability. Those who are used to strict, hierarchical organisation of site content will need to rethink things when using Drupal. Adding a press release usually means you won't have to bother about placing the content. It will appear in the press releases list that has previously been configured with a few clicks and has been placed on the press landing page.
Nonetheless, any piece of content can also have its own menu item, but it will only be created when the content itself is created. For those of you who can’t live without your menu tree, you can actually have that, too, since … There’s a module for that!
Freedom and flexibility
Drupal assumes that any content can appear in more than one place. Content creation forms always let you define a summary text, which is then used as a teaser on overview pages. Out-of-the-box Drupal can create chronological or keyword based content compilations. Additional modules allow you to specify compilations based on any conceivable criteria.
One of Drupal’s core functionalities is taxonomy (tagging). Taxonomy terms within (flat or hierarchical) vocabularies can be associated with specific content or whole types of content, making it possible to create and filter compilations of content (or users) with even more flexibility. Content types themselves can be constructed to be whatever you need by simply selecting more fields for the content creation form.
For example: A content type, “publication”, is created with the fields: title, sub-header, author, date of publication, summary, and type of publication. The author field is not a free text field, but a reference to another content type, “author”, which itself is made up of other information, including a photo and biography. To find a particular publication, you can click through the various overviews: all publications from 2010, all posts by John Smith, recent publications of the type “magazine article”, and so on. Overviews and compilations can also be created using hidden fields.
To do all this, you use Views one of Drupal’s most popular core modules. It is a user interface for “click-creating” database queries, like the one we just described. Additional modules make it possible to do an incredible range of things like including slideshows or find and display related content. Using the example above: For showing an author biography contained within a specific publication.
The possibilities for automation and content curation with this technology are immense. You can, for example, create an “archive” list for content older than a specified time that requires no additional editorial input beyond publishing the content itself, since the system knows when something was published. It is even possible to create dynamic filter functions that let site visitors themselves sort through and compile content compilations based on their own criteria.
One of Drupal’s strengths is its international popularity. Drupalists from around the world take advantage of a central translation platform that makes it possible – and easy – to expand and improve Drupal’s user interface. Some 65 well-maintained languages are available and the Drupal project likes to point out that it recognises 228 countries, more than even the international community does.
Since there is no division between front- and back-end in Drupal, every language provides a translated administrative and editorial interface. Multilingual websites even allow content authors and translators to work in multiple, different interface languages, according to their needs.
Anyone using Drupal is invited to contribute/enhance translations via the central localization platform. The current state can be re-integrated into the own installation immediately.
Use Cases and Dissemination
Drupal is rarely used to just deliver static websites, though it is capable of doing just that, too. It is typical for Drupal implementations to be demanding, highly dynamic platforms with a high degree of user-generated content. Drupal is popular for government and administrative websites directed at citizen participation, media concerns, NGOs, and Universities.
This strength is shown in the implementation of the Drupal project’s own infrastructure: Unlike some other projects, Drupal.org does not rely on external forums or ticketing systems; it is entirely built on Drupal itself.
A special community
When getting to know Drupal, you will meet its exceptionally open and welcoming community. Alongside multiple international conferences (currently two annual DrupalCons on two continents), there are hundreds of regional and national “Camps” (smaller, more focused conferences), contribution events (like the Drupal Global Contribution Day), and countless user group meetings around the world every year.
It is remarkable that the european community organized an in-place european Drupal conference almost complete based on volunteer work when the DrupalCon Europe 2018 was canceled by the Drupal Association (due to a re-organization of the format).
The recognition that mutual help and support are the best way to advance open source projects has also created a culture of numerous screencasts, podcasts and tutorials. Drupal specialists of many professions are happy to help on all major discussion forums and social media platforms.
Thanks to its database abstraction layer, Drupal can work with most standard databases, including MySQL, PostgreSQL, and SQLite. Plug-in modules allow connections with MS-SQL and Oracle databases. For search functionality beyond that offered in Drupal core – including faceted and federated search – server-side Apache Solr or Elastic Search are often used on Drupal sites. There’s a module for that, too, of course!
Version 8, released in November 2015 and introducing semantic versioning, includes significant portions of the Symfony 2 framework. This facilitates configuration management (continuous integration) by large. The Symfony depedency will shorten the "lifetime" of the current major release. While the last two major releases have been supported for around eight years each, "end of lifetime" (EOL) of Drupal 8 will be reachend in November 2020. But the core team has taken precautions to amend this circumstance. They promise that updating from Drupal 8 to version 9 will take no more effort than updating to a minor release. Security updates for versions 7 and 8 will be issued until November 2021.