About this session

Dries Buytaert opens with Rotterdam's own motto β€” niet lullen maar poetsen, "stop talking, start working" β€” and the story of a city that rebuilt itself by embracing the future, from the first European port to welcome container ships to today's largest port in Europe. It becomes the frame for the whole keynote: like Rotterdam, Drupal has spent 25 years doing the work, from the European Commission's digital sovereignty push to what Buytaert calls "stewarded open source." The problem is that too few people outside the room know it. He names the reputation gap β€” people judging Drupal on a version they used a decade ago β€” as the project's number one challenge.

The middle of the keynote is a tour of what changed in just six months, organized around going where the people are. Drupal CMS 2.2 makes multilingual sites dramatically easier to set up and brings translation into the Drupal Canvas page builder, demonstrated with the new Dashi food-magazine demo. Canvas Code Components gives JavaScript developers a standard React, TypeScript and Tailwind workflow with no Drupalisms, while Canvas Headless connects front ends built in Next.js, Astro, Nuxt and more with visual editing intact. Then come the AI agents: a content editor fixing Dutch translations from ChatGPT while Drupal keeps the revisions, permissions and audit trail underneath; a live Drupal AI demo site anyone can try; and Buytaert's own experiment MCP-enabling his photo-album module β€” 1,000 lines of custom code reduced to roughly 20 attributes with the Tool API. He announces a "Rosetta sprint" to make Drupal's capabilities readable by agents, systems and humans alike.

The final act turns the opening motto on its head. Because great products don't explain themselves to the market β€” and because AI amplifies outdated perceptions β€” Buytaert launches the Drupal Advocacy Program: contribution credits for talks, posts, clips and amplification, weighted toward work that reaches people outside the Drupal world, with submissions open immediately. He closes by changing Rotterdam's slogan for the occasion: start talking louder about what is working.

"Drupal is now light-years ahead of its own reputation."

β€” Dries Buytaert

Key takeaways

  • Dries names Drupal's reputation gap β€” not technology β€” as the project's number one challenge, and warns that AI systems repeat and amplify outdated perceptions.
  • Drupal CMS 2.2 ships a far easier multilingual setup, translation support in Drupal Canvas, and the new Dashi multilingual demo site.
  • Canvas Code Components brings a standard React/TypeScript/Tailwind developer experience to Drupal; Canvas Headless connects Next.js, Astro, Nuxt and TanStack Start front ends (with Angular support announced on stage) while keeping visual editing.
  • AI assistants are becoming another interface to Drupal: the Tool API lets module developers expose capabilities to MCP, agents and workflow tools with attributes instead of custom code β€” about 20 attributes where Dries's own module needed roughly 1,000 lines.
  • A "Rosetta sprint" is planned before the end of 2026 to make Drupal's data and capabilities easier to expose to agents, orchestration tools and front ends.
  • The Drupal Advocacy Program launches, led by the Drupal Association: contribution credits for advocacy work, weighted toward reaching audiences outside the Drupal community, with submissions open now at d.o/advocacy.

Chapters

  • 0:00 β€” Opening video: Acquia Source
  • 1:21 β€” Welcome: contribution and the cardboard booth
  • 4:58 β€” Dries opens: Rotterdam, "stop talking, start working," and the reputation gap
  • 17:55 β€” Demo: multilingual in Drupal CMS 2.2
  • 20:32 β€” JavaScript front ends as first-class citizens
  • 21:50 β€” Demo: Code Components in Drupal Canvas
  • 26:18 β€” Demo: Canvas Headless
  • 27:40 β€” Drupal AI: what's new, plus a demo site to try
  • 29:06 β€” Demo: the Drupal AI university site
  • 30:55 β€” Drupal AI momentum and partners
  • 32:48 β€” AI assistants as another interface to Drupal
  • 33:35 β€” Demo: fixing content from ChatGPT
  • 35:15 β€” Tool API: exposing Drupal to agents with attributes
  • 44:57 β€” Demo: FlowDrop β€” one module, many interfaces
  • 47:13 β€” The accidental AI advantage, the Rosetta sprint, and the Advocacy Program launch
  • 1:01:08 β€” Closing: talk louder about Drupal

Transcript

Lightly edited for readability. Speaker attributions and flagged items pending video review.

0:06 β€” Opening video: Acquia Source

Video narration [0:06]

When you start at the source, you have everything you need to flow freely and break through. Introducing Acquia Source. A fully managed CMS that helps teams consolidate into one managed solution, delivering the power of Drupal combined with the scale and security of Acquia, empowering creators to build fast with AI content generation and increase engagement with an integrated optimization suite, all while reducing risk and lowering costs. The freedom to create once and publish everywhere. It all flows from the source. Acquia Source, powered by Drupal.

Audience [1:10]

Woo!

1:21 β€” Welcome: contribution and the cardboard booth

Sean Parrott, Acquia [1:21]

All right. Good morning, everyone.

Audience [1:22]

Good morning.

Sean Parrott [1:23]

