My problems with Sitecore FXM

Sitecore’s Federated Experience Manager (FXM) allows non-Sitecore sites to record analytics data into Sitecore. It’s both quite neat, and has a number of problems. I’m going to assume you’ve done a little reading about FXM already, but here’s how it works (in Sitecore 9.0.x).

FXM works by having you adding a JavaScript reference to your pages:

This JavaScript, when run, instantiates a JavaScript Object (a Beacon) which makes a request of Sitecore:

And the response to that sets up a Sitecore Session ID, Contact ID, and returns element matches, which are stored in Cookies:

The element matches use HTML Element IDs to identify content to a) attach click handlers too, or b) elements to insert content around or in place of.

This is where we hit the first of my problems with FXM… Continue reading “My problems with Sitecore FXM”

Advertisements
My problems with Sitecore FXM

Azure Backup fails due to Content Testing Screenshots not clearing

We had a problem with Sitecore 9.0.2 in a PAAS environment. Our Azure App Service backups started failing. This was due to the backup size:Failed Backups

Above 10GB you have to use an Azure Storage Account to store your backup, apparently. However, we wondered why our backups had grown so large – they had been a few GB – and why they seemed to be growing. Continue reading “Azure Backup fails due to Content Testing Screenshots not clearing”

Azure Backup fails due to Content Testing Screenshots not clearing

XConnect certificate expiry

So, the SIF install scripts for Sitecore create certificates for securing the XConnect communication. There are 4 certificates involved – 2 “DO_NOT_TRUST_XXX” trusted root certs for signing 2 other certs, and those 2 are a) for the IIS XConnect site binding (as normal with HTTPS), and b) one for the XConnect client.

Unfortunately, these only last for a year… and the process of renewing them isn’t well documented. Continue reading “XConnect certificate expiry”

XConnect certificate expiry

Make Media Browser show a Tree View, rather than List view

Sitecore’s media browser shows an annoying List View, rather than a Tree view by default. This is sad, ‘cos the Tree view is much more intuitive for users – they’re used a having a drive and folders.

Fortunately, you can make Sitecore use this. I think this tip came from Gert Gullentops originally, but I’m not sure. Continue reading “Make Media Browser show a Tree View, rather than List view”

Make Media Browser show a Tree View, rather than List view

Sitecore: System.InvalidOperationException: Ensure definition type did not complete successfully

I started getting this error this morning in my Sitecore logs:

System.InvalidOperationException: Ensure definition type did not complete successfully. StatusCode: 500, ReasonPhrase: ‘Internal Server Error’, Version: 1.1

I noticed this ‘cos analytics stopped working overnight:

What gives? Continue reading “Sitecore: System.InvalidOperationException: Ensure definition type did not complete successfully”

Sitecore: System.InvalidOperationException: Ensure definition type did not complete successfully

Handling IIS Error pages in Sitecore

Sitecore lets you direct errors, such as page not found, to other pages within Sitecore. This is good – it lets you have an error page with all your dynamic content (navigation menus, account details, etc).

You can patch this in with something like:

<?xml version="1.0"?>
<configuration xmlns:x="http://www.sitecore.net/xmlconfig/">
<sitecore>
<settings>
<!-- Default: /sitecore/service/notfound.aspx -->
<setting name="ItemNotFoundUrl">
<x:attribute name="value" value="/errors/Item Not Found" />
</setting>
<!-- Default: /sitecore/service/nolayout.aspx -->
<setting name="LayoutNotFoundUrl">
<x:attribute name="value" value="/errors/Item Not Found" />
</setting>
<!-- Default: /sitecore/service/notfound.aspx -->
<setting name="LinkItemNotFoundUrl">
<x:attribute name="value" value="/errors/Item Not Found" />
</setting>
<!-- Default: /sitecore/service/noaccess.aspx -->
<setting name="NoAccessUrl">
<x:attribute name="value" value="/errors/No Access" />
</setting>
<!-- Default: /sitecore/service/error.aspx -->
<setting name="ErrorPage">
<x:attribute name="value" value="/errors/Error" />
</setting>
</settings>
</sitecore>
</configuration>

Great, job done, right?

Nope…¬† Continue reading “Handling IIS Error pages in Sitecore”

Handling IIS Error pages in Sitecore