S4S EXM Installation (Pre-Sitecore 9)

Note: S4S EXM is an upgrade from S4SLB Plus. The original naming may appear in the packages, development files, and namespaces.

Sitecore Package


IMPORTANT: Before installing S4S EXM in Sitecore, make sure you have already installed S4S (including S4SLB) and Sitecore EXM in your Sitecore instance.

IMPORTANT:

  • Up to Sitecore 8.2 update 4 (rev 170614), use S4S EXM-1.2.zip package.
  • For Sitecore 8.2 update 5 until Sitecore 8.2 update 7, use S4S EXM-1.2.1.zip package. S4S EXM-1.2.1.zip package includes the changes related to new MongoDB drivers.

Steps

Install S4S EXM package from Desktop » Development Tools » Installation Wizard


  • Add following configuration to S4S.config (typically in the /App_Config/Include folder) - add to inside the <Settings> section:

<!-- Settings related to S4SLBPlus -->
<!-- The ManageRoot path for Email campaign  -->
<setting name="S4SLBPlus.ManagerRootPath" value="/sitecore/content/Email Campaign" />

<!-- EXM PageEvent related settings  -->

<setting name="S4SLBPlus.EXMPageEventsFolderPath" value="/sitecore/system/Settings/Analytics/Page Events/EXM"/>      
<setting name="S4SLBPlus.EXM.UnsubscribeFromEmailEventId" value="450ADCBF-9429-48D1-B87F-B45691833D1F" />
<setting name="S4SLBPlus.EXM.EmailLinkClickEventId" value="87431B9B-FA39-4780-BEB3-1047B9E61876" />
<setting name="S4SLBPlus.EXM.FirstEmailLinkClickEventId" value="BFC9EB31-1D02-486B-A3A0-5B36A138CCF7" />

<!-- Optional setting -->
<setting name="S4SLBPlus.DefaultHours" value="5"/>


  • Add following configuration related to Sitecore scheduled task below <Settings> section
  • You can change the value of “interval” in the <agent> and control the scheduled run time.

<scheduling>
<!-- S4SLBPlus scheduler update Salesforce Contacts or Leads with Sitecore EXM analytics data -->
<agent name="S4SLBPlusScheduler" type="FuseIT.S4S.S4SLBPlus.ScheduledTasks.S4SLBPlusScheduler" method="Run" interval="00:30:00"></agent>
</scheduling>


  • Look at the configuration files in the App_Config/Include/EmailExperience folder
  • In the Sitecore.EmailExperience.ContentManagement.config and Sitecore.EmailExperience.ContentDelivery.config, set all the “addCampaignToInteraction” parameters to true as shown below.

	<param desc="addCampaignToInteraction">true</param>


 

IMPORTANT:

S4SEXM uses the Sitecore SSC Framework for communication between client and server, which is configured within the App_Config\Include\Sitecore.Services.Client.config file.
If you use S4SEXM UI (S4S EXM Dashboard in Sitecore launchpad) within Sitecore Admin area, and you are connected externally from your Sitecore CM Server, you may need to change Sitecore.Services.Client.config file "SITECORE SERVICES SECURITY POLICY" for external access.

In other words if your Sitecore instance hosted in a remote location from where you try to connect as a client, you have to change the “Sitecore.Services.SecurityPolicy” config setting value in App_Config\Include\Sitecore.Services.Client.config file to “Sitecore.Services.Infrastructure.Web.Http.Security.ServicesOnPolicy, Sitecore.Services.Infrastructure”.  

OR

Add following configuration section to S4S.config in App_Config/Include (Or any other config file) Or add it as a separate patch file. This will allow access to the controller which S4S EXM is using in Sitecore SSC framework.

<sitecore>
    <api>
      <services>
        <configuration type="Sitecore.Services.Infrastructure.Configuration.ServicesConfiguration, Sitecore.Services.Infrastructure">
          <allowedControllers hint="list:AddController">
            <allowedController desc="FuseIT S4SEXM">FuseIT.S4S.S4SLBPlus.Controllers.S4SEXMDashboardController, FuseIT.S4S.S4SLBPlus</allowedController>
          </allowedControllers>
        </configuration>
      </services>
    </api>
  </sitecore>


Salesforce Managed Package


Note: The package for the Enterprise / Unlimited Edition contains APEX classes and Triggers that cannot be installed on Salesforce Professional Edition.


Steps

  1. Install Salesforce package from - https://login.salesforce.com/packaging/installPackage.apexp?p0=04t6F0000017rHj
  2. Navigate to Setup » Develop » Custom Settings, click Manage and add a new setting called “default” under “S4S LBPlus Settings”. Add the public site URL (for example http://sitecoretest.fuseit.com) as the S4SLB web service URL value.
  3. Make sure you add the Remote Site Settings which points to your public site (Remote Site Settings are saved under Setup » Security Controls » Remote Site Settings).
  4. Add the “Sitecore Email Campaign Messages” related list and “Get Sitecore Email Campaign Analytics” button to the layout of Salesforce contact and lead (as required).
  5. Make sure the visibility of Salesforce contacts and leads is enabled and Edit and View permissions have been granted to “Email Opt Out” field.

Next Step

Figures (Pre-Sitecore 9)

Steps