Skip to main content

The Conservative Party

A platform based solution allowing us to use the same codebase on hundreds of individual sites.

The Challenge

Political parties in the UK have a somewhat fragmented structure, with local associations, interest groups and individuals all working in a semi autonomous fashion. This requirement means that a single party website is not enough; each association, group or individual really needs their own web presence to get their own messages to the public.

When ComputerMinds started working with the party they already had an in-house platform for running and managing these sites. However, it was somewhat old and suffered from being inflexible, slow and insecure.

ComputerMinds built a new feature rich platform - ‘Bluetree’ based on Drupal and using Aegir to manage the provisioning of many sites.

Our Solution

The first stage of this project was to create a bespoke platform on which hundreds of individual sites would sit. In addition to this we had to give some thought to an initial content migration to get content over from the legacy system we were replacing.

Centralised Site Provisioning

Aegir Screenshot
Example of a Bluetree website


This project revolves around a large number of reasonably simple Drupal sites that all sit on the same platform maximising the use of Drupal's multisite functionality. This means that whilst each site is distinct in terms of look and feel and the data that drives it, every site on the platform sits on the same codebase - making it easy to apply changes/fixes across every site that sits on the platform.

In order to manage the provision of these sites we use a customised version of Aegir. Aegir is a Drupal provisioning tool that allows us to manage multiple Drupal sites from one place. We use these tools to kick off the initial build of a new site and poke some very basic configuration data through to the site at this stage - the result being an empty, branded Drupal website that can then be handed over to the client for content population.

When the time comes to update the platform, Aegir is clever enough to sanity check a migration from one platform to another to make sure that update patches are applied properly and everything runs as expected. If not it'll automatically revert to the last stable platform. This means that sites remain highly available during the update process. Conveniently we can also use Aegir to take regular backups of each site it manages so we can easily recover data in the event of something unexpected happening.

ComputerMinds have been heavily involved in the development of the open source Aegir platform from an early stage so we really understand how this powerful tool can be used for maximum gain, as this project shows!

Bespoke Admin Interface

Due to the nature of the sites that sit on our platform we had to be careful to accommodate less technically able users. To this end we created a completely bespoke admin interface allowing users of all abilities much greater control over their site.

Content Migration

When ComputerMinds inherited this project the existing provision offered by the party had come to the end of its life and it was a key requirement to seamlessly migrate all the existing sites over to our new platform. To do this we made heavy use of Aegir. As Aegir is essentially just a Drupal website itself we were able to use our Drupal knowhow to create feeds for each of these existing sites and pull through everything we needed when building each site.

The result was a queue of nodes that represented sites that needed to be created complete with an import feed containing the content. Then it was just a matter of hitting go and a few hours later we had over 200 sites with our new look and feel complete with all the new functionality we'd created and all of the existing content prepopulated!

Rolling Development

Due to the long term nature of this project, each month we aim to roll out new features and bug fixes to the platform. To this end, each month we go through a small life cycle of analysis, implementation and testing before using Aegir to roll out changes.