Sitecore – Dependency injection in Marketing Automation Conditions

When creating custom conditions using the Sitecore.Framework.Rules.ICondition interface you might have run into the problem that there’s no way to make use of Depdency Injection. If you add parameters to the constructor, you’ll get exceptions that the object can not be created, and there’s no ServiceLocator pattern implemented. The creation of the ICondition implementations is …

Sitecore – The entire site stops working and is throwing errors

Recently I’ve upgraded a clients solution to Sitecore 10.2, and all of the sudden (without changing anything) the site stopped working and was spitting out a continuous stream of errors. This was resolved after restarting the applicationpool, thus I didn’t think much of it. Unfortunatetly this happened again later, and once more at another time …

Sitecore – Running Sitecore in Docker on a non default port

Sitecore has a really nice docker example project, which will help you start using Docker for local development. This project uses Traefik as a forward proxy, which makes it easy to configure and use SSL for all the services within the project. When you run the project, you will have to make sure that certain …

Sitecore – Breaking changes when using the Solr ContentSearch provider in Sitecore 10.1+

Within the past few days my main focus was upgrading a solution from Sitecore 9.2, to Sitecore 10.2. I didn’t have any struggles and the upgrade was pretty smooth, until the client started testing the search behaviour. Apparently Sitecore introduced a breaking change within Sitecore 10.1, that changes the way that queries with Contains are …

Sitecore – Speeding up the upgrade process for the Reference Data Database

When you’re upgrading from Sitecore 9.2 to any higher versions, then there have been major changes in the setup of the Reference Data database. Within 9.2 and lower, there was a seperate table for the DefinitionMonikers, while in higher versions this table is merged with the Definintions itself. Depending on the amount of records within …

Sitecore – An explanation of the XDB databases

When Sitecore 9 was introduced, a new way of storing contact data called XDB was introduced. XDB which is short for the Experience Database, stores all the data related to contacts, such as interactions, contacts and their related facets. To support a large intake and retention of data, Sitecore chose to use sharded databases, which …

Sitecore – Configuring retries (defers) for the message bus

Sitecore has abstractions built in to make use of the message bus functionality which is implemented with Rebus. There’s a great post from Volodymyr how to use this functionality within your own Sitecore solution. I wanted to make sure my messages were retried several times, as I’m calling an external API which isn’t available from …

Sitecore – Server side evaluation of Sitecore Forms conditions

In my previous post i’ve described how you can bypass the Sitecore Forms validation, and a workaround to solve the problem. This workaround however breaks the conditional required fields which are the fields that will be hidden or shown depending on the conditions that you can configure on a field. The conditions are evaluated only …