TD Cafe #011 - Adam Boros & Martin Anderson-Clutz

November 13, 2025

In this episode, Martin sits down with Adam Boros, a passionate developer who shares his journey in the Drupal community. Adam discusses the importance of automation for small teams and recounts his experiences with Drupal's evolution from version 6 to the recent resurgence of enjoyment with Drupal 10. He introduces his innovative personal calendar builder created for DrupalCon Vienna, explaining its simplicity and the enthusiastic community feedback it received.

Listen:

direct Link

Topics

  • The Fun of Drupal Over the Years
  • Reconnecting at DrupalCon Vienna
  • The Personal Calendar Builder Project
  • Technical Details and Challenges
  • Community Engagement and Feedback
  • Feature Requests and Future Plans
  • Reflections on DrupalCon Vienna
  • Evolution of Drupal and Its Community
  • AI and the Future of Drupal
  • Upcoming Events and Final Thoughts

Adam Boros

Adam was originally studying Architecture but never graduated. He started web development as a self-learner after working a few years in print design and DTP back in 2002. Using Flash5 and ActionScript at first, Adam discovered Drupal around 4.6 while looking for a CMS to replace PHPNuke for a local NGO. It was true love at first sight and after a few years of hobby projects and active involvement with the Drupal community in Budapest he ended up being a full-time drupalist at a university where Adam has worked since then for the past 15+ years as “Drupal Systems Architect”.

Martin Anderson-Clutz

Martin is a highly respected figure in the Drupal community, known for his extensive contributions as a developer, speaker, and advocate for open-source innovation. Based in London, Ontario, Canada, Martin began his career as a graphic designer before transitioning into web development. His journey with Drupal started in late 2005 when he was seeking a robust multilingual CMS solution, leading him to embrace Drupal's capabilities.

Martin holds the distinction of being the world's first Triple Drupal Grand Master, certified across Drupal 7, 8, and 9 as a Developer, Front-End Specialist, and Back-End Specialist. (TheDropTimes) He also possesses certifications in various Acquia products and is UX certified by the Nielsen Norman Group.

Currently serving as a Senior Solutions Engineer at Acquia, Martin has been instrumental in advancing Drupal's ecosystem. He has developed and maintains several contributed modules, including Smart Date and Search Overrides, and has been actively involved in the Drupal Recipes initiative, particularly focusing on event management solutions. His current work on the Event Platform aims to streamline the creation and management of event-based websites within Drupal.

Beyond development, Martin is a prominent speaker and educator, having presented at numerous Drupal events such as DrupalCon Barcelona and EvolveDrupal. He is also a co-host of the "Talking Drupal" podcast, where he leads the "Module of the Week" segment, sharing insights on various Drupal modules.
Martin's dedication to the Drupal community is evident through his continuous efforts to mentor, innovate, and promote best practices within the open-source landscape.

Transcript

Adam: I'm working in a very small team, so it's uh, key for us to automate everything we can. And, uh, yeah, it's also fun, Drupal. Drup is fun again. That's what I would say.

Uh, it was fun back in the day, especially with Drupal six. It was big fun and with Drupal seven it was big fun two, and then it got a bit struggl with eight and nine, but now it's uh, it's fun again and I'm very happy for that.

 

Martin: Well, Adam, it's great to see you again. Um, great to see you again. Yeah, thanks. It's, uh, we met for the first time at DrupalCon Vienna, and we were both waiting for coffee, but I recognized you because you had been PO posting about something pretty cool that you had been working on called the DrupalCon Vienna personal Calendar builders.

Can you maybe just tell us a little bit about what that is?

Adam: Uh, it's a simple website with pure HTMI and JavaScript that allows you to pick your favorite sessions from the schedule and then download them as a calendar file that you can later report to your favorite calendar.

Martin: Very cool. And so what inspired you to create that?

Adam: Um, I had an initial version of it. Back in the summer, which was built for an electronic festival. Just as a out of curiosity and, uh, as soon as I, I, uh, saw the Drupal Con Drupal con schedule on events.drupal.org, I realized that there's no way to save the schedule or download it in any way. And then, uh, I had the idea, Hey, what if I transformed this already existing thing to work with the Triple Con schedule?

