As difficult as it is to find any OOP code in Drupal 7 contrib, it does exist in certain modules. See how to use PHP traits when the module's base classes are not entirely up to the task.
Admittedly, PHP Traits have been out there for a long time. You'll surely have heard about them, but chances that you've used them are not that high.
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.
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
When reading about making sites successful, one of the concepts that is always mentioned is conversion rate. But what does that stand for? What are conversions, and do they only apply to commercial websites?
Starting with the basics, what’s a conversion?
Anyone who ever conducted a content audit knows they're time consuming and boring. And while there is no magical quick solution, in this article we will try to help identify how to conduct these in a methodical way.
The problem with content audits is twofold: volume & criteria
In this post we explain basic Google Analytics metrics of website success. These will allow you to measure if your site is performing well in the light of the objectives of the site.
In this post, we will try to answer the simple question: how can I see if my site is doing well? We’re looking at this question from a usage perspective.
If your job description mentions digital content, you’re likely to have been hearing about Content Strategy for a couple of years now. If digital content is on your everyday task list, knowing the principles of content strategy will help you become more effective at your job.
If your job description mentions digital content, you’re likely to have been hearing about Content Strategy for a couple of years now.
Finally! You’re about to get there! Almost! Nearly! Just the last bits! But wait, did anyone think of…? This is a list of 10 things you shouldn’t forget about when launching a new site.
Finally! You’re about to get there! Almost! Nearly! Just the last bits! But wait, did anybody think of…? This is a list of 10 things you shouldn’t forget about when launching a new site.
We are rolling out an extra layer of security across all our production servers in the form of YubiKeys. This blog post explains what they are, how they work and why we're doing this, as well as presenting a short video presentation.
Two-factor authentication has become something of an IT buzz-phrase in recent years.
This blog briefly describes my first year of being a system administrator; how I was trained, what I've learnt and what I'd like to learn in the next year to name a few topics.
After many years honing our LAMP stack with Drupal, Code Enigma now offers the same stack and deployment tools optimised for WordPress.
For quite a few years now we've been offering professional hosting and tools for Drupal.
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?
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.
We'd been thinking for ages that we needed to completely change our company website. The whole team felt we had a site that failed to represent either what we do or who we are. After some false starts when we tried to do this in-house we decided to get help from an external design agency and turned to Andy Clarke at Stuff And Nonsense. In addition to a radical design overhaul, we also wanted to rethink how to author content within a content management system so that we would actually want to create new articles rather than thinking of it as a chore. In this article we explain the process from various perspectives: design, content-strategy, back-end and front-end development.
When we decided to update our company website, we wanted a site that shows our customers what we can do. With the help of Andy Clarke and the team at Stuff and Nonsense, we truly believe we've managed it.
A practical use of the post-merge git hook for distributed teams.
Granted, you don't need to be trendiest person in software to know about tools like Grunt, or Gulp (but in case you don't, they're really useful task automation tools to aid with common development tasks).
Almost certainly, a time will come when a client asks for a list of Tweets to be displayed on their Drupal site.
There are a plethora of modules out there that can help provide this functionality. For example:
Code Enigma's take on the Poodle vulnerability in SSL.
So the anticipated Poodle vulnerability broke today. But what's it all about?
So, I’m not going to pretend this blog post was not written with the idea of provoking a bit of a discussion. It was. As a Content Strategy specialist working for a full service Drupal agency, I was more than disappointed to see the disconnect between the European Drupal Community and Content Strategy at DrupalCon 2014.
I’m just back from my first DrupalCon in Amsterdam. Two years working in the Drupal world, and after a couple of DrupalCamps, I finally made it to the big event. On the whole, a great experience. But to be honest, there was one thing that … (looking for the right words) … irritated me deeply.
Content is used in a number of fields within an organisation. Sales, Marketing, PR, Customer Service, Accounting, Legal... Each of these will use content to its own needs. An overall Content Strategy can help all these stakeholders to work along each other, rather than against each other. But there are plenty of other reasons to invest in it.
In the 4 years of Code Enigma’s existence, clients have traditionally turned to us for our technical expertise in designing, building, developing, hosting and maintaining Drupal websites.
A huge thank you (as ever) to the fantastic local and Drupal Association teams who have made this year’s DrupalCon Europe another roaring success.
A huge thank you (as ever) to the fantastic local and Drupal Association teams who have made this year’s DrupalCon Europe another roaring success. The whole Code Enigma team had a great time.