An Generative AI Module for Sitecore XP – S-3PO

About 6 weeks ago I posted on Linked in and Twitter with a GitHub link to a new Module I’d just finished creating: S-3PO – An Generative AI Module for Sitecore XP – built with SPE and using various models from ChatGPT/OpenAI. Shortly after that I started a new role at SoftServe, so have been pretty busy settling in and not had much time to Blog. However I thought it was about time I wrote a Blog Post on what S-3PO is so others can find it and explain what it does and why I built it. TLDR: Download S3PO – An Generative AI Module for Sitecore XP Why S-3PO? Well even if your not a Star Wars fan most people have heard of C-3PO right? the awkward gold droid from Star Wars that follows Luke around trying to help. Well that’s the inspiration here. I’m a big Star Wars … Continue reading An Generative AI Module for Sitecore XP – S-3PO

Automating the removal of TDS Projects

As part of the recent work I’ve done on migrating from TDS to SCS I had some tidying up to do. I needed to remove the TDS projects from the solution and all the files and sub-folders, including the .item files. We had around 66 TDS projects in the Solution so this wasn’t something I wanted to do manually as It would take a while and I’d likely missing something. I figured someone must have written a script to do this but I couldn’t find anything. So I created a PowerShell Script myself to do this. Note 1: There is a dependency here on the dotnet cli. This was the most efficient and supported way of cleaning up the solution file and most developers will likely have this installed already. Note 2: I setup SCS to create my serialized items in an folder called scs. This was so all the … Continue reading Automating the removal of TDS Projects

A Guide to Migrating from Sitecore TDS to SCS

A client I’m currently working with recently upgrade to Sitecore 10.3 and I was tasked with migrating our TDS projects to the much newer Sitecore Content Serialization (SCS). I imagine a lot of people need to do this so thought I’d share the approach I took and steps I followed to do this.  Why migrate to SCS? SCS is now the de facto standard for Content Serialization for Sitecore – not only for Sitecore XP but also for XM Cloud too. It has now matured to a point where it has all the features we should need as Sitecore developers and is well established. It’s also built in an modern way so is easy to use and very fast.   If you are currently using TDS then this is now end of life/legacy and will likely soon not be supported. In addition to this; managing items via TDS is tedious and … Continue reading A Guide to Migrating from Sitecore TDS to SCS

Sitecore XP is alive & kicking – 10.4 is out now

Unfortunately I wasn’t able to attend Sitecore SUGCON in Dublin a couple of weeks ago as I already had a family trip planned for Easter. However the clear message coming from SUGCON is that Sitecore have a renewed focus on their customers who are still on the XP and XM platforms and are investing in them significantly in 2024 and beyond with support for DXP until at least 2032. TLDR: Sitecore XP 10.4 is out now and is definitely worth a look. You can download it here and read more about it below. A new Product focused CEO You might have seen last week that Dave O’Flanagan was appointed CEO of Sitecore, this has really resonated with the Sitecore Community and partners as Dave O’Flanagan joined Sitecore as part of the acquisition of Boxever (where he was CEO) back in 2001 and therefore is more product focused. This in my … Continue reading Sitecore XP is alive & kicking – 10.4 is out now

Enabling Code Coverage for Sitecore with Coverlet & Github Actions

Last week I was tasked with enabling Code Coverage in our Sitecore Visual Studio solution and getting it into CodeCov (via our build pipeline). I ended up going down quite the Rabbit hole of different options and hitting a lot of brick walls along the way. I finally figured it out and got it working though so thought I’d share my findings and what I did in the end to get this working. TLDR – add this to your CI workflow in Github actions and adjust the settings as required. What is Code Coverage? In simple terms it gives you an idea of how many of your lines of code are covered by tests and therefore how confident you can be in making changes and releasing without breaking things. I’m not going to get into if this is a good idea, how accurate it is as a indication of the … Continue reading Enabling Code Coverage for Sitecore with Coverlet & Github Actions

