Sitecore 9 + xConnect: Blog round-up and known issues
First, just to touch on Sitecore 9.0 in general. There are already some great resources available, created by Sitecore and the community to get you up to speed:
- The official Sitecore Developer documentation
- Kamruz Jaman, aka jammykam, provides a good overview of the new features in his blog post - Sitecore 9 is here!. He’s also created blogged specifically about the new custom configuration roles and dynamic placeholders
Installations in Sitecore 9.0 have become a little more complicated, and there’s a bit more to get used to, especially when it comes to setting up your own development environment. The following blog posts provide some good pointers and scripts to get you going faster:
- SIF Installation gotchas by Bas Lijten
- Low-effort SOLR installs by Jeremy Davis
- The lazy developer’s way to install Sitecore 9 by Kam Figy
SOLR is essentially a prerequisite for Sitecore now. If you have only been using Lucene so far, I would strongly recommend you investigate SOLR and move towards it as the norm for your projects. Fortunately, with the introduction of SIF and the new configuration roles, switching over to SOLR is much simpler than in previous versions of Sitecore.
xConnect is a brand new concept for Sitecore 9.0, and as such you’ll want to make sure you’re up to speed on it. Rather than go into detail here on what it is and what you need to know, there are already some really good resources that have been written that I can point you to.
First off, there is the official documentation for xConnect, which is chock-full of examples and guidance, so shouldn’t be overlooked.
Next, my man Jason Wilkerson, aka longhorntaco, has created a fantastic series of blog posts introducing xConnect and also provides sample code for getting your first xConnect client running and pushing interactions into xDb. All the example code is included on GitHub too, nice!
There is currently an outstanding bug relating to tracking interactions from a non-Sitecore xConnect client. When these interactions are added to a contact, they will then cause an error to be shown when the Experience Profile is used to view that contact:
Along with seeing this error, you’ll also have the following error logged:
The issue occurs due to the interactions from an xConnect client not supplying all of the facets that a typical web visit interaction does, such as User Agent + IP info. The code that executes within the Experience Profile to render visit data expects these facets to be populated.
This issue is already known to Sitecore, and is listed on the Sitecore 9.0 Known Issues page:
The Experience Profile currently only supports website visit interactions. As a result, if an interaction does not fully populate the facets required for a web visit, an error is displayed.
There are however, a couple of workarounds you can put in place to fix this issue. These involve either:
- Providing data for these additional facets with your interactions from your xConnect client
- Patching the report code so that it allows for this data to be missing
This would be worth a blog post on its own, but fortunately, there is already a great post covering how to implement these workarounds.
Additionally, you may notice that within the Experience Profile, the default search dashboard doesn’t seem to show any results, even if you know there are contacts present:
This is due to another Known Issue in Sitecore:
The To date field must be filled in to see search results. This field is hidden by default and you must select the Filter button to enable it. (187153)
To workaround this for now, you need to open up the filter and make sure the To Date field is set to a value that covers an interaction for your contact:
With this in place, you should see that the contacts start appearing.
Still facing an issue relating to Sitecore 9.0 or xConnect that no one has yet covered? The Sitecore StackExchange is, as ever, the no. 1 resource for questions + answers relating to all things Sitecore. Questions can be tagged, so it’s worth browsing the xConnect questions to see if someone is encountering the same problem as you.