Like any other Drupal site, most troubleshooting issues with Acquia CMS are around Drupal configuration, networking, or connectivity. The following are the known idiosyncrasies with Acquia CMS, which will change and evolve over time.
When you run the composer update
command to update Acquia CMS, the system
might not be able to update Acquia CMS. The update command fails and the system
displays the following error message:
To determine the root cause of the issue:
Run the following command:
composer why-not acquia/acquia_cms
The system displays the following message:
The message indicates that drupal/acquia_cms_starter
restricts updating
acquia/acquia_cms
to the latest version.
To check issues with the Acquia CMS Starter module, run the following command:
composer why-not drupal/acquia_cms_starter
The system displays the following message:
To check issues with all Acquia CMS modules, run the composer why-not
command for each module:
You can locate indirect dependencies in the require
section
of the root composer.json
file.
Warning
The require
section in the composer.json
file might be different
for different users. Therefore, you must use your commands accordingly.
To resolve this issue:
Remove all the indirect dependencies from the root composer.json
file
and run the composer install
command.
Alternatively, you can remove the indirect dependencies by running the following command:
composer remove drupal/entity_clone drupal/acquia_cms_article
drupal/acquia_connector drupal/acquia_search drupal/ctools drupal/entity_clone drupal/facets
drupal/geofield drupal/google_tag drupal/jsonapi_extras drupal/metatag drupal/scheduler_
content_moderation_integration
For example, drupal/facets
is a dependency of the Acquia CMS Search
module. Therefore, you must not have them in the root composer.json
file. If they are included in the file, remove them manually or by running
the following command:
composer remove drupal/facets
After removing all the indirect dependencies, update Acquia CMS by running the following command:
composer update acquia/acquia_cms
If minimum stability blocks your Acquia CMS upgrade, the system displays the following error message:
To resolve this issue:
Update your root composer.json
file by running the command:
composer config minimum-stability dev
Update Acquia CMS to the latest version.
For Acquia CMS 1.5.x or 2.x, run the following command:
composer update acquia/acquia_cms -W
For Acquia CMS composable architecture, run the following command:
composer update drupal/acquia_cms* -W
Acquia CMS ships with a Tour page (/admin/tour) that contains answers to most common configuration and Drupal content management questions. This page:
Organizes content into high-level concepts friendly to Drupal newbies. For example, Creating Content.
Links to the appropriate documentation on docs.acquia.com, drupal.org, or Acquia Academy.
Contains a dashboard that drives new Drupal admins to simplified config actions that are common for Acquia CMS. For example, setting API keys or enabling key features. A Drupal novice should not need to have deep knowledge of Drupal configuration to get an Acquia CMS site functional.
Start on the Tour page if you have basic questions about Drupal.
Composer uses a lot of memory when installing Acquia CMS because it has multiple dependencies. To resolve this, you can do one of the following:
Temporarily increase the memory at the command line. For example,
php -d memory_limit=2G /usr/local/bin/composer install
If you have access to the php.ini config file of your servers, you can
increase the memory limit to memory_limit=2G
or memory_limit=-1
. It
is a nuclear option that requires root access to the server, and also
requires you to restart your webserver for the change to take effect. It is
only reasonable for local environments and does not work in ACE/ACSF as you
don’t have access. Therefore, Acquia recommends increasing the memory at the
command line.
The Site Studio team is working to improve memory consumption. In the meantime, Acquia CMS tries to increase memory limits temporarily through code. If you’re still experiencing out-of-memory errors, you can run the following command to install Acquia CMS using Drush, as Drush is more efficient with memory than the user interface:
php -d memory_limit=2G vendor/bin/drush site:install acquia_cms --yes --account-pass admin
When working with the Site Studio API, installing and importing from Drush is more performant than using the Drupal admin UI. If you’re running into memory errors, try using Drush where you can override the memory limit.
This is the same issue as the one that you experience when installing the site. If you’re enabling one of the Acquia CMS modules that ships default content, you can run the following command:
php -d memory_limit=2G vendor/bin/drush pm:enable acquia_cms_demo_pubsec
Enable one of the following modules:
Acquia CMS Public Sector Demo: It enables a complete website with a functional homepage, content detail pages, landing pages for all content types, built menus, and more. Note that this is for demonstration and training purposes only and is not meant to be a starting point for building an actual website with Acquia CMS.
Acquia CMS Starter: It enables a small set of starter content and templates. This is meant to be a starting point for building an actual website. Note that it requires deleting some of the starter content because it is a filler.
After you get familiar with Acquia CMS, you don’t need either of the two demo content modules, and should be more comfortable starting from a blank canvas. However, you might still find some helpful things in Starter.
Acquia CMS collects a Google Maps API key on the Tour Dashboard at /admin/tour/ dashboard to keep things simple for the user. Acquia CMS displays Google Maps through the following features:
In a Site Studio Map component that uses the API key stored at Admin > Site Studio > Configuration > Google Maps API Key.
Displaying the Address field on a Place content type, which uses the API key stored at Admin > Configuration > System > Geocoders > Providers > Google.
If you observe one of the two errors, set the API key at Tour Dashboard and Acquia CMS sets the key at both places.
Note
Ensure that you resave any Place content that is created prior to the API key being set so that maps appear on Place detail pages. This is required because maps are built whenever a node is saved.
This error occurs from the workflow notification module when you test in a local machine or Cloud IDE. Cloud IDEs and local dev environments, such as DevDesktop, DVM, and Lando, do not have a mail service installed at this time. You should test this feature in Acquia CMS while hosted in Acquia Cloud. If you receive this error in Cloud Platform, proceed with troubleshooting the inability for Drupal to send email.
Acquia CMS comes with built-in configuration for memcache that is disabled by default. Not all Drupal sites need memcache, and not all Drupal sites behave well with memcache. When memcache and Drupal misbehave, it’s almost always because of custom code or scaling issues with multisite. To make this easy to resolve without a code deploy, Acquia CMS leverages a server-level toggle to enable or disable its integration with the memcached daemon.
Acquia Cloud Enterprise - to enable memcache for ACE, you must set an environment variable. For more information, see Creating customer environment variables from the user interface.
The variable is ENABLE_MEMCACHED
and the value should be ‘1’. To
disable, either set the value to ‘0’, or delete the variable.
Site Factory - to enable memcache for ACSF, an Acquian needs to select the Enable Memcache checkbox for the applicable Site node. Disabling memcache is as simple as reversing the checkbox state. By default, ACSF has only one memcache server for each Factory, which all sites share. The default memory is fairly small. Therefore, a small number of sites in a Factory with memcache enabled will quickly cause memcache to overflow and cause more evictions than successful cache queries, which in turn will cause Drupal to slow down or go offline entirely. Acquia urges caution when implementing memcache for Acquia CMS sites in ACSF.
When enabling or disabling Acquia CMS integration with memcache, you might occasionally see a Drupal WSOD, which can be resolved by rebuilding the cache through Drush or admin UI. Therefore, Acquia does not recommend enabling or disabling memcache during high traffic.
Click Site Studio > Developer Tools > Rebuild to rebuild Site Studio assets.
Alternatively, you can run the drush cohesion:rebuild
command.
Click Configuration > Search and Metadata > Search API, and click the currently-active index name.
Click Rebuild Tracking Information.
Click Index now.
You might experience page builder crashing if you enable Site Studio on your ACMS site with existing content, and use the page builder to edit the content.
The system displays the following error message:
cannot convert null or found to object
To resolve the error, upgrade to the current version of Site Studio.
Your settings file is either not set or misconfigured. Drupal will automatically copy default.settings.php to settings.php if it does not exist. Acquia CMS adds Acquia-specific settings configuration for the database to this file during the Composer install process. Acquia CMS has no opinion or direct knowledge of any local development environments other than Cloud IDEs. For information about setting up the correct database settings, see the install documentation of your local dev environment of choice.
A known permissions issue is currently being fixed in Site Studio. Therefore, Acquia recommends you to not upgrade to Drupal 9.2 until the issue is resolved and there is a new Acquia CMS release.
There is an incompatibility between contenthub-console and Cloud IDEs that needs to be fixed. If you experience an issue on the acquia-cms-project repository, see Known issues in Acquia CMS.
This issue occurs when the acquia_cms_minimal
profile is removed from the
codebase. Therefore, it is unavailable for installing the Acquia CMS starter
kit in Site Factory. For example, the following image does not display
acquia_cms_minimal
as an installation profile:
Workaround:
If you remove the acquia_cms_minimal
profile from your codebase, you can
add it again. To get the profile, contact Acquia Support.
This issue occurs because of one of the following:
Codebase mismatch: If a patch is created for a specific version of a module and your system uses a different version, there might be compatibility issues.
Conflicting changes: If the patched code has undergone modifications, the changes introduced by the patch might conflict with these modifications.
Incorrect patch version: Patches are version-specific. Therefore, any attempt to apply a patch designed for a different version of the modules might cause failures.
Workaround:
Review patch documentation: Ensure that the patch you want to apply is compatible with your version of the module. You can refer to the patch’s documentation or the README file.
Update to the latest module version: Update the Acquia CMS module to the latest version. This might incorporate the changes included in the failed patch and therefore, negate the need for manual application. Ensure that you perform updates on a development or staging environment first to ensure compatibility.
By following these steps, you can apply patches to your Acquia CMS module.
This issue occurs when you explicitly require contributed modules that are already included with Acquia CMS. This causes dependency deadlock and slows the upgrade process.
Workaround:
Review dependencies: Review the dependencies listed in your project’s
root composer.json
file. Identify any modules that are provided by
Acquia CMS.
Remove Acquia CMS dependencies: Remove the direct dependencies
associated with Acquia CMS
from the root composer.json
file. This prevents conflicts during the
upgrade process.
Run Composer update: After you remove Acquia CMS dependencies, run the following command:
composer update acquia/acquia_cms -W
The -W
parameter ensures that your composer.lock
file is updated
with the latest compatible versions of the dependencies.
By following these steps, you can circumvent the dependency deadlock and enable a seamless update of Acquia CMS to its latest version.
Here is an example of the composer.json
file without direct dependencies:
This issue occurs when you include a contributed module to a project while
the Acquia CMS distribution
provides the same module. For example, this issue might occur when you update
the Facets module to its latest
version and add the module directly to the root composer.json
file. However,
this module is also a component in the Acquia CMS Search module. Therefore, you can update the Facets module only by updating the Acquia CMS Search module.
Workaround:
Remove any direct dependencies associated with the Acquia CMS distribution from the root composer.json
file. This establishes a clear path for the update process and eliminates any
potential conflicts.