Sitecore EXM List Manager in distributed environme

2019-07-26 16:41发布

问题:

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)

回答1:

if you followed the guide to the Delivery environment, ListManager is disabled and that might be the reason why you see that error. Does the same code work on CM? (where LM is enabled)



回答2:

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" />