Posts

Mention a Content Hub User Group in an Annotation

Image
Sitecore Content Hub provides an Annotation feature, that you can use to review content, provide feedback and collaborate with others.  To mention a Content Hub user in an Annotation, Select the text in Content Entity, enter @ followed by a username, and select as many people as you want. When you mention a user, they receive an email with your comment and a link to the content entity. The issue is Sitecore Content Hub Provides a feature that you can mention the User but if there is a User group and you want any of them can review, approve, or take action on the entity so no such option we have in Sitecore to mention a User Group in an annotation.  I have checked with Sitecore and Sitecore submitted a feature request for the Content Hub product so that it can be considered for future versions of the product. To track the future status of this request, please use the reference number " FRM-2121 ". See the Sitecore documentation for How

Custom Button on Content Details Page in Sitecore Content Hub

Image
In this blog post, I will discuss how to add a custom button on the Content Details page in the Sitecore Content Hub. To understand the use case of this feature, suppose you have a client requirement to perform any business logic on that particular entity for instance updating field values or applying auto-tagging, etc. 1. Go to the pages option from the Manage button in the top right corner of the Home page. 2. In the pages, search for the Content Details page: 3. On the Content Details page, locate the operations/entity operations, in the Header Zone (Right). By default, it can be disabled so enable it by system settings. 4. After that, it will be enabled, and click on the Operation/Entity Operations it navigates to the entity operation component. 5. We will add a new operation, click on the Add operation button on the top left and find the custom External Action. 6. Name it as per your requirement, I am naming it AI Tagging, to change the

Create Script, Action, and Trigger in Sitecore Content Hub

Image
Sitecore Content Hub provides a script editor feature to write custom scripts and perform our business logic. Depending on the type of script and use cases, we can trigger the script manually or automatically using triggers. 1. Script: Sitecore Content Hub offers the following Script types . To create a script in Sitecore Content you can refer to the blog post:  Execute Content Hub Script using Postman 2. Action: Sitecore content Hub offers Action to perform a specific task. Action can either triggered by the user or automatically run by trigger or via the API. To create an action, go to the Content Hub dashboard using the manage icon and click on the Action icon: It will open an Action page window, click on the add New Action icon: In the popup window, provide the Name and Label of the action, Type I am selecting Action Script, choose the script that we created earlier, and click save: Your action has been created: For another Action ty

Execute Content Hub Script using Postman

Image
Sitecore Content Hub provides a script editor feature to write custom scripts and perform our business logic. Depending on the type of script and use cases, we can trigger the script manually or automatically using triggers. In this blog post, I am explaining how to execute the script manually using Postman. To execute the script from Postman, you need the Script URL and X-Auth-Token. Go to the Content Hub dashboard using the manage icon and click on the Script icon: It will open a Scripts page window, click on add new script icon: In the popup window, provide the Name and Type of the script and click save, I am choosing Action type here: Search your script in the Script window and click on the script name, it will open the script editor to write a script: Click on the Edit icon write the custom script and save the changes button: Click on the Build button, it builds your scripts and lets you know about the build status in the build output whe

Sitecore xDB Sync token is no longer valid for the [Contacts] Table

Image
After execution of the Rebuild index on xDB app service I observed that in SOLR Cloud, the data is not reflected in the xdb_internal collection but is being updated in the xdb_rebuild_internal collection. I have checked the Application Insight and found the following exception: In regards to the Errno 50000: Sync token is no longer valid for [Contacts] table error, Rebuilding the xDB index in Solr  should fix it but regrettably, it could not fix my issue. Indeed, when rebuilding the xDB index, the rebuild collection will be updated, and you will need to swap the cores to ensure that the newly rebuilt core is active instead of the prior one. This is mentioned in the " Confirm rebuild " part of the documentation. Therefore, I tried swapping the core mentioned in the Sitecore documentation but unfortunately, it's not working and returning me the error: "Not supported in SolrCloud". I have gone through the SOLR guide documen

Sitecore Technology MVP Journey 2024

Image
Honored to Receive the Sitecore Technology MVP Award for the Third Consecutive Year!. Getting the badge of Sitecore MVP the third time in a row particularly in Technology for me is one of them. My journey for Sitecore MVP begins in the Year 2019. I commenced with Sitecore Technology blogs , and actively participated in the Sitecore Stack Exchange Platform , Sitecore Slack Channel , and SUGCON public speaking. I am honored to be named Sitecore Technology MVP 2024 . I feel fortunate to be participating with a Sitecore Community, Technology, and Product. I am happy that my all efforts and contributions are recognized by Sitecore and the Community. My next focus for this year would be: Exploring more in Sitecore composable including Personalize and CDP, Content Hub, and XM Cloud. Continuing with sharing and helping others in the Sitecore Community. Participating in Sitecore MVP mentorship program. A big thanks to my family, colleagues,

