ASP.NET Core MVC – Start session extension modularized

I got a feature request that I should store something on session start. In the old ASP.NET Framework world it was easy because we had Globbal.asax.cs and its Session_Start event. The original answer to this question is here. But, as I prefer overengineering modular architecture and Sitecore Helix principles I wanted to make it extensible without touching this Foundation piece of code. As you probably know we have Startup.cs instead of Global.asax.cs and DistributedSessionStore. To extend the Create method of the DistributedSessionStore you can just simply inherit from its interface ISessionStore.

Continue reading “ASP.NET Core MVC – Start session extension modularized”

Diagnose Solr connectivity issues on production

This blog post is for you if you find the following warnings in Sitecore logs:

  • [Index=<indexname>] Crawling Paused
  • [Index=<indexname>] Synchronous Indexing Strategy is disabled while indexing is paused.
  • IndexingStateSwitcher: Indexing is not resumed since indexes have not been initialized yet…
  • Exception: SolrNet.Exceptions.SolrConnectionException, Message: Unable to connect to the remote server
Continue reading “Diagnose Solr connectivity issues on production”

Template dependent field validator WITHOUT Sitecore rules engine

A year ago I have posted about how to create template dependent field validator with rules engine. But it requires too many modifications, so I have decided to write this post about how to do the similar functionality without rules engine.

So at first I have implemented a base class which should be used by all validators which want to be dependent on a template or a base template. This class does the following steps:

  1. Checks the template ID and base template ID of the current item
  2. If it is true then the main part is called, this is the following line:
return evaluate();

This is the injected specific validation method which is passed as a parameter.

Continue reading “Template dependent field validator WITHOUT Sitecore rules engine”