Last week I attended the Drupal Dev Days in Leuven and many of the sessions and also conversations in the hallway and the contribution room were about Drupal CMS and AI.

Fabian Bircher
25 Apr 2025
25 Apr 2025
1 Comment

However, the ddev snapshots do not really give one a lot of information of what changed. The configuration in git is a lot better, but it requires an extra manual step to create the export and commit it to git. That may not be instinctive to most drupal users, especially not the target audience of Drupal CMS.

There are a few bugs in other projects to watch out for:
Project browser does not set a checkpoint, and core has a bug when deleting checkpoints.
Of course there may be lots of bugs in the new module itself. In particular one of the things I have ran into is that the uninstall validation is a bit broken, so some of the recipes can not be rolled back when they add fields that depend on a module added at the same time. I will have to check where exactly this bug is hiding.
More advanced things could also be explored, for example merging checkpoints or deleting checkpoints without deleting everything that came before.
1 Comment

I had the idea already at Drupalcon Barcelona 2024, but after discussions in Leuven I decided to implement a UI for the configuration checkpoints.

DDEV snapshots and git commits

More peace of mind when applying recipes or letting AI configure your site

The proper solution of course is to export the configuration and version it in git before starting to play with recipes, as well as periodically in between applying recipes to have more save points to go back to. Since recipes can also add default content and some configuration can not be deleted when there is content for it, it means that sometimes a previous git checkout of the configuration can not be imported. Therefore, the best solution is to create database backups and roll them back when needed.
DDEV makes this very easy to do, and so that would be the first recommendation to address the problem and it will always work.

What if Drupal could help us with that?

There is an issue for adding a command to revert to checkpoints but no work has even started.

The foundational engine behind Drupal CMS is the recipe system, which allows a bunch of configuration changes to be bundled and applied to your site. This is really cool, but it may do things you are not completely aware of. Unfortunately there is no way to “undo” a recipe. The same problem occurs if one is letting AI change configuration.

So far the first version is very simple: It exposed some of the basic API to the UI. One can create new checkpoints, delete checkpoints and revert the site configuration to an older checkpoint. The reverting is done essentially the same way as the core command does: importing from the checkpoint storage. This is very similar to what Config Split does and the reason for which I thought it was a good idea to try.

How does Config Checkpoint UI work?

25 Apr 2025

Future and Limitations

Fabian Bircher,
25 Apr 2025 –
1 Comment

Similar Posts