Fed up of trying to your Contact in 100,000s of Contacts in xDB when you only want see if some data is there. Yeah me too. Here are the easiest way to find your Contacts.
It’s a new year! And fresh from a short break from the blog, to focus on presenting at the xDB training course in New Orleans and Sitecore User Group in Cardiff, I’m back. So let’s get to it!
I talk a lot about the value of extending xDB to store data relevant to the client and how to surface that data for Content Editors to use. I now want to cover how to use that data on a grand scale. From accessing that data for all your contacts in a performant way. Then using that data to create lists of similar contacts based on their interactions. Finally allowing you to target groups of individuals with relevant email communications, via EXM, or synchronize with a CRM (more on that in a future blog).
Quite a few of the clients I have worked with lately have asked about implementing Gated Content. Not Gated Pages – preventing access to pages requiring an account and roles but gated areas on an actual page. Essentially requiring a site visitor to give up some information about themselves before gaining access to some content.
This actually a good thing in Sitecore because we can request the visitor’s email address so that we can identify them in xDB. Meaning more and more of our Site visitors will be uniquely identified, tracked and ultimately targeted with personalised experiences.
Part 2 – The Experience Profile App
Sitecore’s Experience Profile shows a detailed breakdown of each Contact (visitor of the site) and is built using Sitecore’s SPEAK, so to modify the app it we are going need to use the Sitecore Rocks Visual Studio Extension. To refresh, here is an overview of what we’re trying to achieve.
We’re going to create a new Tab on the Experience Profile App for our Interaction Facet we built previously, the Tab will show the actions the User has completed on the site which are unique to the client. Within that Tab we have a collection of Sub Tabs, one for each Element of the Facet, e.g. Sample Orders, Videos Played etc. Then each Sub Tab has a Panel to display the data.
It’s about time we start doing with Experience Database. Out of the box, xDB is awesome for collecting general data such as name, address, contact details etc and that’s really useful. But how about we take it to another level; store specific information to the website, the client and the interactions of the visitor.
Follow Field Target – Click through to the Item referenced by a Sitecore Field
Fed up the roundabout way of navigating to the Item referenced in one of Sitecore’s Link and List Field Types in the Content Editor I’ve built a concise Sitecore Marketplace Module that lets you click through to the Item the field is targeting.
Secure File Upload – Restrict files uploaded via WFFM by Mime type and file size
At the beginning of the year I posted a blog on a secure way to validate uploaded files that goes beyond checking the file extension. I have since redeveloped it from the ground up to exist as a self-contained module which is now available on the Sitecore Marketplace for Sitecore 8 all the way back to 6.5;
MIME Type Custom Form Validator
I was recently working on methods to validate files uploaded by End Users and the usual recommendation of checking the file extension didn’t sit right with me, even more so when I found out that the .NET API ultimately just checks the File extension as well.
So the product a mornings work I’ve written a decent method of checking those upload files are what they say they are. In this case I created a Custom Sitecore WFFM Field Validator but its simple enough to port the code to custom web forms. Hopefully another dev will find this suitable as an alternative method.
MasterKey – Unlock Sitecore Items en masse
So pretty exciting news! My first Module has just become available on the Sitecore Marketplace;
It is inspired by the struggles one of the QA guys I work with who had the joy of going through and unlocking folders and folders of items locked by a Content Editor’s account.