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