Martin: Very cool. And you mentioned that it's pure HTML, but is are there any sort of like dependencies or other projects that you pulled in to help build that?

Adam: No, not at all. It was, uh, fully wipe coded with courser and it's vanilla JavaScript, so it was. Uh, also, uh, sort of a white coding, uh, experiment, kind of how far I can get without writing actual code.

And pretty far, I would say.

Martin: Very cool. Were, was there anything that surprised you about, maybe basic things that cursor got wrong or like maybe more complicated things that it did Actually pretty well.

Adam: Um, I'm using Coor for a while now, so I would say it's not surprising me anymore, but, uh, I'm always surprised how well it's doing its job.

Um, it is pretty creative, so, um, it has great taste for ui, I would say. Uh, without any mockups. It just invented the whole ui, uh, with minimal instructions. So that is, that is always surprising. It, it doesn't see the results. It, it's, it's not a human, so shouldn't have taste really, but it somehow still has pretty good taste according to my taste.

Martin: That's very cool. So. I mean, obviously in this case you were using it to produce pure HTML, but are there, what other kinds of, I guess, technologies have you used Cursor to help you generate?

Adam: Well, um, so this calendar builder application, uh, uses, uh, JSON file as a, as its data source. So the first task was to somehow trans transform the schedule on the website into this JSON format.

And that was done with a small Python script, uh, which was also light coded with Cursor. Um, and it's pretty good in Python. Um, it's good in vanilla JavaScript and in Python. Um, I'm. Struggling more with, uh, actual Drupal development. Somehow it's too complicated and you need to give it, uh, a lot of context to steer it the right direction and makes a lot of mistakes.

So if something surprises me, still it is that how much it's struggling with Drupal.

Martin: Are there particular kinds of things that tends to get wrong in Drupal?

Adam: Yeah, it also uses outdated, uh, things. So it seems, it it's, it lacks recent Drupal knowledge, like, uh, for example, it struggles with recipes. In my experience, creating recipes is, is hard for it.

And even though I plug in MCP Drupal as an MCP server, it's, I need to clearly instruct it to use the tools that are exposed, uh, for example, to make con config changes. Because if I'm not instructing it to use the MCP tools, it'll start creating ML files. From scratch and that goes sideways very often.

Martin: Interesting. So I guess going back a little bit to the personal calendar builder, um, after you started posting about that in the DrupalCon Europe, uh, channel in Drupal Slack, there was a ton of engagement in that thread. So there was, I think, almost a hundred replies in there. Did the sort of, um, degree or you know, the, the strength of the reaction surprise you?

Adam: Yes,

absolutely. Um, it surprised me. Um, I have, I'm close friends with Bain Bain, Bruce, uh, the Canvas guy, and I showed it to him at first and asked him if it's worthy to post to the general public, and he said definitely. And I had doubts because it's just a simple tool. I thought, uh, many other. Um, developers already had the same idea or maybe something similar already exists.

I just don't know about it, and I was, uh, surprised how well it was received, how useful people thought it is. Um, they also provided really good feedback and had, uh, meaningful. Feature requests, so to say. So what are Yes, I was surprised.

Martin: Yeah. What are some of the feature requests that you thought were, um, were, you know, interesting that way?

Adam: So at first it was just a plain list, just like the schedule on the website. Uh, each session was, uh, below each other in just one column, and one of the first requests was to be able to see. Sessions that are in parallel side by side so that it's, you can spot the conflicts at first site. That was, uh, that was a good request.

And then someone asked for, uh, PWA integration so that they can add it to their home screen on their phones. And there were a few. Bug reports about time zones and the validity of the ICS file. Um, mostly that

Martin: yes, people who know me will know that I've done a lot of work in sort of events and, you know, all of those things within the Drupal space. So definitely issues around time zone. You know, uh, calendar device compatibility, the eye calendar spec, those are, you know, definitely gonna be sort of familiar pain points to anybody who's spent any time, uh, working in that, in the, the Drupal sphere.

Um, were there people that actually sort of made kinda, like, pull requests to, to help move some of those features along?

