Skip to main content
ocean waves

Blog Post

The 3 C's + the 1 D of Drupal: Why Decoupled Matters

Whether you are a Digital Marketer looking to adopt Open Source and Drupal for the first time, or an Engineer, Strategist or Project Manager assigned to a Drupal project, it’s critical that you define your approach to the “3 C's" of Drupal: Core, Contrib and Custom.  This decision directly impacts the performance, scalability, and maintenance of the websites and/or other digital assets that you are powering with Drupal.

I’m excited to mention that Mediacurrent has just surpassed 45,000+ hours in Drupal 8 client work and we’ve been successful in many ways thanks to our approach to the 3C's: Develop with Core and Contrib first, use Custom only if you have to.  

But now there’s a new ingredient to add to this list of architecture considerations thanks to new technologies from Google, Facebook, very smart people in the Drupal development community, and what seems to be a limitless landscape to how to address good user experience.  And this time, it starts with a D.  We call it “Decoupled.”  

Decoupled has been in place for a few years, but the Open Source and Drupal community are really beginning to rally around it, as evidenced by more than 100 professionals gathering in NYC last weekend at 30 Rock. Their goal: to set some standards and direction on the facets of the Decoupled approach (DecoupledDevDays, held August 19 and 20).

Here’s what the modified list of the “3 C’s” looks like with Decoupled added:

3C's and a D:

  • Core:  This is what comes “out of the box” in Drupal 8. This most recent version of Drupal comes equipped with improved tools for creating and editing content, API-ready architecture to more seamlessly connect systems and configurations to make localizing and personalizing much easier than with the previous version.  If you’re like many organizations who are wrestling with the ‘when to update’ question, this tool can help.  
  • Contrib:  Contrib represents all of the great work that members of the Drupal community are accomplishing year after year.  When someone or a team in the community solves a problem for a specific use case or feature, they then have the opportunity to contribute their work back into the Drupal community, in the form of a Drupal module.  There are more than 25,000+ Contributed modules for Drupal, which is awesome!  But which one do you need?  As a general rule, you want to look for modules that are well-maintained and ready for Drupal 8. If you’re unsure, ask an expert, or take a peek at the Favorite Drupal 8 Modules from our VP of Technical Operations.
  • Custom: Put simply, Custom means custom code.  When needs go beyond what Core and Contrib can solve for, custom code can be written to accomplish the goal.  However, at Mediacurrent, we believe that you only make projects as complex as they need to be and that customized code should be used sparingly so it is easier to scale and support your website.
  • Decoupled: (definition from DecoupledDevDays.Com): Decoupled Drupal is the use of Drupal as a content service for other non-Drupal applications, whether they are in native desktop or mobile, universal JavaScript, set-top boxes, IoT devices, conversational interfaces, or other technologies.  I’ll also note with this definition that Decoupled Drupal may also be called “headless” Drupal in some circles because with Decoupled Drupal you are essentially removing the Front-end (client side) responsibility from Drupal and replacing it with great new Javascript Frameworks, such as Angular and React.  
     

Why Decoupled matters:

The Decoupled architecture was born out of demand for fast-loading applications and personalized and relevant content delivered where and when users need it. Put simply, Decoupled is aimed at effective omnichannel marketing and best-in-class user experiences that meet the expectations of your audiences - from those individuals who create the content to those individuals who consume it.
 

What are the Use Cases?

There were a host of great sessions at Decoupled Dev Days, so be sure to check them out on the YouTube channel here. For me, all of the session boiled down to helping organizations accomplish the following:

  • Performance: Pages load faster, editors can edit faster and you’re able to expose more tools for ingesting and sorting content.  
  • More UX options
  • Omnichannel: Content that is created once can then be published through any number of channels (API infrastructure).
  • Lower cost of ownership: Javascript components can be shared across channels (e.g. web and mobile).  There are great cost efficiencies in being able to build the component once, and then reuse it everywhere.
  • Resourcing: It’s fun working in Javascript! More and more developers are gravitating to this language, which opens up your talent pool.  Plus, if you have Javascript talent already in-house, you won’t have to add Drupal to their training (unless you want to, of course).
     

Can we name it with a C so it fits nicely in the 4Cs?

Probably not, however, the buzzword in the Decoupled community right now is definitely “Choice” since there are several options to choose from. Options include:

I’ll let the framework guys duke that decision out, but for more information on Fully Decoupled vs. Progressively decoupled, click here for a forum at Drupal.org.
 

What’s next?

Having been one of the first Drupal-centric agencies to implement the Decoupled architecture for both Drupal 7 and Drupal 8, Mediacurrent has a passion for helping our clients and our community make the most out of this fantastic addition to the Drupal architectural family, whether it starts with a D or a C!
 

What’s your take on Decoupled?
 

Additional Resources
5 Questions About Decoupling Drupal | Blog
Introducing Contenta: The Next Wave in Decoupled Drupal | Blog
Building REST Endpoints with Drupal 8 | Blog

Thumbnail

Meet team member, Josh Linard

In his role as VP of Sales, Josh drives ROI and integrated, cross-functional benefits for Mediacurrent’s clients and partners, leveraging 18 years of experience in web-based technology assessment, application development...

Learn more about Josh >