Having gone through infrastructure, virtualisation and operating system, we arrive at the software layer. What choices have Code Enigma made, and why?
We've already explained we're closely tied to Linux for many reasons, and Debian specifically. But what do we put on top of that? For the purposes of this post, I'll focus on PHP hosting.
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
How to allow for A-Z sorting and search by title features at the same time in your search pages. Solving a common (but not trivial) use case in Drupal with Search API and aggregated fields.
Search API is a powerful beast for Drupal 7.
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:
This blog post is about why Code Enigma uses Debian as our Linux distribution of choice.
We talked in previous posts about our infrastructure and our virtualisation. This time it's the turn of our operating system.
Second in a series of posts about the Code Enigma hosting stack, covering every aspect of how we operate, from networks and servers up to deployment and testing.
In my last post I wrote about the base of our hosting stack, our infrastructure providers over at Rackspace UK. Now it's time to move up a level and look at what we put on that infrastructure, starting with our
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
First in a series of posts about the Code Enigma hosting stack, covering every aspect of how we operate, from networks and servers up to deployment and testing.
Over the next few weeks I'll be writing a series of blog posts explaining the Code Enigma stack, the technology and the motivations, from the bottom up. We'll be covering things like our virtualisation platform, our choice of Linux distro, our deployment tools, testing suites, etc.
When creating a ctools "content type" plugin, default behaviour of the settings edit form is to present users with an option to override the title. While this is handy most of the time, some use cases requires that you prevent that from happening.
While you might be tempted to start messing around the setting form itself in your edit callback, you can simply define this in your plugin definition, as follows (in Drupal 7):
The question on how we should tackle the creation of a new website doesn't have a single answer. There are too many conditions to take into account. Nevertheless, there is a general process we can suggest.
Planning Project Fundamentals
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?"
If hosting security matters to you, you need to know what the information security standard, ISO 27001, is really about.
What is an ISO anyway?
Code Enigma will send three members of staff to the annual DrupalCamp Spain. This year, the event is held in Jerez de la Frontera, in the south of Spain.
As in previous years, Code Enigma will be present at the annual DrupalCamp Spain. This year's event will be held in southern Spain, more precisely, in Jerez de la Frontera.
There's an inevitable tension between different roles involved in a project such as sales versus production. If you ignore it it can lead to communication breakdowns. If you embrace it it can improve the understanding and trust between you and your client.
When I started thinking about this blog I was torn between calling it ‘creative tension’ and ‘the fuzzy zone’, but a quick check of the urban dictionary tells me that fuzzy zone describes the phase in a relationship when you’re more than friends but not quite lovers; that’s way off the mark for t
After reading a blog post called "What Marketing Can Learn from IT About Content", Code Enigma's content strategist wants to add his 2 cents to the discussion on who drives content strategy.
A friend once told me that the problem with social & online media is that we read to respond rather than to understand or learn.
What’s the best editorial workflow for generating quality content for my site? We'll help you pick the right model that works for you, taking into account corporate culture, size of the organisation, available resources, internal politics, and so many other factors.
If you’re asking yourself this question, you’re on the right track! It means you take content governance seriously as an integral part of your content strategy. But setting up a content management procedure that works for you, is not that obvious.
Google Drive is a great tool, but some of its UX enhancements are an information security nightmare.
So if you use Google Drive for your business, or even personally, here are a few things you really ought to know:
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