Posts

Showing posts from 2022

Upgrade Sitecore Project to Version 10.2

Image
This year, I got the opportunity to work on upgrading Sitecore projects from Sitecore versions 8.2, and 9.X to Sitecore version 10.2. To find the complete details with the steps Sitecore provides Sitecore SC-XP-10.2.0-Upgrade-Guide for Sitecore experience platform 10.2 from Sitecore Experience Platform 8.1.0 or later. You can refer to this PDF file and start working on the upgrade. While upgrading the projects I have written my all findings, issues, research, and solutions in individual blogs. That you may or may not face while upgrading your project. In this blog post, I am summarizing all these within a single blog. Upgrade the framework and Database: Dot NET Framework Migrator: To upgrade Sitecore from a lower version to Sitecore 10.2, you need to change the .net framework to 4.8. See the blog post- Dot NET Framework Migrator Upgrade Sitecore XP Database to the XM: The database upgrade is one of the most

Upgrade Sitecore XP Database to the XM

Image
The database upgrade is one of the most important steps while upgrading the Sitecore version to the latest 10.2. Sitecore provides its upgrade guide for Sitecore experience platform 10.2 from Sitecore Experience Platform 8.1.0 or later. Here in this blog, I have taken reference to the pdf document provided by Sitecore SC-XP-10.2.0-Upgrade-Guide and I am going to discuss only the database upgrade steps for the XM topology. Prerequisites for upgrading: Back up the database. Download the Sitecore 10.2.0 rev. 006766 (upgrade files).zip  It contains: Database Upgrade Script.zip - contains the SQL scripts that upgrade the database schemas and data. MarketingDefinitionsUpgrade.zip – contains the .aspx pages that help you prepare your marketing definitions for the upgrade from Sitecore XP 8.x. Download the tools Sitecore.UpdateApp 1.2.0 for Sitecore X.X.X rev XXXXXX.zip Y

Slowness and Performance Issues and Solutions in Sitecore MCS

Image
After deploying the application on Sitecore Managed Cloud Service(MCS) CM and CD instances, both environments were unresponsive and taking too much time to respond. To observe the issue and find the reason behind the issue you can perform the following operations. I am explaining the reason and the solution in this blog post. Here for better understanding, I am taking an example of one instance that is CM. Collect a performance Profile from the CM server: To investigate the issue in detail you can collect a performance profile. This will affect the performance of the CM server during profile capture. To collect the performance profile you can refer to the Sitecore KB article: Collecting a Performance Profile Razor Generator Tool: Sitecore stores compiled code in the Azure file system which is known to be slow due to relying on Blob storage internally. You can pre-compile all custom views via the Razor Generator tool

Add Custom Fields in SOLR Index on Crawler

Image
While upgrading the project from Sitecore version 8.2 to 10.2 I faced one scenario to convert the Lucene Search configuration to the SOLR. It’s easier to convert the Lucence configuration to the SOLR if all configurations are defined in the configuration files. You just need to change the type to the Solr Provider and configuration to the defaultSolrIndexConfiguration or if it does not default then define the custom Solr Index configuration . The problem occurs when the index file is generated at runtime and custom fields are added dynamically either on the pipeline or Search Crawler. In my case in Sitecore 8.2 lucence configuration fields were added in the document at runtime on SitecoreItemCrawler . Custom Crawler: Code was written on the custom crawler: Solution: To resolve the above issue and find the solution, I have explored Sitecore.ContentSearch DLL and found out it provides the below method in the IProviderUpdateContext interface.

Sitecore Identity Server: Sorry, There Was an Error

Image
After restoring the upgraded database to the SQL, I tried to login into the Sitecore CMS. The identity server comes with an error " Sorry, there was an error " after successful login. I have checked the Identity server logs files and found the error:  CORS policy execution failed . Solution: Go to the {root-directory}\project-identityserver.local\Config\production and open Sitecore.IdentityServer.Host.xml file and verify the database name. If it is corrects, then check the <AllowedCorsOrigins> section. In my case it was related to the database name, I forget to update the database name and connection string in the identity server. Note: Do not forget to recycle the Identity Server App pool. Happy Sitecoreing  ðŸ˜Š

Sitecore Azure CDN Setup for Media

