Skip to main content
New book · out now

Understanding Drupal: A Complete Guide to Caching Layers

A deep, practical tour through every caching layer in Drupal — from the render cache to chained fast backends.

Get it on LeanPub
Understanding Drupal: A Complete Guide to Caching Layers — book cover
Recent writing RSS feed →
Oct 08, 2026 #drupal  #drupalcon  #ai  #tool api

SDCs, Canvas, and the agent skills that build with them

My DrupalCon Rotterdam talk moved from MCP to the CLI. How Canvas Tools and agent skills let a coding agent build Canvas pages through Drush, and what's still rough.
Sep 08, 2026

simplytest.me should be good enough to sell Drupal with

simplytest.me had been sitting in the back of my mind for a long time. I knew it was unstable, and that release information kept falling out of date. It was a constant battle that always needed another round of maintenance, and it kept sliding.

#simplytest.me  #drupal
Jul 14, 2026

phpstan-drupal 2.1.0: stricter defaults

phpstan-drupal 2.1.0 is out. The theme of this release: rules and behaviors that proved themselves as opt-ins are now the defaults. If you run `composer update` and see new errors, that is the release working as intended — everything below includes the configuration to opt back out.

#drupal  #phpstan-drupal
Apr 07, 2026

Dynamic type expressions in Drupal config schema

Drupal's config schema YAML supports dynamic expressions inside square brackets that resolve to values from the surrounding configuration data at runtime. Most developers have seen them — [%parent.type] in field formatter schema is a classic example — but few understand exactly how they work or when to use them.

#drupal
Mar 24, 2026

Catch @todo comments referencing the current issue

When making code changes or fixing issues, it's easy to leave @todo comments behind. Sometimes they mark areas waiting on an upstream fix, sometimes they're reminders that never got revisited. Either way, they accumulate — and the ones tied to the specific issue you're working on should be resolved before the MR merges.

#drupal  #phpstan-drupal