Posts

Beyond Permissions: Customizing Asset Action Visibility in Sitecore Content Hub

Image
Hello everyone, Welcome to another blogpost. This blog will focus on Sitecore Content Hub development. We will discuss a use case that is highly relevant to practical development and reflects real-world business scenario. Let's get started without wasting any more time. Sitecore Content Hub provides a powerful security model through User Groups, Policies, Permissions, and Conditions. While these controls determine what users can do within the platform, they do not always control what users see in the user interface. Our blog will be exactly around this functionality. We received a requirement to restrict the download of certain assets from the Asset Search page. Specifically, any asset tagged with a particular taxonomy value should not be available for download by users. We explored using policies and permissions, particularly DRM rights in Content Hub, to address this requirement. However, none of the available configuration options provided a way to hide the Download button on...

Sitecore Marketplace - Game Changer In Sitecore AI Ecosystem

Image
Hello everyone, in this blog we will explore how the Sitecore Marketplace has transformed the Sitecore AI ecosystem. We will also look at how to get started with development and build a practical application that will be hosted on Vercel. So, let’s get started. If you’ve ever seen a content author navigate through multiple levels of the Sitecore AI content tree just to find a page they edited yesterday, you know how frustrating the experience can be. Similarly, when Sitecore developers work on stories and need to test their changes end-to-end, they often have to manually keep track of all the pages where a particular component has been added. SC Bookmarks is a Sitecore Marketplace custom app that gives Page Builder authors the ability to pin frequently edited pages, see recently visited pages, and search through their bookmarks — all from a sidebar panel that lives right next to the canvas. No more drilling through the content tree. In this post, I'll walk you through every ...

Eliminating Manual Publishing: Auto-Publish Your Sitecore Project on Docker Up

Image
Hello Everyone. In this blog, we will see one of the pain point while working locally with Docker and Sitecore AI. Developers often experience slowdowns in local environments due to the need for manual publishing. This becomes even more frequent given how Docker setups can sometimes become unstable or require restarting (docker down) because of various unpredictable issues. When running your project locally using Docker (docker up), you typically: Start containers Wait for CM to be ready Manually trigger publishing This becomes repetitive, time-consuming, and error-prone. In this blog, we’ll explore how to eliminate manual publishing by enabling auto-publish during Docker startup, along with a real-world use case. Now let's see, how we can implement the same. Step 1: Update your project csproject file with this below entry. The RuntimeIdentifier = win element in a .csproj file tells .NET which operating system/runtime your application is targeting. <R...

XDT Magic in Sitecore: Supercharging Your Content SDK Boilerplate

Image
Hello everyone, In this blog we will learn and see an important concept i.e XDT transformation which is widely used in Sitecore ecosytem even if it is XP, SXA, Headless or Sitecore AI. Let's start quickly. What is XDT tranformation: Managing configuration changes across multiple environments can quickly become difficult. We might have many important credentails that may vary across your different environment like third party api url, credentials or even emails that can be triggered during workflow publishing. This are mostly run time configuration changes and this is mostly after deployment process. I will mostly focus on Sitecore AI, By default we have transformation configuration node that can be added to xmcloud.build.json file. So when this config is available, during Sitecore AI deployment, it auto pickup the tranformation file and perform the transformation directly. Check the below screenshot which will give you fair idea. Now let’s move on to the interesting part—ho...

SitecoreForU All Blog Links 2025

Sitecore XM Cloud Customizing Sitecore Next JS Static Path Build Time By Extending Multisite Plugin Extending Edge GraphQl Schema To Support Custom Fields In XM Cloud Implementing a Custom 404 Error Page in a Sitecore XM Cloud Multi-Site Project Extend Page Props Factory in Sitecore XM Cloud to Inject Custom Data into the Layout Service Automate RSS Feed to Sitecore XM Cloud: Logic App, Next.js API & Authoring API Integration Implementing Custom Link Provider in Sitecore XM Cloud Moving Roles From Traditional XP To XM Cloud Using Sitecore Serialization Sitecore Content Hub Create Custom Definition In Sitecore Content Hub And Display Using OOTB component Sitecore Devops CI/CD Made Easy: Bitbucket to XM Cloud and Vercel Deploy and Test Local Feature Branches Like a Pro with Vercel CLI - XM Cloud and Vercel Sitecore XP Custom Link Expansion in Sitecore: A Deep Dive into ExpandDynamicLinks in Link Provider Optimizing Sitecore Branch Temp...

Extending Edge GraphQl Schema To Support Custom Fields In XM Cloud

Hello everyone! In this blog, we'll explore how to extend the GraphQL schema to support custom fields. In XM Cloud, when using the preview endpoint and running a search GQL query, all item versions are returned rather than just the latest ones. This can be challenging for authors who need to verify results in the page builder, as it relies on the preview endpoint for executing GQL queries. In this blog, we will add _latestversion to supported field types in GQL schema. We will extend Sitecore.Services.GraphQL.EdgeSchema.Services.SearchService . Below is the code for your references. namespace Foundation.Services { using System; using System.Collections; using System.Linq.Expressions; using System.Reflection; using Sitecore; using Sitecore.Services.GraphQL.Content.GraphTypes.ContentSearch; using Sitecore.Services.GraphQL.EdgeSchema.GraphTypes.Search.Models; using Sitecore.Services.GraphQL.EdgeSchema.Services; using Sitecore.Services.GraphQL.EdgeSchema.S...

Modernizing Sitecore Pages: Script-Based Removal of Default Components After Page Design Adoption

Hello everyone, In this blog I will share one most important powershell script that I personally extensively used while working on XMC migration project. Our migration project was from XP to XM Cloud which had whole UI redesign but Sitecore CMS structure remain same. Intially, while migration we followed the traditional Sitecore approach to add the renderings to standard value of the template as they were added in legacy. But when most of the component was developed, we though of utilizing the Page Design and Partial Design feature of SXA. The most commong thing which can go to page design and partial design was header, footer, breadcrumb etc which was common for all pages. Now the major problem here was, in legacy, Header and Footer for example was added manually to page level items. So we faced duplication issue as the components are coming from page design as well as standard values. To overcome this issue, the best solution was to remove the components from standard values of te...

Implementing a Custom 404 Error Page in a Sitecore XM Cloud Multi-Site Project

Image
Hello everyone, in this blog we will see how we can implement our custom 404 error page in XM Cloud project. This blog is very helpful when you are working in multisite solution with single Front End project. It means in front end, we have single repository only. XM Cloud starter repo comes up with default 400 and 500 pages but there is limitation with next js implementation. You can find detail discussion for error page limitation in this github channel here In Sitecore documentation also, its clearly mention about the same. Let me give a small information about what's the limitaion. When any page you search which is not available on your site, the page is redirected to Next JS 404 page. This 404 page then internally calls the GraphQLErrorPagesService class which internally calls grapghql query to fetch the error page configured for your site in Sitecore. This is implemented using component level data fetching. So when the page build happens for SSG, it is unable to identify wh...