Adam: No. Um, there were a few pool requests to include, uh, newly added sessions. Because, uh, as I mentioned, this is not in connection with the website. Basically what I did, I saved the HTML page to my local computer and then showed it to Cursor and instructed it to create a Python script that can convert it to a JON uh, file.

And so any, any sessions that were added after this conversion happened, were not present in the calendar builder. So a few people made pool requests to include their sessions that were added later. Uh, both in particular, but other than that, someone, um. Cloned the re, or not cloned, but what's the word for it?

Uh, workeded. Forked. Yeah. Someone forked the repo pretty quickly. I believe. Someone from the Drupal Con team. And then someone also reached out to me in private saying that, oh, this is so fantastic. We want to have it for Nara. I, uh, I was able to quickly make, uh, not a data source. So now there is another version of it.

Stephen: Very cool.

Martin: And so are they gonna use the same approach of having kind of like the j or the, what is it, Python script to extract the data?

Adam: I'm, I'm not sure. I use the Python script to convert the RA schedule to this JS file. And it's also available on, on the same GitHub report. Hmm. I have no info if they ended up using it or made any modifications or with

Martin: that.

Okay. And I think, uh, Fran from the Drupal Association also in that thread was talking about maybe for Drupal Con Chicago, trying to actually have some kind of a feed that the, the tool could pull directly from as opposed to having to sort of, uh, run a script on top of.

Adam: Yes, uh, there were some, uh, discussions about, uh, integrating this into the events website itself.

Um, but there's no real progress to my knowledge with that. Um, that's definitely, uh, a way of improving it to, you know. Make it dynamic instead of this static data reading approach. Um, there's a couple ways this could be done. Like one is to have a J feed created with views. You can easily create one with views, and then somehow on the front end use JavaScript to parse that JSON feed and then render the whole HTML.

That way. Or, um, another idea would be something similar to the Table of Contents module. The TOC module, uh, exposes a block that can dynamically create a table of contents on your page with JavaScript. Uh, something like that could work as well. Just, uh, you could configure your selectors, right? Um, so. This is the selector for the event title.

This is the selector for the date and the time selector for the description. And then the JavaScript would parse the HTML that way,

Martin: right? Yeah. So, um. I can't remember if we talked about this in Vienna, but, um, one of the projects that I work on is called the event platform, which is really meant for sort of Drupal camps or similar kinds of events where you have kind of user submitted session proposals that then can get.

Judge, some of them accepted, eventually put into a schedule and presented. Uh, for that one, I took the approach of using the flag module to give people the opportunity to go through and sort of pick which ones they wanna see, and then giving them the ability to just sort of see the ones they've flagged in a view.

Um, but it would be interesting to see if there's. A simple way to sort of, in the same way that you've allowed the download as a calendar file to use something like, I think there is a views I Cal feed module that might be useful there, uh, to allow people to, to integrate that with their calendars, maybe even in a dynamic way so that it's not even just a static file, but it could be almost like exposed maybe with some authentication or something.

So that. If they go through and change which sessions that they've liked, or even if they get updated on the website themselves, that those changes would actually flow through to the, the calendar that they have as well. So, um,

Adam: yeah. Uh, so one way of doing this in the Drupal way is with Flag, as you mentioned, but for that you need users to be logged in and, uh, this simpler JavaScript based solution doesn't require any registration.

That's one advantage of it. Um, you can do it with Flag and there's a contributed module for generating I call feeds with, uh, with views. So if you combine that with flag, you have this custom list. Um, and then you can also expose it as a web call feed. So it automatically updates as the nodes update in Drupal.

Uh, one thing you have to solve is to make these web value, whereas kind of private in one way. And, uh, to my knowledge, the web call protocol, if it's a protocol even, um, doesn't have any sort of authentication built. Mm-hmm. So that's something you need to tackle with something like a long hashed URL, um, similarly to what Google Docs does or something like that.

Martin: Got it. Interesting. So you already mentioned that the narrow team, DrupalCon narrow team has reached out and they've worked the, the project. It sounds like anybody going to DrupalCon Narrow will hopefully have that, whether it be as a companion site, probably to the, the main events.dral.org or do you have any idea how that's being used?

