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

Caching when you have duplicate container components

In theory, the magic of Dynamic Placeholders lets us have a container component placed onto your page more than once. That didn’t work in the old world of “static” placeholders, because the rendering engine didn’t like two placeholders with the same name. But despite it’s benefits, the dynamic implementation has an annoying edge case – you may not be able to enable caching for your container component. I had a client bump into this issue recently, so I spent some time considering approaches that might help them address this issue. Continue reading

An edge case of remote events with Publishing Service

I’ve been working on an international deployment of Sitecore recently, and resolving some problems around how publishing raises remote events has demonstrated that there are some things about the publishing process that I didn’t entirely understand… I doubt this is a common scenario, but it still seems worth writing down what I’ve learned – So here’s another crib sheet for my future self: Continue reading

Clearing up a little confusion with Let’s Encrypt’s DNS challenges

I love Let’s Encrypt. I’ve been using SSL for all my personal projects for years. Until they came along I was using self-signed certificates and manually adding my own root certificate to all the machines I was using my sites from. And that lead to some fun… So I moved eagerly to Let’s Encrypt when the tooling supported Windows reasonably well, and set myself up with a certificate with multiple SANs authenticated via their “HTTP proofs” mechanism, and it all worked fine, despite it being a bit of a pain that I had to expose port 80 for sites I only wanted accessible via port 443.

But I realised recently that they now offer wildcard certs that would make my life simpler, and that there is now decent support for DNS-based proof-of-ownership. So recently I tried moving my server over to this model – and there was a bit of friction. Entirely PEBCAK though – so I’m writing this down for the next time I forget how DNS works 😉 Continue reading

Bonus chatter: I can’t let my 200th post pass without comment…

When I wrote my first blog post here** in February 2014 I definitely did not imagine still being at it 200 posts and five-and-a-bit years later. Originally I set myself a challenge of writing something once a week for a year, just to see if I could motivate myself to do it.

Honestly, I didn’t really think I’d manage to keep it up for the entire twelve months, let alone still be here now – but somehow it’s become part of my routine. I may have scaled down to a post every fortnight, as kids and other responsibilities took over more of my time, but the process of making myself notes about issues I encounter as I’m working, and then writing them up when I have free moments has become part of my working life now… Continue reading

Shooting myself in the foot with Marketing Automation

I had another of my fun chats with Sitecore Support recently, for an issue that seemed to get no useful results in Google when I looked. So, as is my way, I’m filling that search-engine void today. This turned out to be entirely my fault – but it seems like the sort of mistake that others might encounter too… So if you’ve deployed a distributed instance of Sitecore and found Marketing Automation was behaving oddly, read on… Continue reading