Welcome back from the coffee break. I hope you're all fully caffeinated and ready to go. Welcome to DrupalCon Rotterdam. I'm Sean Parrott. I'm the brand and global experience team lead at Acquia, and I'm here today to quickly talk about one word that runs through the entire community: contribution. Acquia is proud to be the number one contributor to Drupal, and we have been for a long time, and we're very proud of that, but most of that shows up in ways that you can measure: code commits, core maintainers, product innovation, thousands of hours put in by people who love the project just as much as all of you do, and we're going to keep doing all of that. But this year we asked ourselves a simple question: what else could contribution look like? And if you've walked past our booth, you've seen the answer. It's made out of cardboard. And up on the wall, we had an artist hand draw one simple sentence which says, we spent less on our booth this year so that we could donate $50,000 to Drupal. Now, it's a little early in the morning for me to be able to do the math to convert that to euros, but I'll leave that to all of you. We didn't do this for applause. We did it because it's the right thing to do, and we hope that it ignites something within the entire community. Here's my invitation to everyone here today, every sponsor, every CMS company, every hosting provider, every ad agency, even our competitors. Find your own unique version of the cardboard booth. Find a new and unique way to contribute and give back to Drupal, because if Drupal wins, then we all win. Now, you may have also noticed that our logo looks a little bit different this year. It now reads Acquia powered by Drupal, because Drupal is in our roots. It's in our DNA, and we want to make sure from now moving forward these 2 things always travel together. And in the age of AI, these roots matter now more than ever. Openness, flexibility, trust, and a global community innovating right out in the open is exactly what the next era of the web needs. So Acquia innovation plus Drupal innovation, that's the combination that we're betting on. Seriously. And no one has done more to make that possible than the person that you all came to see and hear from today. He started this project in his dorm room, and he's never stopped passionately pushing it forward or pushing us all to do the same. So please join me and give it up and give a warm welcome to the founder and project lead of Drupal and the co-founder and executive chair of Acquia. Let's give it up for Dries.

Dries Buytaert [4:37]

Thank you.

Dries Buytaert [4:57]

Hello, hello.

4:58 β€” Dries opens: Rotterdam, "stop talking, start working," and the reputation gap

Dries Buytaert [4:58]

Good morning, Rotterdam. So my keynote will have live captions, by the way, but it will not be on the screen. So if you want to follow them, you can scan this QR code and you can follow them on your app. So for those of you interested, I'll give you a couple more seconds to take a photo and then we'll get started. All right, are you ready? Let's do it. As I said, welcome to Rotterdam. Rotterdam is a very special city, and there's actually an important saying here in Rotterdam which I don't think I would ever expect to say on stage, but it is niet lullen maar poetsen, and it's Dutch, yeah, and it literally translates to: no blabbing, but scrubbing. It basically means stop talking and start working. Some of you that have been around since the early days of Drupal, they might be used to me saying something very similar in the early days, which is, talk is silver and code is gold. Some of you might remember that. Now, we've updated that since to, talk is silver and contribution is gold, because we recognize that Drupal is built on much more than just code. It's built on events like this, on documentation, on mentoring, all of these things. Starting today, we're actually going to amplify one element of contribution that I think we've been neglecting a little bit up until now. I'll talk about this later in my keynote, so not quite yet.

First, I want to come back actually to this stop talking, start working motto, if you will, for a second, because it's really important, I think, in Rotterdam, and it really made Rotterdam into what it is today, because Rotterdam expanded thanks to all of the hard work. And so in the 19th century, for example, they built this giant canal that you can see in the photo, and they basically gave deep water access for Rotterdam to the North Sea, but actually also connected major German industrial cities all the way to the North Sea. And that's what made Rotterdam grow and become a big city. Unfortunately, later during World War II, Rotterdam was also bombed and completely destroyed because of this access to the North Sea and access to German cities. And it was destroyed. And so Rotterdam, as I already explained, Rotterdam had to rebuild itself. And in doing so, Rotterdam was not afraid to embrace new styles and to go to where the future is. And at the time, the future was actually cars. And so the city was built around making it accessible for cars. And so that's why it may feel actually a little bit more like an American city than maybe a traditional European city. But also you can see it in the architecture. I hope you have a chance to walk around Rotterdam. And you'll see they have a lot of sort of interesting, modern, innovative architecture. And this is part of this motto of embracing the future and being innovative rather than being stuck in the past. And a fun fact, the Markthal, or Market Hall, which you see on the right, the food hall, is a very cool building, just a 5-minute walk. But it also inspired some of the theme of the DriesNote, the design of the DriesNote. And then another example of Rotterdam being innovative is that in 1966, they were the first port in Europe to welcome container ships to dock in Europe. And obviously container ships really transformed the shipping industry, right? And so today, fast forward today, Rotterdam is actually the largest port in Europe. And it's larger than any American port, for example, as well. Only in Asia is there a port larger than the one in Rotterdam. So, all of this thanks to the attitude of no blabbing, get scrubbing β€” stop talking, start working. And so, basically Rotterdam saw the future, they moved towards it, and came out first. And to me, that resonated because I feel like we have this in Drupal, our ability to see the future, our willingness to adapt, is something that we've always been very excellent at. And it's actually one of the things that I'm most proud of as well. And it also takes a lot of hard work, as we've been doing for 25 years.

Now, as kids, we don't always have a good idea of how much work it takes to look after us. And this is me at the age of 4. I was camping in our backyard at home. And back then, life was sort of magical. The fridge filled itself with food, the dishes somehow got done, and if you were lucky like me, clean clothes appeared in your closet. Maybe dinner arrived on the table magically as well. And so kids, they're kind of great at this magical thinking, right? Now, I was the eldest of 3, and as I got older, I had to do a little bit more chores, not too many. But do the dishes, weed the garden, these kinds of things. And yet, sometimes I would hide in the toilet with my comic books, waiting that by the time I come out, the dishes would be done. You know what I mean? How many of you have done that? Yeah, a lot of us. And I thought someone else will do it, that's what I thought. And it turns out that someone else ended up being me. Especially as you grow up, you kind of come to that realization, right? And even as adults, we still do a lot of magical thinking. We still think other people will take care of things. For example, I think there's a lot of magical thinking right now, or has been, about how dependent Europe is on American and Chinese technology. And fortunately, European policymakers are starting to wake up to that. And Europe is realizing that they need digital sovereignty. And it's a huge challenge. It will take decades, maybe even billions of euros to fix this, but it's also a challenge that Drupal is ready for. And yesterday was a government summit, as we've heard, and I think it became very clear that Europe needs Drupal, but also that Drupal needs Europe. So, when the European Commission solicited for feedback on their digital sovereignty work, I actually took it to heart. 'Cause I want open source to be a big part of this, and I was worried that it wasn't. And so I blogged about it, and then I submitted my blog post as official feedback to their sort of feedback system. And to my surprise, they actually read it. They listened, and they referenced my blog post in their official policy recommendations that came out later. I'm not sharing this to brag. I'm sharing this to tell you that we have actually quite a bit of power and influence on these matters. And so end users, like the European Commission but many others, they actually get a lot more than software. It's what I've been calling stewarded open source. And what they get is the bits, the software, but they also get ongoing maintenance and care and security releases and people β€” you β€” helping to improve the system. People helping each other. The point is we don't just ship and forget. We have a long track record, an incredible track record of really taking care of our users. That's quite remarkable. And there's even more than that. There is something in our DNA. There's an invisible power inside this community, something about our collective energy that keeps us moving forward, 25 years long.

