November 21, 2018

Sitecore Contact Utilities also available for the List Management

A very common requirement for our customers is the possibility to create some rules based on the values stores in the contact’s facets.

To do that, Adam Conn have create two modules who work in combinations: the Sitecore Adaptive Rules and the Sitecore Contact Utilities. Watch out the two following videos to know how those two modules works: Sitecore Adaptive Rules, Sitecore Contact Utilities.

What I have done on my own github is:
  1. Correcting some bugs. For example, if you have twice the same values in two different facets it can mix both values in the facet. 
  2. Improving the performances: The Adam Conn implementation was based on the IDTables for caching but this implementation was very slow when you have like 30+ facets. So I have refactor the code to be able to plug your own provider and I propose a “In memory provider” by default. Trust me this makes a lot of differences in term of performances! 
  3. List management: the Adam Conn rules are only available for renderings personalization. But I also needed the same system to segment the contact lists. So I have adapted the code to be able to make this segmentation. This was really a huge work because when you personalize a component you just receive a single contact and return true a false as result of the rule. But, when you want to play with segmentation rule, you need to return a lambda who will be executed on the indexing provider (Lucene, Azure Search or Solr).
I have worked for months on this module so I will be glad if it can help your customers too and help the community!

You can find the two modules here:

I want to thank again Adam Conn for you amazing job on it too. I have done a pull request on the original repository too so if you read it do not hesitate to merge it with yours if you want to!


No comments:

Post a Comment