Peoples Blog: Store Secrets Securely on Pantheon for Drupal Application
Peoples Blog: Configuration management via Quicksilver on Pantheon
Peoples Blog: Drupal Configuration management (Local, Dev, Test and Live)
Peoples Blog: Migrate your site from Drupal 7 To Drupal 9?
Peoples Blog: Improve Drupal Search with Solr, Locally configured via Lando
Mike Herchel's Blog: Using ECA to Send Emails When Creating Nodes
Oomph Insights: Oomph Earns Acquia Drupal Cloud Practice Certification
Evolving Web: Leveraging Composability with Drupal
In a previous article, we shared trends we’ve seen in the Acquia ecosystem and how they apply to our projects at Evolving Web. One of those trends is the growing importance of composable digital experience, central to how Drupal works. In this article, we will explore how composability, which started as a development concept, has now an expanding role in content management and content governance.
What is Composability?
Composability is at the very core of Drupal’s open source principles. Composable CMS is the idea that we should create robust building blocks that we can reuse across a single website, an ecosystem of websites, or every single Drupal project.
Composable CMS isn’t a single thing. It could actually lead us to different architectural choices. For example:
- A wheel and spoke model, if we have a content hub that dispatches content to a set of satellite websites
- Individual websites that don’t share content, but do share the same structure
- A model where content is generated on many individual websites, and then shared in a completely distributed way, without a central hub
- A multi-channel setup where content is shared from a CMS to completely separate channels like CRM, digital signage, a native app
Composability implies dividing content up into atoms so that it can more easily translate from one use case to another. For example, if we define an event as having a date field, we can add it to a calendar on our site, but also use schema.org metadata to indicate the event date on Google search results.
Why is Composability Useful?
Composability is a powerful concept because it gives us a content model that is predictable. From there, we can expect each content entity to have particular properties (a label or title, a language)
It helps us make good decisions about code and content reuse, challenging us to think about how configuring a single template, creating a piece of functionality, or authoring a piece of content, might be useful or reusable elsewhere.
With this type of granularity, content becomes searchable and findable when we apply the right markup and metadata that enables reusability.
It helps us create brand and messaging consistency as we should have fewer content elements to keep updated.
Composable Tactics in Drupal
By using a platform like Drupal, you’re already doing composability. You’re reusing the modules and base content structure of every other Drupal project, and benefiting from that. If you want to enable metatags for your content, you can turn on that feature and apply it to all your existing content.
If you’re using Layout Builder with custom block types, or the Paragraphs library to enable reuse of granular “Paragraph” elements, you’re already leveraging composable features for content reuse. You can learn more about how to use Paragraphs and Layout Builder via this article: How content editors use the drupal layout builder.
Features like Drupal’s core Media Library and the Entity Reference field provide content editors with the tools to reuse content within a single Drupal website or project..
You’re also taking advantage of composability when using Drupal’s Migrate API to leverage existing content and pull it into Drupal, or when using JSON:API or REST API to expose Drupal content to other platforms and channels.
Configuration management allows us to export the content model to code, making it potentially sharable to other websites in our ecosystem. The new recipes initiative seeks to make elements of Drupal configuration more portable, to encourage this type of reuse and create a more standardized method of component reuse in Drupal core.
Composability Beyond Drupal Core
Acquia’s Site studio complements Drupal and provides a mature product that teams can use to manage a library of reusable content, and also the templates (components) for storing granular content, and even the layouts and styling that applies to those components.
It provides a predefined/standardized approach to managing the layers of composability that we outlined above. The benefit of a solution like this is that it steers teams towards composability and gives them pre-built examples of how reuse plays out in a typical website.
It also has tools for sharing the library of content across websites in the same ecosystem, which saves architectural time in setting this up.
Site Studio is a great example of taking the potential of Drupal’s composability and laying it out in a way that’s ready for teams to take and run with. It also comes with opinions about how components and content should be managed, which might be too flexible or too restrictive for some teams. I highly recommend taking a deeper dive and checking out Acquia’s Site Studio demo.
Challenges
Offering site owners and content editors the ability to re-use content and other building blocks comes with a few challenges.
Challenge 1: Understanding Context
If content is used in many contexts, it’s hard to communicate to content editors what the results of their changes will be. Imagine a typical preview feature, allowing you to preview how content appears on a single page. If you are editing an image to be reused in five different ways, it’s hard to anticipate the impact of cropping it in a certain way. From this comes the question of how to create meaningful previews.
Solution: Help content editors understand the meaning and parameters of their choices:
- Provide some instructions on image selection that takes into account how the image will be used. And
- Provide context about metadata if that metadata is visible when content is displayed on social media, but not when content is displayed on a simple page on the website.
Challenge 2: Accessibility
Multiple contexts also makes accessibility a challenge. Accessibility guidelines encourage teams to create meaningful content structures and flows. When editing a single content component that appears in different pages, think about how it will affect the flow and the hierarchy
Solution:
- Create a robust content model that enforces an accessible content structure. This means planning out which components can be used where so that they follow a logical hierarchy (e.g. a heading structure that doesn’t skip a level).
- Educate content editors so that each component is accessible regardless of context (e.g. writing link text that is self-explanatory regardless of context).
Challenge 3: Proliferation of Choices
The sheer quantity of content can also proliferate in the world of composable CMS. While the idea is to reuse components, it often also means sharing of components and adding more options to some websites that might have had a simpler content model in the past. The proliferation of content elements and templates means more choice for content editors, and can lead to more confusion about the use case.
Solution:
- Provide clear examples of not just how to create content, but why to use one type of component vs. another.
- Give content editors the tools they need to find existing content, as well as some context around how it’s already being used.
Challenge 4: Approval Workflows
If content can be reused across different websites within an ecosystem, it likely changes the approval workflow whenever content needs updating. Let’s say you have authored a page, got it approved and published it. In a composable context, some components of your page might have to be approved separately, making it harder for you to update one aspect of the page that is being re-used in other places.
Solution:
- Create a clear content governance plan that defines what belongs in a content library and how that content gets approved and updated.
- Invest time in constantly curating and maintaining the library of reusable content rather than taking a “set it and forget it” approach.
Drupal and the Composable Enterprise
In our experience at Evolving Web, governance around modularity and composability is and will remain the biggest challenge. But despite all the challenges listed above, composability is an approach that gives institutions a competitive advantage as they can innovate and adapt to changing business needs rapidly.
When we get to the point when site builders and content creators can have visibility as to what content components are out there and how they’re being used, as well as establishing best practices for making this type of content widely available, we’ll be able to fully take advantage of this approach.
Read more about Content Governance: Why Web Governance Is Essential to Your Digital Content Strategy
+ more awesome articles by Evolving Web