Test, Replay, Debug: Closing the Feedback Loop
Jürgen Haas
Wed 10 Jun 2026 - 16:20
Building workflows blind - configure, deploy, hope, check logs - was the reality for years. ECA's integrated test, replay, and debug features close the feedback loop. Put the modeler in listening mode, trigger events, see execution results immediately with token values at each step. A small widget appears on any page where ECA processed events - click it, modeler opens in overlay with recorded execution data, replay what just happened right there in context. Recording is expensive (despite 70% CPU and 85% storage optimizations), so use temporarily when debugging. Production event replay lets you step through failures with actual data from when they occurred. Conditional recording triggers and JSON export across environments are coming. No other workflow tool in any CMS - not WordPress, Joomla, n8n, or Zapier - offers step-through replay with production recordings at this level. This is what existing ECA users requested most: visibility into workflow execution. Infrastructure-level work that required sustained investment but compounds over years. Workflow Modeler exclusive feature, not available in BPMN.iO.
CKEditor5 Markdown: explicit Markdown-to-HTML conversion for Drupal editors
CKEditor5 Markdown is a new Drupal contrib module that adds CKEditor5 toolbar plugin into the toolbar for converting Markdown to HTML on demand.
What the CKEditor5 Markdown module doesThe module adds a new toolbar button to Drupal's CKEditor5 editor. Click it, paste or type Markdown into the dialog that appears, confirm, and the content is inserted as formatted HTML at the cursor position.
The conversion uses the marked library (version 9, MIT licence) with GitHub-Flavored Markdown support enabled. The library is bundled into the compiled asset via Webpack, so no additional frontend build step is required.
The module requires Drupal 10.3 or higher, or Drupal 11, with the core ckeditor5 module enabled.
CKEditor5 markdown example
Why explicit conversion instead of the official Paste Markdown featureCKEditor5 includes a built-in Paste Markdown feature that detects…
Scale Content Confidently Without Losing Control
Govern enterprise content at scale with AI-powered workflows that protect your brand, ensure compliance, and streamline content operations.
Drupal (AI) Playground: AI is making great programmers even greater, and not-so-great programmers, well, not-so-great
Implications
This post has broader implications for software development beyond the Drupal community, but I feel fortunate to be part of an open source community that can lead the way in addressing the widening productivity gap among its contributors and maintainers.
The title of this post is meant to draw you in by highlighting a problem, but my goal is to get us thinking about a solution. I realize the term "not-so-great" may sound negative when describing a developer, but this comparison bluntly highlights a major problem developers and communities face when working with AI. The truth is, I have never met a "not-so-great" developer in the Drupal community because people are engaged and curious about the software we build.
Realization
My realization is that "AI is making great programmers even greater and not-so-great programmers, well, not-so-great."
For me, a "not-so-great" programmer is someone who writes code like a factory worker. The difference between a "not-so-great" programmer and a beginner is curiosity. Curiosity is the secret to being successful with AI. A curious beginner can easily accelerate their learning experience with AI. Anyone with curiosity can move from beginner to novice in a matter of hours with AI.
Everyone agrees that AI can be a force/capability multiplier, ranging from 2x to more than 10x. The reality is that some people are simply unable to leverage AI and have a 1x multiplier. Very experienced developers report they can now accomplish tasks that would have taken months in days or even hours. Observations suggest that the more capable someone is, the more effectively they can leverage AI.
EvolveDigital Montréal26 Speakers Discuss AI Governance and CMS Evolution
Do AI coding agents recommend Drupal?
AI coding agents do not necessarily evaluate software the way people do. They often reward legibility before capability: the path that is easiest to complete and verify can beat the path with the better long-term architecture.
Yesterday, I wrote about this pattern in "Friction, abstraction and verification". Today I wanted to see what it means for Drupal.
Drupal's strengths line up unusually well with what AI agents need from a CMS: structured content models, explicit relationships, granular permissions, workflows, configuration management, and clear APIs that expose how the system works. In "Why Drupal is built for the AI era", I explained why that matters.
In short, agents work best when they can inspect the system, reason about its state, and make changes with clear feedback. Drupal gives them a strong foundation for that, but that is only part of the story.
AI agents also have to get Drupal running, find the right documentation, choose modules, change configuration, write Drupal-specific code, recover from errors, and verify the result. Every unclear step costs time, tokens, and confidence.
To see how an AI agent looks at Drupal, I ran a small field test with Claude Code using Opus 4.7, a 1M context window, and thinking set to "high". I gave it a website scenario, asked it to rank the best technology choices for that scenario, and then asked it to explain where Drupal fit.
This is not an academic benchmark, and a single answer from a single agent should not be over-interpreted. But it is still a very useful signal.
The Project Update Bot is refreshed for Drupal 12 readiness
Drupal 12 is coming later this year. As with previous major releases, the contributed ecosystem will require updating for breaking changes . Thousands of modules and themes will need their deprecated API uses updated before they are ready. Doing that by hand, across all of contrib, would cost the community an enormous number of hours.
That is the job the Project Update Bot exists to do. We have refreshed it, and it now targets Drupal 12 readiness: it scans contributed projects automatically and opens issues with patches that fix deprecated API uses for you.
If you are a maintainer, you should already know the bot. For the Drupal 12 cycle, our rector rules grew to cover more than 80% of the deprecated API uses introduced in that release. Using our proven toolset: Gábor Hojtsy's Upgrade Status for the analysis, and Drupal Rector for the fixes, now maintained primarily by SWIS and the glue that puts it all together Project Analysis.
Two things improved this round. Rule coverage is more complete, some of that came from AI-generated rector rules based on Dries Buytaert's drupal-digests. And submodule dependencies are now resolved during analysis. In the earlier cycles we scanned submodules but not their dependencies, which caused failed scans and false errors. That is fixed now, so results are cleaner and considerably more accurate.
The Stable Triangle: Why AI is the Ultimate Stress Test for Your Business
This blog post summarizes the key insights from the CX Decoded podcast episode featuring Dries Buytaert, the founder of Drupal and Executive Chairman of Acquia.
In the fast-moving world of digital experience, few names carry as much weight as Dries Buytaert. As the creator of Drupal, he has spent over two decades navigating the evolution of the web. But in his latest appearance on the CX Decoded podcast, Dries issued a candid warning: AI isn’t just another tool - it is a fundamental disruption that is stress-testing every business model in its path.
During the conversation, Dries broke down the "Stable Triangle" of open source and explored why the rise of AI is creating a period of both incredible excitement and existential fear.
The Disruption of the "Stable Triangle"For 20 years, the Drupal ecosystem has relied on three balanced sides:
- The Product: The Drupal software itself.
- The Ecosystem: The digital agencies that build on the platform.
- The Community: The contributors who maintain the code.
AI is currently hitting all three sides simultaneously. It is changing user expectations for what a CMS should do, challenging the hourly-billing model of agencies, and flooding the contributor community with "AI slop."
The Rise of "AI Slop" and the "Can-tribution"One of the most provocative points Dries made was the distinction between a contribution and a can-tribution.
How to optimize render cache in Drupal for better performance
Talking Drupal #556 - A Chat with Moshe
Today we are talking about Drush, Core Contributions, and Drupal's Past with guest Moshe Weitzman. We'll also cover Cache Metrics as our module of the week.
For show notes visit: https://www.talkingDrupal.com/556
Drupal 11: The Upgrade Experience I've Been Waiting For
john
Mon, 06/08/2026 - 12:08
Recently I upgraded this site from Drupal 10 to Drupal 11. While I've been through my share of Drupal upgrades over the years, this one stood out for a different reason: it was surprisingly straightforward.
Like many Drupal site owners, I started with the Upgrade Status module. Before touching core, I wanted a clear picture of what needed attention. Upgrade Status did exactly what it was designed to do, identifying deprecated code and highlighting modules that weren't quite ready for Drupal 11.
LocalGov Drupal Camp 2026 Sessions Focus on Project Delivery, AI Governance and Product Thinking
Friction, abstraction and verification
AI coding agents like Claude Code and OpenAI Codex tend to choose the path that is cheapest to complete. They work within a budget of tokens, context, time, tools, and permissions. Every step spends from that budget: reading documentation, installing software, running it, configuring it, changing it, and fixing errors.
For Open Source, this is a rare opportunity. AI agents could become its biggest adoption engine yet. While that should energize Open Source communities, it should also make proprietary vendors deeply uncomfortable.
Many proprietary software vendors have spent years optimizing for a human buyer journey: capture a lead, qualify the buyer, force a signup, offer a demo or trial experience, ask for a credit card, schedule a sales call.
Humans may grumble but keep going. To an AI coding agent, these are blockers, not buying steps.
Open Source starts from a different place. AI agents can read the source code, run it locally, and change it without asking anyone for permission. That does not guarantee adoption, but it removes the proprietary gates that slow agents down.
But being Open Source is not enough. Open Source removes the "permission barriers", but it can still have "execution barriers". If an Open Source project is hard to install, configure, extend, debug, or verify, an agent may choose an easier Open Source project instead.
In that sense, AI agents amplify an old truth about software adoption: the best software does not always win. The software with the easiest path to a working result often does.
But AI agents amplify that truth through "silent rejection". A human evaluator might complain, ask for help, file an issue, or write an angry Reddit post. An AI agent just tries another path. You may never know your software was considered and rejected.
Community First in an AI-Powered World
Hello, Drupal community. The first week of June showed Drupal moving from AI experimentation toward a more practical question: how AI-assisted work should be trusted, tested, and governed.
Several stories this week explored that shift. Amber Matz examined trust and expertise in AI-assisted open-source contributions, while a live experiment tested AI-assisted Drupal 7 migration. The discussion is no longer only about whether AI can be used in Drupal workflows. It is now about reliability, accountability, and the points where human expertise must remain in control.
That concern extends beyond Drupal. Recent coverage of Drupal AI 1.4.0, GitHub’s outcome-based validation framework for AI agents, and Carlos Ospina’s agentic recipes concept points to the same operational problem. AI systems now require governance, evaluation, and clear boundaries alongside technical experimentation.
Sustainability formed the second major thread. The Drupal Association’s support for Acquia’s Fair Trade Initiative reopened a familiar question about how open-source projects fund shared infrastructure while remaining community-driven. As more digital services depend on open-source software, stewardship, contribution, and long-term maintenance are becoming increasingly inseparable from technical progress.
Drupal 11: Building A Link Directory: Part 2
In the last article in this series I looked at creating a link directory on a Drupal site. In that article I looked at how I set up the links and took screenshots of the sites using a headless Chromium browser as the links were added.
The issue I had was that when I used headless Chromium to take screenshots of the sites the success rate was not very high. In these days of AI attacks, site captcha checks, and cookie popups it turned out to be quite difficult to take a clean screenshot of a site without being blocked either by a CDN or a cookie popup. In fact, most of the time the screenshot would be just a CDN error page.
I therefore looked for a different mechanism. Since I wanted to take a screenshot of a website it made sense to me to use a browser to do this, and because I am already using a browser why not get the browser I'm using to take the screenshot. After a bit of research I realised that creating browser extensions to do this was actually pretty simple. Plus once the screenshot has been taken I can post this to the Drupal site using a REST resource.
The only niggle was that I needed the screenshot to be at a set dimension, since all the link images on the site also have that dimension. That turned out to be slightly more challenging.
In this article we will look at setting up a rest resource to generate (or update) links, and then creating a Chrome extension to take a screenshot of a site at a set resolution.
First, let's look at creating the REST resource in Drupal.
Creating A REST ResourceThis needs to accept the data from the Chrome extension and generate a Link content entity using that data.
Speculation Rules changed my mind about prefetching
For years, prefetching made me uneasy. It can make websites feel faster, but it also asks visitors to spend bandwidth, CPU, memory, and battery on pages they may never open. That always felt a little wasteful, and maybe even a little disrespectful.
A couple months ago, while updating my HTTP header analyzer, I added support for the Speculation-Rules HTTP header. Learning about the Speculation Rules API inspired me to try it on my own blog.
The idea is simple: a page can give the browser a small JSON rule set that says which links are safe to prefetch, and when. Those rules can live directly in the HTML using <script type="speculationrules">, or in an external file referenced by the Speculation-Rules HTTP header.
For my blog, I added the rules directly to the HTML of every anonymous page request:
<script type="speculationrules">
{
"prefetch": [{
"where": {
"and": [
{ "href_matches": "/*" },
{ "not": { "href_matches": "/search*" } }
]
},
"eagerness": "conservative"
}]
}
</script>
The rule tells browsers that any same-origin link is safe to prefetch, except for paths under /search*.
The eagerness: conservative setting fires the prefetch on pointerdown or touchstart, meaning the browser only starts prefetching once the user begins to click or tap a link. There are more aggressive options, such as prefetching when a link becomes visible or when a user hovers over it.
Niels de Feyter: Why Drupal 7 Upgrades Need More Than a Migration Plan
Meet Us at the AI Summit London: Bringing Open Source Governance to the AI Era
Explore the future of enterprise AI at The AI Summit London 2026. See how open-source architecture is becoming the foundation for secure, scalable, and future-ready enterprise AI.
What's new in Drupal 11.4: an overview of changes vs 11.3
Drupal 11.4 is the next minor release in the 11.x branch, with a stable launch planned for the week starting June 22, 2026. It doesn't break backward compatibility for public APIs, but it brings plenty of concrete improvements: PHP attribute routing, a new bootstrap based on Symfony Runtime, Brotli compression for assets, SEO-oriented robots.txt changes, and a whole list of deprecations worth handling in custom modules. Below I walk through what actually changes compared to Drupal 11.3. The New Workflow Modeler: Revolutionary, Not Just Improved
Jürgen Haas
Thu 4 Jun 2026 - 13:45
The new Workflow Modeler is a from-scratch implementation built in six weeks: React 18 + TypeScript, infinite canvas, execution replay, live testing, four export formats (Recipe/Archive/JSON/SVG), and a standalone embeddable viewer. Around 87,000 lines, more than 3,400 test cases, about 2.1x as much test code as production code. Features include context-aware quick-add with dependency filtering, token inspection during replay, WCAG AA accessibility, dark mode, full keyboard navigation, and six granular permissions. Built as a Modeler API plugin - coexists with BPMN.iO. Models are portable between modelers via operations dropdown ("Edit" uses last modeler; "Edit with..." switches modelers). Same-modeler editing preserves layout; cross-modeler switches apply auto-layout while preserving workflow logic. Production-ready and shipped.
