Open Source

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 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 Xavier Landreville on 27/04/2015
MailCatcher Logo
Most developers that have worked on web applications or websites have had to implement email sending functionality. Emails are extremely useful, as it allows your application to reach its users, even when they haven't visited it in a while, or to let them know that something important has happened. Unfortunately, testing email delivery is, or was, a harder problem to solve.
Now that professional Drupal shops are increasingly using multiple environments (dev, staging, live, etc.), it is important to have facilties to test email delivery. In the past, the recommended method was add to code that...
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...
By Mike Gifford on 10/09/2014
Roadtrip Back from DC DrupalCon
This is a story of our origins that I hope will resonate with others seeking change in this world. There are many truths, some of them are here.
The name OpenConcept came from a kitchen table conversation between three friends: Nancy Shaver, Russell McOrmond and myself. The initial idea was to use the Web as an interface for Popular Education (PopEd) and to help build Sustainable Communities. This idea never got off the ground at the time, but Russell continued to direct me in the essentials of HTML, PHP, MySQL and server administration. Russell also schooled me in the ethics of...
By Mike Gifford on 09/09/2014
Google Styled Map from Hackable Cities Guide

Canada's Cities Need a Digital Roadmap, and it needs to engage with citizens.
Most Canadians interact with the local level of government more than any other, and increasingly this is being done electronically
Defining a Digital Roadmap
A roadmap is a common planning tool to help both visualize and achieve a particular goal. It's useful to build consensus around any multi-stakeholder process. Projects often stall if they get caught up in the details, because there is no strategic approach to define priorities that everyone understands.  Technology plays a critical role in most municipalities...
By Mike Gifford on 06/09/2014
New Office Wall with Values
I didn't start OpenConcept because I was interested in business, I started this company because I saw the Internet as being a vehicle of much needed change in our world. So when thinking about the future of my business, I had pretty non-traditional way of looking at growth. 
My initial inspirations about OpenConcept as a business started around a kitchen table over 15 years ago, and in much of this time has been spent around a kitchen table. What I knew was that progressive organizations needed to be better at collaborating with each other and that open source web tools were one way to...