Maintenance of multisite platforms on Acquia Site Factory (ASF) and Content Hub (ACH) generally requires developers.
This article describes our solution to remove the dependency of developers:
We use an organization taxonomy to model their org structure:
Every organization above these child terms in the hierarchy live on the publisher site.
When organization terms are saved:
When organization terms are saved:
All syndicated content entities have 5 fields used to determine syndication behaviors:
Field name | Field type | Purpose |
Site access and syndication | Taxonomy reference | Prevents content from showing in the wrong places after it syndicates to sites. |
Organization | Taxonomy reference | Determines which sites content syndicates to. |
Promotion Type | Taxonomy reference | Determines which pages and where on them content shows. These values are used as views filters. |
Content Source | Taxonomy reference | Tracks the origin of all content entities, including from ACH but also Feeds and other API integrations. |
Prevent API Updates | Boolean | Allows client to bulk push changes to sites that prevents content from receiving further updates from ACH. This can also be toggled from subscriber sites. |
ACH often syndicates content to sites unexpectedly as a dependency or a recursive dependency of content that is expected to syndicate. In our case, 50%+ of syndicated content shouldn't show on the site.
We use a "Site access and syndication field" to ensure content shows when expected. Options:
Option | Description | Behaviors |
Publisher only | Content can only be accessed on publisher site. |
|
Subscriber sites only | Content can only be accessed on subscriber sites. |
|
Link to publisher | Content is shown on all sites, but subscriber sites link to the publisher site for detail pages so the content does not exist in 160+ sites. |
|
Acquia CMS is a managed set of open source Drupal modules and Acquia products that provides the best available out of the box platform for no code applications.
No code means that solutions are configured in the UI instead of coded. This allows non-developers to do many of the tasks that historically required developers to custom code. And it opens doors for new products and automation.
Our implementation extends Acquia CMS with additional no code automation projects like eca, or a configurable framework of events, conditions, and actions. It covers the rest of no code.
No code is the keystone to supporting a multisite platform without developers. It allows the client to configure the changes they need in Drupal and use the rest of the solution documented here to deploy their configuration to sites.
In 9 months, our client has been able to learn the field of no code and Acquia CMS without any prior experience in Drupal:
The client is able to manage their workflows without getting in to code:
Managing and merging configuration across sites is a common challenge in ASF or any multisite platform. You can prepare and export your configuration from 1 site, but some configuration is dependent on specific sites and needs to be prepared on those sites.
Our solution was to allow any user to access the publisher site while mocking any other site using an organization reference field on the user entity. This allows them to prepare and export configuration for all sites in 1 place, removing issues around merging configuration across sites.
Code Studio is Acquia managed GitLab and tailored for Drupal. GitLab is both a code management service and a CI/CD automation service. CI/CD involves machines that boot on certain events and run any set of tasks you tell them to do.
Typically, CI/CD machines deploy code to cloud environments or run tests. But in our case, we've extended Code Studio with pre-configured jobs to let the client run common tasks against their 160+ sites. They don't need to fully understand Drupal infrastructure to click a button to clear caches on all their sites.
Drush is a command line application used to control Drupal and is the most common maintenance tool for developers. Common maintenance tasks with Drush:
We've extended Code Studio to support running any drush tasks against any or all sites. Drush does require some technical context, but we've pre-configured common examples and pointed the client to documentation for all command options.
We also use the acquia/acsf-tools project to run drush commands with configurable concurrency against all 160 sites. By default, commands are run against 8 sites at a time. We configure these jobs in .gitlab-ci.yml with environment variables passed from the Code Studio scheduled jobs configuration.
Code Studio provides a scheduled job that automates composer update and creates a merge request to your default branch with the outcome. We've removed all patches possible to reduce likelihood of future composer issues, but this could break at some point.
Similar to the composer update scheduled job, we created a job configuration that syncs the publisher site in to the Code Studio build and exports configuration to a merge request. Client can simply merge it, create a tag, and deploy the tag to ASF to update their sites.
There are many components to making Acquia Site Factory (ASF) and Content Hub (ACH) a solution that doesn't require developer support:
If this content did not answer your questions, try searching or contacting our support team for further assistance.
Fri Sep 12 2025 09:20:31 GMT+0000 (Coordinated Universal Time)