Image
Sitecore website performance will impact if you have a large number of media items on pages and it comes from the media library. To increase performance, use a Microsoft Azure® Content Delivery Network (CDN) with Sitecore Media in your solution.  Here in this blog post, I am discussing how to configure the Azure CDN with your Sitecore solution so that your media library items are retrieved from the CDN and increase performance. If you are using Sitecore Managed Cloud Service then either you will already have CDN setup on your prod environment or you can create a service request to Sitecore to create an app service for CDN else you can refer to the Sitecore document about CDN setup considerations . Configuration In Sitecore: Before you can setup the Sitecore Media Library to use CDN in your solution you must have Sitecore XP or XM 9.1 or later CDN endpoint Step 1: Go to the path {your Sitecore root instance}\App_Config\Include\Examples

Dot NET Framework Migrator

Image
While upgrading Sitecore to the latest version, updating the project framework is one of the major tasks. For example, If you are planning to upgrade Sitecore from a lower version to Sitecore 10.2 then in your visual studio you need to change the .net framework to 4.8. It is an easier task just to right-click on the project, go to the properties and select the Application option and change the Target framework. But this job becomes tedious if your Visual Studio Solution file has a large number of projects especially if it's a Helix-based solution. You can use an open-source Visual Studio extension tool named Target Framework Migrator . It Migrates all your .Net projects to another .Net Framework Version at once. With this extension, you can update all projects with one click. Once you install this tool it will be available in the Tools menu. Once you click on the Target Framework Migrator options, then in popup windows select the target .ne

Cache Tunning in Sitecore

Image
To increase the performance of the Website, or the current cache size are not enough for load then we need to follow the cache tunning procedure. A Sitecore cache consumes memory based on the amount of data stored in the cache. Cache size defines the maximum application memory the cache can consume. The following instructions apply to all Sitecore caches. The very first steps are to ensure that we have set the initial cache values before tunning. Use the following table as a starting point for database and HTML output cache values. Set initial cache values before performing cache tuning procedures. Before configuring the initial values, go to the cache admin page using sitecore/admin/cache.aspx page you can verify that the values are the same or different. In this blog, I will describe How to add set initial cache values using patch files. How to patch: Add the below patch file to your project. The below patch file has a patch for Prefetc

Remove Launchpad Icons From Sitecore

Image
This blog post is related to the upgrade approach of the Sitecore Database. There are plenty of documents available on Sitecore and other blog posts and articles about How to upgrade the Sitecore database, but this is different. I have an application in Sitecore 8.2 XP and it needs to be migrated to Sitecore 10.2 XM, please focus on instance XM instead of XP. Sitecore 8.2 XP instance launchpad as below:  Sitecore 10.2 XM instance launchpad as below: I have upgraded the Database using the SQL scripts provided by Sitecore here and now my Sitecore 10.2 XM instance launchpad is as below: Note: I have not published code yet on the Sitecore 10.2 XM instance, I have attached only the upgraded Database. So there are no config and other changes. I have also run the Sitecore UpdateApp Tool , after upgrading the database. Solution: To get rid of the Marketing Applications buttons on the Sitecore Launchpad, we can switch to the cor

Unicorn Login Issue with Azure

Image
After upgradation the Sitecore project from version 8.2 to 10.2, I deployed the application on the Azure PASS environment. Everything was working perfectly fine and when I browsed the Unicorn.aspx page to sync the Sitecore items. It was asking me for the login. After clicking on the Sign in to Sitecore as an administrator and I entered the credential and it redirected me to the unicorn.aspx page with the same message. Solution: After some research, I have found that Sitecore 9.1 has introduced Sitecore Identity. Sitecore Identity (SI) is a mechanism to log in to Sitecore. It was introduced in Sitecore 9.1. It builds on the Federated Authentication functionality introduced in Sitecore 9.0 and the Sitecore Identity server, which is based on IdentityServer4. It provides a separate identity provider and allows you to set up SSO (Single Sign-On) across Sitecore services and applications. Then I explored the configs under the unicorn folder in my proj

Experience Analytics console error in Sitecore XM Vanilla instance

Image
When you will install the Sitecore 10.2 XM, you might get a console error in Experience Analytics JS in the Sitecore XM launchpad vanilla environment. It sounds weird that in Sitecore XM experience analytics play any role. As per the Sitecore documents Experience Analytics features are incompatible with Experience Manager if it has been installed using XM packages.  Sitecore XP feature compatibility in XM Scaled packages So I came with a few doubts and questions: If there is no role for Experience Analytics then what is the use of ExperienceAnalytics.js? If we do not have any uses of Experience Analytics in Sitecore XM then can we remove this JS and solve the console error issue? Then I raised a support ticket to Sitecore, to get the answer. Sitecore Response: Thank you for contacting Sitecore Support. I was able to reproduce the issue locally. So this behavior was registered as a bug in our bug tracking system. Thank you for repor

