Madhu Anbalagan's Blog

Integrating Sitecore website with Coveo rapidly


Coveo-Sitecore-Intergration-Website-Source-11.png

In the previous blogs, we saw how to install and configure Coveo, troubleshoot, and diagnostics.

https://madhuanbalagan.com/install-and-configure-coveo-for-sitecore

https://madhuanbalagan.com/coveo-for-sitecore-troubleshooting-and-diagnostics

Now that Coveo is installed and ready to use, Let us add a Sitecore website to our instance of Coveo.

In the Coveo Admin Console, we can see that there is already a Coveo Master, and Web indexes are added by using the Sitecore Package Installation.

In this blog, I am showing an approach without any installation or configuration on the Sitecore Instance. This approach can be used with any non-Sitecore websites as well.

Coveo-Sitecore-Intergration-Website-Source-1-1.png

Let’s add the Sitecore website as a web source of content.

We have lots of options to choose from let us focus on web for now.

Coveo-Sitecore-Intergration-Website-Source-2.png

Here I’m adding my blog as a Source for our demo. 

Coveo-Sitecore-Intergration-Website-Source-3.png

As soon as adding website name, it recognizes and shows the Sitemap URL and recommends adding it for better performance.

Coveo-Sitecore-Intergration-Website-Source-4.png

After adding the Sitemap URL, Coveo has a few configurations like Authentication and Content security.

Coveo-Sitecore-Intergration-Website-Source-6.png

Since the blog is public-facing no security configuration would be needed.

Now add and build the source to populate the index. It might take time depending on the number of pages on the site.

Coveo-Sitecore-Intergration-Website-Source-7.png

When it’s completed it will turn green and show the number of items in the index and the size.

Coveo-Sitecore-Intergration-Website-Source-8.png

Now that the Index is built, let’s navigate to Content Browser to see if our pages show up.

Coveo-Sitecore-Intergration-Website-Source-9.png

Navigate to the content browser and search for a term.

Coveo-Sitecore-Intergration-Website-Source-10.png

Voila! It works! Now you could integrate Coveo search on your site with a preferred approach.

Hope this helps.

Happy Sitecoring!

 

 

1

Quickly Setup Sitecore 10.3 XM with SIA

The latest version Sitecore 10.3, is packed with new features and enhancements that make it easier than ever to manage your digital content and deliver personalized experiences to your customers.

If you’re looking to install Sitecore 10.3 XM, one of the easiest ways to do it is by using the Sitecore Install Assistant (SIA). In this blog post, let’s walk through the steps to install Sitecore 10.3

Prerequisites:

  • A Windows machine with a minimum of 16GB of RAM
  • Microsoft SQL Server 2017 or later
  • IIS 10 or later
  • .NET Framework 4.8 or later
  • Microsoft PowerShell 5.1 or later

Preparation:

  • Download the installation package (Graphical setup package XM scaled) from here.

Sitecore_10_3_Installation_XM_Headless_Download

Installation:

  • Extract the downloaded zip file

Sitecore_10_3_Installation_XM_Headless_Setup_exe

  • Right-click on the Setup.exe and execute in Administrator mode

Sitecore_10_3_Installation_XM_Headless_Start

  • Install the prerequisites 

Sitecore_10_3_Installation_XM_Headless_Prerequisites.png

  • Install Solr 8.11.2 by entering the Port, Windows service path prefix, and Install path

Note: Make sure the port number differs from earlier Solr-installed versions. Check out my blog to discover which processes are using which ports – https://madhuanbalagan.com/sitecore-10-sif-installation-roadblocks

  • Solr installation is successful!

Sitecore_10_3_Installation_XM_Headless_Solr_Complete.png

  • Fill out the Site prefix, admin password(going with bso easy to remember), and choose the Sitecore license file

Sitecore_10_3_Installation_XM_Headless_Sitecore_Settings.png

  • Fill out the SQL server Instance name, admin username, and password.

Sitecore_10_3_Installation_XM_Headless_SQL_Server_Settings-1.png

  • It auto-fills Solr URL, System root, and Windows service name