And despite the fact that Drupal is well stewarded, and despite the fact that we have this collective energy, we don't always get the reaction that we're expecting. And I think we've all experienced it. Maybe you're at an event and you're telling somebody else, hey, I'm contributing to Drupal, and instead of sort of like, oh, Drupal, wow, that's so cool, you get this puzzled look. And people are like, oh, Drupal. Is that still a thing? Now, I believe they're judging an old version of Drupal, maybe a Drupal that they've seen 10 years ago, and they haven't seen what Drupal can do today, right? And so today I've come to believe that our reputation gap is actually our number one challenge as a community. And it's frustrating to me. And it's frustrating because we deserve a better reputation. We've spent 25 years providing reliable, secure, scalable software. We're innovating. We're leading. I talk to other open source projects and they think of us as role models. And we're constantly moving into the future, just like Rotterdam. And yet, so many people judge us on an older Drupal. And I'll come back to that later in this keynote because we have to fix this, and so I'll come back and talk about that, but first, I want to show you some of the things that have changed in just the last 6 months.

All right, so first of all, I really feel that Drupal CMS has reignited our innovation. Just like 2.5 years ago or something, not that long ago, I stood on stage in Portland and I launched the Drupal Starshot, or Drupal CMS, Initiative. I'm not sure I said it that clearly at the time, but I did it because I worried that Drupal had lost its ability to innovate. We had lost some of the speed that we needed to stay relevant. But today, I stand here feeling very, very proud because we did it. I feel the energy when I talk to all of you. I get that feedback. But we have Drupal CMS. We have Recipes. We have site templates. We have Canvas. We have Drupal AI. The core development team is kicking ass. So many great things are happening right now that I feel really good about where we are in terms of innovation. Some of you might remember the launch parties for Drupal CMS. It was an incredible buzz. I mean, look at some of these photos. So many different people, so many different contributions. And so to everyone who helped with Drupal CMS and all of these things, thank you. Just let's take a moment to applaud for everybody that contributed. Yeah. It really exceeded my expectations, and we should be incredibly proud of this accomplishment. I think it's a great example of what we can do when we organize ourselves and when we apply that invisible power that I mentioned to big problems. Drupal CMS has been all about growth. We've been really focused on growth, and to grow means to bring more people to Drupal. And a big part of our strategy has been to go where the people are rather than expecting people to come to us. So let's talk a little bit about that. First, remember that I told you Rotterdam became the number one port in Europe. And when they embraced these containers and container shipping, they made it easy for people to ship their goods worldwide. And just like Rotterdam, everything that we've built in Drupal CMS has been about making it easier for people to ship their ideas to the world, with Recipes and site templates and Canvas and more. And Rotterdam also changed the map. They expanded quite a bit into the North Sea, and Drupal is expanding too. We're changing the map. We're bringing more people to Drupal. So let's talk about how we're doing that. So one way we're doing that is with multilingual. Because maybe not everybody knows, but 80% of the world does not talk English, not as their first language, not as their second language. Right. And so multilingual allows us to reach potentially billions of people. And Drupal, being born in Belgium, has always been good at multilingual. But 2 problems. One, multilingual is hard, not just in Drupal, just in general, and because of that, it's always been hard to set up and configure. And 2, Drupal Canvas, our amazing new page builder, didn't support multilingual. But that has changed. So let's take a look at this video to see how much better it got.

17:55 β€” Demo: multilingual in Drupal CMS 2.2

Video narration [17:55]

Drupal has long been a go-to choice for creating ambitious multilingual experiences, offering wide flexibility and functionality to match any situation. With Drupal CMS 2.2, creating a multilingual project is easier than ever. We improved the installer, the multilingual setup experience, and made it possible to translate Canvas content. The CMS installer now offers a friendly language selector with quick search to find the language you need. Install fully in Dutch or any other language with available translations. When you are ready to take the next step, you don't need to assemble the modules and settings. Pick the Multilingual feature from Recommended Add-ons. The add-on provides an initial default setup with a guided checklist to help you decide which parts you need. When you get to translation configuration, though β€” this used to be a tedious process through all the checkboxes. Instead, we're introducing 3 levels of configurability here. Use a single button to get started by accepting common defaults. Or use simplified customization per type. But all the power is still there. Set any advanced setting by customizing each type's details. As you know, Drupal CMS ships with the new Canvas page builder out of the box, which makes it really easy to build and customize pages. Canvas now includes a visual translation preview directly in the Canvas UI. There's also a built-in Canvas-native translation feature with review workflows and optionally AI translation. You could use this with any site template, but we've been cooking up one more thing. The Dashi multilingual food magazine brings Drupal's classic demo to the Canvas age β€” or should we say Canvas page? All written, cooked, baked, and photographed by real Drupalers. Check out all of this today in Drupal CMS 2.2.

