I am working on an upgrade of a solution from Sitecore 8.2 to 9.1(rev. 001564) The approach we have chosen is having a fresh 9.1 installation and moving all kinds of content from the old environment to the new one.

The struggle I currently have is to move the Contact lists to preserve the Content Manager experience when creating email campaigns and choosing a list of recipients. Looks like there is a significant difference in the available Contact list templates (

  • in 8.2 there used to be:
> /sitecore/templates/List Manager/Contact List - {8288D4EA-6576-486F-AAEC-4680329A2D5C} 
for items  located /sitecore/system/List Manager
  • in 9.1 there is
> /sitecore/templates/System/Analytics/Contact List - {3F557952-B2BB-45EB-B625-E29698B2A165} 
for items located /sitecore/system/Marketing Control Panel/Contact Lists

), which means using the Package designer will not help.

That's why I decided to try exporting the contacts in a .csv file and import them in the new environment, but then I get the following result enter image description here and exception in the logs:

> Exception: Sitecore.Framework.Conditions.PostconditionException
Message: Postcondition 'the definition was not found: `{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}` should be greater than 0' failed. The actual value is 0.
Source: Sitecore.Framework.Conditions
   at Sitecore.Framework.Conditions.EnsuresValidator\`1.ThrowExceptionCore(String condition, String additionalMessage, ConstraintViolationType type)
   at Sitecore.Framework.Conditions.Throw.ValueShouldBeGreaterThan[T](ConditionValidator\`1 validator, T minValue, String conditionDescription)
   at Sitecore.Marketing.Definitions.DefinitionManagerBase\`2.c__DisplayClass40_0.b__0()
   at Sitecore.Marketing.Core.IgnoreRecursiveCalls.Run(Guid id, Action action)
   at Sitecore.Marketing.Definitions.DefinitionManagerBase\`2.Activate(Guid definitionId, Func\`2 toDefinition)
   at Sitecore.Marketing.Definitions.DefinitionManagerBase\`2.ActivateAsync(Guid definitionId)
   at Sitecore.Marketing.Definitions.DefinitionManagerBase\`2.Save(TDefinition definition, Boolean activate)
   at Sitecore.Marketing.Definitions.DefinitionManagerBase\`2.SaveAsync(TDefinition definition, Boolean activate)
   at Sitecore.ListManagement.Services.ContactListRepository.Update(ContactListModel entity)
   at Sitecore.ListManagement.Services.ImportController.UpdateContactListSubscriptions(Guid listId, SubscriptionViewModel importSubscriptionDefinition)
   at Sitecore.ListManagement.Services.ImportController.ImportContacts(Guid listId, IDictionary\`2 mapping, String mediaItemId)
   at Sitecore.ListManagement.Services.ImportController.ImportContactsFromMediaLibraryAndCreateList(Dictionary\`2 mapping, String id)

The GUID in the exception message appears to be the ID of a Subscription item located in /sitecore/system/Marketing Control Panel/Subscriptions

enter image description here

I have re-deployed the Marketing definitions and rebuilt all indexes.

Any suggestion on what is going wrong or a better way to migrate a Contact list?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.