If your Sitecore solution works in a scaled environment, you must configure the Email Experience Manager (EXM) module to work in this environment.
A scaled environment usually consists of one content management server, and one or more content delivery server(s). You can configure servers for a specific purpose (for example, content management, content delivery, or processing) by enabling or disabling the relevant configuration files on each Sitecore instance.
In the standard multiserver Sitecore environment, all the content management and content delivery instances share the Core and Web databases, and all the content management instances share the Master database. This means that you have to use the same connection strings to the databases for the configuration file of each server.
The following diagram illustrates the connections between the servers and the content databases in a standard multiserver Sitecore setup:
A multiserver environment also shares the collection database (MongoDB) and the reporting SQL Server database.
This walkthrough outlines how to:
- Configure a content management server
- Configure a content delivery server
- Configure a processing server
- Configure a reporting server
Make sure you also configure the List Manager for the scaled environment.
Configure a content management server
To configure a content management server:
- Install Sitecore Experience Platform and configure it according to the Sitecore scaling recommendations for content management servers.
- Install the EXM module according to the EXM installation guide.
- In the
\App_Config\Include\EmailExperience\folder, enable the
Configure a content delivery server
To configure a content delivery server:
- Install Sitecore Experience Platform and configure it according to the Sitecore scaling recommendations for content delivery servers.
- Add a connection string to the
EmailCampaignClientServiceweb service, for example:
<add name="EmailCampaignClientService" connectionString="url=http://<CMServerHost>/sitecore%20modules/web/emailcampaign/ecmclientservice.asmx;timeout=60000" />
- In the
- Add the
exm.webconnection string, for example:
<add name="exm.web" connectionString="user id=user;password=password;Data Source=(server);Database=Sitecore_EXM_WEB" />
- Add the two connection strings EXM.CryptographicKey and EXM.AuthenticationKey. The keys must be represented in hexadecimal format by 64 characters.
- Add the
- Extract the relevant Email Experience Manager – Content Delivery package to your website root folder on the content delivery server.
- If you no longer want to use the primary CM server as a content delivery server, disable the
Sitecore.EmailExperience.ContentDelivery.configconfiguration file and remove any Sitecore.EmailCampagin.Cd*.dll assemblies from the bin folder.
Configure a processing server
To configure a processing server for Analytics data processing and aggregation:
- Install Sitecore Experience Platform and configure it according to the Sitecore scaling recommendations for processing servers.
- Extract the relevant Email Experience Manager - Analytics Processing package to your website root folder on the processing server.
Sitecore.EmailExperience.AnalyticsProcessing.LoadFields.configconfiguration file on the primary CM server to stop processing Analytics data.
Configure a reporting server
To configure a reporting server:
- Install Sitecore Experience Platform and configure it according to the Sitecore scaling recommendations for reporting servers.
- Extract the relevant Email Experience Manager - Reporting package to your website root folder on the reporting server.
- Disable the
Sitecore.EmailExperience.Reporting.configconfiguration file on the primary CM server to deactivate configuration that is only relevant for reporting servers.