Part 2 - XConnect Avatar Facet breaking Experience Profile (Follow Up)

If you read my last post – or if you just passing by got interested in the subject, here are a few follow-ups:

  1. When you create your custom Facet to store the bigger version of the image, make sure to decorate it with [DoNoIndex] as we don’t need the image to be indexed
    [FacetKey(DefaultFacetKey)]
    public class UserPicture : Facet
    {
        public const string DefaultFacetKey = "UserPicture";
    
        /// <summary>
        /// Base64 of the picture
        /// </summary>
        [DoNotIndex]
        public string Picture { get; set; }
    }
  2. xDB is not the best storage for images – Base64 encoded files are rawly 37% bigger than the original image. Although xDB can store files of any size, xConnect can eventually slow down when you have a high number of bigger files. Instead, you can save only the image reference on xDB, and store the file somewhere else.
  3. In the last article, when I say the Base64 was truncated on SQL Server, I was actually wrong.
    It is only truncated on Management Studio, but the full information is on xDB. You can even read and write it, but still, it breaks Experience Profile when you use the native “Avatar” facet.

Posted in XConnect

Leave a Reply

Your email address will not be published. Required fields are marked *

*

  Am Not Spammer

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>