Sitecore Headless Next.js – Generic component based external API response processing

Since Sitecore Headless and Composable DXP jumped in to our life, designing and architecting Sitecore solutions are changing. The integration layer is moving to the frontend layer and stays decoupled from Sitecore.

On the current project we are working on, almost all Sitecore components have to call different API routes to enrich the Sitecore component with data coming from these external sources. As it’s a requirement to almost all of our components, it makes sense to design a generic solution for serving the merged data to the frontend. I want to thank Richárd Palkó, we designed and implemented this generic solution together and thank you for guiding me on getting familiar with TypeScript, Next.js and React 🙏.

Continue reading “Sitecore Headless Next.js – Generic component based external API response processing”

Sitecore Headless – Wildcard item with datasource content resolver

On one of my first Sitecore Headless project I got a requirement to implement a dynamic URL resolving to display product data from a different root of the Sitecore tree. If it would have been a traditional Sitecore solution I could implement a custom item resolver but in the headless world we need a different kind of mindset to solve problems like this.

Continue reading “Sitecore Headless – Wildcard item with datasource content resolver”

Update NuGet packages in multiple repositories

On my current project we are struggling of updating multiple repositories after we are pushing a new version of our custom NuGet packages. A solution could be to use floating versions but I wanted more control over the versions, because there could be cases where I need different versions on each solutions. Therefore I went in the direction to update the versions manually on a developer machine. This way, pull requests needs to be opened for each package updates, but this is great because I want all developers aware of the changes.

Continue reading “Update NuGet packages in multiple repositories”

Using translation API with Sitecore ASP .NET Core Rendering Host

Currently there is no client side API implementation done of the Sitecore dictionary translation API in the official Sitecore ASP .NET Core SDK, therefore I decided to implement a PoC. After googling a bit I found, Sitecore already provides an API endpoint to resolve dictionary items and it’s already implemented in the JSS clients. So based on this documentation I found the API endpoint on my local Sitecore CM instance, which is


The response of this endpoint is the following:

"lang": "en",
"app": "Discovering.Sitecore101",
"phrases": {
"label1": "label 1",
"label2": "label 2"
Continue reading “Using translation API with Sitecore ASP .NET Core Rendering Host”

Sitecore Publishing Web Hook – Sitecore Rendering Host output caching PoC update

Sitecore 10.1 released a few weeks ago and one of the new features is the Publishing Web Hook. The main reason why this is introduced is to able to easily update JAMstack apps on publish. Official step-by-step guide for Vercel deployment can be found on the official Sitecore JSS documentation site, here.

Continue reading “Sitecore Publishing Web Hook – Sitecore Rendering Host output caching PoC update”

Using Sitecore configuration API from Service Configurator

OR when you are facing with the following exception:

[LockRecursionException: A read lock may not be acquired with the write lock held in this mode.]
System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker timeout) +1347
System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker timeout) +44
Sitecore.DependencyInjection.ServiceLocator.get_ServiceProvider() +176
Sitecore.Configuration.<>c.<.cctor>b__360_0() +9
System.Lazy`1.CreateValue() +734
System.Lazy`1.LazyInitValue() +189
Sitecore.Configuration.Settings.GetSetting(String name) +48
Continue reading “Using Sitecore configuration API from Service Configurator”

Discovering Sitecore ASP .NET Core SDK – Datasource Item Children Resolver


namespace Discovering.Sitecore10.Models
public class ChildrenBlockModel
[SitecoreComponentField(Name = "items")]
public IEnumerable<ItemLinkField<ContentBlockModel>> Children { get; set; }
public class ContentBlockModel
public TextField Title { get; set; }

Longer interpretation

I wanted to play around a bit with different Contents Resolvers. The default resolvers are the following under the /sitecore/system/Modules/Layout Service/Rendering Contents Resolvers item:

  • Context Item Children Resolver
  • Context Item Resolver
  • Datasource Item Children Resolver
  • Datasource Resolver
  • Folder Filter Resolver
  • Sitecore Forms Resolver
Continue reading “Discovering Sitecore ASP .NET Core SDK – Datasource Item Children Resolver”

Sitecore ASP .NET Core SDK output caching PoC

One of my first question about Sitecore ASP .NET Core SDK was that, is there any built in rendering side caching mechanism implemented already?

This is in consideration in the roadmap, we are looking at ways to expose publishing events to the rendering host to enable this.

Nick Wesselman

Meanwhile, I thought I implement something simple to achieve this. The basic idea is to open and endpoint in the ASP .NET Core rendering host which will “clear” the cache. This endpoint can be called by the Sitecore CM while publishing. This is not a production ready implementation but could be a good starting point for you. So let’s start with it!

Continue reading “Sitecore ASP .NET Core SDK output caching PoC”