Note: Navigate to Solr URL and ensure it’s running as expected

Sitecore_10_3_Installation_XM_Headless_Solr_Settings.png

  • Select the optional module if you plan to create a Headless SXA site

Sitecore_10_3_Installation_XM_Headless_SXA.png

  • Review the summary to make sure the settings are correct

Sitecore_10_3_Installation_XM_Headless_Summary.png

  • The Installation wizard in SIA validates all the settings before starting the install

Sitecore_10_3_Installation_XM_Headless_Validate.png

  • Installation takes around 10-15 minutes (you can get a coffee!). If it errors out, check out the log.

Sitecore_10_3_Installation_XM_Headless_Install.png

Yayy! It’s successfully installed. Is it easy to install with SIA? It’s indeed a great tool!

Sitecore_10_3_Installation_XM_Headless_Install_Completed.png

Let’s log in and explore!

Sitecore_10_3_Installation_XM_Headless_Login_Success.png

 

Roadblocks:

Error # 1: Solr access to the path denied

Solr installation failed with error – Access to the path ‘C:\Users\MANBAL~1\AppData\Local\Temp\solr-8.11.2\server’ is denied.

Sitecore_10_3_Installation_XM_Headless_Rendering_Error.png

 

Resolution:

I wasn’t running at the setup.exe in Admin mode. Ran in Admin mode (restarted the machine just in case) fixed the issue.

 

Error # 2: Unable to create core index

Error CREATEing SolrCore Unable to create core [wc10.3.xm.local_core_index] Caused by: Can’t find resource ‘solrconfig.xml’ in the classpath or ‘C:\Solr\Solr.8.11.2solr-8.11.2\server\solr\sc10.3.xm.local_core_index’

 

Resolution:

Do not use the same port used for the earlier installation. For some reason, it doesn’t work. Always use the new port and new Solr instance name.


Now that we installed Sitecore 10.3 XM, I’ll be installing Sitecore Headless Rendering (previously known as the JSS module) in my next blog post.

Hope this helps. Happy Sitecoring!

3

Efficiently bulk edit Sitecore content using Sitecore PowerShell Extensions (SPE)

Efficiently-bulk-edit-Sitecore-content-using-Sitecore-PowerShell-Extensions-SPE-Hero

In today’s fast-paced digital world, website content must be constantly updated to stay relevant. Manually modifying content can be time-consuming and error-prone. Sitecore SPE is a powerful tool that allows for efficient modification of content in bulk through find and replace text functionality. In this article, we will explore the steps of using Sitecore SPE to quickly and easily update website content, streamlining the process and saving time.

I encountered a situation where I needed to locate specific text in both images and rich text fields and replace them in large quantities. Essentially, we were transferring media from the Media Library to the Content Hub.

Find Text for Image and RichText Content-Type:

Replace the $contentPath, $guidPattern $mediaPath according to the project. 

The $guidPattern is for images containing GUID format like https://cdn.companyurl.com/-/media/897222F0-3BCF-4651-AAC4-6CBBC227B449.ashx that needs to be manually modified since we don’t know where the item path lives in Content Hub. These items I’m adding these to the $cdnItemWithoutGuid array and the list will be given to Content Authors for manual editing.

The results will yield one or two variations of results, dependent on the content, referred to as

  • Items that contain cdn.companyurl.com with GUIDEfficiently-modify-Sitecore-content-in-mass-with-Sitecore-PowerShell-Extensions-SPE-Find-without-Guid-View
  • Items that contain cdn.companyurl.com without GUIDEfficiently-modify-Sitecore-content-in-mass-with-Sitecore-PowerShell-Extensions-SPE-Find-with-Guid-View

Retrieve the results in CSV, Excel, XML, HTML, and JSON (and also via Email) and analyze them to ensure they are the expected items.

Replace Text for Image and RichText Content-Type:

Replace the $contentPath, $guidPattern, $cdnMediaPath, and $damMediaPath according to the project. 

