A tool to help you build config patches

Recently, I caught sight of a discussion in Sitecore Slack where the lack of tooling for helping you build config patch files came up. For some reason that struck a chord with me, and having mulled over it a bit, I decided I’d have a go at making something to see if it could be done… Continue reading

Reformatting config XML so it’s easier to diff

Every so often pretty much every developer ends up in a situation where they’re looking at a bug that manifests on one platform, but not on another. The sort of bug where you end up spending hours looking through log and config files for a subtle difference. I found myself looking into just this sort of bug recently, but on a site where (to my frustration) the config files were full of comments and whitespace differences across platforms that made diffing really hard**. Spotting that subtle bug-causing difference is pretty much impossible when your diff is full of noise… So how can we fix that? Continue reading

A little PowerShell hack for sending files to a remote machine

I was asked to do some configuration on a remote computer recently, and discovered that the security-concious network admins had locked down the ability for me to share my local computer’s files with the server via RDP and the ability to get to services like OneDrive. I had a collection of config files I had been asked to deploy, and manually creating each file on the server and copying over its contents seemed like a lot of hassle. So I tried a trick with PowerShell to make my life easier… Continue reading

Dealing with .tar.gz files on Windows Server

A couple of times recently, I’ve found myself needing to deploy files that come wrapped in a .tar.gz archive onto servers. On your desktop that’s not too much of a problem – you just run the installer for your preferred 3rd party tool, or maybe use the new Unixy shell and you get on with it. But on client servers security can be higher and you don’t always get the option to run any old installer. So I needed an alternative… Continue reading

I think I found my reason not to use VS2019 for everything..

I’ve been using VS2019 for all my personal development work pretty much since the first preview came out. For general coding and debugging it’s been good so far – stable, and effective. And little things like git stash control from the UI make me happy… It got its full release recently, just before I spoke at SUGCON 2019 – where I said I’d blog something about how 2019 changed the performance measurement stuff that I was presenting. Having done some tests in the last few days, it’s not looking so shiny any more… Continue reading

Pasting multiple cells into Excel from PowerShell

Sometimes the learning point from working on a misbehaving Sitecore server isn’t related to the CMS. Recently I learned something useful about Excel while I was addressing some other issues. Not sure if this is “so trivially simple I’m just the last one to realise” or whether it’s a really useful bit of trivia – but just because someone else might benefit: Continue reading

A subtle clash-of-namespace bug in Commerce

Recently I got the opportunity to do Sitecore’s “Implementing Experience Commerce” training course, and get certified in the details of how Commerce works these days. While I was doing the lab exercises for the course I hit an interesting bug, which seemed like just the sort of thing that others might encounter.

So if you’re extending the Commerce OData APIs, watch out: Continue reading

Thinking about errors in code pipelines

A while back I wrote a couple of posts on the subject of how code pipelines can work in a more functional .Net world. I’ve made use of those patterns in some code of my own, and I’ve found these posts have generated quite a lot of questions from readers here and followers on twitter. But I’ve never been quite happy with the implementation in my own code… Continue reading

Memory deltas in Visual Studio debugging

Working on a couple of personal projects recently, I’ve been reminded again how helpful I find the profiling tools that Visual Studio’s debugger gives you. As you may have guessed from some of my previous posts, every so often I get to worry about the performance of .Net code at work – but it’s useful for any sort of project, not just Sitecore. And investigating some issues in my own code, memory snapshots and deltas helped me out again. So maybe they could help you too? Continue reading

What do you mean you can’t fetch that item by its path?

There are some things in Sitecore that you just take for granted will work. Loading items is a good example of this. I’ll admit that user error can get in your way, but usually if you can see an item in the content tree, you can write code that will load it without issues. So I’ll admit I was pretty confused when I came across a scenario recently where this did not appear to work correctly. In case anyone else hits this challenge, here’s what happened: Continue reading