Peoples Blog: Usage of PHPCS on Github via Pull Request for Drupal Applications

In this article, we are going to see how some tools & libraries will make people's lives easier during the development & code review process. And to make developer life easier, developers look for tools or libraries which can automated code review and if needed make any corrections in the code automatically. Here comes the PHP codesniffer and Drupal coder module. If you are maintaini

Peoples Blog: Store Secrets Securely on Pantheon for Drupal Application

In this article, we are going to see how people can store access keys and tokens securely, in the case of your drupal application that is managed on pantheon. Generally, all the Access keys or Tokens or any Secret third party auth information should not be stored in the database or within the project web root, Its safe to store it encrypted and within a file, and keep the file outside of the proj

Peoples Blog: Configuration management via Quicksilver on Pantheon

As we saw in the earlier article, like how we manage the configuration across the environments. In this article we are going to see how Drupal configurations can be deployed or imported across the environments with the help of Quicksilver which hooks into platform workflows to automate your Pantheon WebOps workflow across the environments. In the pantheon environment’s drupal code base, yo

Peoples Blog: Drupal Configuration management (Local, Dev, Test and Live)

In this article we are going to see how Drupal serves configurations across the environments, which can be well maintained with help of some contributed modules and version control. Drupal 8 onwards configuration has been saved in the yml files in a consistent manner, which includes all the enabled modules, all the content types, vocabularies, fields & views. Making the configurations direct

Peoples Blog: Migrate your site from Drupal 7 To Drupal 9?

In this article, we are going to see what are the important things you need to understand for the migration of your Drupal 7 site to the Drupal 9 site. And if you see from your Business perspective, Drupal 7 was launched nine years ago, and this is the perfect time for some reassessment of the needs of site users & content managers. And if you see from Drupal’s end, Initially, Drupal 7 end of li

Peoples Blog: Improve Drupal Search with Solr, Locally configured via Lando

In this article, we are going to learn how Drupal search can be improved with Solr which provides great performance, and is suitable even for use on large commercial websites. And along with this using the search_api & search_api_solr modules, helps to configure the Facets & Multilingual content can be handled in an improved manner. And let's see how we can configure this locally with the help of

Oomph Insights: Oomph Earns Acquia Drupal Cloud Practice Certification

We are thrilled to share that Oomph has been recognized as an Acquia Certified Drupal Cloud Practice for completing Acquia’s rigorous evaluation program, which recognizes the highest standards of technical delivery on the platform. To earn Drupal Cloud Practice Certification, Acquia partners must meet a stringent set of technical criteria. These requirements include a core team of Acquia certified developers, significant hands-on experience delivering Acquia Drupal Cloud products to clients, and a meticulous company review with Acquia partner specialists.  “I am incredibly proud that our team…

Evolving Web: Leveraging Composability with Drupal

Image removed.

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