Sitecore containers and expired licenses

Sometimes you have a problem that you should absolutely have seen coming. The annual “the company’s Sitecore license has expired” fun is very much one of those things. But I’d not thought about this in advance, and the license expired while I was on holiday this year. It caused my team a load of hassle… But I have a plan to avoid this pain in the future: 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

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

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

Obscure looking SIF certificate errors

Continuing my voyage of obscure-error-discovery around Sitecore 9, this week SIF has been putting a lot of red into console windows for me. I’m not sure how many people will have this scenario, but if you have multiple people who all need to install their own Sitecore 9 instance onto one machine, this may be of interest: Continue reading

A hack for role-based config in v8 deployments

It’s a pretty common requirement that deploying instances of Sitecore will require slightly different configuration on different servers. Different roles, like content management and content deployment, will require different settings and features to work. So it’s not surprising that there are a variety of approaches to how you manage this configuration in your projects.

In the past I’ve often made use of separate config files, where you have a file for “config changes needed on all servers” and then further files for “config changes needed for CM servers”, and even down to the level of “config changes needed on server CD01” if necessary. This works fine if your deployment process understands which files should go on which servers.

Recently, however, Sitecore have started to offer a “role based configuration” approach in the configuration of v9 – so you can deploy a single config file and the server can pick and choose sections of its configuration based on what role it is performing. But back in the real world, most of us are still supporting V8 (and older) sites, so is it possible for them to adopt something similar to this idea? Here’s one approach that achieves something similar: Continue reading

Issues with Invoke-Webrequest and IE on servers

I’ve been doing some work with Release Management in Visual Studio Online recently. Overall it’s been a pretty positive experience, but there was one face-palm inducing moment I came across which needs writing down so I don’t fall into the same trap next time I have to do this. When you’re working with local release agents, you mustn’t forget the security settings that your agent’s server is configured with… Continue reading

Embedding resources in PowerShell scripts

A challenge I’ve come across a number of times while working with PowerShell scripts for Sitecore is that scripts sometimes have other files they depend on. Making sure that your scripts and their dependencies stay in sync can be a challenge at times, especally when scripts get reused across an organisation. So what approaches can you use for this? Continue reading