Drupal CMS

FAQs and troubleshooting

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.

Troubleshooting issues with Acquia CMS upgrade

Indirect dependencies issues

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:

  1. 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.

  2. 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:

  3. 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:

  1. 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
    
  2. After removing all the indirect dependencies, update Acquia CMS by running the following command:

    composer update acquia/acquia_cms
    

Minimum stability issues

If minimum stability blocks your Acquia CMS upgrade, the system displays the following error message:

To resolve this issue:

  1. Update your root composer.json file by running the command:

    composer config minimum-stability dev
    
  2. 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
      

How do I do X?

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.

Why do I get out-of-memory issues during Composer install?

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.

Why do I get out-of-memory issues during Drupal site install?

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.

Why do I get out-of-memory issues when enabling the Public Sector demo or Starter module?

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

How do I get started when my ACMS website is empty?

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.

Why do I see errors about ‘the Google Maps API key is not set’ or ‘Unable to Geocode’?

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:

  1. In a Site Studio Map component that uses the API key stored at Admin > Site Studio > Configuration > Google Maps API Key.

  2. 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.

Why do I see duplicate menu content?

Duplicate menu items in the header indicate that the user installed both the Public Sector demo module and the Starter module. Both modules are not meant to be installed together. The admin UI shows an error to prevent the user from installing both modules. However, Drush does not show any error. To fix this, click Admin > Structure > Menus > menu-name and delete the duplicate content from the menu.

Why do I get the ‘Unable to send email. Contact the site administrator if the problem persists’ error when saving content?

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.

Why do I see Memcache errors in the browser, terminal, or logs?

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.

  1. 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.

  2. 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.

Why are my pages empty after changing my Site Studio API key?

  1. Click Site Studio > Developer Tools > Rebuild to rebuild Site Studio assets.

    Alternatively, you can run the drush cohesion:rebuild command.

  2. Click Configuration > Search and Metadata > Search API, and click the currently-active index name.

  3. Click Rebuild Tracking Information.

  4. Click Index now.

When I try to use Site Studio page builder, why does it crash on existing pages but not on new pages?

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.

Why do I get the ‘failed to drop or create the database’ or ‘Access denied for user’ warnings when installing ACMS locally?

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.

Why is the acquia_cms_minimal profile not present in Site Factory?

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.

Why are some of the patches not applied?

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:

  1. 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.

  2. 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.

Why am I unable to update acquia_cms to the latest version?

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:

  1. Review dependencies: Review the dependencies listed in your project’s root composer.json file. Identify any modules that are provided by Acquia CMS.

  2. 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.

  3. 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:

Why am I unable to update certain contributed modules?

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.