Hi! I’m Wim, live in the beautiful bike-centric city of Ghent and I’ve been fortunate enough to be able to work full time on making Drupal better & faster for over a decade now! (I’m also interested in energy efficiency, smart home shenanigans and think more software empathy would make the world a better place.)


 

31 May, 2024

Experience Builder (XB) must be able to render single directory components (SDC) … but really any component. Furthermore, to achieve the compromiseless UX we want, we’ll need both client-side and server-side rendering (to avoid network latency): isomorphic rendering. So on Monday May 20, Ben “bnjmnm”, Mateu “e0ipso”, Lee “larowlan”, ThĂ©odore “nod_”, Pierre “pdureau” and Tim met in a truly global meeting (from Lee’s Australia to Kris’ U.S. West Coast), with very interesting conclusions.
These are not current concerns for XB, but they will eventually be — this was early alignment to avoid wasting time.

19 May, 2024
Description

This is a follow-up to my DrupalCon Pittsburgh talk from a year prior and the shorter DrupalCon Lille talk. It provides a ~15 minute overview of the status nor the progress, but dedicates the majority to 5 (!!!) live demos to show how to start using config validation today:

  1. use Config Inspector to find which config is still missing validation constraints, add it, and observe it catching invalid data — by adding a few lines of YAML!
  2. adding validation constraints to config schema, and observing them working and being picked up by Config Inspector
  3. update existing config forms to use validation constraints, using the new #config_target
  4. modifying configuration via JSON:API!
  5. last but not least: a Guaranteed-to-Work Recipe, created from scratch, and it refusing to get applied if it results in invalid configuration
Conference
DrupalCon Portland 2024
Date
Location
Portland, OR, USA
Duration
50 minutes

Tags

19 October, 2023
Description

This is a follow-up to my DrupalCon Pittsburgh talk. It does not provide an overview of the status nor the progress, but instead it’s hands-on, with 2 live demos to help attendees:

  1. use Config Inspector to find which config is still missing validation constraints, add it, and observe it catching invalid data — by adding 3 lines of YAML!
  2. update existing config forms to use validation constraints, including tweaking the validation error message — by adding 6 lines of YAML and copy/pasting 5 lines of PHP!

Each in less than 5 minutes, including the explanation!

In other words: everybody walked out ready to contribute to the DrupalCon sprints on the next day, or to update their own modules.


I’m honored to say that this was voted the 8th most interesting session at DrupalCon Lille!

Conference
DrupalCon Lille
Date
Location
Lille, France
Duration
20 minutes

Tags

19 October, 2023
Description

As has become a tradition since DrupalCon Amsterdam 2019, all Drupal core initiatives with leads attending DrupalCon Lille took part in a PechaKucha-style keynote format. Despite not leading any initiative right now, I was asked to present the status & progress of the work on Config Validation that I together with a handful of others have been doing in the past few months.

Conference
DrupalCon Lille
Date
Location
Lille, France
Duration
75 minutes

Tags

6 June, 2023
Description

Drupal 8 shipped with many exciting new concepts, including “configuration”, “configuration and content entities”, “validation constraints” and “API-First”.

The missing link between these has always been the inability to modify configuration through Drupal’s REST or JSON:API. Because only content entities have validation constraints.

This has been the #1 blocker to the Drupal (JS) Admin UI initiative: validation of configuration unfortunately (but understandably) still is hardcoded in the PHP-based form logic.

But … in the background, the foundation was laid during the Drupal 8 cycle to validate configuration. In fact, one contrib module has been doing it since 3 years before this DrupalCon is taking place — no core hacks required.

Drupal 10’s CKEditor 5 module is the first time that Drupal core is using validation constraints instead of form-based validation logic!

Not only does this allow modifying configuration through APIs, it also allows us to eliminate subtle configuration errors that go unnoticed, and thus make Drupal more reliable in general!

It also paves the path for the Recipes Initiative as well as the many configuration management-related modules to become much more reliable.

Conference
DrupalCon Pittsburgh 2023
Date
Location
Pittsburgh, PA, USA
Duration
50 minutes

Tags

17 March, 2023

On behalf of Acquia I’m currently working on Drupal’s next big leap: Automatic Updates & Project Browser — both are “strategic initiatives”.

11 April, 2022

So what was DDD Ghent like?

Statistics

I’m especially interested in sprinting on the CKEditor 5 module for Drupal core, since that’s what I am currently working on for Acquia, because that is one of the biggest must-haves/blockers for Drupal 10. 86% of issues worked on at DDD Ghent was not CKEditor 5, so … I’m hoping others will do blog posts similar to this one! :D

26 January, 2022

Together with zrpnr, gabesullice, lauriii, bnjmnm, yashrode and hooromoo in Acquia’s Drupal Acceleration Team, I’ve been working on getting Drupal on CKEditor 5, because CKEditor 4 is reaching the end of its long and productive life.

zrpnr got it started in January 2021. We’ve been meeting with Reinmar 1 from the CKEditor 5 team to ensure a smooth automatic upgrade path from CKEditor 4: all functionality should be even better! Less than 10 months later, on November 11, 2021, CKEditor 5 was committed to Drupal 9.3!

30 September, 2021

For the past two years I’ve been working on something less visible but no less important.

Since DrupalCon Amsterdam 2019 (an actual in-person conference — sounds surreal in 2021, doesn’t it?!) I’ve been working on Acquia Migrate Accelerate, or “AMA” for short. In a few days, another DrupalCon Europe is starting … so perfect timing for a recap! :D

Why?

Drupal 8 comes with an awesome migration system built in, originating in the Migrate Drupal 7 module. It standardized many migration best practices. But it still required a huge time investment to learn it.

Of course, there’s the “Migrate Drupal UI” (migrate_drupal_ui) module in Drupal core. But that does not allow for granular migrations. It allows for a one-shot migration: you see which things will be migrated and which won’t. You can click a button and hope for the best. It only works for the very simplest of sites. It is impressively minimal in terms of the code it needs, but unfortunately it also means one pretty much needs to be a expert in migrations to use it successfully.

It will be of little help as soon as you run into important data you want to migrate for which no migration path exists.

Tags