Install Bloomreach B2B Commerce Accelerator

Info: This feature requires a standard or premium Bloomreach Content license. Contact Bloomreach for details.

Starting with version 14.3, Java-based Accelerators and Connectors are deprecated. Use the GraphQL Service for new implementations.

Overview

From version 14.2, install the Bloomreach B2B Commerce Accelerator using the Maven plugin instead of downloading the Boot project. For instructions on the previous approach, see Install B2B Commerce Using Boot Project.

Purpose

Install the Bloomreach B2B Commerce Accelerator with the Maven plugin and connect it to your commerce backend, such as Salesforce B2B Commerce.

Background

The Bloomreach B2B Commerce Accelerator Maven plugin adds the accelerator to your Bloomreach Content project, enabling integration with your commerce backend and Bloomreach Discovery.

You can configure the accelerator project with a supported commerce backend and Bloomreach Discovery. Currently, Salesforce B2B Commerce is the only supported B2B backend. This page provides all steps required to integrate with Salesforce B2B Commerce.

The following sections cover installation, local setup, backend connection, deployment, and Salesforce-specific configuration.

Prerequisites for Salesforce B2B Commerce Integration

You need administrative access to Salesforce B2B Commerce to complete the integration. Most integrations target existing storefronts. Ensure your configuration aligns with the Salesforce B2B Commerce: Set Up a Storefront documentation.

The merchant account used must have access to the full product catalog and pricing to retrieve product data in category and product pickers.

If you cannot connect or retrieve products from Salesforce B2B Commerce, review the FAQ.

Install B2B Commerce Accelerator on Bloomreach Content

Prepare your Bloomreach Content project before installing the accelerator. If you do not have a project, follow Get Started with Bloomreach Content to create one and configure the basics.

In your project root, run the following command to install the B2B Commerce Accelerator. Replace 14.3.3 with the version matching your Bloomreach Content installation.

mvn com.bloomreach.commercedxp.b2b:starterstoreb2bboot-maven-plugin:14.3.3:install \
    -DpluginRepository=https://maven.bloomreach.com/repository/maven2-enterprise

