Data Protection Agreement

Download and store a Data Protection Agreement with Code Enigma for your records and GDPR compliance.

Below you will find a link to our Data Protection Agreement (DPA), which is pre-signed by hosting and support director responsible, Greg Harvey. This agreement may be downloaded by any Code Enigma customer who believes they have need of a DPA with us, counter-signed and stored for your records.

Do you really need composer in production?

It is now a common practice to use composer as part of our deployment stack. The recipe goes like this: gitignore your « vendor » directory (or whatever folder your dependencies end up in), but commit your composer.lock file, then deploy. Is this such a good idea?

The recipe goes like this : gitignore your "vendor" directory (or whatever folder your dependencies end up in), but commit your composer.lock file, then deploy.

Introducing Blackfire on Code Enigma servers

The profiling tool is now available to Code Enigma customers. is a profiling tool by the people behind Symfony, SensioLabs. We had a demo of this useful performance profiling tool some months back and decided it looked really good.

SAML ADFS authentication in Drupal

Using Drupal as a Service Provider with an Active Directory Federation Services server as the Identity Provider, using SAML

We'll try to cover the needed step to authenticate (and create if need) Drupal 7 users against an external Active Directory Federation server, using SimpleSAMLphp and the simplesamlphp_auth mo

Time Keeper

Open Sourcing a NW.js-based time tracking desktop application.

One of the great things of working at Code Enigma is the labs time we get every year.

Change of private cloud infrastructure provider

Code Enigma is changing the provider of it's infrastructure, moving all services to Pulsant.

We first met Pulsant in 2012, when we co-sponsored the excellent DrupalCamp North West (along with a bunch of other companies, of course).

How to show current HTTP requests on any server

A quick note to help if you ever want to monitor incoming HTTP requests regardless of web server infrastructure

If you're ever in a situation where you need to see incoming HTTP requests, maybe to check incoming headers, or you want to know what cookies are being set, or get some clues as to why things aren't being cached, the following command might be helpful:

Processing heavy/lenghty php operations in batches

A "back to the basis" demo of processing operations in batches

Quite often, you'll need to perform operations on such a number of items that it is going to exceed the resources available. We are going to have a look at some ways around this and how to loop over smaller batches.

Developer experience beats all

In this final part of the series of blogs about our hosting services versus PaaS systems, we look at DX and why you don't need "the cloud" to have great developer tools.

So I said in my first post in this series that the developer probably isn't the most important stakeholder when you're selecting your hosting.

Ensuring data security

In the 4th instalment of this series about our hosting versus PaaS competitors, we look at securing your data.

Before we go into this, I'd like to explain this mostly isn't a "public cloud versus private cloud" thing, like some of the other posts in this series have been. Rather, this is looking at the companies operating the platforms you have to trust.

Service Resilience and public vs private cloud

In the third part in the series of posts about why managed private cloud represents a better deal than public cloud services, this time looking at resilience.

Most public cloud services are not Highly Available by nature. They are designed with “cattle” in mind - that is to say, disposable units that are quickly and easily replaceable. Public cloud providers are clear on this.

Understanding HSTS

Pentesters have started recommending the use of HSTS in web servers quite frequently, but often without adequately explaining the consequences. This blog tells you why HSTS should be approached with caution.

So I made a slightly sarcastic tweet the other day which deserves expanding upon.

PaaS versus managed servers - quality of resource

The second instalment of traditional managed servers versus platforms in the public cloud, focusing on quality and amount of dedicated resource.

Last time I explored the cost per site of some of the Drupal platforms around, when compared against our managed private cloud servers.

Introducing the Selective Watchdog Backend module

How to use the selectlog module to log key warnings and errors to the database log, while acting performance-wise for standard messages on live sites.

In the world of Drupal, it's a common and best practice to disable the Dblog module (Database logging) on production sites, in favour of using the Syslog module, which will take care of logging all php errors, notices, or any custom log messages into the Unix sys

Managed servers versus cloud platforms

The first in a series of blog posts comparing more traditional dedicated server infrastructure to the more fashionable public-cloud platforms prevalent on the market at the moment.

There are so many options out there in the hosting market, and the pricing models and benefits can be so confusing, it's hard to decide who to go with.

Design and build a website in a day: Part two

Aaron's second instalment in the 'one day design and build' series is made even more challenging with actual client work and not so many monsters this time round.

My last attempt at this I found to be an interesting and pretty rewarding challenge to undertake.

Viewport module ready for Drupal 8

A description of the Viewport module for Drupal, already available for Drupal 8

Last week I had the chance to finish off the port of the Viewport module to Drupal 8.

Spinning up a CentOS server for Drupal

A quick start guide to getting going with Drupal on a CentOS server.

Before I start, I make no claim this is the best way to set up CentOS. I'm sure it isn't the only way, and I'm sure there will be other, more thorough, howto articles about the general setup of CentOS that are much better than this one.

#AberdeenCloud FAQ

Important facts about the ongoing #AberdeenCloud situation and how it might affect their customers and our own.


#AberdeenCloud - what happened?

A short tragedy on the demise of #AberdeenCloud.

  UPDATE 1: #AberdeenCloud have made the platform available for 36 hours, as of last night, 30th June 2016. You can, for a short time only, get files and backups again. Sounds like the platform will be available until some time around Saturday lunchtime, 2nd July 2016.