Resolve Context Language based on Geolocation

Sitecore Language resolver didn’t change much since I am working with Sitecore. I remember John West blog post explaining the order of resolution.

  1. The sc_lang query string parameter.
  2. The language prefix in the path in the requested URL.
  3. The language cookie associated with the context site.
  4. The default language associated with the context logical site.
  5. The DefaultLanguage setting specified in web.config.

But what if I would like to change it ?

  1. The sc_lang query string parameter.
  2. The language prefix in the path in the requested URL.
  3. The language cookie associated with the context site.
  4. The language corresponding to visitor IP – using Geolocation service 
  5. The default language associated with the context logical site.
  6. The DefaultLanguage setting specified in web.config.

Continue reading

Sitecore compliance with GDPR- Part III

In  my previous blogs about General Data Protection Regulation (EU GDPR) –  Sitecore compliance with GDPR- Part III – I wrote about compliance at large. Then in Sitecore compliance with GDPR- Part II  a closer look how should be done in Sitecore. This time, I would like to go a little bit deeper – prevent Sitecore from tracking visitor action in session.

Continue reading

How to Restrict Access to Sitecore SXA Site with Identity Server

Let’s imagine that you need to restrict to secure your whole site, or only your Content Management instance. No anonymous access. As a Sitecore old school guy I tough about site requireLogin setting set to true and loginPage to /sitecore/login

From old Sitecore Developer Network


It changes with Sitecore 9.1 and Identity Server . A must read article, Understanding Sitecore authentication behavior changes,  says that the new format is  /identity/login/{your_sxa_site_name}/SitecoreIdentityServer. 

Continue reading

Universal Tracker

Sitecore in on a journey from monolith to NET Core based Service Architecture by leaving the safety of the monolith but because of tight coupling we have to live with large instances, slow start up and all or nothing upgrades. This old approach is hard to scale, bug in one feature can affect the whole platform. It always slowed down the adoption of new technologies.  Now, Sitecore is going into direction where they creating  a new building blocks on the same Sitecore Host (hOS+). One of them is Universal Tracker. But what is it ?

Universal Tracker is a headless API for xDB collection. You asking your self isn’t that xConnect? It is not. xConnect only accepts immutable history and it designed for trusted service communication – Authentication only, no authorization. Universal Tracker is needed to not expose xConnect. I has been told that in the future, Sitecore will use Universal Tracker instead of Sitecore.Analytics.Tracker. The Universal Tracker will allow collection of interaction data from all channels, wherever they may be, including Sitecore websites (web tracker), other websites (JS tracker) and even mobile applications (mobile tracker).

Where xConnect is concerned with collecting completed interactions, the universal tracker is concerned with collecting live interactions as they happen, and submit them to xConnect when they’re done.

Continue reading

Solr 6.6.2 exceptions while rebuilding large indexes

sitecore Caused by: this IndexWriter is closed

sitecore o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: Exception writing document id


For last few weeks I was getting this exception while I was working on my local machine using a copy of production master and web databases. It never happened before, never with our dev databases synchronized by Unicorn.   Rebuild started normally, and then half an hour later I was getting an exception pointing into a random item saying that Sitecore is not able to write document ID.  Data corruption? But why is working on staging? No, the Java heap is running out of space.

Continue reading

Sitecore 9.1 Developer Installation


The Prerequisites for Sitecore 9.1 are known

  • Windows 2016 server or Windows 10
  • IIS 10.0
  • .Net Framework 4.7.1
  • SQL Server 2016 SP2 or  SQL Server 2017
  • SQL Server 2014 is compatible with the XM Scaled topology
  • Solr 7.2.1.
  • .Net Core 2.1 for the new Sitecore Identity server, you must install: ·
  • .Net Core 2.1 Runtime (v2.1.3)
  • Sitecore Install Framework 2.0.0

If  want to install and play with  Sitecore 9.1 while still working on 9.0.X project ?

  1. Install SIF 2.0 and keep 1.2.1 – you will need it for Sitecore 9.0.X. installation
  2. Install Solr  7.2.1 on a different port than  6.6.2 ( you will need both instances)