Return to site

Exploring Decoupled/Headless Drupal distributions while building the Schema.org Blueprints demo

March 27, 2023

The Schema.org Blueprints module provides a set of tools to create perfect data structures (Schema.org), pristine APIs (JSON:API), and great SEO (JSON-LD) within the best content authoring and administration user experience.

To demonstrate the best content authoring and administration user experience, I created a dedicated Schema.org Blueprints Demo module. The Schema.org Blueprints Demo module does a lot more than content modeling. For example, the demo switches Drupal's admin and site theme to the Gin Admin Theme with Dashboards. The Schema.org Blueprints Demo module provides a fully progressive decoupled working instance of Drupal. To build this demo, I examined a few popular decoupled Drupal distributions for ideas and inspiration.

Distributions

"Distributions provide site features and functions for a specific type of site as a single download containing Drupal core, contributed modules, themes, and pre-defined configuration. They make it possible to quickly set up a complex, use-specific site in fewer steps than if installing and configuring elements individually."

-- https://www.drupal.org/project/project_distribution

I refrain from using distributions because they can become challenging to maintain and manage. At the same time, distributions are invaluable learning resources for understanding the modules and custom code required to build a fully working instance of Drupal. I am looking forward to Drupal's Recipes initiative, which will be a modernization of Drupal's distribution system to allow site builders to assemble Drupal site features and functionality for their specific needs.

To build my Schema.org Blueprints demo, I spent hours reviewing different distribution's module selections and custom code. I am sharing what I found when comparing two very popular headless/decoupled distributions.

Contenta

Contenta is an API-First Drupal distribution. It’s all about the content.

 

One of the conclusions of DrupalCon Baltimore was that Drupal 8 has impressive tools to build a decoupled application. However, assembling all the tools together and setting them up correctly can be a little bit daunting. On top of that, once you have everything set up you need to figure out the ins and outs of your front-end project.

 

With this in mind, Contenta CMS was born to make your content happy. Contenta CMS is the response of the community to build an API-First Drupal distribution. The goals of Contenta are simple: provide a standard platform that is API ready along with demo content and example front-end applications. In summary, Contenta intends to ease the pain of using, or simply trying, decoupled Drupal.

-- https://contentacms.readthedocs.io/en/latest/ 

Contenta was first released in 2017. Contenta is a fully decoupled implementation for Drupal. It is a community maintained distribution supporting several front-end starter kits, including Gatsby, Next.js, and Vue. Contenta CMS is a fork & go solution, which means the installation profile enables some modules with default configuration; from there, the site developers are responsible for maintaining the site.

Pros

  • Minimal custom code to make slight tweaks to admin UI.
  • Easy to understand and review  module stack.
  • The admin theme is reworked to be API-First.

Cons

Contenta helped establish Drupal's ecosystem of modules and the approach for building a headless instance of Drupal. The fact that contributed modules provide most of Contenta's code base makes it easy to extract this functionality. Most organizations with experienced developers could copy most of the distributions dependencies from the profile's composer.json file with some default configuration and create their headless instance of Drupal. Contenta has stayed true to being a fork-n-go solution.

Acquia CMS

Acquia Content Management System (Acquia CMS) is an open source, composable CMS for managing digital content and experiences. It is powered by Drupal and optimized for the Acquia platform.

 

Acquia CMS consists of key Drupal modules, curated by Acquia to be best-in-class. Acquia keeps these modules updated and tested. Acquia also provides security patches and updates to Drupal as they become available, so your team does not have to.

 

Acquia CMS 2.0 introduces the new starter kit wizard. With the new starter kit wizard, you can assemble the right combination of modules that you need for your use case, be that traditional Drupal, low-code or headless. You can also add our content model and demo content.

 

Unlike Acquia CMS 1.0, Acquia CMS 2.0 is not a Drupal installation profile. Acquia CMS 2.0 is a set of post-installation modules setup, and is configured by the Acquia CMS starter kit system. Drupal is installed from the Drupal core Minimal installation profile.

-- https://docs.acquia.com/acquia-cms/ 

Acquia has built and maintained Drupal distributions for many years. For example, Acquia Lightning, which started in 2013. Lightning, with headless support, reached end-of-life in 2021. Acquia CMS is Acquia's latest distribution for Drupal 9/10. Acquia CMS supports multiple use-cases, including headless. Acquia CMS does provide optional OOTB support for Acquia's products, including Digital Asset Management.

Pros

  • Built by paid Drupal experts with professional service support by Acquia.
  • Acquia has shown an ongoing commitment to distributions/starter kits.
  • Acquia's overall product strategy is to have Drupal as part of their larger Digital Experience Platform.
  • Acquia has contributed toward Drupal becoming API-First.

Cons

  • The inherent support for Acquia products within the codebase is a downside for none Acquia customers.

Acquia CMS is the easiest and best distro to get you started moving toward headless Drupal. If you are an Acquia customer and using their professional services, Acquia CMS is a good option. If you have a team of experienced developers, they can learn a lot from Acquia CMS and use it for inspiration for building your organization's optimal headless CMS.

Conclusions

Contenta contribution to Drupal's move toward headless can not be understated. For me, Contenta's statement, "It's all about the content.", represents the future of Drupal. As an organization's website and web presence change, it will always be about its content because it defines who they are. Even the fact that "Contenta CMS is a Fork & Go solution" represents the overall goal of Drupal's Recipe initiative: give organizations componentized functionality that provides a good starting point and lets them do their own thing.

Acquia's contribution to the Drupal community is unmatched. I have an ongoing relationship with Acquia, and Acquia is a business that provides services, expertise, and products around Drupal. Acquia CMS, specifically headless, is critical to Acquia's business goals and customers. I recently attended an Acquia Engage event, and it is clear that Drupal and headless are central to the Acquia Digital Experience Platform (DXP). Therefore, Acquia CMS should be supported, maintained, and improved for a long time. If Drupal's Recipe Initiative provides a "fork & go solution" and Acquia CMS fully adopts this approach, Acquia CMS could provide isolated headless functionality and feature sets that any organization can freely leverage.

This examination of Contenta and Acquia CMS shows how the Drupal community keeps collaborating and improving our headless CMS ecosystem of modules. Drupal's Recipe initiative will strengthen our ability to collaborate and share functionality between organizations. Lastly, the Schema.org Blueprints module will allow organizations to share reusable, standardized content models. Learn more about the Schema.org Blueprints module.

I look forward to seeing what happens with headless Drupal in the next year or two.