The Maven plugin (com.bloomreach.commercedxp.b2b:starterstoreb2bboot-maven-plugin) adds the following to your project:

  • Project configuration files (e.g., conf/*.xml, conf/*.properties, web.xml)
  • Maven properties and dependencies
  • Default B2B Commerce Accelerator webfiles
  • Bootstrapping configuration and content YAML files
  • Updater script for HST configurations and example content

Hint: The B2C Commerce Accelerator Maven plugin should automatically configure shared dependencies for both the cargo.run profile and the distribution assembly (e.g., src/assembly/shared-lib-component.xml). If you encounter shared dependency errors when running the cargo.run profile, verify that the required dependencies are included, as shown below.

<profile> <id>cargo.run</id> <build> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven3-plugin</artifactId> <configuration> <!-- SNIP --> <container> <!-- SNIP --> <dependencies> <dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-addon-targeting-shared-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>org.onehippo.cms7</groupId> <artifactId>hippo-addon-crisp-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-addon-universal-pixel-integration-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.bloomreach.commercedxp</groupId> <artifactId>starterstore-api</artifactId> <classpath>shared</classpath> </dependency> <dependency> <groupId>com.bloomreach.commercedxp.b2b</groupId> <artifactId>starterstore-b2b-api</artifactId> <classpath>shared</classpath> </dependency> </dependencies> </container> </configuration> </plugin> <!-- SNIP --> </plugins> </build> <!-- SNIP --> </profile>

Set Up Local Development Environment

Configure Commerce Backends

Set the connection properties for your commerce backends in the Bloomreach Accelerator Configuration File. Detailed property descriptions are provided in the Install Integration Salesforce Components section. The following example shows typical configuration values:

# Bloomreach Accelerator parameters for bloomreach backend service.
bloomreach.cache.enabled = true
bloomreach.account.id = 0000
bloomreach.api.base.url = http://core.dxpapi.com/api/
bloomreach.domain.key = your_brsm_instance
bloomreach.view.id =
bloomreach.widgets.auth.key =

# StarterStore parameters for SalesForce B2B Commerce backend service.
salesforcecc.cache.enabled = (e.g. true or false) 
salesforcecc.clientId = (e.g your Salesforce Connected App Consumer Key under Build -> Create -> Apps) 
salesforcecc.clientSecret = (e.g. your Salesorce Connected App Consumer Secret under Build -> Create -> Apps) 
salesforcecc.username = (e.g. SalesForce B2B Merchant/Service Account Username) 
salesforcecc.password = (e.g. SalesForce B2B Merchant/Service Account Password) 
salesforcecc.securityToken = 
salesforcecc.baseUrl = (e.g. https://<your_instance>.force.com/DefaultStore) 
salesforcecc.accessTokenUri = (e.g. https://<your_instance>.salesforce.com) 
salesforcecc.storefront.user.signin.url = (e.g. https://.force.com/DefaultStore/SiteLogin?startURL=/CustomSiteLogin)
salesforcecc.storefront.user.signout.url = (e.g. https://<your_instance>.force.com/DefaultStore/secur/logout.jsp) 
salesforcecc.storefront.user.register.url = (e.g. https://<your_instance>.force.com/DefaultStore/UserRegister) 
salesforcecc.storefront.user.changePassword.url = (e.g. https://<your_instance>.force.com/DefaultStore/ChangePassword) 
salesforcecc.storefront.locale.language.code = (e.g en_US) 
salesforcecc.storefront.locale.currency.ISO3code = (e.g. USD)

Build the application with Maven:

mvn clean verify

Run the application:

mvn -P cargo.run

Execute Updater Script: Accelerator - Install StarterStore B2B Boot Configurations

After the application starts, open the CMS UI and navigate to the Updater Editor. Run the Accelerator - Install StarterStore B2B Boot Configurations script to install HST configurations and example content for the B2B Commerce Accelerator.

Remove Example Product/Category Documents

The updater script copies example category and product documents to your content folder. See the Upgrade Notes for v14.2 for details.

To prevent duplicate product or category validation errors, depublish all documents in the example products and categories folder:

CMS content tree with products folder context menu open

Verify Installation

Confirm that the CMS is accessible at http://localhost:8080/cms/ (default credentials: admin/admin).

To verify backend connectivity, open the Content application and browse the products folder. Open an example product document or create a new one. Ensure your commerce backend is selected under Commerce Connector, then click Browse under Related External Product. You should be able to browse products from your commerce backend.

Hint: Automated migration from an existing project to a B2B Commerce Accelerator project is not supported. Start with a new project for best results.

Deploy in a Server Environment

Deployment for the B2B Commerce Accelerator follows the standard Bloomreach Content deployment process.

Deploy in Bloomreach Cloud

For deployment in Bloomreach Cloud, follow Deploy in Bloomreach Cloud.

Every Commerce Accelerator project requires the braccelerator.properties configuration file. Deploy the distribution with this file as described in Set Environment Configuration Properties, renaming the uploaded file to braccelerator.properties. Both conf/platform.xml and conf/hst.xml reference this file.

Deploy a Project Distribution in Other Environments

For environments outside Bloomreach Cloud, follow Create a Project Distribution and Deploy a Project Distribution.

Ensure the braccelerator.properties configuration file is included in the deployed distribution. Both conf/platform.xml and conf/hst.xml reference this file.

Install Integration Salesforce Components

Complete the following steps to integrate with Salesforce B2B Commerce. Before starting, ensure your Salesforce B2B Commerce storefront is set up as described in the Salesforce documentation. If you encounter connectivity or product retrieval issues, consult the FAQ.

Storefront Integration Components

The Bloomreach Commerce Accelerator integrates with the Salesforce B2B Commerce storefront. User sign-in and sign-up are delegated to Salesforce. The B2B project includes Visualforce Pages and Controllers under src/main/salesforcecc. Copy or replace these Visualforce Pages and Apex classes in your Salesforce organization as required.

For version 14.2, the plugin does not add Visualforce Pages and Controllers to src/main/salesforcecc. Download them from salesforcecc_files_v14.2.zip.

Site Redirects

Create a Visualforce Page named SiteRedirect using the content from src/main/salesforcecc/SiteRedirect.page. Enable this page in your Salesforce profile:

  • In Force.com Setup, search for "Profiles"
  • Select your customer community profile
  • Click "Visualforce Page Access"
  • Move SiteRedirect from "Available" to "Enabled"

Salesforce Visualforce Page Access with SiteRedirect enabled

Delegated Registration

Create a Salesforce Controller for user registration. Use the logic from src/main/salesforcecc/UserRegister.controller.

Create the UserRegister Visualforce page using src/main/salesforcecc/UserRegister.page. Enable public access for this page as described above for SiteRedirect.

Update the Login page logic:

  • Go to Build → Develop → Visualforce Components in Salesforce
  • Locate SiteLogin and edit it
  • Replace the content with src/main/salesforcecc/SiteLoginComponent.page
  • Save your changes

Salesforce Visualforce Components list with editable page components

Set the correct redirect URL in the Bloomreach Accelerator .properties file under salesforcecc.storefront.user.registration.url.

Enable the UserRegister Visualforce page and any custom Apex classes in your customer community profile. For more information, see Salesforce documentation.

Salesforce B2B Customer Community Profile Apex Class Access settings

After configuration, access <your_brX_instance>/login. You should be redirected to the Salesforce registration page. Register a new user and verify that you are redirected back to the Bloomreach B2B Commerce Accelerator site.

Federated Authentication Integration

Create a Visualforce Controller named SitePostLoginController under Build → Develop → Apex Classes. Use the content from src/main/salesforcecc/SitePostLogin.controller. This controller manages login tokens shared between brX and Salesforce, using the Salesforce Platform Cache.

To create a Platform Cache partition:

  1. In Force.com Setup, search for "Platform Cache"
  2. Click "Platform Cache" under Develop
  3. Click "New Platform Cache Partition"
  4. Set token as the label and name, and mark as default
  5. Allocate space based on expected user volume
  6. Save the partition

Salesforce Platform Cache Partition page with usage charts and partitions

Next, create a Visualforce page using src/main/salesforcecc/SitePostLogin.page. Ensure:

  • The page is enabled in your customer community profile
  • The SitePostLogin controller is enabled in Apex Access

Update the federated login URL in your .properties file. For example, if your Visualforce page is CustomSiteLogin, use that value for salesforcecc.storefront.user.signin.url.

Handle logout by specifying the Salesforce StoreFront logout URL (e.g., https://<your_b2b_instance>/DefaultStore/secur/logout.jsp) in the .properties file as salesforcecc.storefront.user.signout.url.

Test the login flow by visiting <your_brX_instance>/login, logging in with your account, and verifying that you are redirected back to brX with your user details displayed.

Delegated Password Change

Customize the ChangePassword Visualforce page using src/main/salesforcecc/ChangePassword.page. This page includes a hidden field for the redirect URL.

Update the ChangePasswordController Apex class with the content from src/main/salesforcecc/ChangePassword.controller.

Users can change their password via https://<your_brX_instance>/account/creds. This redirects to the Salesforce Change Password Visualforce Page. Configure the redirect URL in the .properties file with salesforcecc.storefront.user.changePassword.url.

Test password change by visiting the credentials page, following the steps, and logging in again with the new password to confirm redirection back to brX.

Customer Community Settings

After installing Visualforce pages and controllers, configure the customer community:

  1. Open community settings as described in Salesforce documentation
  2. In the Administration tab, enable the "Customer Community User" or equivalent profile
  3. Click "Members" and add the profile

Salesforce Members page with Customer Community User selected

  1. Click "Login & Registration" and configure as shown:

Salesforce community login and registration page setup settings

Enable "Allow external user to Self-Register" if you want to support self-registration. For reference, see Salesforce documentation.

Set the "Logout Page URL" to your brX site /logout sitemap item to trigger logout.

Customer Community Email

To customize email templates, edit the "Classic Email Template" as described in Salesforce documentation. If you add a new template, update the configuration in your Customer Community settings:

Salesforce Customer Community email template settings screen

References

Share Feedback
Page: /frontend/commerce-accelerator/overview-setup/install-b2b-commerce
Section: Frontend
Category *
Install Bloomreach B2B Commerce Accelerator | Bloomreach Content Documentation