Acquia CTO defines ‘decoupled’ Drupal

Many open source enthusiasts (practitioners, paragons, partisans, preachers and protagonists) will have heard of Drupal.

For those that haven’t, Drupal is an open source content management framework, as well as an extended community of developers, maintainers and business supporters.

Acquia Inc. is a software-as-a-service firm that provides enterprise-grade hosting, support and services for Drupal.

So that’s Drupal, but what is Decoupled Drupal?

Acquia CTO and founder of Drupal, Dries Buytaert, has posted a blog at the start of the year which explains how Decoupled Drupal works and the ways in which businesses can use it.

Here’s a snapshot of what Buytaert is saying and you can read more at the above linked blog mention.

Three levels of coupling

Traditional Drupal architecture (coupled Drupal) is a monolithic implementation where Drupal maintains control over all front-end and back-end concerns. The ‘coupling’ in this sense, is Drupal’s hard-wired control relationships at both front and back.

Buytaert says that traditionally coupled traditional Drupal is ideal for traditional websites, that is – it will offer fast deployment (time to market) options and alleviate a content creator’s reliance on front-end developers.

Detailing a second approach, Buytaert says progressively decoupled Drupal offers an approach that strikes a balance between editorial needs like layout management and developer desires to use more JavaScript, by interpolating a JavaScript framework into the Drupal front end.

“Progressive decoupling is in fact a spectrum, whether it is Drupal only rendering the page’s shell and populating initial data — or JavaScript only controlling explicitly delineated sections of the page. Progressively decoupled Drupal hasn’t taken the world by storm, likely because it’s a mixture of both JavaScript and PHP and doesn’t take advantage of server-side rendering via Node.js. Nonetheless, it’s an attractive approach because it makes more compromises and offers features important to both editors and developers,” wrote Buytaert.

Last but not least, Buytaert comes to fully decoupled Drupal and says that this model has gained more attention in recent years as the growth of JavaScript continues with no signs of slowing down.

“This involves a complete separation of concerns between the structure of your content and its presentation. In short, it’s like treating your web experience as just another application that needs to be served content. Even though it results in a loss of some out-of-the-box CMS functionality such as in-place editing or content preview, it’s been popular because of the freedom and control it offers front-end developers,” noted Buytaert.

Horses for courses

Buytaert says that the most critical to any decision to decouple Drupal is the must-have feature set desired for both editors and developers.

He asserts that in order to determine whether you should use a decoupled Drupal, it’s important to isolate which features are most valuable for your editors and developers.

Unfortunately he concludes, it’s a horses for courses situation and there is are no black-and-white answers here; every project will have to weigh the different pros and cons.

Buytaert: Drupal provides a spectrum of architectural possibilities tuned to the diverse needs of different organisations.