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:
- Correcting some bugs. For example, if you have twice the same values in two different facets it can mix both values in the facet.
- 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!
- 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).
You can find the two modules here:
- https://github.com/VGBenjamin/sitecore-adaptive-rules
- https://github.com/VGBenjamin/sitecore-contact-utilities
Enjoy
No comments:
Post a Comment