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.
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
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
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.
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.
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.
Drush sql-sanitize cleanses the core user information, but what about all those profile fields you added?
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 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.
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.
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.
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:
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
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?"
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
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.