Adam: No, I have no idea. It, uh, they, they reached out and we had, uh, talks with a person, I forgot her name, Nicole, from the NA team. And, uh, I created this, uh, proof of concept for her, but I have no news after that, so, okay. We will see.

Martin: Has anybody from any other sort of Drupal events expressed interest in potentially adopting this?

Adam: No, not yet. Um, there were some comments about integrating it with Evan Drupal org itself, but for that to happen, we need to turn it into a proper Drupal module first so that they can use it. Normal Drupal Way. 'cause now it's just a standalone thing. Simple. HTML. Um, so yeah, there's that, that, that's the only real, like, uh, interest I would say.

Okay.

Martin: So maybe pivoting a little bit, um, what were your kind of overall impressions of, of DrupalCon Vienna?

Adam: This was the first time in like 10 years I attended a DrupalCon. Uh, last time I was at DrupalCon, it was in Munich. That was 2012, I think. Mm. It's the same event, uh, the same community. I saw familiar faces.

I even met, uh, some friends from back in the day. Um, it, it got a bit more coopery, I would say, but that's, uh, not a negative. Um, I think, um, Drupal kind of grew up the same way as we grew up. Um, I started drooping in my early twenties and now I'm 46, so yeah. These are just normal changes. We are now dancing with the elephants, so to say, and then you can feel this in the exhibition area, area.

And also the presentations are much more professional. The whole organizing is much more professional. It's a, it's a grownup tech and a grownup conference.

Martin: For sure. I mean, yeah, in 20 years the web itself has changed quite a lot as well. Right. So it only makes sense that Drupal needs to adapt to a better suit its environment For sure.

Are there any things that stand out to you in terms of how Drupal is different today, or maybe being part of the Drupal community is different today than it was when you started?

Adam: Hmm,

that's an interesting question. Um.

It was just a hobby for me at first. So I was working as a flash developer full time with Action Script. And, uh, in my free time with friends, we had a local NGO organizing, like, uh, bike parades and things like that. And for that we needed, uh, CMS. First we used VHP Nuke, but it was very clumsy and, uh, yeah, not so flexible.

And then someone from the biker community showed me Drupal. Um, but, but it was just hobby at first. And yeah, there was, I couldn't even believe that someone is a drer as a full-time. Um, position. Right. And then I attended DrupalCon in 2008, I believe, and that's the first time that I realized that some folks are, are doing this as a job and that it's certainly possible to be a full-time drer.

Mm. And that's very different now. Uh, today it's, it's obvious that being a Drupal is a profession. It's, uh, it's its own job. It's not it, or it's not just, uh, general web development. Um, Drupal development, it is its own job basically. And that's very different from 20 years ago.

Martin: Yeah, it is interesting. I mean, I know, so for myself, I also started off building websites in Flash.

Um, you know, it was, there are still things that I miss about sort of, you know, that interface and being sort of very animation driven as well as sort of like that idea of nested timelines and some of the cool things you could do with that was, was pretty interesting. But I also started using Drupal. The very first site that I built was also for kind of a local nonprofit.

And I kind of feel like a lot of people sort of, you know, I want, for lack of a better word, are vintage of, you know, Drupal users got started to, to some degree or another with either, you know, either a local small business, but a lot of us with those kind of nonprofit or NGOs. And I wonder if, you know, today there are other tools that those nonprofits are tending to use.

I mean, probably for a long time a lot of people would've been using, you know, Wix or Squarespace, maybe with Drupal CMS, and, and as we start to see probably services that, you know, make that even easier to adopt, that could become more of an on-ramp for Drupal. But it's, it's interesting how I think. The need to sccr scratch that itch of just sort of having a website that is a credible presence for some kind of a small organization without a lot of money.

You know, the, the tools for doing that I think have evolved. And, and like you say, the, you know, Drupal has, has shifted focus a little bit to, to sort of be a little bit more upmarket. Um, but I think it it, because of that it needs to. To probably work harder to make sure that we're bringing more people into the community, right?

Because