Sitecore Managed Cloud Services Client with IP address '20.205.248.223' is not allowed to access the server

Image
After a successful deployment of the application on an MCS environment. I started facing an issue on CMS regarding the client IP address '20.205.248.223' is not allowed to access the server. I have uploaded the upgraded Sitecore Master, Core, and Web database and changed it into the connection string. I was not using the default Sitecore 10.2 MCS database. Solution: The issue looks related to configuration of your Azure SQL Server "mc-********-***-****-****-****-sql". If you navigate: mc-********-***-****-****-****-sql -> "Security" section -> "Networking" tab we can see that the "Allow Azure services and resources to access this server" checkbox is unchecked. Thus, web apps cannot connect to databases without explicitly allowing their IP (which may change). For resolving the issue, please consider checking/enabling the mentioned checkbox. Happy Sitecoreing  ðŸ˜Š

Sitecore : The database principal owns a schema in the database, and cannot be dropped message

Image
While upgradation to Sitecore 10.2, I was to restore the database on the Managed Cloud Service Azure SQL Server. I have connected the Azure SQL server on my local SSMS and started to import the Database using the option Import Data-tier Application. While importing the database using the above option you need a BACPAC file instead of a .bak file. So I was to create a BACPAC file of the database from my local. Go to the database, right-click and select the Export Data-tier Application option under the Task menu. After clicking on the next, while creating the BACPAC file you may get the below error: Solution: Go to the Users in that Database. Your Database => Security => Users Find the user, right click and delete it. If you are unable to delete the user and encountered a new error as below: It means the user you are going to delete owns a schema in the database and owners. First, you need to search which schemas own

Sitecore Horizon "OpenIdConnect" was not authenticated. Failure message: "Not authenticated"

Image
If you want to install Horizon and facing some pre-post installation issues and looking for fixes, then my previous blogs can help you. Install Horizon 10.2 with Sitecore XM Sitecore Horizon Issue Pre and Post installation Error: Go to the log file path of Horizon C:\inetpub\wwwroot\horizon.sc102.local\logs , and open the log file. Detailed Error: Solution: From the detailed error log, the issue is more related to OpenIdConnect and Authoring . I have checked the OpenIdConnect.xml file from the path in the horizon directory i.e. C:\inetpub\wwwroot\horizon.sc102.local\Config and opened the file. In this file, you can find that configuration is related to the Identity Server URL, which means the Sitecore Identity Server is not working. As the Sitecore Horizon interface is login worked automatically by Sitecore SSO with Identity Server. In my case, my Sitecore Licence expired and I have updated it to all instances except Identity Serv

Sitecore Horizon Error HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure

Image
Today when I started with the Horizon and click on the Horizon icon, it’s come with a different error. If you want to install Horizon and facing some pre-post installation issues and looking for fixes, then my previous blogs can help you. Install Horizon 10.2 with Sitecore XM Sitecore Horizon Issue Pre and Post installation Error: To investigate more about the same, I investigated the log folder of the Horizon directory, but I have not found anything in the log file. I restarted the IIS and checked the page again but with no success. Again, I checked the log file and found that there was no new log created, so it is something related to the IIS. Hence, I moved to the event viewer and tried to investigate the issue there and finally found the error log which says: and the detailed error in the General tab: Solution: From the first line of the error log, you can easily find that it's related to the Sitecore Invalid Licence or expired

Steps to be Performed after Multisite Configuration

Image
In my previous blog, I discussed Multisite in Sitecore 10 . In continuation of that blog, in this blog, I am going to discuss what are the other important things we need to take care of while renaming or adding a site. Add entries to the <cacheSizes> section for site-specific: For the default site named website, Sitecore adds cache sizes for the website site. While working on the multisite we set up one more site with a different name. Then you need to add a section with the site name and add the caching values for that site. Example: Your site name is Site1 then create a patch file and add the below configuration: Update the Preview.DefaultSite setting value for the additional Site: This setting specifies the default site to be used in Preview mode. For example, if you rename the standard 'website' site, and add e.g., site1, please cha

Partner Tech Advisor in Sitecore Support Portal

Image
What is a PTA Partner Tech Advisor, added to the Sitecore Support portal? Sitecore has recently launched the Partner Technical Advisory support service. The Partner Technical Advisor (PTA) team is a team of expert developers and subject matter experts who provide partners with pre-sales, sales, implementation, and ongoing support and advocacy. Getting started: How to engage a PTA using Service Now, Sitecore’s case management system: Navigate to the Support Portal and log in Click on Support Cases Click on Partner Technical Advisor in the gray horizontal navigation bar Complete the simple form and add attachments as needed Click Submit (Note: You will receive an acknowledgment via email) All correspondence must be conducted through Service Now Frequently Asked Questions (FAQs): Do I need to be certified to engage with a PTA? PTAs are intended to support partner resources who are already trained and certified