Sitecore Page Exporter

Something I need to do regularly is pull down a page from an higher environment (such as UAT or Production) to my local machine or Test. I’ve done this in the past by manually building packages, using Sitecore Sidekick or SPE’s ‘Quick Download Tree as package’ option. However the SPE’s package option does not support packaging up the datasource items (unless they are child items of the page). In my experience there are often global datasources that are not sub-items of the page. This can take quite some time to do manually, especially for large pages. Enter Sitecore Page Exporter So I decided to create ‘Sitecore Page Exporter’ using SPE which will handle this. It supports exporting a specific page as an package and optionally the datasources, images and sub-items. This is v1 so I plan to add more features in the near future. Pre-requisites You must have Sitecore PowerShell … Continue reading Sitecore Page Exporter

Automating Sitecore Azure SQL Database Maintenance

For a long time Sitecore have recommended that you run SQL Maintenance regularly and rebuild the indexes. However you can’t run maintenance plans like this (as you would in an On-Prem environment) in Azure. So I did some research and it seems that Sitecore set these up for you if you using Managed Cloud. but I couldn’t find much further info on this. However I did come across this SSE post with a very useful answer from Richard Hauer on using Azure Runbooks and PowerShell to run database maintenance. There was unfortunately not a lot of detail on how to set it up or use it, I’d only really used Azure Runbooks once before for monitoring and re-starting Solr – so I am certainly no expert on this. So having done this recently I thought I’d write this post to help others who need to do this, follow the steps … Continue reading Automating Sitecore Azure SQL Database Maintenance

Bulk Enable/Disable Sitecore Users with SPE

We’re currently pretty close to completing an upgrade to Sitecore 10.3 for a client and during the go live process we needed to disable most of the users apart from a few admin users and then re-enable them again after go-live. We have a lot of users in the system and so I turned to Sitecore PowerShell Extensions (SPE) to automate this process. Here is the script I came up with: When you run the script it has a dialog which allows you to select if you would like to enable or disable users and to choose which Admin users you would like Exclude when running the Disable/Enable: Obviously you don’t want to accidently lock yourself out of Sitecore by disabling the main sitecore\Admin user!, therefore I’ve put a check in for this to try and stop this happening: Once the script has completed you will see a modal confirming … Continue reading Bulk Enable/Disable Sitecore Users with SPE

Deleting IAR items from the Database & Content Editor warnings for over-written IAR Files

Having recently created an Sitecore 10.3 IAR Package for the Scheduled Publishing Module I needed to remove the files from the database as they were still there even though they are now in the .dat files I created. In previous versions of Sitecore it was quite tricky to do this but luckily were using Sitecore 10.3 and the Sitecore CLI has been updated to allow us to delete specific items from the database with the itemres cleanup command. The commands we need to run are as follows: It’s possible to run these commands using the ‘what if’ flag (-w), to see what would happen if you ran them which is quite handy for testing them first. You will see a message saying that no changes will be made: Note that unfortunately It’s not possible to run the ‘what if’ if not providing a path. It seems this might be coming … Continue reading Deleting IAR items from the Database & Content Editor warnings for over-written IAR Files

Convert Publish files to Sitecore CLI JSON format

I’m currently working on an Sitecore upgrade for a client and this week I needed to upgrade the Scheduled Publishing Module to be compatible with Sitecore 10.3. And whilst the code had been upgraded recently by Nehemiah Jeyakumar, there was no package for it still. I was really keen to use an Item as Resource File (IAR) version, but to do so I’d need an Sitecore CLI JSON file which I didn’t have. There was however a Package.xml file which was used to create previous Sitecore Packages for the module. I wondered if I’d be able to use this to create an Sitecore CLI JSON file but couldn’t find anything online that anyone had done. So I decided I’d write a PowerShell Script to do this for me. You can find this below: The script essentially loads each x-item entry in an Package.xml file, calculates the item path and name … Continue reading Convert Publish files to Sitecore CLI JSON format