Adam: yeah, definitely. That's a challenge. I think since the switch from seven to eight, that was a big Hmm. Breaking point I would say. Uh, it was necessary, painful but necessary, especially in hindsight. Um, I think a loss a lot of the community. Um, vanished at that point from seven to eight. It was a, it was a big jump and it was hard to justify, you know, all the, all the proper developer things for these folks who just wanted a simple website with minimal effort and, and at low cost.

Um, it was hard to explain why. Composer is necessary, and you know, you had to spend, suddenly we had to spend more time in, in the command line. Um, there was a lot to relearn from seven to eight. There was no real migration path, I would say. So that was painful, but, but it was necessary. And, and then we kind of lost these simple, oh, we just need a small website.

We at minimal cost to a d to a number of different things. Technology evolved. The web itself evolved a lot. Uh, all these SaaS products promising simple solutions quickly. Uh, appeared. Um, and, and Drupal itself wanted to move to more professional and corporate areas. And

yeah,

I would say we lost, uh, uh, a lot of the audience, so to speak, and, but we are back now with CMS. That's, that's my feeling. CMS was a good move. And now we can, again, with a few clicks, we can have very appealing and complex sites.

Martin: I a hundred percent agree about CMS. Uh, you know, the other thing that you've already mentioned that I think a, hopefully bodes well for, for Drupal in its future is also ai.

So you talked about using cursor for vibe coding, but there's also been. Quite a lot of innovation with Drupal around the adoption of AI for a lot of different things. So not just writing code, but also doing things like site building, creating content, creating layouts as a thing that we saw in Drupal Con Vienna.

How much have you dabbled in integrating AI with Drupal in other ways beyond just writing code?

Adam: I am obsessed with the AI initiative and. I'm amazed by these guys and how fast they are moving. Um, I love the fact that they joined forces very quickly. So, um, as soon as chair GTP took off, um, very soon, there were a couple, uh, modules in parallel doing very similar things, and I really liked that they.

Joined forces very quickly, and there is just now one way of doing it. I think that's a, a real strength in Drupal, that there is no things doing the same thing in different ways in parallel, but there is the Drupal solution or something like CCK was the first of. Such a thing that there's, there's no multiple, uh, content type builder plugins.

Like in WordPress, you have multiple CCK like plugins. Uh, in Drupal, there's one way of doing it. And this very quickly happened with, uh, AI and AI related things. And ever since then, they are moving in fast pace. In the good directions. I would say it's pretty easy to build fairly complicated things these days with automators.

Um, MCP is great. I really like the, the fact that I can just hook it up into cloud desktop, for example, and start chatting about my content. Um, it's really good inside building as well. So, for example, I can just, just show example content to cloud while it's hooked up with MCP and Drupal. Uh, and in a installation it'll just analyze the example content and make a proposal for, for the content types, the fields, the taxonomies.

And when I'm happy with the plan, I can just say, okay, well execute it. He does the job and I can just review it in the Drupal ui. If I don't like it, I can revert it with a simple config port. So it's, it's lovely. I think the, a lot of the, the work from the past years is now, uh, getting paid, getting paid.

Really, the config management system is something unique to, to Drupal and lms. Love it. It's the, the, the YAML format is something they love and they can understand the structure of the site very easily just by reading the ML files. I'm not sure any other CMS has that so. Drupal is lucky in a way, in this LLM era because a lot of things are already there in Drupal.

It's, it's, uh, AI ready, so to speak. Yeah. No, I think, yeah. Ready out of the box.

Martin: Yeah, I think that's a great point. You know, as you say, we, we did undertake some, some fairly ambitious things, particularly around that sort of difficult seven to eight. Migration. But you know, as you say, it's really, it feels like we're starting to bear the fruit of the investments that were made to, to really give Drupal a very, you know, carefully thought out infrastructure and things like the configuration management and, and all of those things have really set us up for success, you know, in a future that back then nobody really could have foreseen in terms of how, you know, it would end up being, um.

Something that allows things like LLMs to, to more easily understand how a site is structured and, and how it could be manipulated to, uh, suit specific use cases and some of those things. I wonder, do you have any predictions around, you know, what's gonna be kind of the next big thing in AI or, or maybe the next way that you'd like to see Drupal able to leverage AI to, to help make, let's say, marketers lives easier?

