sitecoresitecore8.1ecmsitecore-exm

Sitecore EXM List Manager in distributed environment with Lucene Search Configuration


We are using Lucene index instead of Solr. We are currently facing an issue with our List Manager in CD server. The below code throws an exception in CD server as it's unable to instantiate List Manger from Sitecore Configuration Factory.

newsRecipientList = listRepository.GetEditableRecipientCollection("{my list guid }");

I've already gone through the Sitecore documentation for List Manager in a scaled environment, but it only talks about Solr. https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/the_list_manager/configure_the_list_manager_in_a_scaled_environment

Any guidance on Sitecore configuration for List Manager using Lucene is much appreciated.

Sitecore Exception Stacktrace

Value can not be null : listManager at Sitecore.Modules.EmailCampaign.Factories.BusinessLogicFactory.<>c__DisplayClassd.b__b() at Sitecore.Modules.EmailCampaign.Core.InstanceCreator.GetConfiguredInstanceOrDefault[TResult](String configurationPath, Func1 defaultInstanceBuilder) at Sitecore.Modules.EmailCampaign.Factories.BusinessLogicFactory.<>c__DisplayClassd.<CreateDefaultFactory>b__a() at Sitecore.Modules.EmailCampaign.Factories.InitializedOnce1.get_Value() at Sitecore.Modules.EmailCampaign.ListManager.ListManagerCollectionRepository.GetEditableRecipientCollection(String recipientCollectionId)


Solution

  • Since List Manager is not available in CD environment we need to call Sitecore API to update/add contacts. Below class has api's to modify contact list.

    Sitecore.Modules.EmailCampaign.ClientApi
    

    We need to add connection string in CD server in order to call this api's.

    <add name="EmailCampaignClientService" connectionString="url=http://<Your CM Server host>/sitecore%20modules/web/emailcampaign/ecmclientservice.asmx;timeout=60000" />