Talking Drupal #385 - Off The Cuff: Drupal 10, Skills Rot, and Contrib

February 06, 2023
Today we are talking about Drupal 10, Skills Rot, and Contrib with our hosts.


direct Link


  • Contribution
    • Smart Date
    • Calendar View
    • Core
  • Keeping up to date
  • Using Drupal 10
  • Dependency issues for Drupal 8


Automatically generates SEO-friendly URLs (path aliases) for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually provide one.


John P  0:00  
Hey this is talking to Drupal weekly chat about web design development from a group of people with one thing in common love. This is episode 385 off the cuff. Welcome to Drupal. Today we're talking about Drupal 10 skills, rot, and contrib with our hosts. For those of you that join us regularly, this might feel a little bit different for me for you. That's because we had a last minute cancellation. So we are going to fill this show in with some of our favorite favorite topics. And we're just going to have a good old fashioned conversation. For those of you that don't know, I'm John Picozzi Solutions Architect at EPAM. And today joining me are my co hosts, Katherine Druckman, open source evangelist at Intel, Nic Laflin, founder at Enlightened Development.

Nic L  1:00  
Good morning, or afternoon, wherever you're listening to this happy to be here.

John P  1:05  
It's a podcast, Nick, people can listen 24/7

Nic L  1:08  
Good afternoon. Good evening. Good night.

John P  1:11  
There you go way to cover it. And also joining us Martin Anderson-Clutz Senior Solutions Engineer at Acquia. Before we jump into our plethora of primary topics today, Martin, let's talk about the module of the week.

Martin A  1:25  
Thanks, John. I thought this week we would talk about the path auto module was previously covered in a couple of modules. Very early on in the sort of history of this podcast, one being around SEO and another about setting up Drupal as a blogging platform. But it's actually never been covered as a module of the week even though in my opinion, it's probably one of the few modules that might actually be really good to include in core. For anyone not familiar with path auto, it automatically generates SEO friendly URLs or path aliases for various kinds of content. So nodes, taxonomy terms, users and so on, without requiring the user to manually provide that path alias. The module was originally created in February of 2005. So quite old, but it has versions available. The most recent version is eight point x dash one dot 11, which was created in August of 2022. and is ready for Drupal. 10 has definitely been, you know, periodically updated. As you can see by that recent release, in terms of the number of open issues, it has 600 open issues, but only 235 are for the point x branch. And of those only 106 are bugs, which is pretty good when you consider that the module is in use by over 570,000 Drupal websites. In terms of the maintainers the recent releases are by a bear deer, who is a very prolific maintainer in his own right. And in terms of how it works, it really allows you to define patterns that will be used to generate those readable path aliases often using, you know, the title or other metadata really relies on tokens as the weights sort of provide those bits of data that will be converted into the path alias into sort of your structured URL. And then that could include things like you know, the menu path, the names of associated taxonomy terms, you know, the date your content was published, and more. It's also a useful module for helping with breadcrumbs by automatically sort of creating path segments that can then sort of be translated into, you know, links elsewhere within your Drupal site. So let's talk about the path auto module, because I'm sure everybody on this call has used it before.

Nic L  3:44  
Yeah, I mean, it's definitely one of those. It's one of those all star modules, I can't believe that we've never had it as much as a week. It's kind of mind blowing. I also want to point out, one of the other really cool features that it has is some bulk operations. So you can, if you decide to change your rules, or on a rebuild, or you know, for some marketing reason, there's a way to bulk update, certain content types or entity types. You can also Bulk Delete, you can bulk generate, you know, if you if you're inheriting a site where they just didn't use these and everything was like node one, node two, node three, node four, or whatever, you can use it to bulk generate as well. So it's, it's got a lot of handy little tools in it. It is definitely one of those sites, one of those modules that almost always gets installed on every site, even if even if you have clients where they pay very close attention to euros and in generally override them. It's good to have kind of a fallback, just in case.

John P  4:48  
Yeah, it begs the question like when does path auto make it into core because it feels like it's kind of like a chicken in the egg thing, right, because path auto requires token and Have tokens not in core. So like, then token has to be in core and like, so maybe it'll never get into core. But it feels like one of those things that like everybody's installing on their site. Because, you know, machine. Well, human readable paths are, are kind of important these days, even though I have different debates with folks on whether people actually read URLs or not. But yeah, I mean, it's definitely, definitely one of those things where, you know, I think I use this on every every site that I build,

Katherine D  5:32  
I would be confused. If a site didn't use it, I would wonder why. There are a few that I you know, if you're not using a distribution, I suppose, but if you if you must install pasado would be probably the top of the list up there might be admin toolbar not to change it. But yeah, it's definitely like, why would you not use that on the side.

John P  5:51  
So I guess one use case where I think people might not use it. And it's not even a really good use case. So I'm ashamed that I'm bringing it up. But it's like, if you were using Drupal is just a Content tool, right? For like a headless front end. Your, your headless front end may not be your head, those friends may be defining its own paths. And you might not need, you know, path auto, you know, headless projects that I've worked on the path is actually coming from Drupal. So like pathauto is installed because you need that functionality. But that might not be the case for everybody, I guess.

Martin A  6:27  
Yeah, the other thing I can see too, is, in some cases, people may want kind of, you know, to use that node slash, it's almost like a permalink type capability and having better visibility on that may be useful. But I agree, and basically every Drupal site I've ever worked on its use path auto. Yeah.

John P  6:43  
Well, Martin, as always, thank you.

Nic L  6:46  
I just have one more thing to add. This is this is one of those modules to that when I'm building a new, it's been a while since I've initiated a project, I sometimes have a momentary confusion when I go to add them, and it just doesn't exist. So it's like, Wait, that's, that's not in core. It's coming from? And then, of course, I just install it. But it you know, there's that moment of confusion sometimes. But yeah,

John P  7:15  
I'm usually I'm usually confused at the point where I go to a page, and I'm like, Why does the URL to this page update? And then I go, right, got install the module, turn it on, configure it, you know, do things. Cool. Well, Martin, as always, thank you for another wonderful module the week and let's move on to our kind of open ended primary topic here. Nick Laflin, you want to you want to talk a little bit about some some recent contributions?

Nic L  7:46  
Yeah, so there's kind of two sub topics here. The first one is I want to thank Martin and Matthew for helping with, with the calendar view module, and specifically with smart date, both of them kind of I raised an issue where the Recurring Dates wasn't working with Calendar view. And I did a little bit of exploration. But Merton was quick to jump in and test a bunch of stuff, too. And Matthew just released 2.0 point one yesterday, which fixes a lot of issues with how drawing dates work in the calendar view. So one of the things I'm curious about, I guess, the first question, this wasn't really intentional. But the first question is for you, Martin, is What's your philosophy behind those types of collaborations? Like what? When you see another module trying to integrate with all the modules you kind of maintain?

Martin A  8:40  
I mean, I would say, in general, I'm just all about trying to have those kinds of collaborations, number one, because I think anytime you get the opportunity to sort of, you know, work hand in hand with somebody who is, you know, doing some great work on their own, that there's definitely an opportunity to sort of learn from some of the things that they're doing, as well as to, you know, potentially have the work that you've already done on your own module, you know, working on additional use cases by sort of integrating with that other module. I think in this particular case, it had actually worked out really well, because a couple of years ago, I had gone through a process with the full calendar view module in terms of sort of, you know, similarly troubleshooting, you know, why why didn't smart date work with that module? And so, I think that that sort of helped giving me some ideas in terms of some things to sort of test out in the view configuration.