20:32 β€” JavaScript front ends as first-class citizens

Dries Buytaert [20:32]

Yeah, big shout out to GΓ‘bor and Pam and the Drupal Canvas team for making this happen. I've talked to so many of you here in Europe. So many people have said, I wish I could use Drupal Canvas, but I can't until it supports multilingual. So big deal. And also, one of my life goals is to get one of my own photos into this demo. So that was the first way to reach more people. A second way to reach more people is JavaScript front ends. Because JavaScript front ends have been around for, whatever, 10+ years. They've grown and grown and grown in all of these years, and they keep growing. Honestly, it's where new engineers out of college or school, it's where they start their careers. Obviously, Drupal has been supporting this for some time, but if we're honest, it hasn't always been perfect. There's always been a little bit of compromises, a little bit of Drupalism sneaking through. Thanks to the work of Lauri and BΓ‘lint and other people on the Canvas team, we've been really focused on treating frontend developers as first-class citizens and to deliver an experience that has no Drupalisms, no tradeoffs. I have 2 videos that will talk about this, but let's start with the first one, talking about JavaScript components.

21:50 β€” Demo: Code Components in Drupal Canvas

BΓ‘lint KlΓ©ri, Acquia (video) [21:50]

The vast majority of user interfaces we see every day are powered by JavaScript. So how do we bring that into Drupal while letting content teams build visually? Enter Drupal Canvas and Code Components. My name is BΓ‘lint KlΓ©ri. I work at Acquia. Let's explore the developer experience together. It takes you one command to scaffold a frontend codebase, which lets you use your preferred tools and coding agent. You get a standalone project for your frontend with all the tooling setup and example components built with React, TypeScript, and Tailwind CSS. This setup is what frontend developers are used to, and it's what LLMs are trained on. For a complete JavaScript development environment, you also need previews that don't depend on Drupal. That's what Canvas Workbench provides. Components get previews automatically, and you can see entire Canvas pages and templates too. It's our alternative to Storybook, built specifically for Canvas. You can still use Storybook, but Workbench needs no configuration, stories, or extra preview code. Coding agents can turn ideas and designs into components, pages, and templates, or help migrate an existing frontend. For example, you can run a prompt like, build a content template for my articles. Your agent will use the included skills. It can work with your existing design system. It checks its own work using Workbench and validates the code using ESLint and the Canvas CLI. Each component has a component.yml file that defines its props and slots, just like Drupal single-directory components. The pages and templates are simple JSON files. These are all what Canvas CLI needs to sync with Drupal. One push with Canvas CLI, and my components, pages, and templates are ready for the content team to use in Drupal. And it works both ways. I can pull changes made in Canvas back into my codebase and keep working locally. You can build rich, interactive UIs for Drupal faster by using ready-made npm packages for charts, animations, and more. Here, this package called react-countup brings my pricing numbers to life. A simple npm install, a little code, and it works locally and in Canvas when you push with the Canvas CLI. It's now that easy to tap into the huge ecosystem of JavaScript solutions published on npm. Our goal was a state-of-the-art JavaScript developer experience with no compromise. No Drupal-specific patterns to learn, and AI built into the workflow. Developers get familiar JavaScript tools, AI accelerates the work, and content teams build visually. That's Code Components in Drupal Canvas.

Dries Buytaert [25:20]

Yeah. So, very, very exciting. Shout out to the Canvas team. Of course, that is sort of like step 1 of 2, because JavaScript frameworks are great, but very often JavaScript frameworks need a backend, a content backend, obviously, to store the content in. Drupal can provide organizations the best of both worlds. They can provide editors a great user experience to create pages and create content, and then they can offer frontend developers tools like you just saw. And by the way, as a quick aside, this year we've had Drupal Pivot where we brought together different agency owners to talk about the future of Drupal. And one thing that I heard loud and clear from the agency owners is that they wanted more headless support in Drupal. So I think they're going to love this new feature. Let's take a look.

26:18 β€” Demo: Canvas Headless

BΓ‘lint KlΓ©ri (video) [26:18]

Organizations often need to bring content, commerce, and other services together from multiple backends. That's experience composition, and it calls for a headless frontend. Drupal has supported headless sites for years. Today, we are introducing Canvas Headless. Connecting your frontend is as simple as configuring a URL, and you get Canvas visual editing built in. We give you a starter template for your headless frontend with 4 options today: Next.js, Astro, Nuxt, and TanStack Start. One command and your project is ready to run. Once connected, Canvas picks up my components automatically. Editors get a live preview of my actual application as they build pages. You get the best of both worlds. Developers get to build their frontend in whatever technology they want, and editors get the visual editing experience they love. That's Canvas Headless, and we can't wait to see what you build with it.

27:40 β€” Drupal AI: what's new, plus a demo site to try

Dries Buytaert [27:40]

Yeah. Very cool. And actually, I just learned that between creating this video, which was literally last week, and today, we've added a 5th framework. We also now have support for AngularJS, for those that love Angular. So yeah. All right, so that brings us to the 3rd way that we're gonna reach out to more people, which is AI. I mean, I don't have to tell you this, but there's a massive, massive, massive growth in AI. And I actually wanted to demo all of these AI features in the DriesNote, only to realize that there's been so much work and activity happening around Drupal AI that it would take the whole keynote basically to show all of the innovations. The team has done a really incredible job. So instead, I'm going to give you a quick overview of some of the new things, but we're also revealing a demo experience, a website that you can go to to actually test all of the AI capabilities yourself. It's loaded with credits, so you don't have to configure anything. You just go there and you can play around with all of the new features. And I'm sure Christoph and team will talk about it here as well at DrupalCon. So let's see what we're talking about, and then I'll talk a little bit more about it.