The results will yield one or two variations of results, dependent on the content, referred to as

  •  Changed Items View
  •  Not changed Items ViewEfficiently-modify-Sitecore-content-in-mass-with-Sitecore-PowerShell-Extensions-SPE-Not-changed-View

Upon completion, review the output. Inspect the Not changed Items View to determine the reason for its unchanged status, it could be due to it being in a workflow stage or any other cause.

Hope this helps. Happy Sitecoring.

Ref

https://michaellwest.blogspot.com/search/label/powershell

https://blog.najmanowicz.com/category/software-development/powershell/

https://sitecorejunkie.com/category/sitecore-powershell-extensions

 
 
1

Coveo for Sitecore: Troubleshooting and Diagnostics

Coveo’s Diagnostics page is super helpful when troubleshooting any Coveo issues. It is listed in the Coveo Search menu in the Sitecore control panel or can be reached directly with the following url –

https://[CMS Site]/sitecore modules/web/coveo/admin/coveodiagnosticpage.aspx

 

Coveo for Sitecore components state

This section shows the status of all services related to Coveo. Here is the healthy state, but when it errors it shows the detailed error message

Healthy Component State

 

Errors in Component State

Coveo-Sitecore-Control-Panel-Diagnostic

 

Coveo for Sitecore version information

It comes in handy for checking Coveo and Sitecore versions and their compatibility.

Current Coveo for Sitecore version: 5.0.1153.1

Current Sitecore version: 10.2.0.6766

Compatibility status: these versions are compatible

 

Coveo for Sitecore organization information

This section is about the Organization and it is usage details.

 

Coveo for Sitecore configuration files

Basically shows all Coveo-related config files that are currently loaded in the system.

 

Coveo for Sitecore published items

It shows if the Coveo-related Sitecore items are published or not, it’s time to publish them 🙂

 

Coveo for Sitecore Indexing test

This section comes into handy when indexing an item or a path, really helpful when an Item has been published but it’s not available in the Coveo index. 

 

 

Coveo for Sitecore log viewer

This section is my favorite – I typically use it on Production environments to view the logs when we don’t have access to the server or without logging into the Production servers. We can quickly view the log and troubleshoot the issues.

 

Indexes List

It shows all the indexes and the IsCoveo flag differentiates the Coveo and Sitecore Indexes.

 

 

Download Diagnostics Package

Another super helpful tool – The download Diagnostics Package button at the top of the page. 

It creates all necessary config and logs files needed to log a Coveo Support ticket.

I hope this helps someone.

Happy Sitecoring!

1

My 2022 Reflections

2022 has been a good year so far – I traveled to India and Chicago for the Sitecore Symposium. Lots of learning and fun!

Presentations:

Blog Posts :

Certifications:   

  • Feb 2022 – Sitecore OrderCloud Certification
  • Apr 2022 – Sitecore 10 System Administrator Certification
  • May 2022 – Sitecore CDP and Personalize Certification

Co-organized SUG-Pittsburgh Meetups :

Co-organized SUG-QueenCity Meetup :

Conferences I attended:

  • Sitecore Symposium
  • Virtual Developer Day
  • MVP Sitecore Lunches
  • All SUG Pittsburgh and Queen City meetups 
  • Many SUG Boston/ Columbus/ Atlantic meetups  

Plans for 2023 :

Learn and contribute:

  • Composable DXP
  • Sitecore Send
  • Sitecore CDP and Personalize

Co-organize :

  • Monthly SUG-Pittsburgh meetup
  • Monthly SUG-QueenCity meetup

Present:

  • Sitecore Virtual Developer Day
  • SUGCON EU/Symposium
  • SUG Meetups

Happy Sitecoring!

1

Install and Configure Coveo for Sitecore

Install and Configure Coveo for Sitecore

I’ll be installing Coveo 5.0 on a Sitecore 10.2 in the following post. Let’s explore –

1. Download

Choose the Coveo package based on the Sitecore version and download the relevant package.

https://docs.coveo.com/en/2274/coveo-for-sitecore-v5/releases-and-downloads 

Coveo-Install-Sitecore-Download

2. Install

Upload and install using the Sitecore Installation Wizard

