All Blogs

Prepopulate Component Content in Sitecore XM Cloud with SXA
April 14, 2025
Predefine Component Content in Sitecore XM Cloud with SXA Learn how to streamline your content creation process in Sitecore XM Cloud by predefining example content for components. With this setup, content authors can simply drag and drop components onto a page — and see them instantly populated with predefined sample content. Simplify Authoring with SXA Per-Site Functionality While branch templates have long allowed predefined content, many developers aren’t aware that Sitecore Experience Accele...

Highlights from SUGCON 2025 Europe
April 7, 2025
SUGCON 2025 Europe: A Look into the Future of Sitecore The Sitecore User Group Conference (SUGCON) Europe 2025 was a veritable feast of knowledge, bringing together Sitecore enthusiasts, experts, and thought leaders from around the globe. The conference offered a unique opportunity to delve into the future of Sitecore, with sessions exploring everything from best practices for transitioning from XM/XP to XM Cloud, to the future of AI, to the challenges and joys of managing thousands of websites...

Next.js Deep Dive: From Concepts to Headless Integration – Event Recap
March 15, 2025
This month, we hosted an engaging Lunch & Learn session in Sofia, Bulgaria, where we explored the power of Next.js in modern web development. The event brought together our team to dive deep into performance, scalability, and headless integration with Sitecore XM Cloud. Key Takeaways from the Event Unleashing the Power of Sitecore XM Cloud with Next.js – A deep dive into how Sitecore XM Cloud seamlessly integrates with Next.js to deliver headless experiences. (Speaker: Stefan Z...

Sitecore Serialization: Working with a Team of Developers
March 3, 2025
When working on a Sitecore XM Cloud project with multiple developers, managing Sitecore Serialization efficiently is crucial. One of the biggest challenges we faced was handling merge conflicts and ensuring that each developer could work independently on their components without overwriting others' work. In this blog post, I’ll share how we structured our serialization strategy to allow multiple developers to work on separate components without conflicts or accidental data loss, while still keep...

Leading by Example: Why True Leadership Isn’t About Authority
February 8, 2025
Leading by Example: Why True Leadership Isn’t About Authority I never wanted to be a manager. Titles never excited me—building, solving, and creating did. I just wanted to be a great developer, writing clean code and tackling interesting challenges. But leadership found me. And when it did, I made a decision: I wouldn’t be the kind of manager who hides behind authority.I wouldn’t sit on the sidelines while the team does the hard work.I wouldn’t lead by command&mdash...

Installing Sitecore 9.2 in 2025: Navigating Prerequisite Challenges and Deployment Hurdles
January 28, 2025
Installing Sitecore 9.2: Navigating Prerequisite Challenges and Deployment Hurdles Recently, I had the task of installing Sitecore 9.2 and ran into a couple of frustrating issues that I suspect might trip up others as well. If you're facing similar problems, I hope this post will save you some time and effort. The Problems Outdated Download Links in Prerequisites.jsonThe installation process for Sitecore relies on the Prerequisites.json file to pull the necessary components. However, I quickly...

Investigating Slowness for a Sitecore Managed Cloud Client: A Case Study
January 18, 2025
Recently, one of our Sitecore Managed Cloud clients reported performance slowness during a specific period. Our team conducted a thorough investigation to identify the root cause, and here's a summary of what we found and how we addressed it. Observing High CPU Usage The first indicator of an issue was a spike in CPU usage on the hosting infrastructure. This raised a flag for potential high traffic or resource-intensive operations being executed....

Moving from WordPress to Next.js - My Journey and Lessons Learned
December 19, 2024
Introduction For years, WordPress had been my go-to platform for managing my blog. Its ease of use and vast ecosystem made it an obvious choice when I started blogging. However, as my needs evolved and I sought greater flexibility, performance, and control over my website, I decided to make the switch toNext.js. In this post, I’ll share my experience migrating from WordPress to Next.js, the challenges I faced, the benefits I reaped, and some lessons learned along the way. Why Move to Next.js? W...

My Journey with Next.js, Firebase, and Chart Visualization: Lessons Learned and Tips
December 7, 2024
As a developer, experimenting with different tools and technologies is one of the most rewarding parts of the job. Recently, I built a Cashbook Application that combines Next.js, Firebase, and a charting library to create a comprehensive and dynamic solution for managing cash flow data. This project was not just an exercise in building a functional app but also part of my training to master Next.js as I prepare to work more efficiently with Sitecore XM Cloud, which heavily relies on modern Ja...

Streamlining File Management in Azure Blob Storage for Sitecore
November 7, 2024
In our recent Sitecore project, we integrated Azure Blob Storage to handle various types of media and data files for the backend, ensuring scalability and security. While this setup provided excellent support for content storage and retrieval, we encountered a need for efficient file management to maintain an optimized storage structure. Specifically, we needed a way to: Clean up old files from storage that were no longer required.Move files from one folder to another, adjusting the structure...

From FoxPro to Next.js: Embracing a Career of Never-Ending Learning
October 31, 2024
As I dive deeper into headless technology and frameworks like Next.js, I can’t help but reconsider how much this industry has evolved since I started working. Back in 1998, my career began with a desktop store app written in Visual FoxPro, complete with its own database engine. Visual FoxPro, released in 1995, was a go-to tool for database applications. This was a time when tech books weren’t available, at least not in the Bulgarian market. Learning was all about using the help menu—yes, the hel...

Case Study: Optimizing Sitecore Workbox for Large Content Environments
October 17, 2024
Overview: Upon reading posts from Sitecore Symposium on LinkedIn and learning about Sitecore Stream, I was brought back to a performance issue we encountered with Sitecore Workbox earlier in the year.Significant speed problems were seen by our client, who handles a lot of content; in particular, non-admin users were having timeouts when attempting to load the Workbox. The Challenge: The client's Sitecore XP 9.2 instance was struggling with Workbox performance due to the massive amount...

OneTrust and Sitecore Integration Issues
October 12, 2024
Introduction We've been experiencing several issues with the integration of OneTrust and our Sitecore websites. Sometimes images fail to load, static JavaScript files are blocked, or even loaded twice. This has affected the functionality of our site, causing disruptions to key components. In this post, I’ll walk you through the challenges we've faced, especially regarding a pagination issue, and how we ultimately resolved it. What is OneTrust? For those unfamiliar, OneTrust is a platfor...

The request is blocked - Sitecore Managed Cloud
September 11, 2024
While using Sitecore Managed Cloud with Azure Front Door, we randomly encountered a browser error: "The request is blocked." We had no idea why this was happening. I worked with our DevOps team since we are using Azure Front Door for traffic management, where a rule was set to block requests that exceed a specified value. So, when a user refreshed a webpage 5-6 times, they received the above message. Sometimes , they did not receive the message but receive a blocked js or css files, or even i...

How to Create a New Story for the Card Component in Sitecore XM Cloud with Storybook
August 17, 2024
The Card component is created in my guide on Building Variant Card Components in Sitecore XM Cloud with Next.js. Storybook is an excellent tool for developing UI components in isolation, and in this post, we'll walk through creating a new Story for the Card component in your Sitecore XM Cloud Foundation Head project. We will define three different versions of the Card component: Default, Small, and Large, with varying layout sizes and mock data. If you haven't set up Storybook yet, che...

Integrating Storybook with Sitecore XM Cloud Foundation Head
August 10, 2024
Storybook is a powerful tool for developing, documenting, and testing UI components in isolation. It can be incredibly useful when working with Sitecore XM Cloud projects. In this guide, I will walk you through integrating Storybook into the Sitecore XM Cloud Foundation Head project. Prerequisites Make sure you have the following installed: Node.js (We’ll use NVM to manage Node.js versions)GitHub CLI: Install it using the command below:winget install --id github.cli After instal...

Building Variant Card Components in Sitecore XM Cloud with Next.js
August 8, 2024
As more organizations move towards headless architecture, Sitecore XM Cloud paired with Next.js offers an excellent combination for building modern, scalable websites. One of the key benefits of Sitecore XM Cloud is its ability to dynamically manage content while Next.js provides fast rendering, client-side routing, and flexibility. In this tutorial, we’ll walk through an example of how to create reusable and dynamic card components in Sitecore XM Cloud using Next.js. We will explore diff...

CSS and JS issues when deploying Sitecore XM Cloud to Vercel
August 7, 2024
When I first started working with XM Cloud and Vercel, I quickly realized how much there was to learn, especially when it came to the specifics of deployment and environment configurations. I followed the official documentation to set up my site and configured Vercel for deployment, but I encountered a frustrating issue: the theme — both the CSS and JavaScript files — wasn’t loading correctly on the user interface. The site looked broken, with no styles or scripts applied, making it impossible t...

Sitecore Upgrade to 10 - Glass.Mapper 5 and Windsor
May 14, 2024
If you use WindsorContainer and upgrading Glass Mapper to 5, you need to change the registration to the container public class ContextInstaller : IWindsorInstaller { public void Install(IWindsorContainer container, IConfigurationStore store) { container.Register( Component.For<IRequestContext>().ImplementedBy<RequestContext>().LifestylePerWebRequest(), Component.For<IMvcContext>().ImplementedBy<MvcContext>().LifestyleP...

My experience preparing for XM Cloud Developer certification exam
April 25, 2024
I recently took the XM Cloud Developer Certification exam, and I think sharing my experience to the public will help them cover the exam About the Exam 50 questions for 100 minutes to finish it. To pass and obtain certification, minimum score of 80% is required Pre-requisites This exam is intended for Sitecore XM Cloud developers. You should be familiar with Sitecore Cloud portal and XM Cloud application. It will be good to have some basic experience with Sitecore JSS as wel...

Cleaning Up Unused Data Sources in Sitecore with PowerShell
April 14, 2024
As Sitecore developers and content managers, we often encounter situations where unused data sources clutter our content tree. This can happen after restructuring or deleting items, leaving behind orphaned data sources that are no longer in use. To keep our Sitecore instance clean and efficient, it's essential to identify and remove these unused data sources. In this post, I'll walk you through a PowerShell script designed to find and remove unused data sources within a specific content path....

Celebrating Achievements at Our Success Sharing Event
April 1, 2024
On March 20, 2024, we hosted a successful Success Sharing event at our Sofia office, dedicated to recognizing outstanding achievements within our team. This year, I had the honor of nominating our talented Sitecore developers for their remarkable contributions over the past year, showcasing their dedication and expertise in the Sitecore ecosystem. I felt an immense sense of pride as two of our exceptional team members from the Sitecore group took the stage as speakers. Their insights and expe...

Troubleshooting Site Language Configuration Issues in Sitecore SXA
March 1, 2024
In the world of Sitecore development, issues related to site configurations can often arise, particularly when managing multiple languages for a single site. A recent support case highlights a common problem faced by developers, the process of seeking help from Sitecore support, and how it can be resolved effectively. Background As a developer managing an SXA site with multiple site grouping definitions, each corresponding to a different language, I encountered a significant challenge. In...

Sitecore database broken after running Sitecore.UpdateApp 1.2
February 28, 2024
We followed Sitecore documentation for upgrading databases from 8.2 to 10.2. Steps you can find described here. When we ran the Sitecore.UpdateApp tool, and try to open Sitecore Backend, we got following error: [ArgumentNullException: The path "{E18F4BC6-46A2-4842-898B-B6613733F06F}" was not found. After further research, this item is a /sitecore/layout/Devices item. It sounds that the database is incomplete, or broken. I discovered that the upgraded solution includes a confi...

Sitecore Upgrade to 10.2 - GlassMapper upgrade from 4 to 5
February 23, 2024
SitecoreContext SitecoreContext is no longer available in GlassMapper 5+ and need to be replaced with MvcContext (used mainly in Controllers) or RequestContext (used outside Controllers). So for every piece of code private readonly ISitecoreContext _sitecoreContext should be changed to private readonly IRequestContext _sitecoreContext; or private readonly IMvcContext _sitecoreContext; Note that GetItem method and etc need to be called from SitecoreService. _sitec...

Sitecore Managed Cloud Lunch and Learn: Troubleshooting and Architecture Deep Dive
February 22, 2024
On February 20, I organized a Lunch and Learn session on Sitecore Managed Cloud. I presented the platform and covered common topics, including its architecture and troubleshooting techniques. Agenda Overview During the session, we covered a variety of topics aimed at enhancing our understanding of Sitecore Managed Cloud, from its core architecture to real-world troubleshooting.Introduction to Sitecore Managed Cloud We kicked off with an overview of Sitecore Managed Cloud and how i...

Resolving Sitecore SXA 9.3 Lodash Security Vulnerabilities
February 5, 2024
SXA themes: Themes define the look and feel of a site and can be created separately from the site functionality and content. There are two types of themes: base themes and site themes. Base Themes are built on top of a set of core, third-party CSS and JavaScript libraries such as jQuery, jQuery UI, Lodash, etc. Lodash is included as a part of Sitecore Experience Accelerator. The problem Lodash versions prior to 4.17.21 are vulnerable to Command Injection via the template function....

Sitecore Scheduled task to trim old versions of items
January 28, 2024
From our client, we got a requirement to clean up the database, and to keep only 10 versions of each item, first one, and last 9. It happens that they had 300+ versions for most edited items. The code for the class: public class TrimOlderVersions { public bool Enabled { get; set; } public int MaxVersions { get; set; } public string Database { get; set; } public string RootItem { get; set; } public void Run() { if (Enabled)...

Automating Workflow State Changes in Sitecore Using PowerShell
January 22, 2024
While working on a Sitecore SXA project, I needed to create a new site by cloning an existing one and performing various updates. As part of this process, I ended up with a large number of items in a draft state, which needed to be transitioned to the final workflow state. Manually publishing each item was not feasible due to the sheer volume, so I created a PowerShell script to automate this task by updating the workflow state of all items to the final state. In this post, I’ll walk you...

Fixing Kudu Console Item Limit in Azure: A Simple Solution
January 21, 2024
While working with Sitecore Managed Cloud, I needed to check if all Unicorn items were deployed correctly. However, I ran into an issue where Kudu displayed an error: "The number of items is too large to be displayed." This occurred because the number of items in the directory was too large for Kudu's default view limit. If you've encountered a similar issue when trying to verify large numbers of items, such as Unicorn serialized items or large content folders, there’s a quick fix to incre...

Sitecore Upgrade from 8.2 to 10.2
December 16, 2023
I've worked on a project Upgrade where the first task was to upgrade the existing databases. Here is a list with steps need to be performed Install clean Sitecore 10.2 (for example in "C:\inetpub\wwwroot\sc10sc.dev.local") - for Developer Workstation - Graphical setup package for XP Single Restore backup DBs (web, core, master) from 8.2 instance Run upgrade scripts (Configuration files for upgrade from ) Script A – CMS_core_master_web8x.sql - run...

Sitecore Headless Workshop: Exploring JSS, React, and Best Practices
December 15, 2023
Recently, December 12, 2023, I organized a Sitecore Headless workshop for our team, focusing on JavaScript Services (JSS) and React. My colleague led the session, presenting key concepts and practical insights into Sitecore’s headless architecture. It was an excellent opportunity for anyone looking to learn more about the flexibility and power of a headless CMS, and how JSS can transform Sitecore development. JSS and ReactBenefits of Using JSS React with SitecoreHeadless CMS ConceptScalabilit...

How to create Solr custom core index and configure it for Sitecore
June 2, 2023
For one of our clients, we had a request to create custom index for searching the news. We also need to configure SwitchOnRebuild. New Solr Core The first step is to create new Solr core, using Solr UI , or just copy existing core. Navigate to <folder-where-solr-is-installed>\server\solr. You will see all the cores currently created. I would suggest to copy scclean_web_index folder and name it sitecore_news_index. Use lower letters. Open the folder and edit in Notepad core....

Sitecore - automatically publish uploaded files/images in Media Library
November 28, 2022
Our client requested to implement a handler, which will automatically publish the media library, when content editor upload it. It happens that often Content Editors just forgot to publish the item. Once the content editor upload the image, the OnItemSaved handler will fire, and will call the code below, which will publish to web immediately. Note: If Content Editor decides to change the order, do sorting or so for Media Library, it will trigger huge publishing job. The code bellow:...

Sitecore Training - Part 1, or Sitecore Foundation Training Agenda
May 2, 2021
In my previous company, I was requested to help new team members getting knowing Sitecore. Most of the newcomers are never worked with CMS before, specially Front-End developers and QA team, and the training need to cover basics, so they can become more familiar with Sitecore. So I created agenda what topics need to be covered for someone, who never work with Sitecore before. You can use this list to have structured plan how to start study. Installing Sitecore Three Databases (core, master...

Sitecore Upgrade from 8.2 Update 1 to 8.2 Update 5
March 2, 2020
Make backup of web folder In case something goes wrong Disable configs In the Sitecore.Xdb.config file or any patch you have Set the Xdb.Enabled setting to false. Set the Xdb.Tracking.Enabled setting to false To disable the Web Forms for Marketers module: Disable the following configuration file by adding .disabled to the file extension: \Website\App_Config\Include\Sitecore.Forms.config Upgrade Sitecore To upgrade the databases on solutions that are running Sitecore 8.2 rev. 161115...