Nic L  9:33  
Yeah, I think I think one of the this is really nitty gritty, but one of the things we discovered yesterday because I actually jumped on a call with Matthew yesterday morning to look at it is smart date doesn't use the date time interface. I think for for instantiating, the date object and I suspect it has to do with the fact that you're using the Ricker library or something, but I think that's why some modules see smart date by default and and others don't. But yeah, I, again, this is a huge shout out to for for smart date, I was really impressed again yesterday when I realized if you add a recurring date rule, so for example, you say I want this to be every Monday, every week every Monday 11 to 10pm, it's very easy to then go in and override a certain day and not only override it, there's like a revert button, which will like so if you override like three weeks from now and set it for a different time and then realize later that you don't need to override that, like, it's very easy to just set it back to the original time. So very, very impressed with smart data.

Martin A  10:43  
Yeah, I mean, when I was looking at doing that Recurring Date functionality, I really tried to think about, you know, what's an approach that could maybe set it a bit apart from some of the existing solutions for recurring data, and it felt like, storing those as field values would make a lot of things easier, like this kind of use integration, because it basically, you know, it means that all of those values are kind of available to views without having to do any kind of additional kind of transformation or, you know, pull in related entities or anything like that.

Nic L  11:17  
Very cool. The other thing I want to talk about related to contribution is related to core. So one of the things I decided this year is I wanted to kind of push, push past my comfort level, I guess, with contribution and one of the areas that I've been a little bit reticent to contribute back, maybe it's some impostor syndrome is core, you know, I'll respond to issues and debug stuff and test stuff. But I've never really written written patches, or maybe I've reroll patches, but never really written patches from scratch. And I was inspired with our show a few weeks ago with Benjamin, talking about the accessibility to kind of take care of that pager issue. And one of the one of the things I'm realizing is a big barrier to entry for debugging on core is I don't even want to say it's a lack of documentation, because I think some of this stuff is documented. But I think one of the issues that Drupal has with some of these things is discoverability of documentation. And in particular, so yeah, Catherine, you might have some ideas, and

Katherine D  12:29  
I have a lot of thoughts about this, actually. Yeah. Yeah, no, I document. It's tough. So So So the number one thing you said is imposter syndrome. So that was that was what I felt tremendously. You know, about my first core contributions, which, you know, I didn't know That's for real Drupal developers. I don't know what that means. I just, you know, it wasn't me whatever it was, it was certainly wasn't me, I can't contribute a core until I was in a position where I was like, part of my job. And I don't know that I would have ever gotten over that hurdle without like, literal support. Ben, would have been you. You just mentioned Ben Mullins, he was one of the people that helped me do a lot of contributions in Claro. And, yeah, without actual human beings like and it kind of meant a core kind of contributor, mentor position. I don't know that I would have gotten over it on my own. I think he really he really kind of need that one on one and how to translate that experience of being slightly handheld through your first few contributions. I don't know how to translate that into documentation. That's tough. And yeah, I did.

John P  13:33  
I don't think you can translate. Like, you can't give people confidence through words. Oh, wow. Okay, so that's not 100% True, obviously, plenty of plenty of written material out there that have given people either real or for manufactured confidence. But I think like a lot of projects suffer from documentation issues, right? Because like, the bigger your your project is, the more documentation there is, right. And it's always hard to it's sometimes hard to keep it organized, sometimes hard to point people in the right direction. But I think like the the imposter syndrome thing, like, it's not, I don't know that the documentation issue, I think it's like, it falls into the realm of mentoring. Like, I think that's where that kind of gets, like, you know, that gets uncovered and resolved. Right, is that and you both just highlighted that with with Ben saying, like, Oh, hey, here's, you know, an issue like here, let me help you guys try to overcome that. Right. So I think, you know, it comes down to like mentoring a little bit more from from what I'm hearing, but like, I also think there's probably a documentation issue, because like, there's a bunch of documentation and it's not always up to date or organized the best way possible.

Nic L  14:51  
And let me kind of walk walk through the couple of issues that I ran into, because that might be helpful to set the stage because there I think there were three key things that happen issue that I ended up resolving. But I didn't even know like where look where to ask like if there was a Slack channel ask the question. So for example, with Ben's help, you know, he created that issue for the h4 stuff, and we'll have this issue in the show notes. If you want to follow along. I posted that he gave the accessibility advice, then you did, I provided the patch for that fix it get tested. And you know, I was using the merge flow, the merge request workflow, right, so there was a merge request. And it passed all the tests. It was accepted, it was merged. And one of the things that we're does is when a when something's fixed for 10, one, you know, it's back ported 1010 10 Oh, and nine, five? Well, they merge that. And then it started breaking tests, and nine, five. Right? And so, which is fine. I mean, that's why we have tests, like something was different in in Drupal nine than Drupal 10 that cause test to fail. So x jam reverted that just for nine, five, and put a patch for that revert. And so and just mentioned, what the issue was what the tests that need to be fixed? Well, at that point, you know, that was my first issue. I wasn't sure. The proper way to proceed at that point, because I had a merge request already merged. There was a patch that she had generated for nine five, like, should I just start from that patch? Should I create a new issues? I can use another merge request? Should I create a new issue for? How do I change the issue? 42.95. Right. And those are, you know, in an everyday job working at an agency, it just like, Okay, where do you want, do you want to rebase this? Where do you want to start? Right? But Drupal has kind of its own unique flavor on top of the workflow. So I ended up, you know, so asked the question, but then I get impatient decided to try fixing it. And I just started with that patch. Right, which, which seemed to be the right thing. Issue number two, was, apparently and I found this out from an issue that a similar issue related to the same problem that Mike Gifford and tourism Zimmerman both had worked on. Apparently, in Drupal nine with classy, they have file hashes of all the templates to compare against, there's a test that compares against the file hash, to make sure that the files don't actually change. So obviously, if you purposely change them, you need to regenerate those hashes. Well, that was the next thing, like, how did you generate those hashes? So, you know, I ended up looking through the test code and find out where they're comparing it, how they're generating it. And if you look at the issue, you'll notice there was quite a bit of back and forth on my side for getting patches until I finally figured out how to read the test correctly and get them generated properly. But But again, it was one of those things where I didn't even know that core hash files to to compare against, I didn't know how to generate that hash. I didn't know where to store that, right. And again, I spent some time googling it and couldn't couldn't quite find anything, wasn't sure where to ask. But, you know, eventually, I figured it out and got it got it fixed. And now it's rcbc. Again, thanks, Shawn. But those those two issues are types of things that like, like you said, some sometimes maybe it's better for mentorship?

John P  18:24  
Yeah, I I think they probably are i One question I have, I guess, is on. So the patch that you developed? And admittedly, I didn't test it for nine, five, I tested it against, you know, 10. But does your patch now work for nine five? Does it pass the tests for nine five?

Nic L  18:44  
Well, that patches explicitly? Well, I don't know how you would have tested on 10. Because classrooms removed from 10. So it, it explicitly. You explicitly works with nine, five, because it is for classy, right? That's right. Yeah. And that's why it doesn't fit why the merge request didn't fail. on Drupal. 10 is class. It doesn't exist anymore. So none of those tests exist anymore.

John P  19:12  
Yeah, I gotta go. Okay. So okay, so that makes sense. All right. So I Sorry, I was under the impression it was a Drupal 10 patch, but obviously, not because Yeah, got it.

Nic L  19:25  
And then, and then there's, there's one final thing that I ran into. And again, these are questions or should they be documentation? Should there be a different place in Slack where people can ask these types of questions, but Benjamin recommended that we split that issue into two issues, one for general core themes and one for stable nine, right? Because stable nine generally has a rule that you can't change it, right for major version. It stable, that's the point. But there's an argument to be made that this should be merged back because it's an accessibility fix, right? And accessibility fix is different than a refactor or a new feature right? So again, so I created the patch the merge request for that. It got RGB seed. And then they mentioned that they want a, they wanted a release note for it, which again, makes sense, if you're changing something that generally is meant not to be changed, that should be released note. There's a lot of documentation on creating release notes for core. But again, it's not something I've done before. So it's like the question again becomes, who do you turn to to ask those questions? Do you just push it an issue queue? And wait? Do you push it in Slack somewhere? Do you just generate it and see if you did it? Right. That's one of the those questions have been on my mind a lot lately. I don't know the answer, I think. Yeah, I honestly,

