Talking Drupal #526 - Off The Cuff: AI News, Hooks, and Drupal 11

October 27, 2025

Today we are talking about AI News,Drupal Hooks, and Drupal 11. We’ll also cover Webform Scheduled Tasks as our module of the week.

Listen:

direct Link

Topics

  • AI in News Anchoring
  • Drupal Hooks and Themes
  • Adoption of Object-Oriented Modules
  • Challenges with Theme Hook Orders
  • Understanding Hook Ordering in Modules
  • Simplifying Hook Ordering with Drupal 11.2
  • Updating to Drupal 11: Considerations and Plans
  • Exciting Features in Drupal 11
  • Drupal Orchestration and Integration
  • New England Drupal Camp Announcement
  • State of Drupal Work and Future Prospects
  • Brief description:
    • Have you (or your client) ever wanted to get fewer webform submission emails? Do you like getting emails on a predictable schedule and not any time a user decides to fill out your form?
    • If so, you might want to check out Webform Scheduled Tasks
  • Module name/project names
  • Brief history
    • Created by mattgill on 22 November 2017
    • It has a 3.0-rc1 release available with Drupal 10 compatibility and is awaiting review of it’s automated D11 fixes.
  • Maintainership
    • Its last release was in November 2023, but just a month ago I helped get Sean Dietrich approved as a new maintainer, so I’m hoping for a new release in the near future.
    • It has security coverage.
    • Tests exist to test the full functionality of the module and they are passing.
    • There is no standalone documentation, although a README is RTBC’ed. That said, the module page has a straightforward description of what the module does and how to use it, and getting it up and running is very straightforward.
    • Number of open issues: 24 open issues, only 1 of which is a bug against the current branch. I’ll also note there are 8 issues that are RTBC, so we should be seeing some fixes forthcoming.
  • Usage stats:
    • 817 sites
  • Module features and usage
    • Once you enable the module, Webforms will have an additional “Scheduled tasks” configuration screen.
    • You can create a task to email all results or just the results since the last export.
    • Once you enable a scheduled task, you can set a number of options:
    • its next scheduled run and the run interval (in hours, days, weeks, etc)
    • where to email the results, in what format (JSON or CSV), whether to delete submissions after they’re sent
    • There’s also a RTBC patch to allow you to configure file names to include date-time of export, which can help the recipients keep track of the exports.
    • After that, you just sit and wait for cron to do its thing.
Sponsor

Amazee.ai

Amazee.ai

At amazee.ai, we're a worldwide team passionate about open source technologies, AI, cloud infrastructure, Kubernetes, and DevOps. Our experts work around the clock to ensure our clients' applications stay online and performant—no matter the time zone.

Transcript

 

John: This is Talking Drupal, a weekly chat about web design development from a group of people with one thing in common. We love Drupal. This is episode 5 26 Off the cuff, AI News Hooks and Drupal 11. This episode of Talking Drupal is sponsored by am Amazing ai.

On today's show, we're talking about AI news, Drupal Hooks, and Drupal 11. We'll also cover web form scheduled tasks as our module of the week.

Welcome to Talking Drupal. Today we're doing one of our infamous or, or famous, depending on how you wanna look at it. Off the cuff episodes, we'll talk about a variety of topics and have some fun along the way. Hopefully. I'm John Picozzi, solutions architect at EPAM. And today joining me as per the usual, Nic Laflin, founder of nLightened Development.

Nic: Happy to be here. Got a bunch of stuff to chat about

John: and 'cause we just like to change all the things. Let's talk about our module of the week and turn it over to Avi Schwab, a technical product consultant at ImageX, and a maintainer of a number of dribble modules of his own. Avi, what do you have for us this week?

Avi: Hey guys, thanks for having me. So, have you or a client ever wanted to get fewer web form submission emails?

John: Always.

Avi: Do you like getting emails on a predictable schedule and not anytime a user decides to fill out your form? Maybe tell me more if so you might wanna check out web form scheduled tasks.

So the web form scheduled task module was created by Matt Gill on November 22nd, 2017. It has a 3.0 RC one release which has Drupal 10 compatibility. But it is also awaiting review of a number of automated D 11 fixes. So, the last release was in November 23, or sorry, November of 2023.

But just a month ago I helped out Sean Dietrich get approved as a new maintainer. He had a number of issues that he was working on. I saw that he had posted a request to become a new maintainer. So I made the connection on Slack between the, one of the existing maintainers and Sean. We submitted an issue and got it approved.

And so hoping that he can get some new releases pushed out in the near. The module does have security coverage. It also has tests to test the full functionality of the module and their passing. There's no standalone documentation, but there is a read me issue in the issue queue. That's RTB ced, so that's also waiting to be merged.

And that said, the project module page has a pretty straightforward description of what the module does and how to use it, along with a really nice screenshot. So getting it up and running is pretty straightforward. It has 24 open issues only one of which is a bug against the current branch, but also eight of these issues, as I said, are RTB seeded.

So, there should be a lot of fixes coming up. The module has 817 sites using it, so it's relatively small, but it seems like it's one of those small and powerful modules. To use this module once you enable it, web forms will have a new scheduled task configuration screen. You go on that screen and decide whether you want to email all of the results of the form or just the results in this last export.

Once you create that task, you can set a number of options so you can set its next scheduled run and the run interval, whether that's a certain number of hours, days, weeks. You can also set where to email the results. So any number of emails, how those e, how those results come, whether it's A-J-S-O-N or a CSV file.

A couple other things about how the file's stored and also whether to delete the submissions from the form in Drupal after they're sent. So it's kind of like an archival process. There's also another RTBC patch that allows you to configure the file names to include the, the date and time of the export, which was really useful.

By default, this just sends like export tar gsip or something. And having the timestamp on that file we found was really helpful for the recipients. And after you configure it, you just sit back and wait for KRON to send you emails. So this is one of those Drupal modules that's like, not like super interesting, but we've used it on a, on a client project lately.

And I thought it was really nice because they needed a solution. We, we needed a, a, a solution to a problem. We found it out inland. And this module is built as a framework for web form doing scheduled tasks. So all of the hooks are in there. If you wanted to make a new task all you would need to do is kind of figure out what you wanna do, make that PHP file, and, and submit it to the module.

And you have a different kind of task in here, so

Nic: love that. So, so this is actually pretty interesting. I guess my main question is what kind of have you noticed any performance implications for it? Because. On a particularly high traffic site with a lot of submissions, which is the kind of site that you'd want to use this for.

You're, you know, you're doing a lot more stuff during each chron run rather than, or Theron run when it should run rather, rather than just kind of doing it as needed. So I imagine the resources need to kind of bump up or have you not even noticed at all?

Avi: We haven't. We, you know, the, I think the site that we're loading it with or that we're using it with has, you know, hundreds or maybe a couple thousand.

We're not talking about like 10,000 or millions of submissions. I haven't, we haven't noticed any issues like that. It does it takes the submissions zip some zips the file up. So it does save some, save some space. Email wise, it's not just sending like a raw text CSV interface on, so you get like a submissions tar Dutch zip.

Okay.

John: I, I mean, I, I'm, I'm in awe. I mean, I think this is a great, a great a great module of the week and I think it's I don't know, I, I kind of like it and I'm thinking of a couple of different places where this could be very useful. One question I do have, and I think I already know the answer, but I'm gonna ask anyway this feels like something that like, you know, ECA could do, right?

I'm wondering, I, I'm assuming the use of this module is simply just for kind of like ease of use and the lack of overhead, right? Like if you just need to do this task, it seems silly to kind of like install ECA and have to go through all of the like configuration loopholes to get it to work the way you want it to.

This module just kind of does it outta the box. Would that, would that be a fair assessment, Avi?

Avi: I think that is a fair assessment. I've yet to run into any process that ECA probably can't do. But that said, I've also not actually like installed ECA on any client site yet. Because like you said, I think, you know, it's got infinite functionality.

