Related image

What’s new in Sitecore 9.1?

Sitecore Host Base

Sitecore is going to extract the services in Sitecore.kernel into individual independent services i.e. caching, logging, messaging etc. and make them single responsibility. 


Sitecore Host is a console application built with .Net core. It’s a abstracted host base, brings a common platform for developing additional functionality.  It supports both .net core  and full framework.  It is powering apps and services like Sitecore Identity, Horizon, as well as universal tracker.


Sitecore Identity

Sitecore identity is a plug-in to the open source, it provides single sign on, allows to combine with external AMI system, and old membership.



Horizon is the next generation experience for content management, it reduces time to value significantly with focus on the need of tomorrows user profiles.  out of the box features for easy adoption and utilization of the full Stiecore potential. It also provides a user interface that is just as powerful and innovative as the engine behind.

It provides a personalized hub into the world of Sitecore services, creating experiences powered by insights, as well as controlling and optimizing all marketing activities.


The architecture o f Horizon as shown below. As mentioned above, Horizon is one of the service built with .net core and hosted on Sitecore host base. It communicates with Sitecore Content Management Sever via message bus.



Sitecore Cortex is a Machine Learning engine for generating real-time insights of customer data. Cortex will become the key of future smart CMS.

Universal Tracker

Universal tracker allows mobile developers for tracking all user interactions, and soon Sitecore mobile SDK will support personalization on mobile native apps.



Finally Sitecore commerce 9 (SXC9) is released! Like everyone else, I’m getting excited about the new release.



It’s not a secret that the previous Sitecore commerce is super hard to use, as it relies on a legacy system – the RIP commerce server.No more Commerce Server!Thisis one of the most exciting news for Sitecore commerce. I believe everyone is happy that we no longer needs to deal with the commerce server. Secondly, it supports SXA, which should really speed up the implementation of the commerce site from the ground up.


Getting started

Now, let’s start to spin up a Sitecore 9 commerce site together.

Before starting to install SXC 9, please make sure you have Sitecore 9(XP0) update-1 installed. If you don’t know how to install Sitecore 9, you can read my previous post here.


Once Sitecore XP0 installed, the next step is to check the environments includes system requirements, framework requirements etc. I wrote PowerShell script for checking all the required bits and pieces that listed in the Sitecore commerce 9 installation guideline.  you can just simply follow the official documentation.


Installing commerce 9

In this section, I’m going to explain the steps for installing Commerce 9 as well as the issues you may encounter during this process.

Ready? Okay, let’s get stared.

[Step One]

Download package from Here.  The package I'm using for this demo is the On Premises  version.  Please feel free to use the azure version, if you are more comfortable with Azure environment.

Once you downloaded the package, unzip the package.


[Step Two]

Create a deploy Folder, and copy the above files into the “deploy” folder you just created.  Then unzip the the zip files as listed below:

  • SIF.Sitecore.Commerce.1.0.1748
  • Sitecore.BizFX.1.0.572
  • Sitecore.Commerce.Engine.2.0.1922
  • Sitecore.Commerce.Engine.SDK.2.0.1922
  • Sitecore.IdentityServer.1.0.65

If you read the Stiecore official installation guideline, you will probably notice that Sitecore.Commerce.Engine.2.0.1922  and Sitecore.IdentityServer.1.0.65are not listed in the list, why here I’m asking you to unzip those two?


This is because the default connection string for both Sitecore Identity Server and Commerce Engine are using “.”. Therefore, If your SQL server instance name is different from the default value, you most likely get these errors.



Update the server in the connection string in both the “appsettings.json” and the environments *.json files as well as global.json.

The global.json connection string is used to tell that engine role how to access the Global database that contains the environment information.
All of the environment data is declared in json files on disk, which are then read into the Global DB when you execute the BootStrap command.

Once you’ve done above, replace the vanilla zip files with the ones you updated.

[Step Three]

Open “Deploy-Sitecore-Commerce.ps1” in “SIF.Sitecore.Commerce.1.0.1748” Folder, and update the configuration as per your environment.

Here is an example


There are a few issues in the default script, for avoiding the runtime error, please change the value as highlighted in the screenshot below.


Otherwise, you may encounter an error as below


[Step Four]

Finally, let’s run the script.  The whole installation takes about 30-40 mins.



[Step Five]

After it is successfully installed. you will need to follow the post installation steps in Chapter 4 of the installation guide.  

Finish? Congas! your Sitecore commerce SXA site is successfully installed.


Thanks to Rob Earlam for explaining the concept, so that I’m able to troubleshoot the issues.  I hope this post can ultimately help you as well with the installation.


After install vanilla Stiecore 9 and I noticed the below error keeps showing in the log file.

ERROR Type 'Sitecore.XConnect.Segmentation.Predicates.Contacts.ContactIsAnonymous' not found in assembly 'Sitecore.XConnect.Segmentation.Predicates'

If you are having the same issue, try to clean %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files" folder.