Introduction to DrupalSpoons, a new developer workflow for Drupal contributors - Tag1 TeamTalk #017
Hello and welcome to tag, one team talks our series. On emerging web technologies, that tag one consulting, today's. Episode is about Drupal, spoons, a configuration. Of groups and projects built on gitlab, that, offers issues, murk requests, and continuous, integration for. Contributed, projects, in the Drupal ecosystem. I'm, Preston so and I'll be the host of today's episode, I'm joined today by two of my dear friends and colleagues most. Weitzman located, in Boston he is a subject matter expert senior, architect and project, lead at Todd one I'm. Also joined today by Michael, Meyers who's located in the Brookshire's Massachusetts. Managing, director at Todd one I'm, your host editor-in-chief Preston so here in New York City where, it's currently raining cats and dogs let's, go ahead and jump right into this. Really interesting conversation, I don't know much about this topic so I'm really excited for today's episode, for. Soft motion at a high level what. Is Drupal students, should we explain what a spoon is first maybe -, for. Sure yeah people are very. Curious about the name so. They're. In. This ecosystem, I've, built this, platform there. Are spoons and there are Forks and the. Word forks is easier to explain than spoon so in get you. Can have a public, repo, that, people are sharing and then. People, are encouraged. To make Forks of that repo and that's, where they make changes and then the, forts are encouraged, to use merge requests, in order. To move their, changes, into the main repo so. That's, what a fork is and so. If spoons are, the other half of Drupal spoons and you know we'll definitely talk a lot more about why we need spoons and forks and that kind of thing, it's. A very evocative name motion and you know to be honest I didn't really think about Forks. When I heard, the name Drupal spoons so I really appreciate, that explanation, and so I guess you know for sort of us familiar with how you. Know how modules, and projects, are built in the Drupal ecosystem. You know you, know you kind. Of alluded to very briefly some, of the kind of things, that people deal with today what, does the, development, process look like for a typical contributor, right now who's managing a module or a theme. You know how does that kind, of change with, the. Motion over to get lab and of course how. Things have been working on drupal.org sure. So. The, way the development, process works today on drupal.org, is, that. We have an issue queue for each project, davell, and see tools and pathauto and so forth and in. That issue queue people are encouraged. To post patch files and that's. The mechanism that they use in order to propose, changes to, those projects those. Patch files are. Picked. Up by a, bot. Called Drupal CI and. Drupal. CI has a recipe, where, it assembles, the project, like path auto applies, the proposed, change the patch file brings. In the, right version of Drupal core and the, right database and so forth and runs the suite of unit tests on it so. That's. How development. Works today and it. Certainly works, Drupal. Has achieved lots, of success with it and in. A sense with. Drupal spoons we're doing the same kind of thing we're. Just doing it a lot more elegantly. In my opinion and so. I. Want. To get into like what, are the pain points for. The current. Drupal.org, development. Process so. I have a list here if people will bear with me so. When, you're authoring, issues, and replies on. Drupal.org, it's. Extremely. Hard to upload. Images in order, to supplement, the point you're trying to make there. Is an image button in the toolbar if you, click that you would think that you could just like drag an image in you can't the.
Process. Which isn't well described is that you have to attach, an image file to your to. Your comments, and then reference, that image file when. You click that image button so. There's a two-step process there, it's, only two sets but it's enough to discourage. Most. People from using issues, using. Images sorry you, might think that like using images, is not a big deal because, as well we never had that but. It is a big deal okay so when. You're talking about bug, reports, when. You're talking about support, requests. And feature proposals. The. Conversation, goes way faster and clearer. When you have images supporting, that conversation. So, the drupal.org flow, is actively. Inhibiting. Our conversation. By not making it easy to add images. In. Gitlab you can copy from. One place and paste into the text area and you have an image uploaded, you know no fuss. You, can drag, it from somewhere. On your desktop and move it into the text area and you have an image in, fact, you know Drupal 8 works that way but, drupal.org, doesn't, have Drupal 8 it has Drupal 7 and so. We don't have nice images and it. Really hurts us, another. Problem. With another, pain point with Drupal 8 org is the nitpick. Culture, when. People, propose, patches, inevitably. People, follow through and they. Might comment on the material. Points about your patch but they will definitely comment, on the. Variable, names they disagree, with or the whitespace they disagree with or, various. Other coding, standards issues. And. You, know it's fine that, those things should get fixed before they get into the code however. It's not fine in my experience, to, just say what those problems are without also fixing, them and, but. The tools didn't make that easy so the culture I'm drew blood org is generally that it's okay to just give, a nitpick. Review and walk away the. Way this is solved on git lab there are a couple different ways when. You're giving a review in a merge request you. Can actually. Submit. A suggestion, which. Is this, line should be this way and you. Write the new line for that way new. New version, of that line and the author of the merge request can accept your change. Or proposal. And so. Neither. The the reviewer, or the, merge. Request author had to get their command-line tools out to do this work it, was all done with a browser was all done easily so. I as, a patch author would love to get suggestions and would, not love to get nitpick, discussion, and there's. This other tool called the web IDE in git lab which is amazing, really. Cool, engineering that someone and product engineering, on any, merger quest you can say open in web IDE and what. Happens, then is that you get this. IDE. In the browser that has syntax highlighting, it has the ability to open it opens, automatically, all the files that were changed in that merge request and, you can go ahead and make the changes that you have. Spotted for that merge. Request so it's like a much. Enhanced version. Of suggestions, where, you can make a substantially. Better version, of the patch again, without, resorting. To the. Command line pulling, down the branch opening. Up the editor and so forth you, have a quick way of making changes so I think that our velocity will improve once, we adopt the web IDE you know the web ID does other stuff that are amazing like as you're making changes, you, can make commits, and those, commits automatically, run the CI pipeline, and you can see the CI pipeline, pipeline, status. As you're developing in the web IDE so, you can iteratively. Make changes so that your tests pass. So. It really, is quite smart engineering there and I think will really benefit from that the. Git lab issue queue supports bulk editing you. Know there's this problem on drupal.org where like when we go to a new version it's. A real pain to enter, into every issue change. Its version and submit it but.
That Is the process when, we have to do hundreds, of those like when there's new versions of Drupal core the. Process, is that, I've seen is that X Jam opens, up an infrastructure, issue and ask Neal to run a script on the. Server so that we can move hundreds, of issues and change, their version, that's. A service that is not open to all projects, and it's it, just doesn't, have to be that cumbersome, this, is something that is, out of the box we'll get lab. More. Pain points. Done. Really well here Moshe Silla, straight find it but you know the fact that you know not only are we grappling, with the fact that you know drupal.org is sort of this old or you, know it's kind of its kind of this well-established approach. But obviously, there are certain areas of friction you identify the image just problem, for example batch editing, another. Issue as well and as we know very well the Drupal Association has. Been working really hard to migrate. All of rupaul's code over to get lab if you're interested in hearing more about that we have a couple of episodes with, the Drupal associations, interviewing team as, part of tag one team talks on that subject but, I'm kind of curious you know I know that most you don't have any any special, privileged, access to get lab which is a shame because I was gonna ask you that help, me you know hack into some of those really cool features, you described but you, know you said that it uses your custom code except for the issue migration. What. Exactly do. You see as kind of the next, steps in terms of kind of you, know do you have plans to integrate at all with the work that the developer, that the Drupal Association is, doing you, know is there kind of you, know synergy. Between what you're working on and what they're working on what's the kind of next. Steps in terms of where this is headed yeah, so, I have been in close contact with the DEA and and. They. They're. Watching Drupal spoons really closely it's, my impression that, they are rooting, for Drupal spoons they, would love for the community to embrace it if, we look at it from their shoes they, have a lot of work in front of them and not much resources, to do it in and that, was only made worse by the cancellation of Drupal con North America, recently and so.
Wouldn't, It be great if they could just move everyone, off of the project modules, onto. A vanilla gitlab I think, they would love that they would, you. Know remove maintenance, of the project modules and must be able to upgrade to. Drupal 9 on drupal.org, in. A much simpler fashion and they. Could, potentially remove maintenance, of Drupal seei which. Is quite a big, time. Time, and resource investment. They have to and like. All. Those dollars. And hours can go into you, know the next highest priority. So. I think that's why the DEA is really. Interested. In this project at. The same time the DEA basically. Follows, what the community, says, and wants right. Above. All else and so you, know I've been saying the Drupal spoons is a model and a movement it's, a model in that I'm showing. The, DEA and showing the community that we can you Gunilla get lab and it'll work fine, but. It but that's not enough if it, was just a proof-of-concept. I would. Have announced. It on Twitter and been done with it but, I feel like we, need modules. To move over we need people to move over we need people, to want it and to say they want it in to tweet about it in, order to overcome. The status quo I think, that like there's, no villain, in this case like people. Are generally supportive, of this move. The. Only villain is the status quo. It's. You, know people. Have their pet features that work differently, from, drupal.org to, get lab and they might prefer the way they work on get on drupal.org. But i think you know i have more pain points that i can illustrate here, i think when you look at the the some of the pain points and the some of the improvements, that get lab offers we. Just might have to bid a you. Know fond farewell, to a few things that were preferable. On drupal.org. Absolutely. Absolutely and i think that you know this is part of a lot. Of you know obviously. There's been this course since the very beginning of Drupal's. Move to get for example about you know leveraging, some of these source control providers, and they're full feature sets, it's.
Been A very fraught kind of discussion, obviously because there's a lot of different passions. And moving parts and you know really really challenging issues involved so you, know i think i think one. Of the things i can say is that you know we definitely you, know I, sort, of appreciate most, you're really. Kind of concentrated. Thinking on how can we actually you know challenge that status quo and move into this kind of much more kind, of developer friendly direction, for. This environment which I love you know I think, we glossed over a little bit of kind of the core. Features of rupal spoons I think that you know your description, was was incredible, but, I wanted to get just a little bit further into some of these kind of three core, pillars, that you identified so you, mentioned, that Drupal spoons offers, obviously issue support, you, know you know I imagine you know this is very similar to kind of the, ways in which github. Or get loud normally first issue to use one, of the things that I know that get love it laughs provide, is a much richer kind, of customizability. When it comes to things, like issue. Management, and things of that nature could you speak to a little bit kind of you know how does, kind of triple spoons improve, upon the issue management, or or issue process. Within the get Lab context, nowadays yeah. For sure yeah, so the features, from gitlab that we know we're primarily using our issues, merge, requests, and continuous. Integration CI. So. You, know get Lab offers, relatively. Simple issues, they're. Better in some ways and worse in some ways than drupal.org issues. And, you. Know the sort of management, of them is the same you have a set of maintained errs who. Accept, code changes, and that. Sort of thing one. Place where I think that Drupal spoon is really innovated, here is the. Local development process, for contribs. Is a. Lot better, defined, than it is under blood org when. You get, clone a. Contribute. Funds and run composer install, you. Have a fully functioning. Website, and installation, of Drupal there you don't then have to like symlink, it into an external Drupal, core for example in order, to have test run it all, is cohesive right, there that's. Beneficial, for a couple reasons one is that in, your IDE you have, Drupal core you can do. Completion and so forth with. The with the right version of Drupal core furthermore. Any other dependencies, are right there, next. Up what, was I gonna say I have a list well. The test running okay so you. Can just run composer, unit and your, test run no, silly thing yeah yes.
But, But apart from that on on Drupal CI you. Kind of have this problem where your tests don't run exactly the same as they do on Drupal. CI and so, you have people who are following the Drupal CI Doc's how do I get Drupal CI locally, so, that I can, replicate. The, failure that I'm seeing on Drupal, out of our testing that's, not a thing with Drupal spoons like it's. Exactly the same commands, that, you run locally, and that you run at at, that, gitlab so I think, that's another, real benefit, for developers, is that you have a clear, way to develop, and, run. Tests I think. You know especially as as tests become more and more critical to every, developers workflow obviously you know I think the adoption. Of test-driven development has been you know relatively slow but but picking, up some speed this, will be very very good to see a lot of adoption, in the Drupal community of, these, kind of mechanisms, and I'm very excited to see you, know you mentioned, for example large, requests, which of course are you need to get lab really, really great feature you know a kind of unique CI feature, suite but you also mentioned the web IDE which I thought was one of the things that you know has been really challenging it's really hard to kind of directly, edit, code within the environment, that you're reviewing code in so, I think that that's a really good kind of component. As well a. Little. Bit from the engineering. Side because obviously everyone can read your blog post it's you know an incredible, description of exactly what tripple students does I get a little bit of a kind of human psyche the personal side here like how did triple spoons come about you, know what were some of the problems that you, saw and that we're affecting your own kind of personal workflows might, you end up reading yeah. One. Of the projects I maintain is called devel and if, people want to check out dribble spoons that might be a good project to check. Out on there we've, got a problem with testing. On drupal.org where, it wasn't showing all, of the deprecations. That we expected, it to show, and. So. We were running the, test. Suite on Travis, CI. Which is pretty cool system but had a little bit of frustration with that and rather, than improve our Travis tests I wanted, to give get labs to see IO try for running our tests and in. Order to run the tests I had to kind of reorganize, the. Codebase. And. Once. I had the code reorganized, and the test running I was like well this. Is really cool this is the way I want to work. Wouldn't. You know why not bring issues and merge requests in and just do the whole shebang so. It kind of spiraled, in that way I, didn't intend to to build a whole. CI, system. For Dobell and I certainly didn't intend to build a. Platform, for other project to join on, but. Like it, made every step of the way made sense and it made it cooler and we.
Were Under lockdown and, it was a corona project. And. It. Was really a lot of fun, you. Know while the world was what stops so I'm happy with with. How it has turned out I think, it's totally usable, by projects, that want to use it and you'll. Recognize, benefits. On day one from doing so. Illustrate. Very well also the kind of scratch your own itch you, know a tendency in the triple community and also in open source at large you, know obviously this sprung up from you know a, kind. Of task that you needed to do for for, maintenance, of a development you know wasn't necessarily, something. That was you, know this grandiose, idea, and. To. Find the time to really build, this out, you. Know I wish, I could have been that productive but. Maybe. Next pandemic we'll see okay. So one question I have pretty much though was you, know we talked about how this is gonna completely, reinvent. And you. Know revitalize, in some ways the kind, of contributed, developer, process, and the developer workflows that people, use to create contribute, projects is, this gonna be four core to is there any kind of potential. Or any, sort of way that this could possibly be something, that could be really beneficial to, you know core committers, or forming teeners, like. Fabian who's the guest on our core competence will show all the time yeah. So. You. Know my personal opinion is that core could definitely. Could. Definitely use this process you, know I think that. Politically. Core is a bigger deal to many people so, I haven't tried to really advocate for. A core using Drupal. Spoons so. My. Goal, really is to like, get. Country, or projects, to use it first. On Drupal spoons and then maybe the. DA will offer, for. Contraband. Illa get lab experience, I think that would be a awesome next. Step, and. Then, I think it's up to the community. And, the core maintainer x' to decide, do. We want to stick with. Project module or do, we want to make it lab work, and. I. Am, like thrilled to be part of that conversation and, do. Prototyping and. Talk. Through the pain points. You. Know ultimately we'll. See where that goes I think that core, might be sufficiently. Different, and its needs that maybe, it's. Gonna be its own group, on get lab that is separate, from Drupal. Spoons like it might not be the exact same configuration but. I think all of the same ideas, and workflows apply I. Think. That's a, it, sounds like a very lofty vision, you. Know I think we all know how challenging, it is to get some of these things you know going for not, just contribute, also for our core so. Actually, yesterday you know I know that this this, originally, started, out as a kind. Of milestone. For the develop module and. I as I understand it it's, live and working right now for the valve module, could, you speak a little bit to kind of like how can somebody leverage, Drupal spoons today and. You, know for example me you know I had, very you, know I have a couple of projects that I've got that I'd. Love to introduce Drupal, students to what's. Kind of the first step for someone who's totally, new to, the Drupal Spoons approach and, how. Can I get started yeah, yeah there's like you know 25 modules, or so that are enjoying Drupal spoons right now the. Way you join. Is that first you join as a user, where. There's. Like one issue, you have to create in a queue, called the webmasters, issue queue and the. Only thing you have to do is post an issue that says join Drupal spoons at. That point a bot will pick up your new issue request, using. The get, Lab API and it. Will add you to the. Drupal Spoons group, and the Drupal Forks group the. Difference between the two being you, have only, read. Permissions, in Drupal. Spoons. But. You have full write permissions, in Drupal Forks and you can make any changes you want and get to any project so we, always collaborate, in Drupal, Forks, but. Drupal. Spoons is where like the golden accepted code is. So. You fill, out that issue to join and then you fill out a second issue that says migrate.
And Then the module name to, Drupal, spoons that's. It, then. Someone, will come in. Run. A CI pipeline, that's. Gonna migrate your project, over and in migrate all your project over means that the code, comes over the, issues, come over and you. Get a project created for a spoon and you get your, project created, as a fork and you. Get someone, you know the bot replies, or the person replies in the post and says your. Project, has been migrated, the, cool thing or one cool feature about that is that Drupal. Spoons automatically, mirrors all your code changes to, drupal.org so, any changes, that you're making on spoons are automatically, come back to Drupal out art and so. When people download packages. Through. Composer or download tarballs they're getting the latest code and you didn't have to do any work there. That's. Incredible, and you know I think that you know first of all it's, an it's incredibly kind of you know straightforward process and that, makes sense I'm looking forward to migrating over to Drupal spoons if I if. I find the time we'll see but, you know it's crazy that there's 25 modules, you, know are there any kind of prominent, names on that list that we would know about I'm. Sure there are and. I'm sure there are a lot of enthusiastic, Drupal spoons users who would be very our, Drupal students who, are interested in Drupal students would be interested in here kind of who, I. Think, that the one that most people will know about is migrated. Yeah. Lukas, Hedden has done a, great job of moving the, migrated. Suite over so, most of my grade is now. On triple spoons. Otherwise. Jurgen, Hass moved a bunch of his modules, the, drupal remote dashboard, and yeah. There are other like interesting, but less known modules, that have moved over to yes. So if you, look at the Drupal spoons group. You can see the listing of who's in there, that's. Amazing, now. You know one thing I wanted to ask is you know obviously of course it you know there's there's a lot of discussion to be had coming soon about you, know what it is you know what this means for core what this means for the, triple, Association what this means for our git lab migration, but.
From The standpoint of you know open source governance, and the, community. That should be going to foster which is really incredible here at this ecosystem, you. Know is every, aspects of Drupal Spoons open source free and open source you. Know how would you like people to get involved is there, a place where you, know maybe there's some some good initial steps that contributors, could work, on and, you. Know how can people get involved in in helping, you out in supporting this amazing. Ecosystem for, sure, so. Like the simplest thing is to tweet. About it and blog about it and make. Your support known, more. Involved, would be to come to the webmasters. Issue queue Drupal, spoon slash webmasters. And. Look. At the open issues there, and. Participate, in them you, can also look at the code that's there yes, Drupal spoons is all open source you can browse the code you, can open up a merge request and make it better so I, would welcome those kinds, of participation, for sure and and. Yet bring, your projects, over would, be a great, way to show your support. Wonderful. So you know the one thing I did want to kind. Of kind of ask you is you know in. Terms of the ways in which this, kind of approach is changing, you know I recognize for example that the ways in which developer, processes, work one, of the things I know is coming soon for example is you know I'm not sure exactly what it entails but github, code spaces for example how. Does this approach, with Drupal spoons fit into the larger kind, of you, know debate happening, right now around workspaces issue, workspaces, and github scumming code spaces. So, I mean I think the bottom line is it gets Drupal into the modern. World of. You. Know web-based. And get phase development. So. So, that's, how it fits like, you. Know we have millions. And millions of dollars going. Into developer. Experience. Right as you mentioned github and Microsoft, has poured, tremendous, resources into, that and on, the other side get lab has poured tremendous, resources. Into. A platform so it's, not it's. Not feasible for the Drupal community to keep up with that kind of investment we, don't have the UX team the product leadership to, build at that velocity and, you can see because project, module rarely, get touched by people outside the Association, so so, you. Know it's about time for us to like jump on that train and benefit. From it get lab is is like. An amazing, product an amazing company if people haven't been paying attention they. They. Have a velocity that's outstanding. They, have like, a super, transparent, company you, can read all of their policies, you, can they're backlogged directly. As gitlab, issues, you. See who all the product managers are for each section, you, can just, mention them in an issue and they will reply like. They. Really have been impressive. In how they run their company and how they execute their product development so you, know one thing that I'm really happy that the DEA did was picket lab as a, platform, I think that's really gonna, gonna. Serve us well I. Couldn't. Agree more I think that you know gitlab is a, resolute, step into, the future for Drupal and it's. Gonna be exciting to see how how we, begin to leverage some of those exciting features and especially how, we begin to really you. Know get the value that it describes out of out of through pool spoons I'm very very excited so we, have a segment, here and now for something completely different, we have a little segment here on tag one team talks called be a side tag and, what.
We Do is we just spend about one minute per panelists. And we share something about personal, life something that is you, know something that we've been about. Recently or that we've been playing with or something. That we want our audience to check out obviously, we have a lot of listeners, and a lot of viewers from around the world so, on the first you know obviously, the last couple of weeks have been really. You, know tougher, for black, communities around the country and around the world one, thing that I was really happy to do was to share the conference, that I organized a couple, days we released a statement last Monday. Earlier this week actually in, support of black, lives matter and also against, a lot of these horrible. Things that are tearing. Down but, you know all of the communities. That we hold dear namely, you know issues like anti blackness white supremacy, police, violence, all of these are horrible. Kind, of video sins in America, so one. Thing that I've done is you, know we had a really great meeting where we discussed the statement and released, it and one of the things that I'm, excited to report, is that we're also going to be issuing a donation, to black girls code so. Very very excited. To do that with the team and you, know this labor of love and this nonprofit conference. Is something, that you, know has really shown up in terms of the kind, of in fatik and strong statement, that we. Wanted to issue in light, these events so that's what's been going on in my world Myers arm oh Sh what's. Been going here well I. Could. Talk a little bit about my garden I've been, growing. My garden here with my girlfriend Julie and, it's. Coming along great we're doing lettuce for the first time and like. The lettuce is sprouting, like mad so lots. Of salads, happening around here, I got, to figure out maybe additional. Ways to use lettuce beyond, the salad, might. Try and lettuce on the grill I'm not sure but. Yeah the tomatoes, will come in soon and the herbs are doing great and just. Want to give a shout out to all the other Drupal, gardeners out there. When. I lived, in Denver. Most there was a restaurant, that had a grilled, Caesar, salad. A, real. Lettuce is amazing. I've never tried it but I make. That my a side tag as well, building, on yours I've, started a window garden. So. We've always wanted to do even though we have outdoor space now I'm still the mindset of living in the city but. I've got avocados, sprouting. And, you know growing scallions, in a cop and all the other Kovach things that people are doing and. It's awesome, you know now we have scallions every time we need them. Awesome. Wonderful. Well we, did have a shorter episode today you know I think, that this was a wonderful introduction of Drupal spoons I think we can dig much more into, some of the nitty-gritty and details within. Drupal spoons I'd love to dig into especially. Some of the CI. Capabilities, that motion Vincent mentioned. Earlier so, to finish things off today all the links that we mentioned today whether, it's related to Drupal spoons or gitlab migration or the episodes, that we mentioned are gonna be posted online with this episode of tag one team talks and if you like this episode if you enjoyed what we had to say today and if you're interested in the topics that we had to cover for today please, remember that upload subscribe, share this with your friends and family show, this with your colleagues and your co-workers and, as, always you can check out our past episodes at tad 1.com, slash, tag-teams, box as always, we'd love your feedback and, insight, and any.
Sort Of ideas or proposals you have for topics you want to hear about if you want to most talk more about purple spoons if you want to bring you, know someone else on board to learn, about something that they're working on please, write to us at tag-team talks that hagwon consulting.com, I, want to thank my dear friends, and colleagues today, motion, and admirers, who join. Me on this episode and, we'll see you next time.