Walkthrough: Customizing contact purge conditions
You can extend the purging tool with custom conditions to further filter contact data extraction before purging. This option is useful to refine the selection of contact data to purge for more specific use cases.
This walkthrough describes how to:
-
Implement the
IConditioninterface -
Register the custom condition
Implement the ICondition interface
To create a custom condition:
-
Implement the
Sitecore.XConnect.DataTools.Abstractions.Conditions.IConditioninterface with a uniqueConditionId.NoteThe
ConditionIdis a string you set that uniquely identifies it in the system. You must pass theConditionIdin theConditionsPOST parameter during task registration.For example:
RequestResponsepublic interface ICondition { bool IsAccepted(Contact contact); string ConditionId { get; } } public class AnonymousCondition : ICondition { public bool IsAccepted(Contact contact) { return !contact.IsKnown; } public string ConditionId { get; } = "AnonymousCondition"; }
The conditions are limited to filter by contact data and contact identifiers. You cannot create a condition based on the contact facet or interaction data in Sitecore 10.1.
Register the custom condition
You must register the condition in the Cortex Processing Engine instance.
To register the condition:
-
Open the configuration file
/App_Data/Config/Sitecore/Processing/sc.XConnect.DataTools.Conditions.xml. -
Under the
<Settings>/<Sitecore>/<Processing>/<Services>tag, register the new condition.For example:
RequestResponse<Settings> <Sitecore> <Processing> <Services> <Condition.AnonymousCondition> <Type>Sitecore.XConnect.DataTools.Conditions.AnonymousCondition,Sitecore.XConnect.DataTools.Conditions</Type> <As>Sitecore.XConnect.DataTools.Abstractions.Conditions.ICondition,Sitecore.XConnect.DataTools.Abstractions</As> <LifeTime>Singleton</LifeTime> </Condition.AnonymousCondition> </Services> </Processing> </Sitecore> </Settings>
You cannot get a list of all the registered conditions. After you extend processing with a custom condition, you must make a note of the ConditionId.