But there's also, there's a, there's a, there's some overhead. So, I, I listened to some of that in the, some of that conversation, the keynote. I, I think it'll be really interesting to see where it goes. ECA is already so, so great, but yeah, like if, if you need to do one thing you can run composer require web form scheduled tasks and install it and you're good.

Nic: Yeah, I think, I think that's the trick is finding for ECA in general is finding out where, where that line is. Right. When, when you have enough. Module ma, like these types of modules, enough mass to justify making the switch to ECA. 'cause like you said, ECA allows you to, or if you need somebody that needs to configure it in the UI kind of, or they have BPMN somewhere else and they wanna import those workflows there's a lot of power there.

But it's also, if you're doing just one thing

Avi: yeah, I mean we're, we're, we're, we're scope creeping here, but I can imagine like a world of ECA kind of like, web form land where there are you know, dozens and dozens of different different extras and also like video tutorials of how to do things like this.

And I think when we get to that point with UCA where there's a whole ecosystem of SMPs or modules or whatever, yeah.

Nic: I, I maintain some of them.

We're there

that exists. Okay. I don't mean from even from like performance, I mean just, it, it takes some, some, it's an ecosystem module like webform.

Right. If you don't need that, I mean, I certainly have, webform is probably my most installed module, but I certainly have projects that don't have it. Right. I don't, I don't install it without, you know, needing it. But yeah. No, this, this module is very interesting. I did have one question though. It doesn't look like this tasks are handlers though.

So are they configured separately from the form, or, or are they not in like the webform handler?

Avi: They, yeah, that's correct. I was, I was thinking about that like just before the call actually. I was like, why couldn't these be handlers? I'm not positive. But my thought was that handlers run on every submission.

Is that, is that, that might be right. It, I, I don't actually know, but my thought is that handlers run on submission, and this is a process that runs independently of that. So it needed to be a, a separate process. I, that's my theory. I haven't

Speaker 5: no, no. You can ask

Avi: ask, ask Jacob next time.

Nic: He's he's on the show.

I, I think you're, I think you're right. I'll I might look that up a little bit later too, but Yeah, no, this is a great module week.

Avi: Yeah, I mean, the other thing, the other thing that I really liked is like the, the module, the project page has this big old screenshot that's like basically a hundred percent of what you need to, to get the module going and to like, understand what the module does.

There's no way I can understate how useful that is in like, in, in, you know, promoting your module. Just show people what it does on the project page. And they'll download it. It's magic.

John: Well, Avi thanks, thanks for bringing us this great module of the week and filling in for, for Martin. If folks wanted to suggest a module of the week or reach out to you, how could they go about doing that?

Avi: Sure. If folks want to suggest a module of the week, you can reach out to at Mandclu on Drupal Slack. Or you can pig in talking Drupal. I'm happy to fill in for him. I'll be suggesting I got some great other modules the week suggestions. So I'll be, I'll be handing those over and people wanna reach out to me.

I'm fro boy in most of the places, or Avi Schwab on Drupal Slack.

John: Perfect. Thanks a lot, Avi. Oh, thanks guys.

This episode of Talking Drupal is sponsored by Amazing ai. Are you worried about sacrificing data privacy for the convenience of using ai? The team at Amazee AI believes you shouldn't have to. That's why they've built an enterprise grade private Drupal AI provider that doesn't compromise security or data sovereignty.

Amma AI is a hundred percent privacy focused, letting you choose the region where your data is stored and processed. They don't store your prompts, they don't use your data to train models, and everything is fully open source so you can verify it yourself. You can even run the AI on your own servers or cloud accounts.

With their purpose-built Drupal AI provider, it's simple. To get started, just install the Drupal AI module and pick Amazee AI as your provider. With advanced AI tools, you can generate or simplify your site's content, generate alt text and supercharge search, all while keeping your data and your user's data completely private.

Amazee AI even offers a 30 day free trial with no token limits, so you can experience how AI can make your Drupal site smarter and faster without the privacy trade-offs. Visit Amazee AI today to get started.

The Drupal Recording Initiative needs your help. Here's the Drupal Recording Initiative folks to tell you more.

Speaker: Hi Drupal community. Have you learned from a video on Drupal TV lately? If you haven't, go check it out today. The site is a great resource and is growing all the time. Thanks to the efforts of the recording initiative, we bring all the equipment needed to capture sessions at Dral events. And help ensure the recordings are successful.

As I record this, I've just finished uploading videos from Bad Camp. In the next couple months, we expect to facilitate capturing Drupal Count Vienna, Pacific Northwest Drupal Summit, Southwestern Ontario, Drupal Camp. Chattanooga Drupal Camp DrupalCon Asia, and evolve Drupal NYC. We run a tight ship, but it isn't free, and we could use some help to keep the initiative sustainable.

If you have the means to donate, please visit bit ly slash help dri. Corporate donations of over $500 are recognized on the initiative page on dral.org. I hope we can count on your support. Thank you.

John: Drupal recording initiatives super important and definitely, definitely worth helping them out if you, if you are able, I know they were they were super busy recently recording DrupalCon Vienna, so we thank them for that. All right, Nic it's you and me, like old school. Old school talking Drupal listeners, if you want to turn off your podcast player now, we'll completely understand, although hopefully you you hang with us 'cause we have a list of fun things to talk about.

First and foremost, I'm, I'm gonna bring it right up at the top of the show here. We're gonna talk a little bit about ai watching the Today Show. This morning they did a segment on AI generated news anchors, so I guess in the UK. They had this show on one of their news channels about AI and, and you know, how people are doing different things with it.

And the anchor kind of did you know, a bunch of research. She was on a bunch of different locations you know, within, within whichever city she was. She was supposedly recording in and then they wrapped it all up at the end by saying like, Hey, I'm actually AI generated, I'm not a real person.

To which the anchors on the Today Show were like, you know. Talking about AI coming for their jobs and, and, you know, kind of being you know, worried, I guess, for lack of a better word, that, you know, this, this could be the kind of next phase of ai. Even though there are stats out there that say both, yes, AI will take lower level jobs and no, there'll be more jobs because more people will need to you know, be involved in, in creating ais and training ais and so on and so forth.

Knowing that you're a, I won't say AI skeptic, but ai ai you're cautious about ai. The AI news anchor to me seemed like a really good use case for kind of these AI generated people because I imagine that like, you know, you or I, who don't necessarily wanna be like a news anchor, right? Could like.

Get all of this data and do all of this research and then provide it to an AI and have them just kind of present that data to the, to the masses. Right. It felt like a really good use case for AI for me. But I, I want you to tell me why I'm wrong, Nic.

Nic: Gladly. So, I, I, I think it's interesting to see people testing the boundaries here, but I, I think, I think there are a lot of issues with this.

I, I think one is and, and this isn't strictly an AI problem. It, it's kind of a general problem, but news, there's more to news than just reporting what happened, right? And while there's no such thing as truly being objective I think. A, an organization like maybe the BBC or something definitely has more guardrails in place to make sure that thing is reported accurately

John: mm-hmm.

Nic: Than an AI algorithm. Right. Because, you know, one of the, we know the problems with ai, it will just hallucinate, it will take your word forward over others, and you can easily, more easily promote a particular viewpoint or agenda. And I'm not even talking about like, you know, stake, I'm just saying in general, you can just push things easier.

Mm-hmm. With an AI backing it. I think the other big thing is two, two really big things I've noticed. One is you used the phrase like, this feels like a really good use case. I, I think, I don't know what the word is for this, but I think it's easy when. As an outsider looking at something else, not understanding what actually goes into a particular job or system and think,

John: yeah,

Nic: hey, that looks the same to me from the outside.

It's a good use case. It's great. We could do all this stuff with it. And the truth is, I think that's one of the things really pushing AI because like I've certainly had it produced useful results for me on occasion, much more rarely than I think most people think it does. But when I truly try to use it for something I'm an expert in nine times outta 10, it, even with the best models today, it's still garbage.

