Drupal Development

By Mike Gifford on 23/10/2015
Wind and solar farm in California.

Stephanie Daniels sums it up well, "Optimized sites are better for the environment. That’s because they’re significantly faster, more usable, with content that’s optimized for SEO and user experience. It’s my belief that Drupal has all of the tools in place to create sustainable websites…if you just know where to look.".
If only I had Drupal back in 1995. That was the year I built my first website for a Fair Trade Retailer called Bridgehead. Back at this time, the Internet was a very different place. People were using the web at that point, but it wasn't embedded in our lives like it is now...
By Claire-Isabelle Carlier on 18/08/2015
Drupal’s terminology can be confusing when you are not already familiar with it. I have gathered in this post essential terms that will should make non-technical people (or simply people new to Drupal)'s life easier. I'm happy to add to this list if people identify additional useful terms they feel need further definition.
 
Core
Core refers to the code files that make up the default functionality of a Drupal site when you download it from drupal.org.  The functionality includes menu management, user management, system administration, design and layout, etc. Additional functionality can be...
By Matt Parker on 03/08/2015
"Software testing" is a term used to refer to a variety of methods, tools, and practices for verifying that a software application works, at many different levels.

All of us in the web development industry do some sort of software testing (even if the testing we do is manual and ad hoc, e.g.: refreshing a webpage after making a change to ensure the code you just wrote works). In this blog post, I will attempt to discuss why you might want to move away from ad hoc testing to more-formal testing, try to dispel some myths about formal testing, and give a high-level overview of the different...
By Matt Parker on 16/07/2015
This post is a follow-up to last week's post, Conforming to coding standards with linters.

As we learned last week, linters are tools that you can use to check if a file contains any syntax errors, and/or whether it conforms to coding standards. This blog post discusses how to ensure that linters get run automatically when you make a commit.

If you find a better process, please blog about it and post a link in the comments!

This tutorial assumes:


You write or modify code,
You have linters to run on your code, and,
You use Git to manage your code.



Git hooks

Git has a way to fire off...
By Matt Parker on 15/07/2015
A clothesdryer with a laundry basket sitting atop it.
At the the DrupalNorth code sprint, I spent some time chatting about code linters, and how to use them to ensure your code conforms to coding standards. So, I thought I'd share the process that works for me.

If you find a better process, please blog about it and post a link in the comments!

This tutorial assumes:


You write or modify code in a language like PHP, JavaScript, CSS, Bash, etc.



What is a linter?

Simply put, a linter is a static analysis tool that you can run to ensure that your code is free from syntax and/or style errors.

Types of linters

To help me prioritize fixing...
By Matt Parker on 07/07/2015
DrupalNorth 2015 sprinters sitting around a table, listening to Cottser
The inaugral Drupal North Regional Summit was a blast!
The official Drupal North sprint was held on Sunday, June 28th, starting around 10am and ending at 4pm, in Ryerson University's Rogers Communication Centre Transmedia Zone. 21 attendees showed up from all over Canada, the United States, and even Costa Rica:
Adam White from Upper Rapids,
Alberto Rojas from Manatí,
Chris Luckhardt,
Claire Desbois from Floe design + technologies,
Eric Jenkins from Digital Bridge Solutions,
Jean-François Bohémier,
Jeremy Knab,
Jose Eduardo García Torres from Anexus IT,
Kevin Newman from Digital Echidna,...
By Matt Parker on 27/05/2015
I've often been asked how I generate both patches and interdiffs at the same time, because the instructions on drupal.org currently detail the two processes separately, and different documentation pages give different instructions.

So, I thought I'd share the process that works for me, providing real-world examples from an issue that I've worked on.

If you find a better process, please blog about it and post a link in the comments!

This tutorial assumes that:


You know what patchfiles are,
You know how to use the command-line (the instructions should work in both *NIX and Windows), and,...
By Xavier Landreville on 08/05/2015
Compared to languages such as Ruby or Python, PHP lacks a good REPL. REPL stands for read-eval-print loop, and no, php -a doesn't count. A good REPL will, for one, Print the result of each operation, which the standard CLI SAPI doesn't do (and it had trouble with the Eval part until recently). What the php -a client is, however, is an interactive scripting environement. You can type code, statements, as if you were within a php script, and they'll be evaluate the same way.
Enter boris. It is a quick, simple, tiny, powerful REPL for php, that will not die. The way boris works is to fork itself...
By Sébastien Bacharach on 28/01/2015
Screenshot from the home page of the new OpenConcept website
OpenConcept has been deeply involved in raising awareness about web accessibility for a long time. As we were developing our new website, we took this opportunity to make it as accessible as possible.
Having proper alternate text for images is the low hanging fruit of web accessibility, however there were a few instances where we had to address some more unusual challenges.
In order to provide the alt and title attributes to the user profile images by default, we actually had to develop a custom module. This is something we are working on getting resolved in Drupal 8, however at the moment...
By Dylan Shields on 12/01/2015
Chances are, any two visitors to your website will have different preferences when it comes to consuming the content you're offering. People browse websites for various purposes, with a wide variety of preferences and biaises. Providing visitors with options on how content is displayed is appreciated when presented via an intuitive user interface.
In the past, clients have asked me to display lists of content in multiple formats (which is fairly straightforward with a basic understanding of the Views module) and to allow the user to decide what format is most approriate. In this example, I'll...

Pages