John P  20:46  
to me, like you need a core mentor.

Nic L  20:49  
Maybe Maybe.

Martin A  20:53  
Yeah, maybe just chiming in a couple of quick thoughts. To close the loop on the documentation question. Something that's been a little bit of a point of frustration for me for a while now is the fact that if you like Google something, the Google results invariably take you to like an 8.6 version, or like some version. And I think there's a an issue open against the project that generates that documentation around basically setting a canonical tag, so they can always point to the most recent version. So, you know, fingers crossed at some point that gets in. And then you know, that way, Google can always be pointing to like, you know, the current stable version, as opposed to something from like, you know, five or eight years ago. The other thing too, that I've noticed about the documentation is that oftentimes, the documentation is really around, like how something works, as opposed to like, how to accomplish something, you know, like how you would use it, sort of a thing. And that's actually where, you know, there's been a lot of great work by the community to sort of, you know, write different tutorials, or cheat sheets, or some of those other kinds of things. You know, so it's great that that material is there. But you know, from my standpoint, I feel like sometimes, if there could be more of that sort of, like, here's how to accomplish something with it, as opposed to just like, you know, here's how that system works internally, that would probably be pretty helpful for a lot of devs to well, it's like,

John P  22:13  
the you need like a what is it called a persona, like documentation per persona? Right? So like, am I a person using Drupal as a content management system? is Am I a developer contributing to Drupal? Am I new to Drupal? Like, what's the persona that you're trying to like get support for right before you jump into jump into the documentation? Part of it too

Nic L  22:40  
perfect, too, is those examples used to be part of the comments, like if you went to, and you were looking at entity query, people would have, especially in the beginning of Drupal, people would have comments there, they'd be like, here's how you find a node that has this field that doesn't exist. And those are like, you know, query not exists, whatever. But those comments are tied to the specific version of Drupal that the data is added to. So they just disappeared, even if there. So maybe a way to be like, this was like something to move those comments forward. And just like flag like this was generated for 8.4, it may not be accurate anymore, you know, and then a way to flag like, Hey, I tested this a 9.5. And it works there, too. So used

John P  23:26  
you guys don't like getting instructions and documentation for Drupal six.

Nic L  23:35  
Six, and seven have dropped away. But what I mean is a lot of the stuff that a lot of those comments are really valuable. But they like if you do it, like Martin said, you when you Google it, you end up on 8.6. So the first thing you do is you switch to nine or 10 because you want to look at that. But those comments don't exist for nine and 10 people, people didn't copy and paste their comments, which is reasonable, like why why would they? But we're also losing a lot of information that way. Because, you know, it

John P  24:06  
sounds like it sounds like a core initiative needs to be started for document documentation, upkeep and maintenance. Well, organization upkeep and maintenance.

Katherine D  24:16  
I feel like I have to defend difficult documentation just a tiny bit because Drupal actually has phenomenal documentation. I mean, compared compared to any other open source project out there. It is fantastic. And there is actually quite a bit I remember because I contributed to a little bit of it. There is a pretty clear divide, even with the personas that you mentioned, there is a lot of documentation dedicated just to end users a lot of documentation that dedicated just to contributors, a lot of documentation just to you know, for developers, but even still, I think that that's the thing, even as excellent as it is. And as as well thought out and targeted and all of that it's still so tough to translate certain concepts and the Just great reference material, like once somebody's slightly held your hand over that, that hump of understanding, then it's great to refer, you know, oh, I can't remember Wait, how do I, you know, roll a patch or whatever it is, then it's fantastic. But but there is there is this, this initial barrier of understanding that that's so tough and impossible to translate into that format,

Nic L  25:24  
I think, well, it's also the discoverability. It's the same thing like with the names of the modules, right? A lot of pathauto is a great name for a great module, right? It tells you pretty much exactly what it does. token is a great name for great module views. Not so great name for Agile

John P  25:43  
is really a great name for a great module. Yeah, it is a great module. It's like how do I how do I access? How do I know it's on?

Nic L  25:50  
Okay, maybe not, maybe it's a middling name for a great module, right? paragraphs, terrible name for a great module, right? So and it's the same thing, like, you have some documentation, like, for example, if you're looking to upgrade from composer, one to composer two, and you google how to do that, in Drupal, you'll get a really like, you'll get the right page. And it's very clearly documented. They the release notes, when I Googled how to do release notes, for core, it was pretty easy to find that right. And pretty clear, there was a lot more documentation that I thought I needed, when I was trying to figure out how to do the content hash for, you know, for that test, maybe there's documentation for that. But I, it was one of those things where I didn't even know what to Google, like, I was Googling like, I mean, I it was literally faster for me to just look into look into the test and see see how they were generating it to compare it than it was to find documentation.

John P  26:48  
Yeah, so I mean, it ultimately sounds like an organization and find stability problem, right? Because I agree with you, Catherine, like Drupal does have great documentation. And a lot of people put a lot of hard work into making sure the documentation is up to date. So like, don't don't think that I'm saying like, hey, like, the documentation is poor, like, I think I think we have really, really good documentation. But I think like it definitely has definitely has a little bit of a fire stability issue. It's like, we almost need like a Google search engine for Drupal documentation,

Katherine D  27:20  
which is a good thing, or to wade through,

John P  27:24  
or like, yeah, because I mean, even myself, like when looking at documentation for certain things, like I find myself like, you sometimes see this like weird, like, shift where you're like reading Drupal nine documentation, and then all of a sudden, you're reading something and you're like, wait a second, then you realize like, oh, is Drupal eight documentation? Like, what? Like, how did I get here? I don't even I don't even know how I jumped, you know, jumped from one to the other. But, yeah, that's not I think, a problem we're going to solve right now. I mean, maybe maybe, if we spent the next you know, year talking about it, working, it's also mostly

Katherine D  28:03  
rented or written by people who probably don't remember what it's like to not be an expert. That's yeah. I mean, there's no true of anything. That's right, any kind of learning from

Nic L  28:14  
it. And the truth is, it's one of those things to where the core core contributors maintainers are very talented, and a limited resource. They're also probably the most qualified to write that documentation. But they already have a mountain of work, right, that they're that they're responsible for. So it's hard. It's one of the things like how do you it's something we've been talking about on the show for a long time is sustainability, like, how do you? How do you get more core contributors so that it's spread out, you know, you have better documentation, but if they, if they just spend their whole time documenting, then, you know, Drupal itself starts to suffer. That

John P  28:57  
also a little bit like, like, a knowledge gap problem, too, right? Because like, as I think Catherine just said, like, if you're new to Drupal, right, you may not have the not the knowledge, or the skill set to understand whatever level of documentation you're looking at, right. So like, it's almost helpful to like, be able to, like tag the documentation, like, oh, this documentation is for beginners, like, okay, cool, like, so, um, it's going to have real basic terms. And there's going to be a little bit of hand holding in it, as opposed to like, maybe like some sort of API documentation that's like, Oh, this is for more advanced users that like understand the API in general before jumping into it. Right. All great. I, David Diaz. Go ahead, Martin.

Martin A  29:43  
I was just gonna say, I think the other thing we should acknowledge is that, you know, in addition to sort of just documentation about how to use Drupal, you know, even if you look at Drupal xAPI page, there are so many great API's and that's one of the things that makes Drupal really powerful as something that can be sort of, you know, extended and more loaded into whatever kind of a web application you need to build. But by the same token, all of that needs documentation. And so you know, you know, not just the level of expertise, but even the sheer volume of things that need to be documented is also, I think, pretty daunting. So it's, it is quite a testament that we have as good documentation as we already do.