29:06 β€” Demo: the Drupal AI university site

Video narration [29:06]

Complex websites have hundreds or thousands of pages looked after by many editors. Every page is a promise to your audience, and when one is wrong, it's more than embarrassing β€” it's a risk. To show what Drupal AI can do with a complex website, we've built a fictional university site that you can try for yourself. Drupal AI reviews every page against the standards you set, like accuracy, tone, and inclusive language. Problem pages rise to the top. Open one and the feedback is right on the page, ready to accept or skip, so anyone on your team can fix it. When visitors have questions, your site answers from your own content, and every answer shows where it came from. Ask something outside your site's scope and it points people to the team instead of guessing. Already working in Claude or ChatGPT? Keep going. Connect it to your site and tell it what needs to change. It finds the affected pages, drafts the changes, and waits for your review. Your AI, your choice. No lock-in. Once AI talks to your audience, you're accountable for what it says. Guardrails keep it in bounds. One central knowledge hub keeps every AI tool on the same facts, and every interaction is logged so you can show exactly what happened and why. This isn't a roadmap. It's working today, built by leading Drupal AI companies, and it's open source, so your stack and your data stay yours. And this is only a handful of what Drupal AI can do. Try the demo at drupal.org/ai/demo and see the rest running on a full university website.

30:55 β€” Drupal AI momentum and partners

Dries Buytaert [30:55]

All right. Yeah. It's very cool. I got a demo of the demo website and I was very impressed. So I recommend you all check it out. It's great for learning what's going on with the initiative. It can be overwhelming. And also, because it's completely preconfigured, you can actually use it to demo Drupal AI to your customers as well. So it's not only good for you, but it's also good to win new business. And then just yesterday, I think, I learned that in the last several months, over 100 people have contributed to the Drupal AI Initiative. So there's a lot of momentum around it. There will be a blog post with more statistics and data today as well. And all of this is made possible thanks to the Drupal AI partners, partners that you can see on the screen. If you want to join and become a partner, it's not too late. Go talk to Dominique or fill out that form. All right. Just like the city of Rotterdam, we've been doing lots of scrubbing and not a lot of blabbing. All 3 of these things that I've shown you basically have the same goal, which is to grow Drupal by bringing Drupal's strengths to more people, going to where the people are. And we're making really great progress. So if you want to learn a little bit more about these things, you can take a photo. There are 3 QR codes. They go to different pages with more information where you can try the demos and everything. Everything that I've shown you today is open source and is available today. All right? So you can go use it today if you want. And basically, I want to thank everybody that was involved with all of this hard work for the demos, but also all of the work that went underneath these demos, if you will. So let's give it up to all of them.

Audience [32:48]

Yeah.

32:48 β€” AI assistants as another interface to Drupal

Dries Buytaert [32:48]

All right. So as mentioned and as shown, we're trying to go to where the people are. So it begs the question, what else should we do? Right? And increasingly people are using AI assistants like ChatGPT to do their work. And so first what I want to do is give you a very quick demo to show you what I mean. I think most of you understand, so it will be quick. And then I'll talk about what is required to make this possible and how I think we can improve upon that further. So let's start with a quick demo. I'm going to show youβ€”

Sean Parrott [33:28]

Oh, sorry.

Dries Buytaert [33:29]

β€”an editor using ChatGPT to unpublish a page. Fairly basic.

33:35 β€” Demo: fixing content from ChatGPT

Video narration [33:35]

A content editor notices that the pricing on their English pages is correct, but the Dutch translations are showing prices that shouldn't go live until next week. Her team has made their site available in ChatGPT. She connects with her own account. She asks to restore the previous Dutch versions and leave English as it is. The agent gets to work. Both Dutch pages are right again. English is untouched. Each page has a new revision under her name, with every earlier revision kept. And this isn't just ChatGPT. Claude, Mistral, Gemini, OpenClaw, Slack, Jira, Microsoft Copilot, Notion, Vercel, Lovable, even an application you build. The tools your team uses, all connected to the power of Drupal. And all the amazing things the people in this room have built.

35:15 β€” Tool API: exposing Drupal to agents with attributes

Dries Buytaert [35:15]

All right. Yeah. Excellent. So, 2 takeaways I want you to have from this video. One, the user didn't have to know where to click, didn't have to know about revisions or moderation or permissions. And so basically, it was an easier way for them to do content operations. And the second takeaway is that Drupal is still providing the governance and the observability behind the scenes. And it's actually a great example of why I think Drupal will be highly relevant in this new age with AI. Now, what I showed you is real as well. And the good news is that you can use it today. The connection between the Drupal site and the AI assistant is made possible by a recipe, and that recipe brings together a number of modules: OAuth, the MCP server module, and Tool module. I believe that the Tool module, which is built by Michael Lander and Matt Glaman and other people, is actually one of the most important Drupal modules right now. In the next 10 minutes or so, I want to help you understand why I think it's a big deal and why I think it should be on all of your radars. And the reason I believe this is because once end users get a taste of using AI assistants like we saw in the video, I think they'll want to do much more of it. They'll want to do everything with these AI assistants. And just like developers are increasingly using CLI-based coding agents, I think end users will increasingly use these kinds of tools to do content operations. And so we, as a project, we have to get ready for that world. And connecting Drupal to an AI assistant now doesn't automatically make every capability of Drupal available to these AI assistants. We still have to expose module capabilities as tools. And doing that work takes a little bit of code that we as developers have to write. And that applies to Drupal core modules. It applies to contributed modules, and it applies to our custom modules.

