Blog

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.

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

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

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 - 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.

The importance of being up to date

Drupal may or may not have been the cause of the already infamous Mossack Fonseca leak, but if it was, it would never have happened if they'd kept their software up to date.

In light of the much talked about #PanamaPapers leak, it seems there has never been a better time to talk about keeping your software up to date. 

Drupal Security Audits: What to look for

Drupal security audits are not a simple job, since security holes can be both in code and in the way the site is configured. This article collates the most common things to look for when auditing a Drupal site.

Site audits are one of the services that some of our clients have requested from us in the past.

Track all the things with Google Analytics

Learn how to use custom dimensions and metrics with Google Analytics and Drupal to get in-depth reports of your users engagement.

Certainly, there's no need to introduce Google Analytics as an analytics tool for websites.

WYSIWYG flexibility with the Shortcode module

This blog post covers the steps needed to implement a custom shortcode WYSIWYG widget for Drupal 7, to give site editors with all the flexibility they need to create content.

Giving editors full control over the elements they want to place in their contents is not always an easy task.

Drupal Views: Combined fields filter

How to use a views-provided filter to search content across multiple content types.

When building a Drupal site, it's very easy to be tempted to build the data model based on the features and options that one can get out of the box in other contributed modules (and I had my rant about it

Overriding styles combo in CKEditor

CKEditor is a superb WYSIWYG text editor and when used together with the CKEditor module for Drupal it's a great solution for enabling editors to easily add HTML to content. A common issue site builders seems to have is changing the list of styles that are available in the Styles drop down combo. Here's the salient tip for getting it working!

CKEditor comes with a Styles drop down combo that enables editors to select some text and then decorate it by selecting from a list of available styles:

Breaking words

Migrating away from legacy content management systems can prove challenging, in this blog post we look at a technique for improving the friendliness of URLs!

I'm sure we're all aware that human-readable URL's are a good thing, not only for us but for search engines too. Take, for example, the following URL: /topsubjects/businessandintellectualproperty/businessandmanagementstudies/yourstudyprogram

Drupalcon Session: Looking for the value in Content Strategy

On Thursday 24th of September, our content strategist Koen Platteeuw shared his views on what value content strategy brings to web projects at Drupalcon Europe

Don't ask yourself: "Can I afford to include content strategy in my web project?" The real question is "Can I afford NOT to include content strategy in my web project?"

Git Hooks, Round 2: Post-checkout

How to use git hooks to have a different set of Drupal settings for each branch of your repository.

In my last blog entry about git hooks, I talked about the post-merge hook, as a way to automate certain tasks every time a "git pull" command is issued on the command line.

Testing Frameworks - an Exploration

A quick guide to setting up a headless unit testing framework incorporating Behat, Mink and Selenium.

Many months ago, a discussion between my colleague Chris Maiden and I sparked off an idea that we developed into an automated testing framework, which is capable of taking any assertions from user stories, and running them either as unit tests against code, or as functional tests against a staged

Google Analytics Custom Events

Many Drupal sites use Google Analytics to capture statistics on page views, but often, that's as far as it goes. That's fine if the only events that you're interested in are page loads, but what about all the other user interactions that happen on pages? With a bit of extra work, we can capture statistics on those too using the custom events feature built into the Analytics API.

Many site owners use Google Analytics to capture user statistics. Usually people look at page views, number of pages visited, bounce and exit rates. Google also tells you the time users spent on a page, but what about all the other user interactions that happen on single pages?

Meaningful commit messages

At Code Enigma, most of our Jenkins builds post a git log into one of our IRC channels on completion. This helps the ops team to keep an eye on what's going on and to quickly spot any build failures. It also gives us a chance to see the commit messages that people are posting.

Our own developers are pretty well behaved when it comes to making meaningful commit messages (they know they’ll be teased mercilessly if they do anything daft!), but for some hosting-only clients, we have seen some classic examples of meaningless commit messages.

Pages