Extending xDB by creating a custom contact facet

In xDB, you can store custom contact information using System facets such as Tags and Extensions. However, to store complex information such as dictionaries or collections, you can extend the Contact with your custom facet. In this recipe, you will learn how to store shopping cart information to the Contacts collection in xDB.

Getting ready

For this recipe, you should create product pages with an Add to cart button on it.

How to do it…

We will first create a Contract to define the structure of elements of the facet:

  1. In the SitecoreCookbook project, create an IShoppingCartRecord interface in the Model subfolder in the Analytics folder that extends the IElement and IValidatable interfaces as follows:

Get Sitecore Cookbook for Developers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.