August 14, 2018

Applications of Drupal

This is the fourth article in our introduction to enterprise Drupal. Previously we've looked at enterprise Drupal, an executive summary of Drupal, and taken a deeper dive into how Drupal's flexibility has allowed it to be used in very diverse contexts. Armed with an overview of Drupal’s characteristics and some of its key features, we now have a better context to look at some ways in which it is being applied and understand the diversity on offer.

Drupal as a CMS

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 pub‐ lishers and media companies.

However, Drupal was originally created as a bulletin board for students to communicate and has 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 remit of a web CMS as it is commonly understood in enterprise organisations.

Drupal as an Intranet Solution

Due to its roots in social publishing, Drupal is also well-suited to Intranet applications. Some notable early adopters were Nomura bank and Capgemini, who first used Drupal for their internal global knowledge base across its international divisions before deciding to offer it as a solution to some of their large clients.

Using Drupal for Web Applications

Drupal is increasingly understood as an application framework due to its flexibility. For example, we have recently encountered it being used very successfully as a combined expert system and knowledge-base for the call centre of a major insurer, who have adopted it as an internal application framework and are now developing a number of new applications.

Drupal is unusual in being a bit of a hybrid between a product and a development framework in many ways. One way of looking at it is that it is lower level than a product but higher level than a framework. This can be quite difficult to grasp and often causes misunderstandings and difficulties where it is either treated as suitable for fully bespoke software practises (weI would recommend against this) or met with frustration when it turns out that a solution has to be assembled, configured, customised, and tuned.

Drupal as a Social Platform

As we’ve seen, Drupal started life as a bulletin board system. Many of the huge number of modules are focussed on creating community sites. The charity Macmillan Cancer wanted to create something along the lines of Facebook’s groups for their existing online communities of sufferers, carers, and fundraisers, but they needed to do this in-house due to the surrounding legal, security, and privacy issues. They achieved this, creating a richly featured and fully branded experience, simply by carefully assembling existing components from the contributed module space.

Another approach now might be to use Acquia’s free Drupal Commons distribution, which packages components together into a preconfigured ‘out of the box’ system which gives similar functionality (and more) of an expensive commercial offering like Jive. Commons users include Intel, Twitter, eBay, and Mercedes.

Drupal as a Commerce Solution

Again surprisingly to enterprise and in keeping with the full solution stack theme, Drupal can be extended to provide commerce capabilities. This is a large topic which we talk about in a separate article.

Drupal as a a Read/Write Web Services Provider and Consumer

Using modules such as Services and Clients, Drupal can provide authenticated read/write web service access to all of its functionality. An early use of this was on the Adobe Flash developer forums which used Flash for presentation and Drupal for their backend. A more contemporary usage is with Drupal as a backend for mobile apps: Drupanium is a distribution for connecting Drupal and Titanium (and there are also examples using Phonegap). A number of sites simply use web services to decouple content delivery - for example, NBC’s Tonight Show.

Summary

Drupal is highly flexible, enjoys wide adoption in enterprise, across a very broad set of use cases from simple publishing to complex applications. We have also seen that this necessitates a certain degree of complexity and specialized expertise and guid‐ance is essential when customizing or integrating at an enterprise level, as one might expect. Hopefully you now have a better understanding of the nature of our Drupal elephant.