Skip to main content

Posts

Connecting Sitecore Content Hub to Sitecore XM Cloud

The steps to connect Sitecore Content Hub to Sitecore XM Cloud is listed out in this Walkthrough But below are notes from my setup experience. Prerequisites   A. Create a service account user called “XMconnectServiceUser” (that has an email associated with it) using the doc link . You should create a password at the end of this step B. Create an OAuth client by going to the “OAuth clients” section of the Manage admin page (gear icon in top right nav) in Content Hub.  Name: Content Hub “Env” Connector example: Content Hub Dev Connector Client ID: Any GUID example: 5fd3b02d-aad7-4a18-b1b9-c63a9a69fd7c Client Secret: Any GUID example: 0b055826-c14e-44fa-b206-cff37499e229 Redirect Url: The Content Hub Url example: https://dom-d-001.sitecorecontenthub.cloud/ Client Type: Client Credentials Users: XMconnectServiceUser We can follow the Walkthrough for the following two sections. 1. Configure and enable the DAM connector in ...
Recent posts

Sitecore XM Cloud local development setup

Below are my notes when setting up a local Sitecore XM Cloud development environment. There are many good blog articles for local XM setup but the following 3 were the most useful for me Blog 1 - Used for Docker setup Blog 2 - Used for Rendering site setup Blog 3 - Used to install test content in local CM Using the information from the first 2 articles I was able to setup my local docker environment by running the up.ps1 script and then having a local Sitecore instance running on https://xmcloudcm.localhost I also had my local next js rendering site running using start:connected and accessed using the url http://localhost:3000 You can write all your rendering React code in your React app. You can create components using Json renderings in Sitecore and have corresponding tsx files in the components folder of your React app. For any Sitecore content items that are part of the component, you serialize those items as yml files in your codebase. ...

Adding Entra ID Auth to a Blazor App

I wanted to take the time to write up this article since I found it useful when working on Blazor Apps. Althought this is not Sitecore related, I think it will be useful if we need to build an admin .NET portal. Additionally most organizations already have Entra ID if they use Microsoft apps and building Entra ID Authentication wont add costs like other Authentication methods would. To get started make sure the following packages are available (using NuGet) in your solution. Microsoft.Identity.Web Microsoft.Identity.Web.UI Azure.Security In your Program.cs file, add the following using Microsoft.AspNetCore.Authentication.OpenIdConnect; using Microsoft.Identity.Web; using Microsoft.Identity.Web.UI; // Add Microsoft Entra ID authentication builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd")); builder.Services.AddAuthorization(options => { options.FallbackPo...

Back-End and Front-End Development in Sitecore XM Cloud

  Understanding the Roles In Sitecore XM Cloud, back-end developers primarily manage content models, custom APIs, and data within the Sitecore CMS backend. On the other hand, front-end developers focus on building the user interface and interactions using a JavaScript framework like React, consuming content from the backend via GraphQL endpoints. The headless CMS architecture of Sitecore XM Cloud allows the front-end to be largely decoupled from the back-end, providing flexibility in technology choices and development workflows. Back-End Developer Responsibilities Back-end developers in Sitecore XM Cloud are responsible for: Deployment of all custom components to XM Cloud. Synchronizing components, code, and content between Prod and Non-Prod environments. Answering questions from content authors regarding component usage, troubleshooting site load, caching, and component versions. Troubleshooting Edge CDN issues related to content updates. Designing and managing content structures,...

Add contextual code to an item in Sitecore

One of the most useful customization of Sitecore is the ability to add contextual code to an item in Sitecore. For example let say we have a page in Sitecore that works well in the English language. A content author wants to create the same page in french. Unfortunately there isn't an out of the box way to copy the English page content (including all child items) into french.  This is where adding contextual code will help.  To do this you would have to install Sitecore powershell extensions. There are lots of documentations  online about this tool.  To add contextual code to an item in Sitecore, you would need to add a new module to the powershell script library located at /sitecore/system/Modules/PowerShell/Script Library/ Under this module you can add any powershell scripts you want under the context menu node.  Make sure to enable the module and you should see these script under any item. You can even modify the rule section to d...

GlassMapper

 How GlassMapper works  Glass Mapper is an object relational mapping (ORM) tool in Sitecore. It maps Sitecore items to strongly-typed classes. This makes it simple to access Sitecore data within C# code. Without an ORM, Sitecore developers would need to write and manage a lot of mapping code.  Below are example files that you can use. You have an interface class file, a class file that implements the interface and lastly you can use this in your cshtml file.  That's it. Happy Sitecoreing! IMySitecoreItemName class file namespace Your.NameSpace { [SitecoreType(TemplateId = Templates.MyTemplate.IdString, AutoMap = true)] public interface IMySitecoreItemName : IMySitecoreModel { [SitecoreField(FieldId = Templates.MySitecoreItem.Fields.MyField1)] string StringFieldName { get; set; } [SitecoreField(FieldId = Templates.MySitecoreItem.Fields.MyField2)] bool BoolFieldName { get; set; } } } Use it on your .cs file ...

Create Object XML while Debugging in VS

 There are times when you put breakpoints in Visual studio and read object values within Visual Studio. This is all good if you are doing some debugging. But if you want to save an object like a Json object in Visual studio there isn't a straightforward way to do that. I found this piece of code that I copied and pasted in the Immediate Window in Visual Studio and was able to save the object as an XML file. (new System.Xml.Serialization.XmlSerializer(YourObject.GetType())).Serialize(new System.IO.StreamWriter(@"c:\tmp\YourObject.xml"), YourObject) Happy Sitecoreing!