Nine times outta 10. When I look at the output and think that looks great, it's because it's something I really don't know. And if you show it, and I suspect if you were to show it to people who really do know that they are experts, they would be like it. It's like, watching it, there's a fame, there's something around like how it's made, watch how it's made.

Mm-hmm. You. Oh wow. This is, they really go into depth and then you see how it's made on something that you know about and you're like, oh my God, they skip like 5,000 steps. Well, guess what? They do that for every episode. It's just that you don't know the 5,000 steps for all the other things. So you think it's comprehensive, and I think that that's one of the issues here, like, yes, from the outside or a demo for this kind of thing.

It might look like they did the job of being a news anchor, but did they, I'm not a news anchor. I, I would bet that they probably didn't.

John: Well, so, I mean, I hear what you're saying and I think you're right, that like somebody that is finely tuned to kind of what the output is, might be able to say like, oh, this is, this is crap, or this was, this was generated with ai, but like in my, in my head, right?

I was like, okay, like AI news anchor is not going to replace like an actual news anchor doing an interview one-on-one with a person or an actual news anchor. Really doing an interview with anybody, right? Like, I don't think, like that's, that's a replacement where I looked at this and I was like, oh, this is interesting.

Is in those places where, you know, somebody is gathering the data, right? Gathering the information, you know, if they could, could do that and put it into an AI to generate the video. You know, ai and then the AI is, you know, trying to remove its bias, right? Or it's, it's, it's you know, provided a prompt that says, Hey, just focus on this data.

Don't go, don't go rogue, right? You can build a prompt that would probably, probably give you pretty, pretty decent results and stick to the dataset that you provided. Like, we know that it can do that, right? I feel like that is a great use case. Do I think this is gonna, like replace news anchors, replace journalism?

No, I don't, but I do think, like, there is a use case here where, and, and maybe this is like rose colored glasses thinking and like, that, you know, I'm, I'm completely, completely an idiot. Completely possible because like, you know, I sometimes am like. My vision here is like, maybe this makes news reporting more.

Well, I guess it's a double-edged, double-edged sword. My hope is that it makes it more accessible to folks, right? Where somebody like you or me who doesn't necessarily want our face plastered all over the, maybe we're bad examples because we have a podcast and there's a video component. Let's talk about a person.

Eh, not a, not a real person. Just a person, right? There's a person they want to report on the news, but they don't want their face out there. They don't want to be a public figure. They just want to do the research, provide good data, and provide it in like a video format, right?

Nic: Yeah,

John: I imagine that that person could use this technology to say, Hey, I'm, I'm creating this, this, this person, right?

And they're gonna be my news anchor, and they're going to, to, you know, they're gonna present my, my data and my, my hard work right? Now with that said, they're creating the video, they're watching the video, they're verifying that they agree with everything in the video, and then they're releasing it, right?

That's a lot

Nic: of assumptions there, but

John: lot of assumptions. Yes. And I'm assuming that they're doing it in good faith. I'm assuming that they're remo trying to remove their bias. You know, I mean, I feel like any news anchor has a little bit of bias anyway. Well, I mean, they try not to, but I, I just, I sometimes let's think that's impossible.

But

Nic: the, the, I think ha, not having bias or like trying to be neutral is also a common myth too, right? Like everybody's bias and bias is okay. The pro, the problem isn't that people have bias. The problem is if you don't acknowledge what it is and how it, you know, what a particular bias is in a particular story, right?

So if you're acknowledging kind of, and giving people kind of that information, like when you're reporting on something, there's inherently a viewpoint that you're giving it on that, and that applies bias, but that's, that's splitting hairs. I think at this point. I, I think really you highlighted though the second issue that I was gonna bring up, which is accountability.

Who's, who's accountable? If somebody doesn't review the script well enough or they feed it bad information, or like you said, maybe you say, say only focus on this information, but what if there's something that happened last week or there's a trend happening now and you do wanna pull that information.

Right. Who, who's accountable? And if you're cutting out these lower level, simpler reporting jobs, you, you are taking jobs in the newscasters. 'cause everybody has to start somewhere. You don't just like wake up one day and suddenly you're. A newscaster on CNN or NBC or a B, or, you know, pick, pick your news channel of choice.

True story. And if you're replacing all these lower level sources, you don't have that you, you don't have that accountability. You don't have that.

John: Yeah.

Nic: Pipeline.

John: I don't think I'm suggesting that we replace, like, budding news anchors. Right? I, I think that, like, my, my thinking here is folks that don't necessarily wanna be a news anchor, but wanna use the medium to bring, bring news to, to the people, right?

Like I, I would imagine that somebody who's like, I wanna be a news anchor on ESPN isn't gonna, isn't gonna use AI to do their kind of their production work. They're gonna go through the process and do it themselves because that's how they're gonna learn and that's how they're gonna improve, right? But yeah, I don't know. I, I'm always interested in, in AI where it's used to kind of like enhance or, or enable somebody, right? Which I know there's always a, there's always a, you know, a good side and a bad side to that. But I mean, I think, like, it was just interesting to me to, you know, to see like the news anchor's reaction of like, oh God, like it could, this could come from my job.

Like, har Yeah. Horrified, you know?

Nic: Yeah. But

John: I don't know. I,

Nic: I, I think that's the other thing too, and I've said this a few times in the show before, is that like, people think that just because it can't replace what you do, people don't realize that people, it's not necessarily whether it can replace what you do or not.

It's whether people think it can replace what you do or not,

John: right?

Nic: Because if they think it can, they will replace you. Whether they get a good product out of it, whether like, if. Businesses in general. People assume that businesses in general are rational, right? They make the best decision for them long term, short term, and, and that's just not true.

Businesses generally prioritize short term over anything else, and

John: well, I think that's, that's absolutely accurate. I mean, like, I, I just imagine this being, being, being dangerous to, to somebody who doesn't know any better, that says like, Hey, this AI news person is way better than the OR, or. Perceivably is better than the, than the news person.

I'm actually, you know, hiring like, why wouldn't I use this? Right. And maybe it's not factual, maybe it's, you know, mis misrepresenting or mispronouncing things regularly. But like, yeah, I mean, I think, you know, I think it's easy to say like, oh, this thing can do the job, but it's also, as you said at the beginning of this discussion, like, you need to understand the job really well before you can say yes, it can in fact do the job.

And

Nic: the thing is, the people, the people making those decisions don't necessarily understand the job really well,

John: right? Absolutely. Absolutely. So, I mean, I think that's, that's, that is a concern. And I mean, I don't think it's a concern just with this, I think it's a concern with any AI where you're like, oh, the AI can do it.

I saw a demo last week of like, you know, AI basically taking a ticket and, and, you know. Doing the task and presenting the code and all this other stuff. And I was kind of like, huh, all right. Like, hopefully there's a human in the loop. Like, and hopefully this is like, you know, this is cool, but like, is it, is it practical?

And I'm like, well, you know, what's gonna happen? Some, some c level executive somewhere is gonna see it and go, oh, this is great. We need this. Let's do it. And like, you know, there's gonna be, there's gonna be

Nic: permit gun,

John: there's gonna be questionable code put out there, and people are, our people are gonna be or people are gonna be on the o the opposite side.

They're gonna be just be AI code reviewers, which, yeah. I don't know. I, I just thought this whole news thing was interesting. I looked at it as a, from a positive lens of, hey, it could empower people to, to you know, be able to deliver more information out to the mass. Yeah. I, to, to speak, to

Nic: speak to that, to speak to that piece.

I think there, I mean, I think that's also a double-edged sword, but the truth is. Tools to do that kind of thing exist already without ai, right? If you want, like there's streamers that stream games without showing their face and, and, you know, you can set up avatars that that do tracking so that it looks like you're speaking, right?

So there, there's ways to use tools to do this kind of thing. Like there's, there's ways to build these things that are tools that allow, that enable different people to do things that they wouldn't otherwise be able to do without replacing kind of the core piece of what makes something valuable, right?

