
Objective: We will be creating a simple blog listing page.

It’s not so much which model is right, or wrong, but rather which fits the given need. These challenges have bred a number of other architectural philosophies, such as ‘Progressively Decoupling’, which looks to sort responsibilities and maximize benefits of using Drupal while still providing decoupled components and services to the front end. If the responsibility for layout and content storage are in your data source, and your data display also implies layout, then it’s important to determine which has authority. These issues are not a ‘Drupal’ issue so much as a decoupling issue. From there, responsibility for business logic must be split out, and sometimes duplicated, between applications. Decoupled apps can’t generally ‘preview’ unpublished content, layout control becomes tricky, and apps can compete for control of ‘routing’ the user to display the correct content.įully decoupled often implies that the frontend app is taking responsibility for the initial request.

Since headless Drupal separates how something ‘looks’ from how content is managed, certain out of the box Drupal functionality is lost or inhibited. Because you are separating responsibilities so decisively, gray areas get… grayer? When should you use headless Drupal?Ī fully decoupled approach sounds great in theory and can provide tremendous upside for the right type of application, but it certainly isn’t a one-size fit all model. This is where it gets complicated, and if you just wanted to find out what ‘Headless Drupal’ was, this is where you should probably stop. This functionality is a powerful addition to Drupal 8 core. So by making Drupal “headless” we really mean that the Drupal site isn’t styled for an end user, but it provides all the content for other applications or sites to consume and style on their own. Additional publishing features often include revision history, authorship workflows, and media libraries. Out of the box, Drupal gives you the ability to revise, preview, tag, and relate content. Drupal is helpful when creating a simple ‘article’ content type with a title, body, author and image and can also handle some something more complicated, like a recurring event with registrations, limited seat capacity and attendance tracking. Traditionally, Drupal’s strength has been its ability to define, manage and display content. Drupal offered a progressive solution to the problem of decentralized content. When Drupal 8 was released, this ability was built into core.

This decentralizing of content display motivated the industry to create storage for holding and managing content. During Drupal 7’s tenure, the community made contributions to fill the void left by new frontend frameworks. With the advent of JavaScript frontend frameworks like Angular, Ember and React, the void for “headless” (or “decoupled”) content management systems has grown. Early on this meant connecting website data to display on native phone applications, or communicating with enterprise business hardware and software. This removes the “head” from Drupal and decouples it from CMS’s control.Īs the web has evolved, the desire to control and display content across different devices and platforms has increased. The front end framework is responsible for what to display, and requests data from Drupal as needed. In short, the phrase “headless Drupal” applies to a site with a completely separate front end framework from the Drupal backend storing the data. The goal of this article is to break down what “headless Drupal” (or “fully decoupled Drupal”) is, and what it means for your business.
