Open Source as of:
Current major release:
Originally developed as a community platform for a student dorm, Drupal has become more of an application framework than just 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. 38 % of the fortune 50 websites are built with Drupal - it 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 search, a contact page, blogging, and 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 systems 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 500 Drupal installation profiles and distributions. These are tailored to solve typical use cases like eCommerce, 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 create or change a piece of content, an editor navigates to the appropriate administrative page, 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. 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 need one of Drupal’s most popular modules, Views (which will be in the Drupal core as of Drupal 8). It is a user interface for “clicking together” database queries, like the one we just described. Additional modules make it possible to do an incredible range of things like including create 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. 181 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 almost never used to 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 three annual DrupalCons on three continents), there are hundreds of regional and national “Camps” (smaller, more locally- or theme-focused conferences like design camps) and code sprints (also usually focusing on a theme, for example Drupal core, multilingual, or search), and countless user group meetings around the world every year.
Drupal specialists 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.