Let me give you one other example of why I think this will become increasingly common. Imagine you have a page in Dutch, but there are 3 strings on that page still in English. What do you think an end user wants to do? Prompt and ask their assistant to go and translate these 3 strings. Now, what an end user doesn't know is that these 3 strings are actually 3 different things in Drupal. You can see it, and they have to learn this terminology. They have to click through 3 different workflows in the Drupal admin UI to go and translate content, which is different from translating configuration, which is different from translating the UI or the interface. And as you can probably imagine, with an AI assistant, you just go, translate, and the AI assistant will figure out what it needs to do under the hood and which 3 different paths it needs to navigate. Now, I'm showing you a mockup. I'm not showing you a demo, because Drupal doesn't actually support this today. We haven't written that extra code to connect all of the translation capabilities to an AI assistant. So that's what I want to talk about next. Because I believe that these AI agents are becoming another interface to Drupal, and one that could make Drupal accessible to many more users as well. And of course, you don't have to use an AI assistant if you don't want to. So we want to provide choice, hence the word another. We're not talking about replacing the existing Drupal UI. We're talking about adding one. But regardless, the work that I'm going to show obviously focuses on AI. But I'll also show you why, again, it doesn't require AI as well. So stay tuned for that as well.

But first, let me ask you a very quick question. Who maintains a Drupal module? Custom modules, contributed modules, anyone? A lot of you maintain a module. Now keep your hand up for a second, and keep it up if an AI assistant can reach your module using MCP β€” not using a CLI, using MCP. Yeah, almost all the hands went down, right? And that's my point. And by the way, same for me. My hand went down because my custom modules don't support MCP either. Now, some of you might know I have my own Drupal website, and on that website I have over 10,000 photos, a lot of photos that I've collected there over the years. And so in my family, from time to time, I get questions like, hey, do you have a photo of this or that? Like, for example, do you have that photo of Oma, my grandmother, wearing her sunglasses? And to me, that sounds like a perfect question to ask an AI assistant, or even to enable my family to ask themselves, right? So I don't have to go look between 10,000 photos. So I set out to customize my custom album module to see if I can tool-enable it, MCP-enable it. And I mean, it's my module. How hard can it be? And so, I went to work, added Tool API support, and it turns out it was fairly easy to adapt my module. It went fairly quickly. But it still took about 1,000 lines for a simple module. And so, I said, well, that's not bad, but if you think about the fact that maybe thousands of modules need to be updated to support Tool module, or MCP, we should be able to make it much, much easier. There should be a really, really, really simple way so that all of us can go home and do this very easily and very quickly so that we can expose all of these capabilities.

I started with my own module, as I said, and I worked on this with Matt Glaman, by the way. We did a research kind of spike, and Michael Lander, the author of Tool module, was involved as well. But I had already a function like this. Basically β€” if you don't know PHP, you're going to learn some in the next minutes. But I had a function like find an image, find_image, and it takes a query, and then it returns an array. Okay? Pretty easy. Now, first thing we had to do is we basically have to describe the function a little bit better, because find_image doesn't really tell you how you will find your content, but now we can add, with a PHP attribute, this is called β€” we can say that the photo is going to be searched for by name, alt text, or caption. Pretty easy. Now, the syntax may change. As I said, this is sort of prototype stuff. But you get the idea. It's simple, right? That's the idea. We made it simple. And then we need to specify the parameter a little bit better. It's a query. Is it a word, a string? It can basically be both. And then we even added support so you can give little examples, which AI agents and humans quite like. And then finally we return an array, but what is that, an array? Well, it's an array of photos, and Tool module can actually just pick it up from existing doc block documentation, so we didn't have to write anything new for this. But then of course we have to add some information to the image class as well. So if you go to that, you'll see that we basically have 3 strings in there, like a title, a caption, and then a function that returns a string, getUrl. But in PHP, all of this is just string. But really what we need to express is that some of it is plain text or HTML or actually is a URL. And so I'm not going to show you any more code or go into more detail, but hopefully you get the idea. You can just kind of add these attributes to your code. I'm sure many of you are wondering, does it work? Of course it works. And I'll show this to you. But in the process, I actually had a lot of fun. Found some bugs in the Tool module and contributed some patches upstream to Tool module. And Michael and Matt were really nice partners in this work. And it was nice to feel the thrill of building something like this and learning a lot about it. So yeah, you get the idea. And the good news is, instead of like 1,000 lines of code that I had to write, it was like maybe 20 attributes that I had to add throughout my module. So not bad, not bad at all.

Now the great thing with this is that yes, it works with AI, but we can describe something once and then use it in multiple places. So, I gave the example of [unclear] , but it actually also works with workflows, like ECA and FlowDrop and other workflows. You can automatically generate OpenAPI schemas from this, which is a 15-year-old standard, or you can expose JavaScript components, their schemas, which is great for frontend developers. They use that in their IDEs to do autocomplete. So, all kinds of use cases come from this. So, let me actually show you one. And this is where I meant to say these use cases obviously don't require AI. So it's useful for both AI as well as not AI. So I have a quick demo of find image also being exposed to a workflow. So let's take a look at that.

44:57 β€” Demo: FlowDrop β€” one module, many interfaces

Shibin Devadas (video) [44:57]