John P  30:17  
Well, it makes me wonder it just in what you were saying is like, I'm wondering if there's like, a, quote unquote, get off the island opportunity here to team up with another project service utility, something to kind of like organize and, and provide the documentation in a more digestible way. But yeah, I don't know. I don't know what the what the answer is there.

Nic L  30:40  
But I hope Oh, go ahead.

Martin A  30:43  
I was just gonna say quickly, I recall reading an anecdote that I think it was Angie Brian wrote about having contributed a documentation fix to get lab. And then within a week, a package showed up at our door that was like, you know, I can't remember is like a coffee mug, or just some kind of like, physical token for having contributed to documentation and sort of, you know, raising the question, is there an opportunity for Drupal to maybe do more as an incentive for people to, you know, get them contributing to documentation as well? Yeah,

Nic L  31:14  
that's interesting.

John P  31:15  
As we're having this conversation, I'm remembering previous conversations we've had with Jono bacon about, you know, kind of that community management aspect, right, because there's, there's a little bit of, you know, there's a little bit of community management that needs to needs to potentially happen here. And that example, you just provided I think is a great is a great one, Martin were like, you know, you you are a community member, basically just got just got something in the mail totally out of the blue for making a contribution, which is a nice surprise. And I'm sure I'm sure Angie, you know, appreciate it.

Nic L  31:49  
And final comment before we finally move on to our next off the cuff. These are meant to be discussions, but we're all passionate about contributing, I just say even with those, you know, hurdles that I ran into, it's still, you know, I've never been so invested in issue. I mean, I've fixed issues that I've tracked issues before, but I've never been so invested in issue in my life as these ones just awesome. So, you know, solving these issues, it's definitely satisfying to see, you know, see these things a close that people have been dealing with for for a long time. So it's definitely worth it. And people have certainly been helping out. So definitely appreciate everybody that's that's chimed in and helped me get in the right direction.

John P  32:36  
Cool. All right. So in our pre show, Katherine brought up a great topic. She had, she was wondering about, you know, how do you kind of keep up with your, with your knowledge base, when it's not necessarily part of your day to day job. And I chimed in with the term skill decay, or as you can see in the show tonight, titled skill rot, which is, which is I think, a little bit more more fun, right? So Katherine wants to give us a little a little bit more of an overview of kind of what you were thinking,

Katherine D  33:14  
sure what I was thinking well, so it's a lot of things. I mean, part of it is, you know, I have to tell a little bit more of my story, but, you know, in different times in my career, I've had to do more or less development, right, some of it was in and then you know, engineering and, and, you know, just completely different skill sets that I use at any different phase, right. And now that I've moved on to what I'm doing now, which is open source evangelism, it's a very different thing. I haven't touched Drupal. Because even even before I joined Intel, when I was still at Acquia, I wasn't really working on Drupal. For the last Gosh, I don't know, I don't think I was where I've been. I've worked with Drupal for over a year, which is kind of a weird thing for me to say, because I, you know, I worked with Drupal every day for 15 years. And then now I'm like, I don't want to touch I don't have a reason to right now. And I'm very busy with other things. And I would like to go back and you know, kind of pay forward some of the things that I learned about core contributing, for example, in Drupal, and someday I plan to do that, but there's a big question. And because technical skills have a very short half life, right, everything's evolving very quickly, and you really need to stay fresh. And something that I knew how to do 10 years ago was probably not relevant today. Maybe a little bit of it in the in the process of learning, it is relevant, and I can apply that and it's really, you know, but But technical skills are really about learning how to learn learning how to learn quickly and frequently and constantly. And that yeah,

John P  34:47  
I don't think you ever lose that ability, right? To learn right? So again, in the pre show, and this is this is something that I will say is near and dear to my heart. Right, because previously to being a Solution Architect, this go around I was, I made the choice to switch to account management in my last my last role. And part of my, you know, I had a very similar kind of thought process to what what you were talking about was like, Well, if I switch to this account management role, like, am I going to suffer from from skill decay, right? Or my, or my development skills are my Drupal site building skills going to just just disappear. And while I was making that decision, or shortly after, I'd already made the switch, I went to a talk at let's say, it was nerd Summit, maybe where somebody was talking about, you know, about this about like, hey, going into like, elevating from developer to manager or from like, a development role to a more business focused role, right. And they were like, your skills are going to just disappear, like they're going to it was like, real doom and gloom. And I was like, as a person, you're like, Well, I don't want that. Right. Like, I don't want that to happen to me, like, you know, it reduces my ability, my options, right? So, like, you know, I understand, like, what you're what you're, you're saying, and like, I think, for me, at least, and you know, I'd love to hear from others here, but like, for me, what ended up happening was like, I got into this account management role. And then like, in my kind of, like, free time, my open source contributions kind of increased a little bit, because I was like, okay, like, I gotta, I gotta move my personal website to like a new version of Drupal. And I got to, like, really get involved with like, building up my personal blog, so that way, I can keep those skills, relatively fresh, right? Just because that was important to me. And, you know, come to find out a year later, I switched from the account management back into a solutions architecture role, where, you know, I'm not doing git commits every day, like I was in the past, but like, I still need the ability to kind of read a git log, I need the ability to like build, build Drupal sites, and, you know, do you know POCs so like, keeping up with those those skills in that way was was super important. I'm actually excited because that story, and many more, may be presented at Drupal con. Martin reached out to me and was like, Hey, do you want to talk about like the path from like developer to like, you know, business person, like business, interacting with business and that sort of thing. And super excited to hopefully talk about that, we'll see if it's if it gets accepted, but

Nic L  37:39  
I think it goes another level to like it, these skills can atrophy even if you're not transitioning out of a development role, right. I've worked with developers at agencies where, you know, their, their skills have have atrophied because they only work on one project. So they're still active developers, but the site that they're working on was built eight years ago. So they're still using older theme build processes is still using it like they're, they're maintaining one project. So they're not seeing new way, there's no reason to introduce new processes, right. It's, you know, one of the things I see for example, storybook, I started using storybook, I use storybook in every project now going forward. And the only reason why I started using it was because a new project had a requirement for a non twig based component library. So we started looking at the options, right. But if I was just building Drupal themes using twig I probably would have still been stuck with with Pattern Lab. Right? So it can happen even to developers. But with solution architects, I think what I see is it's not that the thought processes go away, it's just that you you are that you lose skills, it's more that you're not introduced to the new ways of doing things right. You're not introduced to you know, if you're for example storage, right? I like to use storage for a lot of projects now. But if you're a Solutions Architect is not building sites day to day you're probably just gonna say paragraphs out of the box, right?

John P  39:16  
Well, I would say layout builder but we can have that battle point in time. Yeah, so I think I think like part of that, Nick, you're right on there. And I think part of that is like going out to conferences and and you know, listening to Drupal focused podcasts.

Katherine D  39:34  
This is a great way

John P  39:37  
and even not Drupal focused podcast right so like I you know, I listened to tech general tech podcasts as well and other things because I think like you need to you definitely want to have a broader vision or a broader insight into into the the wider tech world, right. But you know, I'm kind of interested to hear Catherine from your point of view. where your job? Like? Is, is open source focused? Right? But it might not be specifically like building things focused, right? How do you how do you feel like you kind of keep up with with those skills? Or do you feel like yeah, my, my need for those skills has kind of shifted. So now I'm kind of like, moving towards other building other skills.

