Skip to main content

📘 Understanding Drupal: A Complete Guide to Caching Layers — my new book is out now!

[2018-03-17]

ContribKanbanNG: Drupal 8 as a progressively decoupled application

#contribkanban #drupal #reactjs
At the end of October 2017, I wrote about the new and upcoming changes to ContribKanban.com. I decided to migrate off of a MEAN stack and go to a more familiar (aka manageable) stack. I decided upon Drupal 8 to manage my backend. Drupal is what I do, and Drupal is amazing at modeling data. People can moan and whine - it handles data models like a boss. I decided to treat it as a "progressively" decoupled web application.
[2018-03-16]

Creating better Drupal module release notes

#drupal
Every software release needs to have release notes. End users need to be able to understand what it is that they are upgrading to and any associated risks, or risks mitigated by upgrading and receiving bug fixes. Across the board proprietary and open source software projects either hit or miss on delivering decent release notes. During MidCamp I decided to help fix that problem for Drupal.org projects.
[2018-03-11]

Flush and run, using Kernel::TERMINATE to improve page speed performance

#drupal #performance #drupal-commerce

At DrupalCon Dublin I caught Fabianx’s presentation on streaming and other awesome performance techniques. His presentation explained how BigPipe worked to me, finally. It also made me aware of the fact that, in Drupal, we have mechanisms to do expensive procedures after output has been flushed to the browser.

[2018-02-25]

GoLand IDE and local vendor directories

#golang #goland
At Florida DrupalCamp, I got to talk to the DRUD team. They were demoing their DDEV tool, which is an open source local development stack. For a while I have been using my own platform-docker tool, which is a PHP based tooling command I used for scaffolding Docker, running Behat, and more. Instead of maintaining my already unmaintained tool, I decided to give DDEV a try and contribute back some things which I considered experience fixes.
[2018-02-23]

Joining the POSSE

#posse #buffer
A few days ago Dries posted To PESOS or to POSSE. I have been working on trying to blog more. And so far I have been successful. I have read his plans to implement POSSE. My goal is to follow some of the same patterns. In fact, that's the purpose of the trial-run post!
[2018-02-07]

Drupal 8 controller callback argument resolving explained

#drupal #debug
Drupal 8 has a robust routing system built on top of Symfony components. Robust can be taken in many ways. It's powerful and yet magical, making it confusing at times. There is a lot of great documentation on Drupal.org which covers the routing system, route parameters, and highlights of the underlying functionality. But the magic isn't fully covered. So, let's explore.
[2018-01-31]

Running Behat tests from CircleCI to a Platform.sh environment

#drupal #platformsh #circleci #ci #behat
In client projects, I push for as much testing as possible. In Drupal 8 we finally have PHPUnit, which makes life grand and simpler. We use Kernel tests to run through some basic integration tests using a minimally bootstrapped database. However, we need Behat to cover behavior and functional testing on an existing site for speed and sanity reasons.