Sitecore Publishing Service and publishing targets

Recently, I was working on a Sitecore implementation that has 3 publishing targets: “staging”, “web1”, “web2”. As the number of items in that site goes beyond the millions due to the number of languages and versions, we decided to install Sitecore Publishing Service. Among all the items, one specific page was never published to “web1” and “web2”. After some time, I figured out why.

Continue reading “Sitecore Publishing Service and publishing targets”

Automatically bootstrap fields in Sitecore 9 Forms

Sitecore Forms enables you to easily create forms by dragging and dropping fields. It also supports Bootstrap. However, if you want to use Bootstrap framework, you must follow a set of steps to add the proper wrapper and classes around each field. Needless to say, this approach is not user friendly at all.

In this post, I share with you a custom processor that automatically wraps fields and adds the proper classes to each input and label.

Continue reading “Automatically bootstrap fields in Sitecore 9 Forms”

XConnect IndexWorker error “Tokens are incompatible, they have different set of shards.”

Recently, I had restored a “production” backup of the master and core databases from a Sitecore 9.0 Update-1 instance to my local SQL server installation. After that, the Sitecore log started filling up with the exception:

Sitecore.XConnect.XdbSearchUnavailableException Message: The HTTP response was not successful: InternalServerError.

Continue reading “XConnect IndexWorker error “Tokens are incompatible, they have different set of shards.””

Go home Core database, you’re drunk.

Recently, after pulling the latest changes from my team, my local Sitecore installation started showing every item duplicated. Not only the LaunchPad was behaving like that, but also the Content Editor.

This issue only appeared in local Sitecore installation. Azure environments (DTAP) where not reproducing this issue. What was happening?

Continue reading “Go home Core database, you’re drunk.”

Applying personalization per host name

Recently, we had a requirement where we needed to personalize content based on the current host.

The requested scenario was: visitor can access the same site from different hosts. For example:,, Based on the current host, the visitor should see a different icon and text on the page.

How did we meet this requirement?

Continue reading “Applying personalization per host name”

An example of unit testing with Sitecore

I have been studying unit testing and investigating how I can use it on Sitecore projects. One good usage I discovered (despite all the extra work now I have to setup a unit test project) is writing a code that uses Sitecore API and I can actually trust.

In this post, I give an example of how unit testing can speed up your development process and give you extra reliability on your code.

Continue reading “An example of unit testing with Sitecore”

4 things I didn’t know about Experience Editor

As a developer, I tend to not pay too much attention to certain parts of Sitecore. Some of those parts are the functionalities available on the Experience Editor. Here I share four things I recently learned about the Experience Editor.

I am currently taking the Sitecore® Web Experience Management eLearning. This eLearning is designed for content authors who want to learn about Sitecore content editing features. It is helping me to see how “normal people” use Sitecore.

Continue reading “4 things I didn’t know about Experience Editor”

Publishing Service: Scheduled publishing

Publishing Service enables you to schedule tasks through the task scheduler. It comes with the PublishTask and PublishJobCleanUpTask default tasks. The good news is that we can create custom scheduled tasks as well.

In this post, we are going to create a scheduled publishing task which on a given Interval queues a new publish job.

Continue reading “Publishing Service: Scheduled publishing”