Katherine D  40:22  
Oh, god, that's a hard question to answer. Um, so I mean, I, I definitely I try or at least I think I'm trying to keep up some of those because, on one hand, yes, I don't have a great need for certain skills that I used to use every day. But there are enough of them translate over into the stuff that I'm focused on, that you you kind of do stay fresh, just by necessity, because you have to, you have to kind of keep where you've been to inform where you're going, like, let's say, I'm very interested in software supply chain security right now. And I talk about this with a lot of people all the time. Well, the fact that I spent a lot of time working on CI CD pipelines and stuff like that informs the opinions that I have today. So I still, even though I'm not necessarily hands on with those things as much. I, I managed to keep the ideas fresh enough, just because there's some there's enough overlap, I guess. So but it's a struggle.

John P  41:27  
You have like a you know of it, but you don't you're not like an expert in it, right. So you have like, knowledge to be able to, like pull in and imagine, like similarly to, you know, to EPAM, like Intel probably has a lot of subject matter experts and a lot of different things. So like, if you are like, oh, I need a subject matter expert in this thing I know of it. Let me go reach out and see who I can who I can.

Katherine D  41:52  
That's my fantastic thing, actually. So

John P  41:55  
yeah, it kind of helps you not have to be like, so, so connected to some of these things.

Nic L  42:03  
I feel like I want to ask Martin to but I feel like the answer is going to be I stay, I stay up to speed by just reading three modules a week. That's yeah,

Martin A  42:13  
that's a pretty well, so So the other thing I was going to kind of add to what John already said around sort of, you know, contribution and sort of, you know, those side projects as as a great way to stay current is a really trying to sort of follow your curiosity. So I've gone through phases where I was really interested in like location and mapping. And then for awhile, I was really into, you know, search results and how you can sort of like, do weird and wonderful things with your solar search results. And obviously, the last couple of years, you know, dates and, you know, time zones, and all that stuff has has been a focus. And even now there will be things come up, like, I have ideas around, you know, how we could make Drupal self documenting and all these different ideas. And so when you have the time to just sort of noodle away at these things, I think it's a great way to sort of okay, well, the way that I used to do that thing two years ago on this other module, you know, now I get fatal errors if I try that. And so you start to learn, okay, well, you know, in Drupal 10.0, we've introduced this new method. And so you know, that those are the kinds of things where, you know, just sort of naturally help you to stay more current.

John P  43:14  
Yeah, so two points there. One is I've just suddenly realized that all of Martin's interests relate to time travel, location, date, date, and time and searching for different things very interesting may or may not be building a time machine. The second one there, I think is like, you know, a certain like, skill rot, right? Sounds terrible skill decay. Sounds terrible, right? But like, a certain amount of that I think, is healthy, right? Because, like, out of the four of us, who still remembers how to build like a shockwave application, or like some sort of some sort of accent action scripts? Movie, you know, saying or compass and Ruby, right. So like, there are certain skills that can just like, can just disintegrate reverse? Yeah, exactly. Exactly. Right. So like, I think you have to look at that, at least from my point of view, like, you have to look at it as like, where do I want to go? You know, and what skills do I need to be successful? And where I'm going? So like? That's, that's definitely, you know, it's definitely interesting topic.

Katherine D  44:23  
I have a quote that I heard recently that I've been sticking on, you know, sticky notes here and there. But that is you can do anything, but you can't do everything. I have to remind myself of that. And I think that applies to this conversation a little bit. And that I can, you know, I can become familiar with a lot of different things at a very shallow level, and then a few different things at a deep level. And I have to remind myself of that constantly. And so I really need to kind of pick my pick my area.

Nic L  44:48  
The common thread that I'm hearing from the three of you is I mean, the way the way that you keep is you find something that you do while you're still actually actively building something so you might not be Bill building sites day to day. But John, you found your personal project Martin, you find some usually contributed project that you're going to work on. But I know you do a lot of proof of concepts too, in your day job, right? And then Katherine, you're still Yeah, no,

Katherine D  45:19  
I know, I, I have to dabble too, because I tend to do demos and proof of concept. Same stuff he

John P  45:24  
always sees or like, like, at least when I was in the account management thing, like, I would still do a POC. Like, if I was talking to somebody. And they were, it was getting to the point where like, they were like, almost almost ready to like, pull the trigger. I was like, you know, I might whip up a POC to be like, Oh, well, you know, we could do something like this, or like, Hey, you could do something like that. And like, you know, I think like, you know, I won't say POC saves me, but I think there was a good, there's even today, like, I do a lot of POCs. But that's, you know, that's more job related. But I think like, if you can, if you can try to integrate it a little bit into your day to day, like, that's good. But yeah, I mean, I think finding that side project that that keeps you into what you want to be in. And then like, one thing that I obviously I did, it was like, reevaluate, like I did this account management thing for a year. And then I was kind of like, I don't know, I don't know if this is necessarily for me. Alright, let's talk about Drupal. 10. It's, it's here, it's a thing. Some people have used it, some people haven't. Martin, how're you using Drupal 10? Or are you using Drupal 10.

Martin A  46:33  
So I actually tried to update or at least I ran upgrade status on my my personal site. And I think like a lot of folks have found going through the same process, there's one or two modules that are ready. And so you know, I have to kind of go through that evaluation of, you know, is is the functionality that module provides valuable enough that I want to hold off upgrading to Drupal 10? Or should I just X it and then move on, and maybe down the road, if I really want to, you know, find some kind of an alternate solution. I was playing around with it recently, because there is one module that had been holding off upgrading, because it's a CKEditor plugin, and one that was sort of forked from a CKEditor for community plugin. And so it actually required some some rewriting of JavaScript. That was which plugin. Yeah, a little bit on the ambitious side. But fortunately, somebody from the community actually posted a patch to sort of get the ball rolling. And then between the two of us, we were able to sort of, you know, get that to a point where we could at least tag an alpha release of a new version, supporting CKEditor, five and Drupal 10. So that was, that was a fun process. And it got me actually using Drupal 10, it does feel like there's a little a few things that, you know, don't don't work quite the same way. So as as a very simple example, there was something in 10.0, where the, the height or sort of like the number of rows that you set, as the attribute for the WYSIWYG isn't respected. And so that's a fix that's coming in 10.1. But, you know, when you first use nine, or 10.0, or it probably even CKEditor, five, in 9.5, it feels a little bit different. So there's, you know, some,

John P  48:12  
like, why is my body feels so small?

Martin A  48:14  
Exactly, exactly. So some of those small things. I mean, that being said, there's already been a lot of really interesting things contributed to that 10.1 branch. So, you know, here we are, you know, just at the end of January, but there's already a bunch of things that we can look forward to, to coming down the pipe in June when we get that that 10.1 release.

Nic L  48:35  
I have to say, even though I think we might have briefly mentioned this last week, but even though like there's still that one or two modules that I think every site is waiting on, it's still so much faster. I mean, it's infinitely faster than seven to eight. It's so much faster, even eight to nine, but I think that's why it's making me so impatient. Like, it's it's so much faster, but it's still like, okay, it's not quite there.

John P  49:02  
So I Yes, I agree. I agree with you, Nick, except in the instance where a modules maintainer is no longer either maintaining it or has stepped away or

Nic L  49:16  
no, that happened with eight to nine as well. I mean, I didn't seriously consider writing. I didn't I seriously didn't consider upgrading any sites from eight to nine until 9.1 came out, honestly.

Martin A  49:29  
So the stat that I heard Gabor use is that at launch for Drupal 10 There were 26% More contrib modules that were Drupal 10 Ready than the equivalent when Drupal nine was launched. So there definitely has been a lot of community work in terms of getting those contributors