The trick is, and, and the same is true for ai, like I am, you know, calling me a skeptic. I don't know if that's fully accurate or not. Like there are certain places where it's useful. I think long term people will find where it excels and where it doesn't, and it'll become a tool in the tool bag.

Whereas right now, everybody. I think things are starting to cool off a little bit, but everybody thought it was gonna solve everything everywhere because people didn't understand what his limitations are. But you can see that adoption, both for businesses and for individual use is cooling off. Like people are starting to realize what some of those limitations are, and they're, they're focusing on the areas where it's helpful, like parsing large amounts of information and pulling out specific pieces.

It's really good at that. Writing something that's truly a throwaway, like a small bash script of Redex that you're gonna use once and never use again. It's generally okay at that, right? But using it to replace a whole pipeline, a whole workflow end to end. It's just not there yet. It's pretty good at writing, I don't think

John: writing meta tag descriptions for my blog posts.

I will say that.

Nic: Well, let, let, let's send it to an actual SEO expert and have them evaluate. Don't tell 'em ass AI generated and see what they say. Like, that's one of the things is maybe it's better in, like, maybe it's better than I am at writing that that doesn't mean it's actually good at it because I'm terrible at it.

John: Sure. I mean, I, I, I mean, I guess the way I look at it is like AI descriptions are kind of like dwindling or meta AI descriptions are kind of like dwindling in the fact that like, yeah, they're used, but like they're not not really looked at for SEO. So I, yeah, I don't know. When I read it, I'm like, yes, that's exactly what this blog post is about.

Okay. One last bit of AI before we move on. And just a, just a, just a quick, you know, 10 seconds here. How annoyed do you get when people. Either in conversation or, or just in like day to day call something ai and it's actually not ai.

Nic: I mean, if I'm being honest, everything that's being called AI right now is not ai, it's just an l large language model.

It's an LM, like they're just calling, like, same thing with like video games. They always call like enemy actions. Ai, like the AI game. They, it's not ai. It's a, it's an algorithm that's set to like, if you do this, you do that, whatever. It's not ai. We don't have AI really, truly yet anywhere. The piece that annoys me is services cramming things in calling them ai, but not giving you differentiation to know if it's a, something that they already had that worked well and now they're calling ai just to call it ai.

If it's something that's just a wrapper for chat, GPT if it's something else like. But people calling things ai, people always miss saying things. Believe it or not, that actually doesn't bother me all that much.

John: That's surprising. So I, you know, yeah, I do, I do think, yeah, I surprised

Nic: myself with that answer.

John: I do think, like the labeling of AI things is kind of driving me nuts. Like, I equate, like if it's, if it's backed by an LLM, I'll go, okay, ai, ai, ai adjacent fine. But like the, the relabeling of things definitely is like, you know, annoying to me. Where, where it's like, where it's like, oh, our new AI feature.

I'm like, that's not, no, it's, there's no AI there. You're just, you just automate, like you're, you built an automation script. Yes. And now you're calling it ai. That's not what the, that's not the same. The one that

Nic: currently is annoying me the most is notion, because you highlight text and it'll be like, do you want me to rewrite this?

And they move like the, they put the action, so you click the copy and they put the action to like analyze it somewhere. And once you click that. It takes over everything. Like you can't do anything for like 30 seconds and you can't like undo it. You like, it's so irritating.

John: Okay, let's get back to Drupal.

Yes. 'cause this is a Drupal podcast. And you wanna talk about hooks? What, what specifically about hooks?

Nic: Yeah. So there's some, some news hopefully coming out for 11.3. So 11.3 Alpha I think is coming out in two weeks, maybe three weeks. And I've been working, there's a few big improvements that I'm excited about.

One we got in about a week ago. We decoupled hooks from the event dispatcher in Drupal, which really, it, it's just a, a performance optimization. It should be quite a bit quite a bit more performance. So that's exciting. But the more exciting news is I've been working on making it so that hooks and themes can be object oriented now too.

Hopefully that makes it in for 11.3. If it doesn't, it should get in shortly after. And Jurgen has been working on getting gin into core and he's actually converted that version to, he's very excited about it too. He is actually converted all of gin to use object oriented hooks as well as a, in a kind of a test branch.

So, pretty exciting. It's been a lot of work. But So we'll be able to

John: Yeah, sorry, go ahead.

Nic: Yeah, but once we get this in, I think we'll be able to get rid of dot theme files. So I almost feel like there's huge advantages to object hooks in general, but for themes in particular, one of the problems is the dot theme file gets so long, like they end, I, I have clients that have taken over that their dot theme file has 2000 lines of code.

John: Where would that, where would that code go if there was an A dot theme file?

Nic: It goes into I mean, most of it would go into, it's usually just hooks and helpers, right? Yeah. So it would go in the hooks directory, so source, hook, and you'd have a file for each, you know, whatever, however you wanna organize them.

John: Oh, okay. So it, it basically breaks them out into their own files as opposed to just having one huge file with a whole bunch of stuff in it. Yep. And then you do that actually makes a lot, that makes the, it feels a lot cleaner at least. Yeah.

Nic: Yeah. And, and the really nice thing is you can break up things based on a few different criteria.

You can break it up based on how often something is used, how many dependencies it has. So for example, if you have a form alter that alters a form of one of the admin pages, right, you can put that in its own file, and that code is only gonna load when you're on that admin page.

Speaker 5: Mm-hmm.

Nic: Whereas. Right now, because it's an adopt theme file, every single page is loading that code.

It's not running because that hook isn't being called.

John: Right. But you're

Nic: loading code on every single page that almost never needs to be used.

John: Right.

Nic: You can also do some clever things. It's getting a little deep in the weeds, but for performance, you can set up things to only pull dependencies when they're actually used.

So you can actually get some performance benefits there too. But that, that's really that's more advanced.

John: Now, does this have anything to do also with moving to object oriented coding practices and away from like procedural coding practices? Or is that stuff already already been done?

Nic: No, in gen, like this is, I think one of like, there's minimal, minimal support for object oriented coding and themes.

Technically once a theme is loaded, it. It does, it can load object oriented code, but it, it's very, very rarely used. And people use a lot of kind of nasty workarounds to get that kind of working. But this kind of makes themes just able to register hooks in general. And like I said, my experience most code and themes are hooks and hook helpers.

And so moving that should take care of almost everything.

John: Yeah, it always interested me. And now that you say it, I guess I, I, I didn't really think about the fact that like your, your dot theme file or your what was it? What, what it, what file, what was it, what did it used to be called? Anyway,

Nic: what's that?

The do mono file or do you mean for themes? I mean, there's dot ink files and themes too.

John: Yeah. So like those files kind of just like have catchall code, right? Like Yeah. You know, the fact that the fact that they're loading on every page, right. And like, you know, running through it and going like, Nope, don't need that.

Don't need that. Don't need that. Don't need that. Oh, here's the one you need. Right?

Speaker 5: Yeah.

John: Like when you, when you think about it, like, it seems wildly inefficient and, and this definitely is moving, moving in the right direction for sure. But like, I guess I never really thought about it that way of like, if you're, you know, you got a thousand lines in your, in your dot theme file, like, you know, that's, that's taken up, taken up time and cycles that could otherwise be spent somewhere else.

Nic: Yeah. And, and really I think the, the big, honestly, the bigger benefit here is organization, right? So that developers spend less time sifting through, you know, I, I, I mean, I have some complex, like I said, I have some. Themes that have thousands of lines and dozens of hook implementations, and being able to organize those will save me a lot of time and headache, even if it's not for the performance side.

John: Now you said the hooks are in their own source hook folder?

Nic: Mm-hmm.

John: Okay. It

Nic: matches it matches how theme how modules do it.

John: Got it. Okay. So no, no ability or some ability to put these into single directory components.

Nic: I mean, they're completely unrelated. Single directory, actually, currently single directory components don't have a way, don't,

