Today, Drupal has grown into a highly flexible application framework, with growing adoption in enterprise across a very broad set of use cases - from simple publishing to complex applications. As Drupal’s functionality has grown over the years it is now more easily understood as a framework for assembling ambitious digital experiences.
This is somewhat unexpected, as Drupal is most commonly known as a content management system, and indeed that is its most common application, with typical users ranging from SMEs to large publishers and media companies.
However, Drupal was originally created as a bulletin board for students - with users, user profiles, commenting, and categorisation at its core. In fact, Drupal has traditionally been used as a system for content plus community, or social publishing. So ‘content’ here needs to be qualified to include rich media, custom publishing workflows, rich categorisation via taxonomy, mobile, user profiles and friends, microblogging by end users and other user generated content (UGC), groups, and social tagging.
Many of these would be outside the scope of a web CMS as it is commonly understood in enterprise organisations.
To give an idea of how Drupal has evolved, consider this timeline, by no means comprehensive, but which picks out a few features that may be more relevant for understanding where Drupal fits into the enterprise solution space.
While Drupal’s core is becoming more fully featured in Drupal 8, there is also a community-contributed set of over 23,000 components to add functionality. The diagram above demonstrates that Drupal has grown far beyond social publishing and now includes commerce, web services, and most other areas that are relevant for a general purpose digital platform. The chances are that what you want to do has already been done by somebody else, and as the saying goes: ‘there’s a module for that’
A driving force behind that is Drupal's huge community of users - where every user is a stakeholder who can either make use of what emerges; add their own features; or more commonly join together with others who are looking for some particular functionality.
Contrary to popular myth, much Drupal development is not done by coders as a hobby in their spare time, but rather by people hired to build features that offer real value to their employers.
And as Drupal has been increasingly employed in enterprise settings, we can see related features becoming incorporated. A great example of this is the Views module, a hugely powerful visual query builder and renderer which was developed to create complex landing pages for hundreds of artists at Sony Music, and which became a de facto addition to almost every Drupal site (and has now been incorporated as a core feature in Drupal 8).
Drupal's growing enterprise maturity is clearly reflected in the kind of capabilities being added. These have evolved from being very 'feature-oriented' to becoming more focused on areas such as user experience and deployment across multiple environments.
In fact it is arguably Drupal's unparalleled scope, pace of innovation, and level of flexibility which makes it harder to describe concisely and for it sometimes to be misapplied, but more on that later...