Walkthrough: Preparing to install SFMC Behavioral Data Exchange in a container environment
To prepare for adding the Sitecore Connect for Salesforce Marketing Cloud Behavioral Data Exchange connector (SFMCBDE) to your container installation, regardless of whether you are deploying to Docker or Azure Kubernetes Service, follow the steps in this walkthrough.
Before you install SFMCBDE for containers, you must have the following:
- Docker Desktop installed and running. For instructions on how to set up the Docker environment, see the documentation.
- If the installation is done on Docker, you must have the Sitecore Docker container files deployed on a local machine. For instructions on how to prepare the Sitecore containers, see the Installation Guide for Developer Workstation with Containers on the Sitecore download page.
- If the installation is done on Kubernetes, you must have the Sitecore AKS container files deployed on a local machine. For instructions on how to prepare a Sitecore environment with Kubernetes, see the Installation Guide for Production Environment with Kubernetes on the Sitecore download page.
- An SFMC account where you can create an installed package with appropriate access rights.
This walkthrough describes how to:
- Add an API integration package to your SFMC installation
- Prepare an SFMC connection string
- Prepare the installation files
- Build the Docker images
Add an API integration package to your installation
To add an API integration package to your Salesforce Marketing Cloud (SFMC) installation:
-
Follow the steps in the Marketing Cloud Package Development documentation for Salesforce, in the Create and Install Packages section.
-
Select the
Server-to-Serverintegration type for the API Integration package. -
Add the following required rights for your connection:
Category Type Rights Data Data Extensions - Read
- Write
-
If you use the SFMCBDE Activity for Marketing Automation functionality, you must also add the following rights for your connection:
Category Type Rights Automation Journey - Read
- Write
- Execute
Contacts List and Subscribers - Read
- Write
Prepare an SFMC connection string to your Sitecore installation
To construct a Salesforce Marketing Cloud (SFMC) connection string to your Sitecore installation:
-
In Salesforce, in the component you created, in the Components area, make a note of the following values:
- Client ID
- Client secret
- Authentication base URI
- REST Base URI
- SOAP Base URI
-
Use the values to construct a connection string with this format:
Prepare the installation files
To prepare the files you need for the installation:
- Download the SFMCBDE container deployment package from the Sitecore download page. Extract it to your local workstation with the folder structure intact.
- Go to the folder into which you extracted the SFMCBDE container deployment package. Go to the SFMCBDE folder for the Windows version and topology you are using, for example,
SFMCBDE\compose\ltsc2019\xp1. - Open the
.env-examplefile in an editor. Copy all the variables to the clipboard. - Go to the Sitecore container deployment folder on your local machine. Go to the folder for the Windows version and topology you are using, for example,
compose\ltsc2019\xp1. - Open the
.envfile in an editor, and paste in the variables from the SFMCBDE.env-examplefile. Replace the default value forConnectionString_sfmcwith the connection string you prepared in ???. - From the SFMCBDE
compose\<version>\<topology>folder, copy thedocker-compose.override.ymlfile to the Sitecore container deploymentcompose\<version>\<topology>folder (where thedocker.compose.ymlfile is).
Build the Docker images
When you have prepared the installation files, you must create Docker files for each role, and build the Docker images.
For more information on image assets, see the documentation on how to Add Sitecore Modules.
To build the images:
-
Go to the Sitecore container deployment folder on your local machine. Go to the folder for the Windows version and topology you are using, for example,
compose/ltsc2019/xp1. Create a folder and name itmodule. -
In the
modulefolder, create these subfolders:cmxconnectxdbautomationworkerxdbsearchworker
-
In each subfolder, create a new file and name it
Dockerfile. -
In the
cmfolder, in theDockerfilefile, enter the following instructions: -
In the
xconnectfolder, in theDockerfilefile, enter the following instructions: -
In the
xdbsearchworkerfolder, in theDockerfilefile, enter the following instructions: -
In the
xdbautomationworkerfolder, in theDockerfilefile, enter the following instructions: -
In the
compose\<version>\<topology>\docker-compose.override.ymlfile, add build instructions for each role. If you are using, for example, the XP1 topology, the file looks like this: -
If you are not deploying the Tenant Service, remove the
idandcdimages from thedocker-compose.override.ymlfile. -
In the
compose\<version>\<topology>\.envfile, add the asset image version. For example:NoteYou can find the image version in the Sitecore Docker Images repository.
If you are deploying in Docker with the Tenant Service, continue with the instructions in Walkthrough: Installing SFMC Behavioral Data Exchange in Docker with the Tenant Service.
If you are deploying in Docker without the Tenant Service, continue with the instructions in Install SFMC Behavioral Data Exchange in Docker without the Tenant Service
If you are deploying in Azure Kubernetes Service with or without the Tenant Service, continue with the instructions in Walkthrough: Adding SFMCBDE to Sitecore in Azure Kubernetes Service