John: don't support PHP, right?

Nic: Yeah. There's no way to do a pre-processed hook for a single directory component, which I think was an intentional decision.

John: Yeah.

Because

Nic: it's more of a front end, front end

John: display

Nic: mechanism. Right. Exactly. I think that's the plan. There's a couple of issues I've seen trying to give them some way to pre-process because it can be helpful.

But really, I, I don't if you remember but checks, when he was on to talk about hooks when we had that whole show, one of the things he said is it's abo an abomination that thems have to write PHP in the first place. And mm-hmm. And it's true, like atheer shouldn't have to know what a pre is or a form alter.

They shouldn't need to know any of that stuff. But with this, an object oriented is a bigger barrier to entry. But if we're gonna force them to write PHP, we can give them the opportunity to write better PHP and we can organize it. So they only have to know about the piece that they need to. They don't have to scan through thousands of lines of code to find what.

Yeah.

John: And I, and I mean, Drupal as a whole is moving towards like. The ability for front end teamers not to have to interact with PHP. Yeah. And provide them you know, Drupal Canvas is a big push in that direction where you can bring in your Js, you can bring in your css, and like, Hey, there you go. It all works.

Yeah. You know, so I think that, you know, this is, this is definitely a, a good move and, and kind of goes along that line of like, oh, now you don't need to know PHP to, to work with Drupal. Which I dunno. I think it's great.

Nic: Yeah. And then a, as far as adoption, I've been seeing, I've been getting more and more pings on Slack as people convert their modules and theme, oh, nothing yet, but their modules to object oriented.

So always happy to, always happy to help out there. Oh, I will mention too, one thing that I've discovered that's a little bit interesting that will be a big caveat, is themes don't support ordering hooks. Themes kind of have a fixed hook order, which modules don't. And then. So that was, that was a fun one to work around.

But yeah, it's been, it's been a lot of work. I'm, I'm excited for it to get in.

John: Once it done, why, why would you, why would you, well, I guess I already know the answer to this. Why, why you would need a certain hook order. I mean, I'm assuming it's 'cause you would wanna run hooks in a certain way to affect whatever you're trying to affect.

Nic: Yeah. So for example the two most common are you wanna move yours before another module because that module expects a value that your module sets or vice versa. So by default, think, think about it for a module, right? By default, hooks run in the order of the alphabetical name, right? So if you have a hook, if you have a module named a, a, a and you're relying on something from a hook that the media module does,

Speaker 5: mm-hmm.

Nic: Your hook is gonna run before media module, so you won't, that variable won't be set and you can't do anything with it. So you can tell, you can set up the ordering, so yours runs last or after media at least. And then when your hook runs, it has the variable that it needs and it can do whatever it needs to.

John: I mean, is that, is that as simple as going like, hey, like, like a, like a, the weight function of some sort. Like, hey, wait for this module to do its thing and then like, or is it like, so it's a, what's what's mechanism there?

Nic: It's a lot easier after 11.2 with the order parameter and the hook attribute because you can basically say, Hey, I wanna run this first.

So you just say, order first or order last. Or you can say order before order after. So you can say before this module or this particular hook, whatever. Hmm. Before you used to have to use hook module implements, alter, which is another hook, and you had to kind of manually shuffle the order of all the module.

It. That it's like hook, inception. It. No, it literally is the hook altar call, calls hook, module implements, alter a second time and loops over that. I mean, that issue took four or five took, I personally spent almost a hundred hours working on that issue to replace that single hook

Speaker 4: for

Nic: ordering.

Speaker 4: It

Nic: was, it was a mess.

So it's much easier now. All right. Well, but it's good that we're moving now. Don't have that. So themes don't need it. Wow. They have fixed, they have a fixed order.

John: I mean, it's good that we're moving in the, in the direction of cleaner, more reliable code. In speaking of cleaner and more reliable code, let's talk about Drupal 11 which I have yet to update my personal site too.

I'm waiting for, that's one module. One module to, to be supported.

Nic: Well, that's what I wanted to talk about because I, I have quite a few clients that are waiting to update and usually when a new version comes out, I start pushing fairly early to update them. I, and almost always in the past, I've updated sites on like the 0.1 or 0.2 version.

Definitely with Drupal 10 to 11, though I initially slowed down because I noticed KIB was taking longer to update, which at first worried me, but now it doesn't at all. But I think the reason why is because the, the jump from nine to 10 was so short. There was a lot of pressure to go from eight to nine, then nine to 10.

Now people are just taking a little break and because 10 is gonna be supported until next December, 2026, there's not as much pressure. I still have been updating clients modules and looking at the report and getting ready, and I, I actually have a couple of clients that are a hundred percent. If you look at the upgrade status, it says a hundred percent we can upgrade to 11.

But I decided to wait. And the reason wasn't because we couldn't do it. The reason was because I realized these are active sites under active development and if you need to add a module, that module also has a support 11. So now you get to a point where you can't add a feature.

Speaker 5: Mm-hmm.

Nic: Because a module doesn't have a Drupal 11 release.

So I've actually, I actually stopped push other, I still update modules and get them ready so that it's an easier update when we get to it.

Speaker 5: But I

Nic: stopped pushing for updates. My plan is actually, I just started this about two weeks ago. My plan is to update, start updating sites in 11.3. So starting probably towards the end of the year, I'll start upgrading all my clients.

I told them that we wanna start getting ready, so my goal is to have every client updated by. April May-ish to Dral 11.

Speaker 5: Mm-hmm.

Nic: Because that gives them, that's two or three months before Drupal 12 comes out. And if I run into any issues that gives them six or eight months of Drupal 10 runway still. So,

John: so you're, you hesitation, and this is very interesting 'cause I guess I never thought about that.

Your hesitation is, even though a site is Drupal 11 ready, like all the modules are supported, your, your hesitation is if they need another module or if they need another feature in the, you know, in the next X number of months, it might not be Drupal 11 ready. And you would, you would then have to either say, oh, we can't do that, or you'd have to spend the time to kind of get that module up to date.

Nic: Exactly.

John: Huh. Which,

Nic: which you have to do anyway to update, but Yeah. Different telling a client, we can't update because something's not Drupal 11 ready yet. We're working on it. Yeah. Then, oh, this feature is going to take. Two months because I have to apply for, 'cause take updating a module if there's an inactive maintainer Yeah.

Is gonna take over a month. 'cause you have to first create an issue. Yeah. Then you have to transfer it, then you have to verify like

John: it's a far easier sell. And also, and also makes Drupal look better. If you go, yes, we can install that feature, but it's gonna prevent us from being Drupal 11 ready right this second.

As opposed to, no, we can't install that feature. And now I have to spend the time to update it to, honestly,

Nic: I've take, I've taken the Drupal 11 readiness and evaluation off the radar. I mean, I'm gonna start adding it again. At this point I'm getting ready to start updating my clients, so I'm gonna start adding it again.

The other thing is, and this is just kind of insider stuff, but like knowing how much the hook stuff changed between 11.1 and 11.2 and now 11.3.

Speaker 5: Mm-hmm.

Nic: Part of me was like, I'll just wait until 1.3 is out. Yeah. Update everything you're gonna have. Right. Yeah, and then I'll just take care of it all at once.

John: Well, Drupal eleven's exciting. I am looking forward to moving my personal site to it. Like I said, one module sitting out there waiting for that to get updated. I don't know, I don't think I'll, I'll personally have time to work on it, but maybe, maybe someday in the future I'll be able to spend some time to work on it, to try to get it up to date so that way it it checks that box and I can, and I can move to move to Drupal 11.

What, I mean, what, what I guess what am I missing by not upgrading to Drupal 11? Obviously, you know, a lot of the code cleanup stuff you were just about in.

Ai, well, maybe, maybe not AI specific stuff. 'cause that's all in the ai ai module.

