WordCamp Montreal slides – Catching regressions faster with automated acceptance tests

Check out the demo plugin on

Codeception & WordPress: Getting up and running

Getting up and running with Codeception tests locally in Chrome, Firefox or BrowserStack you need to be able to run your site locally first (take a look at Laravel Valet, it’s fast and requires almost no configurations).

Here are the requirements for mac:

  • Java 1.8
  • Homebrew
  • WP-CLI (latest version)
  • Composer (latest version)
  • Selenium server
    brew install selenium-server-standalone && brew services start selenium-server-standalone
  • Chrome driver
    brew install chromedriver && brew services start chromedriver

Once everything is installed, you need to create a new composer.json (or merge an existing one) with the following requirements:

Could not embed GitHub Gist f73df5530abea74ae8ae250adbec9b90: Not Found

After this file is created, you can run composer install and composer will take care of downloading all dependencies for you.

Here is a sample plugin to help you get started. You can copy the codeception.yml file and the tests/codeception directory into your own plugin or theme and use that as a template.

You are ready to run wp codeception run --debug at the root of your directory!



Contact Widgets – A Plugin to showcase your social links & contact informations

Building a simple but highly flexible contact & social widget that works well in the customizer is hard. This was our core philosophy while working on the version 1 of this plugin and I do hope it proves useful for many people out there. Please check out for new features and releases in the coming weeks.

Here is a screenshot of the contact widget as of version 1.0.0 (note that you can reorder most fields using simple drag and drop. This works on mobile as well.)

Continue reading

Elasticsearch + WordPress: made for each other!

If you landed here is that you probably have a keen interest in bringing a more powerful search engine into your WordPress site and you have heard about Elasticsearch, the relatively new document oriented, RESTful search server based on Lucene.

There are many reasons why one uses Elasticsearch so I won’t get into much details, I will only show you the steps to get up and running with WordPress + Elasticsearch on your VPS server running ubuntu (or whatever linux distro you prefer but I will only show ubuntu commands)*.

Continue reading

Jira ticket number between git branches

Have you ever worked on a team where everyone needed to put the Jira ticket number in the git message? Ever wanted to know all the ticket being merge to another branch before doing so?

Here is a nifty little bash function that you can put in your bash profile:

Once you have this included, you can now compare 2 branches together like so:

gitjira master stage

Use Vagrant Rsync feature to maximize performance

Original article appeared on


We all know that Drupal doesn’t do really well under the default shared folder of VirtualBox. When we were given the task of creating a new box for one of our clients, we immediately went with NFS file system to circumvent this issue. We quickly realized two things:

  1. Vagrant is way faster with NFS enabled (but won’t work on Windows)
  2. Drupal is still slower reading files using NFS shared folder than using a default LAMP setup on the host directly

Thanks to the newly added feature in Vagrant 1.5, we can now use rsync to sync our shared folder with any Vagrant virtual machine. What does it mean for Drupal local development? A huge performance gain! Continue reading

Create a RESTful web service with Drupal 8

Read the full article on

Disclaimer: Drupal 8 is still in a very early stage. Therefore, some examples or content in this article is subject to change without notice. I will be using the Drupal 8.0-alpha10 package that you can find here.

My girlfriend and I (like mostly everyone really) are always looking for ideas about what to eat. We tried a lot of recipes over the years and couldn’t figure out a good way to file them for future use.

We finally took the time and created a  little website to expose all the recipes we loved; and we did it through a simple web service. It was the perfect time to try the new Drupal 8 web services!

Continue reading

© 2018 Jonathan Bardo