John P  49:45  
Yeah, but don't get me Don't get me wrong don't get me wrong. I there has been a ton of community work and like the transition from not from eight, from eight to nine, nine to 10 has been has been you know is miles ahead of where we were my like you Hundreds of miles ahead of where we were from like seven eight, right? I guess my, my frustration, right, similarly to what Martin did, I did the same thing I, you know, Martin cover your ears, but I use pantheon. So I spun up another, another multi dev instance. And I installed, you know, the status update module or upgrade status, rather. And like the three modules that some of the issues were like, Oh, do like apply this patch, or like, oh, do this thing like whatever easy, right? The three modules that were not, you know, not not compatible, needed updates, like Cloudflare. And I was like, wait, what I'm like, how is that even, like possible, like, could not, literally could not figure it out for the life of me went into the issue queue was like, What's going on here? And it was like, Oh, well, the Cloudflare module was looking for a maintainer, and they had to go through the, you know, the abandoned project, you know, protocol and get a new maintainer. And so like, that all took a bunch of time, right, and a bunch of effort. Now, there's a new maintainer, things are starting to move ahead, which is great. But the other two modules that I need are relatively small modules. One is the like, like, recreate blocks module, which is like, I don't even know if people are actually still using that. But the maintainer is like, nowhere to be found, there's an issue in the issue queue, like with a patch ready to go, like, could easily just be applied, we roll a version and call it a day

Nic L  51:36  
should apply to become a maintainer.

John P  51:38  
I don't want to do that, Nick, I don't want to maintain like, it feels to me. And that's I brought this up. And like, I don't know, if there was a Slack conversation about it, right? Where it was like, Oh, just become a maintainer to get the new version out. And then you can like, you can like step away, and I'm like, Ah, that feels like so

Nic L  51:57  
you're still contributing to the project. Submit semantic views, if you remember that module. Yes. And it was just because it was a bug, a critical bug that nobody would merge, or they didn't have the merge flaw at that point. And the only thing I did in that module was merge it and do a release an update, I think the module page.

Martin A  52:21  
So so my theory is that module maintainer ship is not a life sentence, you know, so you're gonna go in there for a period of time, you're going to contribute to the project, whether that's getting one release out to help everybody get up to Drupal, 10, or whether it's a longer, you know, period of time of, you know, staying engaged and helping with the issue queue. likely hood is, sooner or later, you're probably going to, you know, have other demands on your time and drop off. So, contribute, while you're interested in contributing, and don't view it as something that has to be like, you know, this, like, you know, like, like giving birth to a child that now you're responsible for it for 20 years, like, you know, I would say, if you're passionate about helping that release, get out, then then just get that release out. And don't view it as this long term thing that you have to buy into.

Nic L  53:07  
I feel like it's different to going in to fix, release, like, so maybe you don't do anything on that module until June 11 comes out. And then the only thing you do is merge the rector thing and test it right. I think that's a valuable service for the community, like you're not on the hook for fixing all the bugs or merging them or testing them or, like you're, it's like, just make sure it's Drupal 10 compatible, that the tests run if there are tests. And that's it.

Martin A  53:32  
I feel like it's a great way to keep your skills from rotting. Yeah. Oh,

John P  53:37  
he brought it full circle, folks. Nice. I just feel like, I guess, based on what we were saying here, like, I can see the value and me becoming a maintainer, just to just to get out the Drupal 10 version, and like unblock myself and a few other people that are commenting on the issue. I just feel I also feel like there's a sense of ownership there. Like once I say, Hey, I'm gonna maintain this, like if a bug comes in, right? Like, I feel like I need to have I have some level of ownership over that to say like, oh, I should probably fix that. Look at it, address it somehow something some way?

Nic L  54:14  
It is. I think it's like I said, I think is different when you're doing it for major version releases, versus like a bug fix like that. That was the discussion that we had a few weeks ago about how often you can comment on the issue, right? Because I think it's one thing to be like, Oh, this is like, if it's just a bug fix for something, you can just apply the patch, right? Even if it takes two years for that bug fix to get merged in, right? You can just apply the patch. But like we said earlier, I'm not comfortable using the Linnaean composer endpoint on a production site. So it's like if there if there's a bug if there's a fix for getting to the newest version of Drupal, I think is valuable to the community just to get that done, and then set back, like your there's a little

John P  55:00  
there's also a little less pressure, right? Because it's my personal site. And I'm like, Yeah, somebody will get to it eventually, right? So like, where you're doing client work, Nick, I can see more of a more of a necessity, right? Like, if you're like, oh, I need this thing to be like, done, like, I gotta jump in here and do it. Like, that makes a lot more sense to me. I'm also also feel like I'm pretty, pretty busy with a lot of other things. So like, you know, I don't want to say like, Hey, let me go through the two week process or the three week process or whatever it is to become a maintainer. And then like, now I've got to, like, sit on my like, it's not going to be it's gonna be another two months before I get to it. Right. So it's like, I don't want to give the community false hope either that I'm gonna, like, get maintainership fix the problem and like, unblock everybody, because I don't know that that's necessarily the case. Yeah. So anyway, Drupal 10 is great.

Nic L  55:53  
Yeah, I can't wait to use it. I'm very excited. I've I have three or four sites that are on the cusp. And probably I'm about to apply for maintainer ship of a module because

John P  56:08  
you want to maintain, maintain the recreate blocks module. Looks like

Nic L  56:13  
there could have used them forever.

John P  56:17  
Catherine, I don't want to put you on the spot. But are you? Are you using Drupal for your personal site? Or is it a WordPress site?

Katherine D  56:23  
I was actually so that I was about to I was about to mention that I so I, I actually have a WordPress site that I threw up not too long ago. I would prefer to have a Drupal site I was going to ask out so what's the current wisdom now that I've been a little bit away for a minute, and it's been a long time since I've tried to have a small Drupal site. I've maintained big ones with you know, Pantheon account or an aqua cloud or something like that. But can you run Drupal 10 on cheap hosting?

John P  56:54  

Nic L  56:56  
not easily? You can

John P  56:57  
I mean, Nick's gonna, Nick's gonna fight me here. Because I know he is. But like, I run my sight on pantheon. And admittedly, I'm a pantheon hero. So Pantheon,

Katherine D  57:11  
I think Pantheon is great. I used to let external was on pantheon.

John P  57:15  
Yeah. And they, they give me hosting for my, for my personal site, which I appreciate. But for me, it's like super easy to be able to run Drupal on pantheon. And when I was paying for it myself, it was like, you know, I think it was like,

Katherine D  57:31  
back then it was like 25 a month. Now. It's something like 80 or something. Yeah,

John P  57:35  
it's a little bit more expensive now than back back when, you know, back in the day when it was like 35 or something like that. But like you for the amount of stuff that you get, I feel like it's probably I agree, worthwhile, get

Nic L  57:48  
the full CI stuff, you get that but

Katherine D  57:52  
keep your skills from rotting. Sorry, I'm gonna go back

John P  57:55  
to that true, we're gonna keep coming back to that all day long.

Martin A  57:58  
So, I'm also going to chime in here and save there is an article on open on how to run Drupal on a Raspberry Pi. So, you know, that's another option. Is

Katherine D  58:12  
it because I haven't.

Martin A  58:15  
Yes, I mean, to me that was the appeal was a you know, like, get some of those DevOps skills from from getting rusty but you know, also the fact that there's like basically zero ongoing cost.

Nic L  58:27  
That's pretty sure mentioned that you're the one that authored that article.

John P  58:34  
Way, way, way was shameless self promotion.

Martin A  58:37  
I like it. That was shameless self promotion. And, you know, covert as well. So

Katherine D  58:42  
it has Raspberry Pi in it. It's never it's a wonderful self promotion.