Nic: Yeah, that's available. One 10. I, I think, I mean, there's, there's like huge improvements to I think the whole recipe system. Hmm. There's huge improvements to performance installing, for example, so like 11.1 to 11.2, installing Drupal from scratch.

I forget the exact numbers, but if you, like, if you install Drupal with every single module

Speaker 5: mm-hmm.

Nic: On 11.1, it would take 50 seconds.

Speaker 5: Yeah.

Nic: On 11.2, it'll take like seven seconds, eight seconds, six seconds, something like that. It's very, very so a traumatic improvement. Yeah. Yeah. So there's, there's things like that.

There's, you know, the hooks should be quite a bit more performant in 11.3. Once this comes out there's, there's some caching updates. I think that should be coming out in 11.3. It's just basically there's, once 11.0 came out, they do still backport certain things to 10.

Speaker 5: Mm-hmm. Or

Nic: a lot of the new stuff just doesn't become available until you update.

Yeah. Because if there's something that's liker truly disruptive, they're not gonna backboard that to 10.

John: Yep. Yeah. And, and even better. And I mean, it makes sense. I mean, we should be pushing things forward. We shouldn't be like, I know it's gonna be controversial or sad or whatever, but like we shouldn't be kind of dragging people on older versions along, along with us, along.

I think we you know, that has been one of the great improvements to the, to the Drupal ecosystem is like, Hey, we're gonna get into a pattern where like you're gonna have your current version of Drupal, a future version of Drupal, and then like. Once we get to that future version, we're gonna like discontinue support for that older version just to keep everybody kind of moving forward.

So yes, I'm excited to get to Drupal 11. I will find, find some time to work on that module and, and hopefully, hopefully be able to get there soon.

Nic: Is, is that the social media one still?

John: It is, yeah. Yep. That's the that's the only one. All the other modules I've kind of put in tickets and kind of helped to try to work with folks to get get them Dral 11 ready.

But yeah, just that, that one. All right. So, have you watched the DRE note from Dral Conna?

Nic: I did, I actually watched it live on YouTube that morning.

John: Oh, that, that's cool. I would've, I would've liked, which I've you

Nic: done before.

John: I would've liked to be able to do that, but I didn't. I watched it. I thought it was great, all in all, but wanted to focus in on Drupal orchestration, because I thought that was a super interesting, I mean, there was a ton of super interesting stuff in the Dre's note.

If you haven't watched it, I recommend it. There is a link in the show notes to the orchestration piece of that, so you can just scrub back to the beginning and, and watch the whole thing if you want. But this idea of orchestration and like, if you've ever used like Zapier, right? Like bringing that sort of functionality to Drupal with with an open source service that does kind of a, a similar thing.

I know here at Talking Drupal, we've talked a lot about, you know, using, using. Those types of orchestration tools to kind of do some of our show prep tasks and show note tasks and some other things. I, I don't know. I got really excited hearing that now there's like this open source option for orchestration and that it's gonna integrate into Drupal and ECA and, you know, I'm, yeah, like I ke keep spinning my head on like, oh, what's a, what's a cool like, orchestration I could try out?

And I will say, well, Avi was doing the module of the week. I was kind of like, oh, it would be cool to take your web form submissions and use an orchestration to say, Hey, when a web form submission comes in, put it into this Google sheet and delete it from the, you know, from the Drupal database after x number of days or whatever.

Kind of things, things like that. I'm like, all right, how can I integrate more systems? I mean, I think that is one thing that Drupal has done really well via APIs, obviously, like there are tons of APIs getting data in, getting data out, sending data outta their systems. That's something that Drupal excels at for sure.

I guess my excitement is to be able to kind of do it through the service, which I think was called app. What was the service called?

Speaker 4: I, I don't recall.

John: Let me go look. But orchestration, Nic, how do you feel about it?

Nic: I mean, the, anytime you're adding an LLM or something like that to the mix, I'm always.

Hesitant just because, like, I think we talked about this on the AI shows, like you are, it's different granting access to an API. Hmm. Whether it's push or pull because you're granting access to, it's much more, it's much more granular. You're generally granting access to a particular piece, particular service.

You have more control over what it's accessing. But a lot of these AI tools, you are granting access to the whole website, everything. Which means that you need to rely. So, so for example, if we create an API to connect to Srid, right? Mm-hmm. And I set up the SMTP server to send it into emails.

Like it's, it's only gonna get things that get sent through the hook mail system. Right? Right. So you have to be careful that you're not putting stuff that you shouldn't be putting there. Right. But you don't have to worry about. It suddenly reading all the information of the submissions and, well, I, I guess if you're using it to send the, the submission results, it'll, it'll have technically have access to that, but it, it's very different than giving an LM access to it.

Right? Like, I wonder how, how much you can lock it down. Can you prevent it from seeing the configuration? Can you prevent it from seeing the users? Can you prevent it from

John: Well, I mean, I guess my question is like, Zapier, Zapier has existed for a long time, right? And has used, basically has been a, a visual orchestration tool for all of these APIs, right?

Like, I don't, I don't see this as being much different than that other than the fact that now if you wanted to, you could say. Hey, send this thing to chat GPT and ask it this question with this prompt, and then get a response, and then do something with that response. Right? So I mean, like, there's definitely there's definitely possibility to, you know, integrate a, a AI or an LLM here, but I don't, I mean, I don't feel like it's necessary.

I don't necessarily know. Well, here's,

Nic: here's the piece that I've seen that's like from an InfoSec or like a security standpoint, is like if you, if you have this all integrated and you also have a chat bot for customer service, right? How siloed are those? And there seem to be pretty good protections, but you're relying on chat amputee, like users will go to your site and be like, oh, what kind of site is this?

How many users are there? Like, they'll start asking things that are normal. Sure. Bot isn't like, I have a client that does have some of these chat services, but they, they only. It's not integrated with True. It's an external service, and it only has access to the pages that we give it access to. And because it's external, it only has public facing information, right?

Yep. But it's a, it's an attack avenue that you have to be careful of. If it's a fully orchestrated, integrated piece where you're setting it up so that, okay, if the chat bot is on a product page, then I want you to focus on this kind of information. If you're on this page, do this. And we also have a, a developer AI bot to help us create views and X, Y, Z, right?

Making sure that those lines aren't accidentally crossed is a much bigger deal than if you're using a service like Zapier to integrate with a bunch of different systems and do X, Y, Z, right? Because these orchestration systems are embedded in your tool. They have, they inherently have access to almost everything, right?

Speaker 5: Sure.

Nic: So, like I said, I think it's powerful, but it's that age old thing with great power comes great responsibility and it's much easier to make a mistake.

John: Yeah. So I mean, I think, I think like all of you, like there's the big, the big caveat of like, if you're an idiot and you do something dumb, you're gonna, you're gonna, you're gonna, you're gonna get a dumb result, right?

Well, I mean, I think the way I look at it is like, again, like art of the possible, like, hey, we have, you know, all of these services and systems out there, and like building and connecting APIs, you know, directly is, is tough if we can open it up to make it, you know, a little bit more visual, a little bit more, a little bit easier for people to do it.

And secure, I mean, security is definitely the priority there. I mean, I think it's, I think it's important getting back to the name of the the service, the open source service that Drees was talking about. It's called active pieces, which, interesting, interesting. Kind of workspace and very similar, it seemed very similar to Zapier, but is open source, which i, I do appreciate.

So it'll be interesting to see how that comes along. And yeah, I don't know. Maybe there's a show about that later.

Nic: Yeah, I'll have to look closer. 'cause like I said, I, I think it provides a lot of power and I think it kind of gets back to one of the pieces that made Drupal seven so powerful, right? You could, you could download views, you could down you could, yeah, you could download views, you could download rules.

You could download feeds and a few helper modules and build almost whatever you needed to. Right? And this feels like it's getting back to that roots with more power. But like I said, it's pulling it, it's doing it from a side that has more access than ever has. So you're, you're going to have people that.

Aren't necessarily experts in Drupal building these applications again. And how do we put, make the system such that, the default is secure, the default safe.