Sitecore Log File Generation Issue on Azure PaaS

Image
After deploying the Sitecore application on Azure PaaS, I noticed that the physical log files are absent from our PROD CM app service. I can find log files on the day of deployment, but for the subsequent days, the log files are not present on the PROD CM app service. It appears that whenever I perform a deployment, the old worker process (w3wp) retains an exclusive lock on the log file while shutting down, simultaneously, a new w3wp process is created and attempts to access the same log file. Since the file cannot be used by both processes at the same time, the logging appenders for the new w3wp may not initialize correctly, resulting in no further logging. For better visibility and clarity, I have raised the concern to Sitecore over a support ticket. Solution: The behavior I reported was registered as a bug in the Sitecore bug-tracking system. The bug specifically affects the log file appender after an application pool recycle, which happens afte

Monitoring the Sitecore xDB Index Rebuild Process

Image
If you are using the SOLR search provider, to rebuild the request command we need to build the xDB index using the command manually from the xDB app service in Sitecore XP. You can find more details here: Invoke the rebuild request command Upon execution command, you get the following output: The index rebuild process takes time to complete and the request rebuild command does not provide any information about the progress status. However, there are certain ways you can monitor the state of an ongoing rebuild process. To Monitor the Index Rebuild Process: SOLR Interface: You can do so by running the following query by navigating to the original xDB Solr core and go to the Query tab. On the Query tab, insert the above into "q" part and click "Execute Query". Once executed, we should be able to see the result as such. In this example, the rebuild state is at 5 (Ongoing) and it is at 95%.

Sitecore Custom Language and SOLR Indexing Error

Image
Recently we have added the Korean language to our multilingual Sitecore website. As we know Sitecore automatically creates dynamic fields in the SOLR schema. But while publishing we found the following issue in our logs: Solution: The error is in sitecore_web_index and it seems we are missing a dynamic field for the Korean language. To solve this issue, we need to add the dynamic field in the SOLR schema file: <dynamicField name="*_t_ko" type=" text_general" indexed="true" stored="true" /> Restart the SOLR But take care that whenever you populate the managed schema from Sitecore, it will overwrite your managed schema, and you will lose all the changes. Another approach is to customize the SOLR schema using backend code. Step 1: Create a custom class and add the following logic: Step 2: Create one more class that inherits from IPopulateHelperFactory implement the

The Timeout was Reached Before the Message in Sitecore Redis

Image
While working on Sitecore PaaS you have a Redis issue. This time we have a Redis timeout issue but with a different message: Solution: After conducting research and using Google, I have discovered that there are 2 links from the above exception: https://stackexchange.github.io/StackExchange.Redis/Timeouts https://stackexchange.github.io/StackExchange.Redis/ThreadTheft I am experiencing the "thread theft" of the reader. The parameter "rs" in the error message tells me the state of the reader. If this is frequently reporting CompletePendingMessage , it is possible that the reader loop has been hijacked when trying to set results. It's further elaborated in the Thread Theft. To address this issue try adding the following early on in your application startup: ConnectionMultiplexer.SetFeatureFlag("preventthreadtheft", true); The issue is more related to the StackExchange.Redis commun

Intermittent StackExchange.Redis.RedisTimeout Exception in Sitecore

Image
I was encountering frequent time-out issues with Redis and my application deployed on Azure PaaS. Following are the sample exceptions from logs: Solutions: I have reviewed config files from our CD server according to Sitecore's recommendation in this KB article here  Excessive load on ASP.NET Session State store , and checked some of the points. In the Web.config and Sitecore.Analytics.Tracking.config files, increase the pollingInterval attribute value on both Private and Shared session state provider definitions from 2 to 60 seconds. => For my case, the pollingInterval value is in the Sitecore.Analytics.Tracking.Azure.config file and the value is still 30. I have considered increasing the value further. In the Sitecore.Analytics.Tracking.config file, find the timeoutBetweenLockAttempts parameter. Increase its value from 10 to 200 milliseconds. => The value should be defined in the

Restart SOLR Managed Cloud Server

Image
If you are on Sitecore Managed Cloud and your SOLR is with Managed Cloud Server Searchstax then it is not easy to manage it. In today’s blog, I am going to discuss how to manage Managed Cloud SOLR Server, especially Restart SOLR. After successfully setting up Sitecore and SOLR instance by Sitecore, Sitecore provides you the URL of SOLR Server and the following details: Solr server connection string Solr server URL Zookeeper Ensemble API key Solr server user Solr server password To access the SOLR admin UI: Open the https://<server_name>-azure.searchstax.com/solr/ URL and enter the Username and Password. Get a List of Nodes: Before doing this exercise, you need to find the number of nodes in your SOLR server (a standard server consists of 3 nodes). For example, if your server_name provided by Sitecore is "ss123456" then ideally your nodes will be ss123456-1, ss123456-2, ss123456-3. By using the below URL, you can