John P  58:47  
So I So going back to like your route question, right of like running a Drupal site for your personal site. Yeah, I mean, I think it's, it's, it feels to me like it's become easier with Drupal nine and Drupal. 10 The one thing that I'm looking to, I'm happy, like, I'm going to upgrade to Drupal 10 Once the modules get sorted out, right, and the one thing that I'm excited about there is being able to use all of arrow as my as my front end theme, because with I think it was in 10 01 Maybe it's coming out in 10 one zero, I don't know but somebody can correct me as I am sure they will but you have the ability to kind of do color selection and all of arrow which is was missing in like previous versions. So you can now colorize it to like your color palette and like you can you have the ability to kind of do do some stuff there to like make it a little bit more a little bit easier to kind of customize the out of you know, the front end of it with you know, look and feel. And you know, I think that's that's nice because that's something I always I struggled with, like, I'm not a front end developer by any means, like, very, like, if you look at my website, you can tell I'm not a friend developer. So like, one of the things that was a barrier to me, it was like, kind of like having that good looking website, which is what I think people, you know, some people kind of drop into different different platforms for, but um, I think that's kind of been alleviated a little bit in with Drupal, 10. And, you know, the, the new themes that have been added. So, yes, I am an advocate. Go ahead, Mark.

Martin A  1:00:29  
Oh, I was just gonna say quickly, I'm pretty sure that feature that you're talking about was actually in 10.0. So it's, it's been in Drupal 10 since launch. The other thing that's worth pointing out is that unlike the color module that some people may remember that sort of like generated a bunch of extra CSS files, this is actually using CSS variables. So it's not there's no you know, sort of like rendering process where you know, you've got all these files. But now if you'd like, went in and customize those, and then change the color as you would like, break a bunch of things that you had done. So it's actually it's actually really slick.

John P  1:01:00  
Yes, Martin, you are, you are correct. You are correct. And you think I would know that because I generated a meme that won me a sweatshirt based on based on colors being added to Albero. But yeah, so is this

Nic L  1:01:16  
variables? Yeah.

John P  1:01:17  
I think Drupal 10 Move away from WordPress comm to Drupal 10, that's should be the motto there.

Katherine D  1:01:25  
Power, this static site generator thinking or something I don't know, that sounds

Nic L  1:01:30  
there's one tone. That's my sights is generated from Drupal nine.

Katherine D  1:01:36  
It's probably my next My next project. To move to that.

Nic L  1:01:39  
If you want to, if you want to look at if you want to look at tone, you can set up a local so locals

John P  1:01:45  
can mentor you in the ways of tone and status. Awesome. I'm gonna take you up on that. Making connections right here.

Nic L  1:01:52  
Awesome. Okay, something else that's been on my mind is dependency management. So Drupal many years ago made the move to composer. And I feel like something that I've noticed each time there's a major upgrade, there are a few things that the community hasn't quite coalesced around or figured out. And I'd love your opinions on them. Number one, when we first started using composure, a lot of modules adopted the format eight dot x dash, whatever. And they're still using that. So you have a lot of modules that are version eight, dash x is eight dot x dash three, which is triple nine and 10 compatible, is truly compatibility.

John P  1:02:38  
It's interesting, because I was actually I'm gonna interject here a little bit because I was actually going to bring this up during the path auto discussion, because I noticed that path Auto is 8x 1.11. Right? And like, I remember a year ago, two years ago, three, I don't know, I don't know what it was, it was some time ago, right? There was like this push in the Drupal community to go to like more of a semantic versioning approach for modules where it's like 1.11 and two.dl. And some modules have done some modules have not I was wondering like, any movement there is there a is there like a team that's like working on that, like

Nic L  1:03:18  
I'm seeing that new, it's up to the module maintainer, I'm seeing new modules are usually going semantic. But one of the problems that happens is if an existing module has a dot x, and then they just had to go to semantic versioning and start with 123456 or seven composure thinks that eight dot x is newer, then 1.0 point oh, even if 1.0 point oh came out yesterday, because eight is higher than one. So the way that the semantic the mapping in the Drupal packages is eight will be newer than anything below eight.

John P  1:03:54  
So is that a composer problem or a Drupal problem?

Nic L  1:03:58  
It's a Drupal thing. It's Drupal is and

Martin A  1:04:01  
my understanding was that that would only happen if they went from let's say like eight dot x dash, you know, 3.1 and then they started their semantic versioning at like one point 0.0

Nic L  1:04:14  
Maybe it was one that maybe we just developed because I know that devel if you tried installing devel you had to specify you wanted 4.0 otherwise it would install eight maybe it's the recommended version that they put in the module, I mean, isn't

John P  1:04:28  
isn't the solution here and like again, I'm like overly simplifying as I as I tend to do sometimes right? Isn't the solution here to just copy what you have in whatever your latest and greatest releases or you know, if you want to update your release, go for it. You know, copy that into a semantically versioned branch right 1.1 dot whatever. And then just either remove or like deprecate your your previous one from

Nic L  1:05:00  
Yeah, but then you also have to notify all the problem is, all the sites using ADA X are using upgrade status or determinant. So you have to say like, you have to tell the module that that version is now deprecated. And the new version is 1.0. Point,

John P  1:05:16  
data function and

Nic L  1:05:19  
No, no, that already exists, but it's okay. Yeah, just just

John P  1:05:22  
me just just pressing buttons correctly is basically what you're saying.

Nic L  1:05:27  
And then, but there's also other edge cases, like I know, the Elastic Search connector module, they store the version, like they version it based on the version of elastic that it supports. Right? So they for the last six, seven, there's just happened in there for last two, eight, but it's not version seven, and version eight of the module version, one, two, whatever. Yeah, it's more complex issue. The other thing that I noticed, and I just found this out, this ran into this issue this week, so this is fresh on my mind. I have a new client, they weren't they hired me specifically to help them get from Drupal eight, Drupal nine. And they didn't send the contracts until two weeks ago. But I evaluated everything about two months ago, before Drupal, 10 came out. So the normal process for upgrading to Drupal eight to Drupal nine is look it up your status, upgrade the modules to the most recent version that works in Drupal eight and Drupal eight, Drupal eight, because that will also be compatible with Drupal nine, then upgrade Drupal, and then do the same thing for Drupal. 10. Right? Well, I discovered an issue with how Drupal modules manage their dependencies. So this, this site uses feeds and feeds tamper if you remember those modules. The newest version of feeds dropped support for Drupal eight. Okay, which is fine. And that's another thing to some modules when they're upgrading for Drupal, 10, some modules decided to release a brand new semantic version to drop support, some didn't. Some, some just did a minor point release. So the newest version of feeds dropped support for Drupal eight, which isn't a problem, because you just get like if you update feeds, you just get the most recent version that is still compatible with Drupal eight, right? That's how composure works. That's the beauty of composure, feeds tamper did not drop support for Drupal eight. So that means is when you upgrade feeds tamper, you get the most recent version of his tamper. But you don't get the most recent version of feeds, which is five different people, I have no idea. Now here's the problem. The newest versions of feed tamper depends on functionality that's only in the newest version of feeds. So if you install both of those, you end up getting fatal errors in your site, because feeds tampers expecting stuff in the newest version of feeds. But the newest version of feeds isn't replay compatible.

Martin A  1:07:57  
It sounds like there's maybe a dependency issue and fixed bridge should be requiring that latest version in there. So that composer wouldn't do that too. You

Nic L  1:08:06  
know, the problem is that feeds tampered, didn't drop to play support when feeds did. So you're getting newer version of feeds tamper but not the newer version of feeds.

John P  1:08:16  
Well, right, but that what Martin saying is that newer version of feeds tamper should require the newer version of of

Nic L  1:08:26  
Yeah, exactly. Somewhere. But that's so cause of the problem, because it's depending like it saying is Trueplay compatible, but it's depending on something that isn't like it's again, like it's solvable. Even if I don't go back to the issues. It's because I can just find out what version of feeds tampers out when the when the version of fees is getting installed is it just require that version specifically, right, that'll solve the issue. But it's also one of those things. That is it's just an edge cases, the dependency edge case and I've seen this multiple times with major version upgrades. So again, documentation leads