Coveo-Install-Sitecore-Installation-Wizard

Accept the customer agreement.

 

 

3. Activation

Once the installation is complete, Sitecore will show the following popup.

Let’s explore how to activate Coveo for Sitecore.

Coveo-Install-Sitecore-Activation-Authorization

The login page brings to https://platform.cloud.coveo.com/login

Coveo-Install-Sitecore-Installation-Plarform-Login

I logged in using a Google account for Demo purposes.

 

Coveo-Install-Sitecore-Installation-Wizard-Accept-Customer-Agreement

Coveo-Install-Sitecore-Installation-Plarform-Grant-Access

Coveo-Install-Sitecore-Activation-Authorization-Successful

4. Configure

After authorization is successful, create your Organization with Name and Organization Type.

  • Enterprise Trial
  • Pro Trial

https://www.coveo.com/en/pricing/sitecore-integration

Coveo-Install-Sitecore-Activation-New-Organization

Use the default Indexing options.

Coveo-Install-Sitecore-Activation-New-Organization-Index-Options

 Provide Farm name and Sitecore credentials and click Activate.

Coveo-Install-Sitecore-Activation-New-Organization-Farm-Configuration

Once Activation is completed, Rebuild all Coveo Indexes to finish the setup.

I hope this helps.

Happy Sitecoring!

1

Migrate Sitecore Media Library Assets to DAM

Migrate Sitecore Media Library Assets to DAM

When we move into composable architecture. We will need to move the media assets to other platforms. Let’s explore methods of exporting Sitecore Media Library assets to Digital Assets Management (DAM) like Content Hub, AEM, etc. It’s a two-step process of exporting from the source and importing to the destination. We will export the entire Media Library to a zip file and also the asset details to a spreadsheet for validation.

Sitecore Media Library Export to file:

I was exploring the Sitecore Modules, but I realized It could be quickly done using PowerShell Extensions. Right-click on the Media Library node, Navigate to Scripts, and click Download. 

Sitecore_Media_Library_PowerShell_Download

The PowerShell script will run for a few mins in my case it ran for 20 minutes for 3GB (depending upon the Media Library size). If you run into timeout issues. Execute at folder levels and finally combine them.

Once the execution is completed it will prompt a pop-up to download the zip file.

P.S: The zip file is temporarily stored in the App_Data folder, but once we download it, it gets deleted.

Sitecore Media Library Export to CSV:

PowerShell extensions script to help export the media library assets file names and path to a spreadsheet.

 

 

Another approach to export the data is to use the content export tool.

https://github.com/estockwell-alpert/ContentExportTool

Import

Now the assets are ready to be imported to DAM

Sitecore Content Hub follow the steps in the following article https://docs.stylelabs.com/contenthub/3.5.x/content/user-documentation/content-user-manual/create/create-upload-content.html

Adobe Experience Manager you could use the bulk import process following the article

https://experienceleague.adobe.com/docs/experience-manager-learn/cloud-service/migration/bulk-import.html

I hope this helps.

Happy Sitecoring!

1

Sitecore CDP and Personalize Certification – Tips and Tricks

Sitecore CDP and Personalize Certification - Tips and Tricks

Sitecore CDP and Personalize Certification – Tips and Tricks

Here are some tips and tricks, that helped to get certified in Sitecore CDP and Personalize.

The first step is to register for the Sitecore CDP and Personalization exam and block a date that really helps in achieving the goal.

  1. Go through the documentation once you complete email Sitecore partner enablement partnerenablement@sitecore.com to get access to the sandbox environment.
  2.  The Sitecore Partner Enablement will send an invitation to access the Sandbox. 
  3.  Now go through the instructor-led training along with lab assignments
    Tip: I have used my blog site as a sample site to do assignments. It would be ideal to have a sample commerce site for order-related assignments.
  4. Familiarize with the core concepts and utilize the QA tool to test out various scenarios for Experiences and Experiments.
  5. Make sure to take the quiz after each section, which will give an idea of your understanding of the concepts.
  6. The questions were use case and scenario-based, so understanding the concept is crucial.
  7. The exam has 30 multiple-choice questions that have to be completed in an hour. You will have a good amount of time to revisit the answers.
    Note: Beginning of the exam, It says it has 50 questions, this might be a typo. It has only 30 questions, chill out.