Hello, I am Shibin Devadas, the creator and maintainer of FlowDrop. FlowDrop is a workflow orchestration tool for Drupal. You build workflows visually on a canvas and they run inside your site. It's open source. It's a set of Drupal modules on drupal.org. Usually MCP is how AI talks to a website. Dries has an MCP server on his site with 3 tools. One finds images, one looks up his photo albums, and one for searching his blog posts. And all 3 return structured output, real data, and not just some simple text. What's cool about that is you can get results using a simple form without using any AI. Let's search for sunset. In under a second, the find images tool returns a list of photos. The album list is dynamic. The find albums tool tells us which albums are available. Let's pick Japan 2025. Ah, and that's the photo I've been looking for. And all of that without any AI. Now part 2. Same server, but this time an agent decides which tools to use. I ask what Dries is excited about. The agent decides on its own to search his blog and answers from his posts. Then I ask, has he been to India? It knows he means Dries from the conversation history. And do we have any photos from DrupalCon Asia? It finds the album and the photos, from the same MCP server the form used. None of this needs FlowDrop in particular. ECA and Maestro could do it too, and both can also work with Drupal AI. And that's because when the answers come back structured, AI becomes a choice.

47:13 β€” The accidental AI advantage, the Rosetta sprint, and the Advocacy Program launch

Dries Buytaert [47:13]

All right. Yeah. Pretty exciting, I think. I was very excited about this. But the takeaway for me is actually that Drupal has these incredible capabilities, and I sometimes refer to it as Drupal's accidental AI advantage, where we have workflows and revisions and translations and access control, and now we have MCP servers and much, much more. But the challenge is that it was just a little hard to access still. I had to write this custom code. It's sort of like a last-mile problem, if you want to think about it that way. We've built all of this great thing but couldn't quite get there yet without a little bit of extra code. Making all of these capabilities that we have in Drupal more easily accessible to AI agents or orchestration tools and workflow tools and all these other potential use cases, I think really is the opportunity for us. The good news is, as I've already alluded to, we're not starting from scratch. My work was based on Tool module. Tool module is heavily based on typed data. Shout out to fago. Where was fago? There he is β€” for doing incredible work on typed data. Yeah. And even things like configuration validation. All of these things are kind of wrapped up in here, and so I would say lots of people in the Drupal community, as you can see, have been working on parts of this, and some people have been working on this for years, and I'm very grateful for that. I've also learned over the years, when a lot of people are kind of circling the same thing, I know that we're onto something, and so I started to pay a little bit more attention, and started talking to some of these people. And often they're very excited about all this stuff, but they also would share some limitations or roadblocks or solutions that they feel like they want to implement, but maybe they're a little bit out of reach. Like people would say, oh, actually it would be better if the Form API did this and that, but I don't want to rebuild the Form API kind of stuff. But there was so much energy, so many ideas, that actually I've been struggling in my own head to kind of wrap my head around all of this. It's almost like sometimes they're speaking different languages with all these different APIs and systems. And so it's what made me think we kind of need like a Rosetta Stone β€” something that brings together all of these conversations in the community, but also something that allows Drupal to be read by agents, systems, and humans alike. Just like the Rosetta Stone did. And so what I'd like to do is actually do a Rosetta sprint. Like in the good old days, we would do sprints. And I want to bring together some of the people that have been thinking about this, that have been working on these things, and bring them together for like a week to advance some of these ideas, to talk about the technical depth that we may have, to think about future roadmaps, so we can work together in a slightly different way. I really hope this leads to improvements in Drupal core as well, and maybe funding for Drupal core as well. I think it can connect quite a few things. I put up some names of people, but there's other people that should be there as well, so don't panic if your name isn't there. If you want to be involved, send me an email, I would say, or come talk to me. I hope we can find time before the end of the year. We'll see how all of the calendars align. We have not planned anything, just to be clear, but the goal is we get together, we work on this, and then we will share whatever comes out of this sprint so that other people can look at it, review it, give feedback as well. We'll use a collaborative process. Okay. As I said, the goal would be to make Drupal's data and capabilities available so they're easier to expose to agents, orchestration tools, front ends, and more. And in the process, hopefully to do some deep work as well on other parts of Drupal. And I think this is something that will open up Drupal to the wider world as well. And until that sprint, if you're interested in this, one way you can help is actually try to do what I did. Take one of your modules and convert it, or tool-enable it or MCP-enable it, connect it to a workflow, all of these things. Maybe if things work out, I can actually show a real demo of that translation prompt at DrupalCon Orlando in 6 months. As you try this on your own module, make sure to keep notes. Tell us where there was friction or what could be better, and then if you can, even contribute that to the different systems, as you see opportunities. That's that section.

Now you've seen what Drupal can do and where I think we should invest some more, and I think now the challenge is that we need to have other people see what Drupal can do. Like I said earlier, I believe that this reputation gap is our number one challenge. We're going to be launching a program to help with that. Because I think we've all been guilty of our own version of magical thinking here as well. Like, I've sometimes assumed that if you build great products, they will explain themselves to the market. But the truth is, it doesn't. People need help seeing what changed in Drupal and why it matters to them. And look, this is what happened when I searched "is Drupal". It says, is Drupal still relevant? Is Drupal dead? I mean, look at us. We're not dead. This is what frustrates me, right, that people think those things. I don't think it reflects what you saw today. I don't think it reflects what you'll see all week from other speakers as well, but outside of this room, it's not that clear. Fun fact, I was getting mic'd, and the audio guy back there told me he used to use Drupal. No, it's great. But it was Drupal 7, and he hasn't looked at Drupal since. And that's what happens. People often have an outdated perception of Drupal based on the Drupal that they used to use maybe 10 years ago. And so it's on us to fix that. And I think AI actually is gonna make that worse. AI can repeat and amplify outdated perceptions of Drupal, and we can't expect people or AI to know when Drupal is better than competitors if we're not willing to say it. And so it's on us, as I said, to give people and AI a better story to draw on, because no one else is going to do it for us. And I'm not the only person to notice this. Many people have been noticing this, and I love this by Hynek Naceradsky, and he puts it quite directly. He says, Drupal people, talk louder. Tell the stories. Fight for Drupal. Drupal doesn't need hype. We're not asking you to become salespeople or cheerleaders. That's not who we are. Certainly, it's not who I am. I often feel uncomfortable promoting my own work, for example. But what Drupal does need is a better public record. We do need to set the facts straight.

