Information for: DEVELOPERS   PARTNERS

Acquia Commerce Manager Drupal module installation

Acquia Commerce Manager uses a specialized set of Drupal modules to connect Drupal to your commerce solution, through the use of the Commerce Connector Service. PHP 7.1 or greater is required.

Note

By default, if your website has only one language selected, Acquia Commerce Manager will not install Language or Content translation Drupal core modules.

Enabling the modules

After you have obtained the Acquia Commerce Manager Drupal modules, you must enable them for use with your website. To do this, complete the following steps:

  1. Using Composer, add the following modules to your website:
  2. Sign in to your Drupal website as an administrator with the permission to enable modules.
  3. In the admin menu, click Extend (http://[your site]/admin/extend).
  4. Select the check boxes for the following modules:
    • Address
    • Key Value field
    • Simple OAuth
    • Acquia Commerce Base SKU
    • Acquia Commerce Cart
    • Acquia Commerce Checkout
    • Acquia Commerce Core
    • Acquia Commerce Customer
    • Acquia Commerce Payment
    • Acquia Commerce Product
    • Acquia Commerce Promotion
  5. Click Install to enable the modules.

Next, you will must configure the modules for your use.

Configure OAuth

To configure the modules you have enabled to allow you to connect to your commerce solution, complete the following steps:

  1. Open a command prompt window, and then execute the following commands to generate a pair of RSA keys to encrypt your tokens:

    openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout > public.key

    For security reasons, store the keys outside of your docroot directory.

  2. In your website, as an administrator, go to Configuration > People > Simple OAuth (http://[your site]/admin/config/people/simple_oauth).

  3. Set the following values:

    • Access token expiration time: 300(default)
    • Refresh token expiration time: 1209600 (default)
    • Public Key: The path to your public key file, from the previous step (Required)
    • Private key: The path to your private key file, from the previous step (Required)
  4. Click Save configuration.

  5. Click the Clients tab, and then click Add Client (http://[your site]/admin/config/people/simple_oauth/oauth2_client/add).

  6. Enter the following values to create a new OAuth client:

    • Label: The client label (Required)
    • Logo: The client logo
    • Description: A description of the OAuth client being used
    • User- The selected user will be used for creating content.
    • Language: Specify a language, if desired.
    • New Secret: Used to create a hash of the secret key.
    • Is Confidential?: Select this check box to ensure the client secret is validated.
  7. In the Scopes section, select the check box for ACM.

  8. Click Save.

  9. Copy the values from the following fields to use when you set up the Commerce Connector Service connection:

    • UUID
    • Secret
    • User

Configure the Commerce Connector Service

Using the details from the OAuth client, with other details from your account, you can configure the Commerce Connector Service.

  1. Go to Commerce > Configuration > Conductor Settings, and enter the required information in the following fields:

    • Conductor URL: You should receive this value either during onboarding or from your Acquia Account Manager (Required)
    • API version: Currently set to V2 (Required)
    • HMAC Key ID: You should receive this value either during onboarding or from your Acquia Account Manager
    • HMAC Key Secret: You should receive this value either during onboarding or from your Acquia Account Manager
    • Product Node Type: The default Drupal node type that will be used to display products (Required)
    • Category Vocabulary: The Drupal taxonomy vocabulary where product categories synchronize.
    • Enable this to use the SKU as the product title: Select this check box to activate
    • Text Format: The default text format used when content is imported.
    • Filter root level category: Select this check box to remove the root level categories from your lists
    • Conductor Connection Timeout: Set to 30 second by default (Required)
    • Conductor Verify SSL: Select this check box to ensure SSL connections using the Commerce Connector Service
    • Conductor Product Synchronization Page Size: The number of products that will synchronize at a time between the website and the commerce solution—Acquia strongly recommends leaving this at the default value of 50
    • Debug Level Logging Of API Connections: Used for troubleshooting purposes—Acquia recommends that you do not select this unless necessary
    • Enable test mode to return mock data: Used for troubleshooting purposes or testing—Acquia recommends that you do not select this unless necessary
  2. Click Save Configuration

  3. Go to Commerce > Configuration > Store Settings, and enter the required information in the following fields:

    • Store id: A unique ID used to identify the mapping of an ecommerce store to this Drupal website or language. Commerce Connector Service will map data from the Magento store with same setting. Refer to Configuring Acquia Commerce, and note that the ID entered here should be entered as the frontend.uuid of the quick-setup JSON POST object. Acquia recommends you set the Store id to be the same as the corresponding Magento store ID. (Required)

    • Currency: Select the currency of the prices in the ecommerce store mapping to this Drupal website.

    • Price range format: The format string to use for generating price ranges in the admin SKU table. Use the @min and @max as placeholder values in the string, such as From @min to @max. This value is not displayed on the front end.

      For front-end product price formatting, see the Twig template files for example, such as docroot/modules/contrib/acm/modules/acm_sku/templates/acm-sku-price--configurable.html.twig.

  4. Click Save Configuration.

  5. If you want to protect these pages with Basic Authentication, download the Shield module, and then apply this patch.

Your Drupal website should now be ready to connect to the Commerce Connector Service.