transcript
show notes
Today we are talking about Better traceability, better debugging, and Rosetta with guest Jürgen Haas. We'll also cover Maestro as our module of the week.
For show notes visit: https://www.talkingDrupal.com/578
Topics- What Is Rosetta
- Rosetta Building Blocks
- Standards and Where to Join
- Rosetta End Goal Question
- Unifying Workflow APIs
- Fail Gracefully and Version
- Scaling Module Integrations
- AI Agents as Another UI
- Tools Discovery Explained
- Dependencies and Determinism
- Hooks Glue Code Reality
- Tracing with OpenTelemetry
- Sensitive Data Guardrails
- Big Challenges and Help
- Tool API Adoption Status
- Defining Rosetta Success
- One trace, inside and outside Drupal: a proposal for Rosetta
- Write a setting's rules once, in config schema, and use them for validation, forms and the published JSON SchemaMaestro
- Orchestration
- Dries blog post
- W3C open telemetry
- Drupal open telemetry
Jürgen Haas - lakedrops.com jurgenhaas
HostsNic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Emma Horrell - emma-horrell
MOTW CorrespondentMartin Anderson-Clutz - mandclu.com mandclu
- Brief description:
- Have you ever wanted to model a multi-step business process on your Drupal site, like a review and approval flow that routes tasks to different people, branches on their decisions, and can even hand steps off to AI? There's a module for that.
- Module name/project name:
- Brief history
- How old: created in Jun 2010 by Blaine Lang (blainelang) of Nextide, and is now co-maintained with Randy Kolenko (_randy)
- Versions available: 4.6.0, which works with Drupal 10.3 and 11, and 3.1.4, which also supports Drupal 9.4 through 11
- Maintainership
- Actively maintained, 4.6.0 came out last week
- Security coverage
- Test coverage
- Documentation: a handbook on drupal.org, plus a series of videos, including AI and agentic examples
- Number of open issues: 189 open issues, 55 of which are bugs, but many date back to the Drupal 7 and 8 branches, and half a dozen issues were closed just last week
- Usage stats:
- 785 sites
- Module features and usage
- Maestro's tagline sums it up: if it can be flow-charted, it can be automated with Maestro
- You build a workflow template in a visual drag-and-drop editor, and 4.6 adds a new ReactFlow-based editor as an alternative to the older diagram-js one
- Templates are made of tasks: interactive ones assigned to a user or role, plus non-interactive ones like If, And, Or, can set a process variable, batch functions, and spawn a sub-flow
- That gives you parallel approvals, serial steps, and dynamic routing, for example taking a different path depending on whether someone clicked Accept or Reject
- Each user gets a Task Console listing what's assigned to them, and tasks can be reassigned or delegated
- Under the hood, a background engine Maestro calls the orchestrator and does the work of advancing each process. You run it via a tokenized URL, cron, or drush maestro:orchestrate, and if it isn't running, nothing moves forward, so that's the first thing to set up
- Since 4.1 there's an AI task, built on the AI module, which can return a yes/no or true/false result that the next If task can route on, or store the response in a process variable
- There's also a Tool task for calling Tool API tools directly with no AI involved, and AI tools that let an agent list, start, and check on Maestro workflows
- New in 4.6, a trace view and trace archive let you see a snapshot of the process variables before and after each task, which is great for auditing or debugging
- For editorial and compliance teams, this is a natural fit for multi-stage content review, legal sign-off, or anything where you need a record of who approved what and when
- Maestro also has an ECA integration submodule: a Maestro task can fire an event for ECA to react to, and an ECA action can spawn a new Maestro process. We covered ECA in episodes #375 and #402
- Both ECA and Maestro let you visually model automation without code, but the mechanism is different. ECA reacts to events in the moment: something happens, conditions are checked, actions run, and it's done. Maestro is stateful: each process instance lives on for days or weeks, waiting for people to complete tasks, with the orchestrator advancing it in the background
- We haven't covered FlowDrop yet, but it's the newer option in this space, with an n8n-style graph editor where typed data flows from node to node, and it leans heavily into AI and data pipelines. It does have human-in-the-loop pauses, but Maestro's model is built around people and their task queues, while FlowDrop's is built around moving data through a chain of nodes
- The good news is they can work together: FlowDrop workflows can be published as Tool API tools, which Maestro's Tool task can call. And of course, the Rosetta initiative is all about reducing duplication of effort wherever possible, and making these solutions work seamlessly together
links19