John: Well, I think that's, I think that's the, the, that's where the developer comes in, right? So like there is an orchestration module now that kind of helps open up these, the, these APIs and endpoints.

Right? I think it's, I think it's the responsibility of, of the folks working on that, which right now I think Dre and Jurgen are, are kind of working together on that, but like also the community to say like, okay, here, here are some. Here's some safeguards that we can put in place to make sure people don't do dumb stuff and they make sure that these systems aren't like, kind of un unchecked.

I actually was just, just thinking of a use case where might be interesting that, that when I put a a show card into Trello, right, for a show that we have upcoming, that it takes that card title and goes out and generates the, doesn't generate, but creates the show notes document with the template that we already have in Google Docs and creates the node on our Drupal site as unpublished.

So that way we can, we can have that there ready to go and like, I dunno, I could see, I could see it being very, very useful to have those kind of orchestrations in place where, you know, it's just kind of removing some of that manual manual work.

Speaker 4: Yeah. Yeah. I think. We've, we've talked about that in the past.

John: We have. I, I just, you know, again, it all comes down to time and a lack of it. All right. We're almost at the end of the show. We got a couple more topics to, to talk about one of which is the New England Drupal Camp. I know there was a we already did a, a promo for the recording initiative, but as we're both organizers of the New England Dral Camp, I wanted to drop this in and say the New England Dral Camp is coming to Providence, Rhode Island on November 14th and 15th, 2025.

Session has been session schedule has been posted. The trainings are there. We've got four or five great trainings, one of which is intro to Drupal, one of which is on ai. I think Mike Anello is doing a a. A single directory components training. So plenty of great topics. It's fun.

It's a fun camp. I, if I do say so myself. And if you wanna attend, you can go to ned camp.org to learn more.

Nic: Absolutely. Looking forward to it. Oh, I gotta get those signs so I can get them printed.

John: Oh, yeah. There's no shortage of things to do to get ready, but

Nic: yeah.

John: Plenty work to

Nic: do.

John: We'll we'll get it all ready.

Don't worry. By the time you get there on the 14th and or 15th, it'll, it'll be ready for you. So Nic, I had the thought the other day. I know, like I'm, I'm working on a project right now and, you know, previous to this project for like the last three years, I was working on the same project. And you know, working with a new client.

And that's always interesting to me. And I, I know on the show you always talk about your clients and that you ha have them and that you do work for them. And, you know, it is mo mostly I think Drupal work, but like, I don't know, I was just curious like, what are you working on? Like what, what kind of stuff are you doing on the day to day that that kind of keeps you, keeps you going?

Nic: Yeah, it's a, it's an interesting question. So I, I would say that most of it is Drupal. But not all of it, believe it or not. And recently more and more of it has become WordPress based and web component based. And I've also worked on not super recently, but I've worked on some silver stripe sites, which was a,

John: what

Nic: another Silver stripe is a, yeah. What is that? Company based? P-H-P-C-M-S. It has some, so it's like, it, it kind of feels like a middle ground between Drupal and WordPress. Right. So it's a much, much smaller community, like significantly smaller. Both. So

John: let me ask you this, 'cause our, my next question was gonna be like the state of Drupal work, but like, let's, let's merge these two things together.

How many of your current projects right now are Drupal versus like other?

Nic: I mean that, I don't even know how to answer that. 'cause, lemme just talk about the ones that I do the word prista for. So I have two clients. So Mo most of my clients are agencies or organizations that have an internal development team.

Right. And I, and I'm Okay. Development you know, and some of the agencies are, are smaller and like design agencies, and I'm like the only developer. Some of them are slightly bigger and have some developers on staff

Speaker 5: as well.

Nic: Mm-hmm. Right.

Speaker 5: Okay.

Nic: The two that I do WordPress work for the one of them is they're just, they, they're responsible for WordPress sites and I help them with like mostly DevOps stuff and make sure things run.

I, I don't really do the active, I'll, I'll dive in sometimes if we need to find something, but I'm not really, we're not building new or sites there. Directly we're, you're the infrastructure guy. You're

John: making, making sure the sites show up when you go to the domains and stuff.

Nic: Yep. Yeah. With some occasional support and then making sure, like that particular client has really, really strict a lot of restrict requirements for security and that kind of thing.

So make sure that whoever is developing it is meeting those and, you know, helping put together guidelines for WordPress development, that kind of thing.

Speaker 5: Yeah.

Nic: And the number one guideline is generally don't use WordPress if you care about security way. The other client, they kind of, I would say they, they're split, they do Drupal and they do WordPress.

Mm-hmm. I think the majority of their businesses were press. I don't, again, I I kind of helped architect a system for them. At this point I kind of, for the WordPress stuff, a lot of it is launch planning and infrastructure stuff, but also. If there's a particularly deep issue, I can help dive in on that too.

But I'm, I, I wouldn't say a lot of my time is spent doing word WordPress. I will say that very often when I do have to dive in deep on WordPress, I come away scratching my head far more often than I do. You come away appreciating

John: Drupal a lot more. I

Nic: do. And I, I'll say that Drupal very often, one of the things I've really realized is that Drupal very often, it's not always the easiest to get something started in Drupal.

Speaker 5: Yep.

Nic: But it's getting easier. Drup it, it is. But Drupal has solved so many just core problems.

Speaker 5: Yeah.

Nic: That WordPress isn't even close to like addressing. So for example, composer, yes. Composer is a pain. Composer is a barrier to entry.

John: I don't find Composer to be a pain or a barrier to entry.

Nic: It's not a pain when it works, but if you don't know if you don't know Dev best practices and dependency management, that kinda stuff.

It, it's a barrier to entry. It's another tool to learn.

John: I mean, okay, I that's true of anything but continue. Yeah. Yeah.

Nic: But it's, I don't know how to knit, so like

John: needles and, and yarn are barrier to entry for me. Right.

Nic: Fair, fair enough. But, but Drupal has Composer solved, in fact, the latest version of Drupal deprecated using anything besides Composer entirely like Drupal 12, you will not be able to install without using Composer period.

John: Which feels great to me. Like I wish, I wish more people were kind of forced to use Composer.

Nic: Now, the opposite side. WordPress doesn't have a, core doesn't have a composer thing. So basically, if you wanna use Composer with WordPress, you have to choose one of three or four different people that kind of maintain their own registry of WordPress plugins.

John: Interesting.

Nic: And they all have slightly different pros and cons and processes. But the real problem is WordPress has a huge ecosystem of paid plugins, and every single paid plugin may or may not support Composer at all. The ones that do support it usually gate it. So you have to set up like all sorts of keys and things to get it to work.

John: So what does that look like? Like as far as like right now? So example, we go Drupal slash webform and it goes and gets a web form module, and so is it like, you know, it's X, Y, and Z slash plugin and BQ and d slash.

Nic: So, so I, I find that there's, that's annoying. There's four, there's four cases. It's worse than annoying.

There's four cases. Case number one, it's a public plugin that they've released. Then you can just use whatever, whatever one you choose. Like, I think we usually use the, a guy named John Block. You just do John and he has like WP packages or something. So you just do WP packages slash plugin, slap dash, whatever it's called.

Then it just works. If it's a paid plugin, you have to, but maybe because they, he doesn't have all the plugins. Yeah. So if it's a paid plugin, you have to go to the company and you have to say, I wanna use Composer. Some of them will say, oh, we don't know what Composer is. Some of 'em will say, oh, we support it.

But then you try to use it and it doesn't work because nobody, nobody in WordPress land uses Composer. So they never test it. And some of them will say, yep, here it is. Here's our private packages. You have to use that, and you can only use it once you have the license. That's not even the worst. The worst is some of them, when you put your license key in, they download the, so you install a free version of the plugin, you put the license in, and then that free version of the plugin goes back to their server, says, we have a license version here.