Good luck! Happy Sitecoring!

3

Install Sitecore 10.2 using Docker in 5 Easy steps!

 

Happy New Year! I just thought trying out Sitecore 10.2 using Docker. Installed it with minor hiccups. Let’s share my experience.

Prerequisites:

  •  Sitecore 10 license.
  • OS: Windows 10 1903 or later.
  • Docker Desktop for Windows.
  • 32 GB of RAM (It can be 16 GB for XM1 or XP0). I always recommend 32 GB for better experience.
  • CPU: Quad-core processor or higher.
  • Disk: 25 GB free space.

Preparation:

  • The following ports needs to be available for containers

The following ports need to be available for running the Docker instance. Make sure you are using stopping the services so it’s available for Docker to consume.  

Note: Always use iisreset /stop in the command line rather than stopping it in IIS. 

  • To check the port availability, run the following in PowerShell. It shouldn’t return any process. 

netstat -ano | findStr 127.0.0.1:443

netstat -ano | findStr 8079

netstat -ano | findStr 8984

netstat -ano | findStr 14330

Installation:

  1. Extract the file zip file downloaded into Sitecore_10.2(or any folder name).

             

      2. Execute this command to set the execution policy unrestricted.

Set-ExecutionPolicy -Scope CurrentUser Unrestricted

       3. Navigate to XP1 folder (Sitecore_10.2\SitecoreContainerDeployment.10.2.0.006766.683\compose\ltsc2019\xp1) in PowerShell and run compose-init.ps1 script.

.\compose-init.ps1 -LicenseXmlPath <License Path>

  • Note: I’m installing XP1, If you want XP0, navigate to XP0 folder and follow the same exact steps.   

    4. Run docker-compose pull

docker-compose pull

      5. Run docker-compose up (It takes some time, you can get a coffee!)

docker-compose up –d

Once it’s done, let’s bring in CM instance – 

https://xp1cm.localhost/sitecore

Login as admin using ‘Password12345‘ password (not b though)

It’s so cool see the new desktop view! Cool work Sitecore!

It’s time for CD instance – 

https://xp1cd.localhost/

 

Errors and Resolutions:

If you get unhealthy for any nodes, don’t worry. It’s very common, I get this most times. 

Run the following in PowerShell, It should fix it. Thank you Sitecore Staff Exchange!   

docker-compose down

iisreset /stop

docker-compose up –d

 

To check if all nodes are healthy, run docker-compose ps 

If you want to change the Sitecore and/or SQL password, you can change it in docker-compose.ps1 file. 

Hope this helps someone. Happy Sitecoring!

3

My 2021 Reflections

Hope everyone got the Covid-19 vaccines and staying safe.  

Here are my contributions for the year – 

Presentations:

Blog Posts :

Award :

  • Experience Awards 2021 (Honorable Mention)  

Certification:   

  • Sitecore 10 .NET Developer Certification  

Contributions :

  • Logged Sitecore Bugs  
    •  CS0208574 Forms are missing in Forms Designer View
    •  CS0206915 High memory utilization on xConnect/Solr server 

Conferences I attended:

  • Symposium
  • SUGCON  
  • Virtual Developer Day
  • MVP Sitecore Lunches  
  • All Pittsburgh SUG meetups 
  • Most of the SUG Boston/ Queen City/ Columbus meetups  

Co-organized SUG-Pittsburgh Meetups :

Co-organized SUG-QueenCity Meetup :

 

Plans for 2021 :

Learn and contribute:

  • Sitecore 10.2
  • Composable DXP
  • Containerization
  • Sitecore Saas Offerings

Co-organize :

  • Monthly SUG-Pittsburgh meetup
  • Monthly SUG-QueenCity meetup

Presentations:

  • Sitecore Virtual Developer Day
  • SUGCON EU/Symposium
  • SUG Meetups

Happy Sitecoring!

 

0