Multisite in Sitecore 10

Image
Configuring a multisite in a Single Sitecore instance is an OOTB feature. It means you can share data, templates, rendering, and other items in the same Sitecore Content tree with two different website nodes. Each website node will have its tag and it's managed from Sitecore.Sites.config.  A single Sitecore installation, however, can publish any number of websites, each with its properties. The properties for each site are, by default, stored in the Sitecore Sitecore.Sites.config file.  The Sitecore Sitecore.Sites.config file includes a list of served websites listed in the <sites> section and the definition of the node will be defined into the <site name=”website” …/> tag. Sitecore parses incoming HTTP requests and selects the appropriate site based on the HTTP request parameters. Step 1: Create a new site node into the content tree: Create one more site node in the Sitecore tree. Best practice says each Site node shou

500 - The request timed out error in Sitecore. The web server failed to respond within the specified time

Image
After Login on Sitecore CMS does not redirect to Content Editor and throws error 500 - The request timed out. The web server failed to respond within the specified time error. I have deployed our Application on PROD CM and CD instance on the Azure PAAS and the instance is working fine. When I try to log in to the CM instance, I can log in, but instead of redirecting me to the Sitecore Content Editor it's throwing me an error 500 - The request timed out. The web server failed to respond within the specified time. After logging into the CM site, the following error is displayed: 500 - The request timed out. The web server failed to respond within the specified time After login into the CM instance: I have verified the AllowedCorsOrigins and Redirect URL in the identity server and CM instance in both Sitecore.IdentityServer.Host.xml and Sitecore.Owin.Authentication.IdentityServer.config respective files and all are correct. The same code and depl

Sitecore Horizon Authoring and The SSL connection could not be established

Image
After successfully installing Horizon on Virtual Machine and solving the Horizon issue due to the URL binding in the IIS. And everything is working perfectly fine. Now it turns to Horizon URL binding and I have bound with a new URL name i.e., horizon.abc.com.  I opened the new Horizon URL in the browser and wait there is a new error I am getting, and it is related to the Authoring and SSL. If you want to install Horizon and facing some pre-post installation issues and looking for fixes, then my previous blogs can help you. Install Horizon 10.2 with Sitecore XM Sitecore Horizon Issue Pre and Post installation Issue 1: When I hit the horizon.abc.com in the browser, it’s redirecting me to the identity server URL for authentication and but after entering the credential it does not redirect me to the Horizon page. Solution: Go to the Sitecore Identity Server instance and open Sitecore.IdentityServer.Host.xml file {root directory}\ sc10

Sitecore Horizon Issue Pre and Post installation

Image
In my previous blog , I discussed with you the installation of Sitecore Horizon in Sitecore Experience Manager. In the continuation of this blog, I am going to discuss some common issues which I have faced while installing Horizon and after installation. Issue 1:  Authenticating Error This is the issue I have faced while installing Horizon on Virtual Machine. The reason behind the issue was we have done binding on the Sitecore instance URL and changed the URL name to expose it outside the VM. Example: My instance name was sc102xmcm.local and sc102xmidentityserver.local and we have updated the binding of the URL in IIS with cm.abc.com and identity.abc.com. Solution: To solve the issue you need to take care of the following highlighted parameter value in the InstallHorizon.ps1 file. Issue 2 : Search/Indexing issue: If your search in Horizon is not working. Solution: It is because the $solrCorePrefix parameter value you assigned in InstallHor

Install Horizon 10.2 with Sitecore XM

Image
There are plenty of documents and blogs available on installing Horizon with Sitecore XP Experience Platform  but this blog is related with install Sitecore Horizon with Sitecore XM Experience Manager . Horizon is the next-generation editor in the Sitecore Experience Platform. Horizon comprises two editing tools where you can create and edit content. Before installing Horizon, you need to install the below prerequisites for Sitecore 10.2: Install Sitecore Experience Manager 10.2 Make sure your Sitecore CM site is working correctly with the HTTPS protocol. Ensure Sitecore Identity is installed Install WebSocket Protocol installed in IIS If you are on a local developer machine: Go to the Turn Windows Feature on or off from the Programs and Features option in Control Panel. If you are on Virtual Machine: Go to Server Manager, and select the Add roles and feature option in the right