Downloads a new version of the plugin and replaces itself on dis And for some services like upson or Platform sh which are read only, they just, they flat out don't work like you have to, you can technically get them to work, but you have to jump through so many hoops to get them to work. And, and that's just the co like WordPress itself does not, because they don't support Composer flat out of the box.

These types of problems aren't solved and you're left up to your own devices to figure out how to solve it. Huh. Okay. And, and there's so, there's so many things like that, like config management. There's no config management in WordPress, you. If you add a new feature, you have to write down the steps that you did deploy to production, log into production, and repeat those steps and forget you.

Hopefully you didn't forget something.

John: So, I mean, like, sounds awful, but like, I'm assuming WordPress users are blissfully unaware that like these things are helpful. Yeah, useful, right? Most of 'em because, because most of them aren't getting into that level of, of, of code or they're using a hosting vendor that's WordPress specific and, and they, they support those sorts of things, right?

Nic: Yep. It's, it's things like that and like image management, like you go down the line, like things that are, like infrastructure, like taken for granted in Drupal they just don't, it just doesn't exist in WordPress.

John: Okay. So getting away from like, this week in or talking WordPress, right. I wanna, I wanna finish, finish the thought here on like.

State of Drupal. Right. So sounds like you're working on a, on like a, a fair amount of WordPress stuff. You do still do some Drupal work. Obviously you're super involved in the community. Like what do you, what do you think the state of, of Drupal work is right now?

Nic: I, I think it's tough. I have, I mean, I thankfully haven't been particularly affected right now, but I've certainly seen a large uptick in people reaching out to me for work or for references far more than in the past.

RFPs, I don't usually do them myself directly, but like I said, I work with a lot of agencies and so I help write those sometimes and work. Those seem to have slowed down a little bit, but I think that's less of a sign of anything happening in Drupal in particular. More of a sign of just the general state of things right now.

Speaker 5: Mm-hmm. The,

Nic: the truth is, I think you know, I think things like Canvas, I think things like the AI initiative, I think those types of things, the initiative to make Drupal easier, Drupal CMS, all these things, I think will help the Drupal ecosystem in general and improve adoption. I will say I think that Drupal CMS has produced a lot of excitement for, from companies, right?

The amount of contribution has gone through the roof and since Car Shot was announced, I would love to see a, find a way to like redirect some of that back to core, right? Because I think it, I think it is, I think it'll I mean, from, from my perspective, what I've, the biggest impact I've seen is core is now much more readily able to just say, we don't need that module in core anymore.

CMS can handle it. So think like, I don't know if you know this, but your favorite module, the contact module is leaving core and in the might be time for that. Yeah. And, and part, well, part of the rationale is that Drupal CMS can just install it or they can install it. I don't dunno if it's my

John: favorite module,

Nic: but

John: I do find

Speaker 4: it a little bit more

John: manageable.

Nic: What is your favorite core? What is your favorite core module?

John: Oh, gosh. I don't know. I'm pretty partial the layout builder I guess. But

Nic: yeah.

John: I don't know. I like there a bunch of

Nic: modules. I suspect Layout builder will be coming outta Core once Canvas gets into, but, but the, so the, the biggest impact I've seen is that Core is much quicker about basically shedding, shedding modules that are kind of Edge Casey, because Triple CS can just handle that.

But I don't see a lot of that. And like I said, anything that's contributing to Drupal as a community, as a, as a whole is helpful. But I don't see a lot of that contribution coming back directly to the core APIs that. Are needed to run all that stuff.

John: I don't know, like recipes and project browser are all things that are very, very much Drupal CMS driven and like those are, that stuff's all coming back to Drupal core and people are building recipes for other, other things when they are using Drupal Drupal core.

So, I mean, I, I dunno, I think that's, I think, I think that's actually one of the, the biggest positives to come out of Drupal cms.

Nic: Yeah, I, I think recipe, the recipe initiative and package manager, two big exceptions. I, I think you, you're right there. And I, and I think a lot of that is directly related to the fact that, you know, Adam, Phenaproxima is kind of spirit.

He's in charge of CMS and he also did a lot of work on recipes on the recipe initiative. So when he needs something for CMS, he is also one of the people that writes that stuff. So I, so I think that pipeline. Is definitely there. And that's definitely a byproduct of all this investment in Drupal CMS right there.

He's able to focus so much of his time on yeah, Drupal CMS and all that kind of stuff because there's all this interest. But when you look at something like you know, the caching API or the render API or any of that kinda stuff, like these are things that are, yes, they work, they're battle tested, but they're, they're old.

They need refactoring. They need a lot of work. I am, I'm not seeing a lot of the companies that are investing in CMS or Canvas or that kind or AI or that kinda stuff. Also investing in these underlying APIs. But yeah, I, I, but I, I think that's a slow process. Like I don't think we're at a point where that really needs to change all that much yet.

But eventually it'd be good to see some of that, some of that interest percolate back into the core queue to, to help. How increase the velocity of core itself. Right. It's good to slim it down, but it, it needs, it needs work too.

John: Yeah. No, I mean, I think we will start to see that. I think, like, I, I agree with you that I think these new features, you know, AI and Drupal Canvas are, are definitely going to going to help propel Drupal forward.

I I also think that like, we have a little bit of a, a popularity problem right now, and I think a lot of these new features are focused on helping with that. And by, by helping that popularity problem, people will come back to Drupal core and say, Hey, this underlying system needs a refactor, let me jump in and, and, and do it.

Yeah. I also think products like Aqueous Source are gonna gonna help to kind of drive these things forward. I was actually having a conversation this morning where you know about, we were talking about. Layout builder and how there were some key features of Layout Builder that were kind of just not ever finished, like, translation for example.

Yeah. And, you know, the community stepped up and, and, and, and helped find a, find a solution for that, a workaround, whatever you wanna call it. I would

Nic: definitely call it a workaround more than a solution. And, and, and to be fair, canvas is doing the same thing. I mean,

John: but I think the difference here is that like Acquia now has a product that is heavily based on Canvas, right?

So I think that a lot of the, the feature improvements and also tightly coupled to Drupal core, so I think a lot of the feature improvements we're gonna see now you know, will, will solve some of those, some of those issues, some of those problems. I will say, I agree with you that, you know, the Drupal RFPs seem to have, seem to have slowed, but I, I share your, I share your opinion that it's more, global economic or global business related than it is actually Drupal itself. Overall, I don't know. I'm optimistic. I think the, the future for Drupal is bright and if you have not watched the Drupal Con Vienna d note, I suggest that you do it because it has a lot of really cool stuff in it that I personally can't wait to to check out.

Alright, Nic, well, we've made it through yet another off the cuff episode. Hopefully everybody's still awake while listening. They found it engaging and yeah. Well, thanks as always for joining me.

Nic: Always a pleasure. Do you have questions or feedback? You can reach out to talking Drupal on the socials with the handle Talking Drupal or by email or [email protected] and connect with our host and of the listeners on the Drupal Slack in the Talking Drupal channel.

John: If you wanna be guest on talking Drupal or our new show, TD Cafe, click the re. If you wanna be a guest on Talking Drupal or our new show TD Cafe, click the guest request button in the [email protected].

Nic: You can promote your Drupal community event on Talking Drupal. Learn [email protected] slash td promo.

John: Get the Talking Drupal newsletter to learn more about our guest hosts, show news, upcoming shows, and much more. Sign up for the [email protected] slash newsletter.

Nic: And thank you patrons for supporting talking Drupal. Your support is greatly appreciated. You can learn more about becoming a patron at talking drupal com and choosing become a patron.

John: All right, Nic, if folks wanted to get a hold of you how could they best go about doing that?

Nic: You can find me pretty much everywhere at Nics van, N-I-C-X-V-A-N,

John: and I'm John Picozzi, you can find me [email protected], on the socials and drupal.org at John Zi, or you can find out about epam at epam.com.

Nic: And if you've enjoyed listening, we've enjoyed talking. See you next week.

John: Ah, have a good one.