John P  1:09:00  
you to that, it kind of speaks to the idea that like when you build build an ecosystem of modules or you have a module that is another module, right? You have to be very in tune with what that module is doing. Right. So it sounds like maybe feed stamper and I haven't looked so I don't know, but like maybe feed stampers built is maintained by somebody else. And you know, they haven't haven't kind of kept up on what feeds is doing.

Nic L  1:09:27  
I don't think it is I think it's less, it's less. It's more mundane than that. I think what it is is the code and feeds tamper has nothing in it. That is incompatible with Drupal eight, so they didn't drop Drupal eight support feeds. The newest version of feeds has code that is incompatible Drupal eight, so they dropped your blade support and then they just developed them together. So when there's something new and feeds that just naturally added to feeds tamper not thinking that that now gets them out of sync. Because the truth is that You know, people should be offered to play by now. Right?

John P  1:10:03  
Yeah. I mean, it's also it also seems like a little bit of an issue is where like, you know, I don't know, is the idea that feeds is probably could could potentially go away and in eventually they favor of like migrate and migrate API, right. I like I like feeds as like a site builder, like, because it doesn't make require me to like write code to do to bring data in from from a third party. Right. So like, I think there's a place for feeds in the Drupal ecosystem. But

Nic L  1:10:36  
I mean, I agree that the goal is to get rid of feats tamper in general, but honestly, right now, they're in Drupal eight, Drupal eight is insecure. My goal right now is no matter what, like, don't worry about re architecting the site, my goal is on this, these types of projects, I've had a couple come in recently, like, Hey, we're still in Drupal eight is going away. Right? My goal is always just get them up on Drupal nine, immediately, right, so that they're secure, and then worry about re architecting, anything that needs re architecting, I will gladly

John P  1:11:05  
move your site. And here's the rush fee. So

Martin A  1:11:09  
I had a quick look at at the feeds module and its releases. And I suspect that the issue is really because feeds instead of having stable releases, it is still on like 3.0 beta releases. And basically, when they added Drupal 10 compatibility, they went from 3.0, beta two to 3.0, beta three. And so composer probably doesn't have a really good way to say, you know, require the beta three version, within feeds tamper. Where if he actually did them as more like point releases on the feed side, then that would make it easy for feeds tamper to require the version that has the code. That's, I mean, to be stable,

Nic L  1:11:50  
you're highlighting one of the other issues with the Drupal community and contribute in general to is people no longer in general, I mean, your modules are very much an exception. They don't do full releases. Even if they do before released, they don't ever cut new releases, they do a full release at some point. And then everything just goes to dev for years, and years and years and years. And then maybe the next major release, they do another like,

Martin A  1:12:14  
I mean, one of the things I know, like Gabor has been working on the they call it like the deprecation status tool that does reporting around like what versions are like Drupal nine compatible are now Drupal 10 compatible. And one of the things that I know that they added within the past year is actually feedback within there to say not only is a module like Drupal 10 Ready, but also has a stable release to sort of like, try and raise visibility on there. So yeah, I mean, I definitely agree it's a big issue in the community and, and anything that we can do to sort of, you know, nudge maintainers in the direction of creating those stable releases is definitely going to be a big help for everybody.

Nic L  1:12:55  
I mean, I'd be happy to share this, because this is probably an edge case that you want to catch, because it's a similar issue to what we discussed this on the show a few weeks ago, but it was a similar issue to what happened with better, better exposed filters, right, better exposed filters released version 6.0. That was Drupal 10 compatible. But it depends on jQuery UI modules that weren't Drupal 10 compatible. So you couldn't install it, like if you told it to install, it would try to install jQuery UI, and then it would be like, hey, like, if you are in Drupal nine, and install better exposed filters, it would work, because Jate those jQuery modules are compatible with Drupal, Drupal nine, but if you were started with Drupal, 10 and tried installing better exposed filters, version six, you couldn't install it because it depended on jQuery UI modules that weren't compatible with Drupal. 10. But it's, it's complicated. It's a it's a complicated when you have like you said, John, when you have ecosystem modules like this, it becomes complicated.

John P  1:13:58  
I mean, it's like, it's like if you looked at like media, right? You know, you like and media decided to drop support for something or change something like you would have a whole ecosystem of modules that could be could be an issue. But, you know, I think the biggest takeaway here and we've probably touched on this quite a bit, quite a bit now. Right is both with our documentation and and just this this piece of, of, of the show, right? Is that like, open source software is large and sometimes complex, and there are a lot of moving parts. So everybody's trying trying their best and

Nic L  1:14:40  
yeah, I hate to be I feel like this episode's me raising issues that I don't have solutions for Don't worry but the

John P  1:14:47  
WordPress Wordpress or Joomla communities elope will accept you with open

Nic L  1:14:52  
but I think sometimes the first step is is talking about them right if if people have ideas or thoughts on how to solve this, I'd love To hear them like we're, we're always available on the talking Drupal slack. If you have ideas, I mean, these, these are things that need to be solved. They're they're not short, there's no short term fixes, right? They're long term, they're going to take probably multiple years to solve these issues. But step one is discussing.

John P  1:15:15  
Or if you're the maintainer of the feeds tamper module and you want to give Nick a piece of your mind, feel free, feel free to reach out?

Nic L  1:15:23  
No, and, actually, on that note, I'm glad you said that. I want to be very clear, like it's an edge case. But it's also I don't blame them, right? It. They're dropping support for Drupal eight, right. And I'm not really blocked from upgrading that module. I literally just have to look at okay, when was feeds beta two released? Okay, let me just pin the feeds tamper version that came out at that same time, right? It's simple. It's not, it's not a huge burden. For me, it's probably more of a burden for him to fix it. But it's an issue that it's not. And if there was a way to like check that and be like, Hey, you're saying that to AAA compatible, but you're depending on something that isn't, you might want to fix that be it'd be a nice flag for the maintainers.

John P  1:16:06  
Right. All right. Well, I appreciate everybody's insights. And this this has been as, as usual, a very interesting and great conversation. So thank you all for for joining us. And we will, we'll talk again soon.

Katherine D  1:16:22  
Thanks for having me.

Nic L  1:16:23  
Do you have questions or feedback reach out to talk in Drupal on Twitter with the handle talking Drupal or by email a show or talking to You can connect with our hosts and other listeners on the Drupal slack in the talking triple channel.

John P  1:16:36  
You can promote your Drupal community event on talking Drupal. Learn more at talking to promo

Nic L  1:16:41  
and get the talk in Drupal newsletter for show news, upcoming Drupal camps, local meetups and much more. Sign up for the newsletter at talking

John P  1:16:48  
Thank you patrons for supporting talking Drupal your support is greatly appreciated. You can learn more about becoming a patron at talking and choosing the become a patron button in the sidebar. All right, everyone. We have reached the end of our show, Katherine if folks wanted to get a hold of you how would they go about doing it?

Katherine D  1:17:07  
And you can find me on Mastodon at Katherine D libre one libram dot one. You can find me on Twitter. Still at KatherineD  to an extent. You can find me on my sad WordPress site Katherine Druckman .com Talk soon to be your Drupal and tome. And you can find [email protected] I also have some announcements coming soon. So yeah, look for me there.

John P  1:17:35  
Sweet Martin. What about you?

Martin A  1:17:38  
Folks can find me on all the socials at mandclu as well as on

John P  1:17:45  
Nic Laflin

Nic L  1:17:47  
me online at nicxvan pretty much everywhere.

John P  1:17:52  
I'm John Picozzi. You can find me on all the major social networks and at JohnPicozzi and you can find out about EPAM at epa

Nic L  1:18:02  
And if you've enjoyed listening, we've enjoyed talking. See you guys next week.

Transcribed by