Today, we are launching a Drupal advocacy program led by the Drupal Association. I'll talk about that next, but many of you already help people discover Drupal and what Drupal can do, and we want to recognize that work that you're already doing with credits, but then we also want more people to take part in this advocacy. You probably know that we have a Drupal credit system, and it recognizes contributors and the organizations behind these contributors, and for businesses, credit helps determine how they show up in our marketplace, for example, and we want advocacy work to earn more of that recognition, too, and that gives businesses a reason to support important advocacy work. If we're honest, I would say we're pretty good at tracking technical and financial contributions to Drupal with the credit system, but we're not so good at tracking advocacy work, right? We're going to fix that. That's our priority. We're going to make it easier for organizations and people to submit credits. We know there's a lot of friction. We're also going to track it better so we can recognize the people and the organizations that do this work, and then we're going to be strategic. We're going to give more weight in the credit system for work that moves the needle. For example, giving a presentation at a DrupalCamp? Great. Maybe you get 1 credit. Giving a Drupal presentation at a non-Drupal event? Even better, because that's how we reach new people, so we give it 3. 3 credits, yeah. By the way, I'm making up the credits for now. Or, writing a blog post, great, 1 credit. Getting something published on, say, Smashing Magazine, a prominent developer magazine, you get more credits. And we hope that these changes to the program will give people and businesses more incentives to contribute. And the good news is that you can actually start today. You can go to d.o/advocacy and start submitting advocacy work through a form. It's very basic right now, but we're going to review the submissions and we're going to award contribution credits for people that start this week. And then later we hope to automate more of it, to remove friction out of different processes, maybe build APIs to submit advocacy work, all that kind of stuff. On that same page today, you'll find guidelines on attribution, self-promotion, what qualifies as credit. There's more to come. Today is day one, but the most important thing is that you can start today through this form. If you're interested in that, please do.

There are many ways that you can be an advocate for Drupal. You can create something yourself. Some people love to write, so go write. Some people like to teach or translate. Record demos, podcasts, all of these things. We encourage it. If that's what you like to do, we'd love it. Or you can also help amplify other people's work. And I think this one is actually also very important. So, I'm going to give you one example of what I think we should be doing a lot more of. And I'm guilty of this as well. But so often, all of us here presenting this week, we spent weeks or months working on slides. We travel here, we walk on stage, we deliver our presentation, and we go home, right? But any other organization would take that content and would spend months reusing it. They would interview the people behind the demos. They would turn the demos into tutorials. They would take little clips from different keynotes and post these on social media. All of these things. And so one thing that we can do is actually amplify other people's presentations. So, for example, a while back I saw a great presentation from Pam on Drupal CMS, and so I blogged about it on my blog. Now, that is somewhat useful, but it still requires somebody to watch an hour-long presentation, and people looking for answers about Drupal may not know that the answer is in the presentation, right? Things that we can do is take one great idea from the presentation and write a smaller post about it, or clip a short video, as I said, and share it on social media. And I know some of you might find it odd to clip maybe somebody else's presentation and post it on social media because it's not your own content, but I would say just do it. Don't be afraid to do it. Just credit the original presenter, right? And if you think about it, we have hundreds of videos that will come out of this week. We could create hundreds of amazing clips, and we could be promoting them on social media the whole time. So here is my ask: talk louder about Drupal. And this week is a perfect opportunity, obviously. Share what you find interesting. If you find it interesting, somebody else will find it interesting too, and help somebody else's work reach people who need it. And let's start today. And actually, let's really start right now, and I mean right now in this room. So what I want you to do, I want you to turn to your neighbor for 30 seconds and ask the question, what should we amplify from this DriesNote? So I'll give you 30 seconds to go, and I'll pull you back in. All right, I'm gonna pull you guys back in. All right, are we ready? Are we ready? Come on.

Audience [1:01:08]

Yeah!

1:01:08 β€” Closing: talk louder about Drupal

Dries Buytaert [1:01:08]

Yeah, thank you. All right. That was pretty amazing, the wave of chatter that came over the stage here, but there will be more time to talk later. You get the idea. We're going to call this the Rotterdam pilot, because we're in Rotterdam. Let's see if we can get maximal reputational benefit from this DrupalCon, from my keynote, from other people's amazing presentations. Let's share our takeaways from all these great presentations and post them on social media or share them with one other person in your network that you think can benefit from that information. Do some YouTube Shorts, blog about it, all the things. We can actually also start tomorrow, because tomorrow we have some amazing keynotes, end users telling their success stories with Drupal: World Cancer Day and Mars. So let's all be there. Let's amplify them, because these are the stories that so many people need to know. So let's see if we can create some buzz outside of this room by the end of this week. Okay? So, as I mentioned, a few years ago, I was worried that we weren't moving fast enough, like from a technology point of view, but I really feel like Drupal CMS reignited our innovation. We're back. Our innovation energy is very, very high, and Drupal is now light-years ahead of its own reputation. It's like, what a problem to have, but now we need more people to see how far we have come, how far Drupal has come. So if the slogan of Rotterdam is stop talking, start working, then I'm actually going to change that slogan. I'm going to change it to: start talking louder about what is working. That's what we need to do, because we know we can innovate. Now we need to inspire others not in this room. We know we can create. Now we must get the credit for it. We know we can deliver. Now we need to get the reputation that we deserve. And I want people outside of this room to be as excited about Drupal as we are in this room. And so talk louder about Drupal. Help fix our reputation gap. There's so much here to be proud of, and talk louder, and I can't wait to hear your stories. Thank you very much. Thank you.