Adam: Canvas, definitely. Uh, canvas is something I, I'm really, I'm looking forward to, um, especially with combined with this, uh, LLM tools and MCP and tools exposed with MCP. There will be interesting things to do with, with Canvas, just, you know, you can draw something up on a napkin. And then the LLM will be able to implement it in Canvas and you just have to review it.

Yeah, I think, uh, it, it'll be interesting to see, uh,

the site templates and how those unfold, uh, with all these RM capabilities and canvas. How quickly you can create site templates or how quickly you can transform a site template, uh, or tailor it to your needs with an alarm. Um, yeah, these are, these are interesting things and I don't see much competition in this area, so I, I don't see any other CMS being.

So well prepared for these Alam integrations.

Martin: Yeah, I agree. I, I mean, um, anytime I hear some of the people that are sort of core contributors to the AI initiative talking about. You know, the things that get them excited, inevitably it's contagious and, you know, I end up being very excited not just about AI and Drupal, but really about how well that, you know, hopefully will inspire more people to, to sort of jump on board and become part of the community and contribute to the ongoing sort of success and, and health of the community as well.

So it's definitely a really exciting time right now. And, um, yeah, I, I hope that that. Continues to spread, you know, outside of just the, the bubble that as a Drupal community that we live in, but that more people can be exposed to that and, and, um, you know, the, I guess like contagion can spread even further in terms of getting people excited about Drupal again.

Adam: Yeah, me too. Um, I'm also playing a lot with Anita Great lately to see how that can be hooked into Drupal and MCP is a great help there as well. So it's pretty easy to create a workflow in 10 and just, uh, uh, configure Drupal with MCP and then give these, uh, MCP tools to the agent in 10. And so you can make things like, uh, a workflow reads, incoming emails, maybe support emails.

Then the agent can check actual configuration in Drupal and explain things to and reply in an email to the support request. Uh, things like that. I'm working in a very small team, so it's uh, key for us to automate everything we can. And, uh, yeah, it's also fun, Drupal. Drup is fun again. That's what I would say.

Uh, it was fun back in the day, especially with Drupal six. It was big fun and with Drupal seven it was big fun two, and then it got a bit struggl with eight and nine, but now it's uh, it's fun again and I'm very happy for that.

Martin: That's really awesome. Do you have any, um, upcoming Drupal events you're planning to attend?

Adam: Uh, we will see, um, maybe dev days in Athens. Uh, 'cause I really like that days. It's, it has a different atmosphere from, from Drupal plan. Um, it's a bit, it's still no static that this is still these old, uh. We are there for the community kind of feeling, not so corporate. Uh, but I also would like to attend, uh, the next throughput on Europe.

We will see how we will go budget wise.

Martin: Yeah, I can relate to both of those. I mean, I, I absolutely have loved the opportunities when I've been able to attend dev days. Personally, I would love to see somebody try and, and, uh, get a similar concept going, uh, on this side of the Atlantic, you know, in North America as well.

But, uh, yeah, all the dev days I've been to in Europe have been phenomenal and I agree it's a very different sort of vibe and spirit, um, to the conversations. So that's always good. But, um. Yeah, we'd love to get to, uh, DrupalCon Rotterdam next year as well if the, you know, um, stars aligned for it. So, oh, I was lucky

Adam: to, I was lucky to attend bat camp back in 2016, uh, the Bay Area Drupal Camp, and that, that felt very similar to that days was similar to that.

I'm not sure how that days is going now, but back then it was really good.

Martin: It was, yeah, I've only ever been able to attend bad camp virtually 'cause it's, you know, other side of the continent from me. But, uh, hopefully I'll be able to get there in person someday. So anyway, Adam, it was great to catch up with you again.

Uh, hopefully we can talk again in person next year at, at, uh, one of those events. But, uh, you know, until then I'm sure I'll be seeing you in Drupal Slack.

Adam: Yeah, sure. Thanks for having me.

Martin: Yeah,

Adam: great talking to you. Yep, great talking. Bye.