clemens-tolboom pushed to patch-1 in clemens-tolboom/godot-windows-95-theme

On github - Thu, 2023/05/25 - 6:11pm
clemens-tolboom pushed to patch-1 in clemens-tolboom/godot-windows-95-theme · May 25, 2023 16:11 1 commit to patch-1
  • b5f80f9 When disabling reset theme to default

DrupalEasy: Drupal's OpenAI / ChatGPT / AI Search Integration contrib module - initial impressions

Planet Drupal - Thu, 2023/05/25 - 3:56pm

Ever since it was announced, I've been itching to play with the new OpenAI / ChatGPT / AI Search Integration contrib module. From what I had read about it from Kevin Quillen, it was being written in a way that was going to make it flexible and with an eye toward customization. 

On a self-serving note, one of our clients is interested in an AI-based solution for a task we're working on for them, so I had an agenda; test-driving this module for content-related tasks. 

My initial impressions came from using version 1.0.0-alpha10 and within the first 20 minutes:

  • The module only supports text fields (so far…)
  • The module is only compatible with Drupal 10.
  • There's not too much documentation yet - which isn't super-surprising considering it's being actively developed (and is still in alpha state). 

While the module includes nine(!) sub-modules, I decided to focus on only three of them - all related to content generation and manipulation.

While there is a free OpenAI API tier, it is important to note that the experiments below were all made with a paid OpenAI API account - the total cost was less than $0.25 USD.

A note about OpenAI API keys

My OpenAI account has two organizations - my Personal organization and an organization created by our DrupalEasy client. My Personal organization is not yet on a paid plan, but our client's organization is. When creating an API key be sure to select the Default organization first, and then click to create a new API key. It appears that API keys are somehow associated with the organization.

Before I figured this out, none of my initial testing worked, I would always get a OpenAI\Exceptions\ErrorException or a You exceeded your quota… error because my personal account's initial credit has expired ☹️

OpenAI ChatGPT Devel Generate

Being able to generate realistic sample content is the dream (or not) of many Drupal developers - this submodule promises to provide this functionality. Via the Configuration | Generate | Generate content from ChatGPT admin menu item, this allows developers to select the content type, Profile (which is provided as part of the prompt provided to the OpenAI API), and text fields to populate with the OpenAI response. With the following Profile, I was able to populate the Title and Body fields with content.

Profile: Your task is to generate content. I would like you to generate content about Batman.

Sample node content:

Title: The Gadgets and Tech of Batman: Examining the Caped Crusader's Arsenal

Body: Batman is known for his impressive arsenal of gadgets and technology, which he uses to fight crime and protect the citizens of Gotham City. From his iconic Batarangs to his high-tech Batmobile, Batman's gadgets are an essential part of his crime-fighting persona. One of Batman's most famous gadgets is the utility belt, which contains a variety of tools and weapons that he can use in a pinch. These include smoke pellets, grappling hooks, and even a miniature explosive charge…

The content generation process is much slower than standard Devel Generate (for obvious reasons), but it does result in much more engaging sample content. 

OpenAI Content Tools

This submodule provides some interesting tools for updating content. Once enabled, the module provides some options in the sidebar of the Drupal add/edit content page.

Each of the three tools demonstrated below provide their results directly in the sidebar - it is up to the author to copy/paste the results into the appropriate fields in the node's add/edit form. It seems that there are contribution opportunities for further integration. For example, it would be useful to automatically add the summary text to the Summary sub-field, should it exist (with consideration for what, if any summary text already exists…)

Adjust content tone

This allows the author to change the tone of the body text by selecting one of the default options: Friendly, Professional, Helpful, High school level reader, College level reader, and Explain it like I'm 5.

For example, with the original text of:

But we’ve met before. That was a long time ago, I was a kid at St. Swithin’s, it used to be funded by the Wayne Foundation.

The Friendly option returned:

Oh wow! We've actually met before, haven't we? That was such a long time ago when I was a youngster at St. Swithins. I remember it was funded by the Wayne Foundation back then!

The College level reader option returned:

We've met before. That was quite a while ago - when I was a student at St. Swithins. It was funded by the Wayne Foundation back then.

Extending the module to include additional options looks to be currently possible via a hook_form_alter().

Summarize text

This option summarizes the original text as:

The speaker and the listener have met before, when the speaker was a child attending the St. Swithins school. The school was funded by the Wayne Foundation.

When testing with much longer body text (~45,000 words) a summary was provided, but due to limitations of the API, only the first 3,900 characters of the body text were provided to the API. 

Suggest taxonomy

Using the same original text, OpenAI provides the following taxonomy term suggestions:

Funded, Kid, St. Swithins, Wayne, Long

Taking a quick peek at the code, the prompt used is Suggest five words to classify the following text. The words must be nouns or adjectives in a comma delimited list.

Again, poking around the source code for a few minutes showed that there are potential options to extend the current functionality. This includes the ability to add additional content tone and taxonomy term generations options.

OpenAI CKEditor integration

This submodule provides a new OpenAI button that can be placed on any CKEditor toolbar. For this example, I added it to the default Basic HTML text format toolbar (be sure to also enable the OpenAI tools option in the CKEditor 5 plugin settings area for each text format!)

Text completion

When selected, a text field is displayed for the author to provide the prompt to generate text based on (much like ChatGPT). I tested it with the prompt:

Who is Batman's best friend?

The response:

Batman's best friend is his loyal butler, Alfred Pennyworth.

The response is added directly in the text field at the current cursor position. 

Adjust tone/voice

Allows the author to provide an adjective to adjust the tone/voice of the entire (or selected portion of) body field. This is very similar to the OpenAI Content Tools module's Adjust content tone option, but allows for a freeform prompt.

Original text:

Bruce Wayne, eccentric billionaire. I'll be standing where l belong. Between you and the peopIe of Gotham. Does it come in black? No guns, no killing. It's ends here. Hero can be anyone. Even a man knowing something as simple and reassuring as putting a coat around a young boy shoulders to let him know the world hadn't ended.

Using formal resulted in the original text being replaced with:

Bruce Wayne, eccentric billionaire. I'll be standing where I belong - between you and the people of Gotham. Does it come in black? No guns, no violence. Let's put an end to this. Heroes come in all shapes and sizes - even a man who can show a young boy that the world is still a safe and comforting place, simply by draping a coat around his shoulders.

Summarize

Same as the option provided by the OpenAI Content Tools submodule. 

Reformat/correct HTML

Not tested.

Translate

Allows the author to provide language to translate the contents of the body field. Using Flemish on the same original text as above resulted in the original text being replaced with:

Bruce Wayne, excentrieke miljardair. Ik zal staan waar ik hoort. Tussen jou en de mensen van Gotham. Komt het in het zwart? Geen wapens, geen doden. Het eindigt hier. Een held kan iedereen zijn. Zelfs een man die iets zo simpels en geruststellends doet als een jongen een jas omhangen om hem te laten weten dat de wereld niet was geëindigd.

I'm not a native Flemish speaker, but both Google translate and a close-to-fluent Flemish speaker agree that the translation is sound.

Summary

Overall, once I got past the API and (minor) configuration hurdles, the submodules I tested performed as I expected. I did poke around the code a bit with an eye toward expandability/customization to support our client's requests and was not surprised by the high quality of the code.

I continue to think about how scary it is to generate quality content based on a short(ish) prompt - I really worry about the implications of relying on potentially low-quality content generated purely by AI.

I look forward to seeing how this module develops in the next few months. 
 

Categories:

clemens-tolboom commented on issue godotengine/godot-git-plugin#183

On github - Thu, 2023/05/25 - 3:04pm
clemens-tolboom commented on godotengine/godot-git-plugin#183 · May 25, 2023 13:04 clemens-tolboom commented May 25, 2023

I can confirm no need for enabling and thus #183 (comment) was my bad? (tbc) IIRC I did not see the 'Commit tab' on a pristine project thus tried t…

clemens-tolboom commented on issue godotengine/godot-git-plugin#183

On github - Thu, 2023/05/25 - 3:02pm
clemens-tolboom commented on godotengine/godot-git-plugin#183 · May 25, 2023 13:02 clemens-tolboom commented May 25, 2023

Interesting but weird 'workflow' ... I want to disable the plugin thus need to be able to enable right? I try to use this plugin (to move it forwar…

Palantir: DrupalCon Pittsburgh Preview

Planet Drupal - Thu, 2023/05/25 - 2:00pm

Britany Acre, George DeMet, Jill Farley, Joseph Meersman, Ju Vanderwater, Ken Rickard, Tiffany Farriss, Travis Porchia discuss the sessions they'll be presenting at DrupalCon Pittsburgh, what they're looking forward to at the event, and tips for those who have never been to a DrupalCon.

Transcript

George DeMet:  Hello and welcome to the Plus Plus podcast from Palantir.net where we talk about what's new and interesting in the world of open source, technologies and agile methodologies. I'm your host George DeMet, the founder and Co-CEO of Palantir.net. And today, We're here to talk about DrupalCon Pittsburgh which is coming up June 5th through 8th. For the uninitiated, DrupalCon is a place where people from all over the world's world's largest open source content management communities get together, it's a social occasion, it's a place for learning. It's a place for networking and it's a really fun time. 

George DeMet:  Today we've gathered together a number of folks on the Palantir.net team who are going to be speaking at DrupalCon Pittsburgh and looking forward to hearing them share what they're going to talk about, what they're looking forward to, and some tips and tricks for those who may have never been to a DrupalCon before. So further ado, let's go ahead and get started with introductions. I'm going to start with  Britany Acre. Britany, tell us a little bit about who you are and how many DrupalCons you have been to.

Britany Acre: I am Britany Acre and I am a Palentier.net senior client success manager. so I deal with client relationships, I do a little bit of sales, all that stuff. I supported the team also in those endeavors, let me think very hard. This will be my second DrupalCon. Last year was an absolute blast. I met a llama. So who knows what surprises this one holds?

George DeMet: Thank you and then we have Travis Porchia. Travis, do you want to introduce yourself?

Travis Porchia: Hey guys, I'm Travis Porchia, front end Web developer here at Palantir.net. So Drupal site building and theming. I just celebrated my one year anniversary. So woot woot to that. This is my first DrupalCon so I'm very very excited to see all the things, meet all the llamas. Actually this will be the first time. I'm actually meeting a lot of my lovely coworkers in person, so there’ll be a lot of time chatting it up and gauging who's taller than me or not. So definitely a great time, very, very excited.

George DeMet: Awesome. Thank you, Travis. I can't guarantee that there will be a llama at Pittsburgh. I think that that might have just been a Portland thing, but you never know. I do hear the llama travels. So next up we have Ju Vanderwater. Ju, do you want to introduce yourself?

Ju Vanderwater: Yeah, my name is Ju Vanderwater. I'm a senior friend and developer here at Palantir.net and I also serve the role of a product owner for a few of our clients. And this is, this will be my fourth DrupalCon, but first US DrupalCon since Washington DC which was in 2009. It was a long time ago, so I'm super excited but this is the first time I am attending as a speaker-ish. So that's really awesome.

Ju Vanderwater:  Yeah, but I will be taking my own advice that I would give other people here. During this DrupalCon is just to pace my energy, rest, if I need to not feel pressure to attend every social event and maybe go out and get to know a smaller group of people instead, which is good for people like me who are introverts. 

George DeMet: Thank you. Yeah I remember DC and that was a while ago but that was a fun event and what I'll say is DrupalCon's have gotten a little bit bigger since then. So yeah, that’s some good advice about finding your own quiet space Tiffany farriss, do you want to go next?

Tiffany Farriss: Sure, so, I'm Tiffany Farriss, I'm the CEO and co-owner of Palantir. I'm also the longest serving director of the Board of the Drupal Association, other than Dries, of course. And so I'll be wearing both of those hats while I'm in Pittsburgh. So this will be my 25th DrupalCon. I've been to 11 in North America, 11 in Europe. And of course, there were the two online so this will be 25 for me.

George DeMet: Tiffany, is there anything in particular you're looking forward to about Pittsburgh?

Tiffany Farriss: So as someone who is Rust Belt born and bred, I am totally looking forward to some comfort food. I think I'm definitely gonna have a Pittsburgh salad, not sure. I'm gonna go all the way for a primanti's but you know, certainly wouldn't object to some pierogies.

George DeMet: Awesome. Thank you, Joe. You're up next.

Joseph Meersman: Hi. I'm Joe Meersman. Technical architect at Palantir.net. I play the role of a product owner on the Continuous Delivery Portfolio team. I've been working in Drupal for over a decade, and I'm coming up on four years at Palantir. I have been to three DrupalCon so far. So, not a vet but not a novice, really either. And I'm really taking a page from Travis' book. I'm excited to see people.

George DeMet: Thank you. Jill Farley. You're up next.

Jill Farley: Hi, my name is Jill Farley. I have been a senior digital strategist at Palantir.net for almost five years. I currently spend much of my time in the Continuous Delivery Service line along with Joe and Ju. And I actually have been in the Drupal space for about eight or nine years and this is my first DrupalCon. So I'm a strategy practitioner and I also do a lot of agile team coaching and individual coaching within our organization. I kind of say, I always bring the 10,000 foot view to whatever team or project that I'm working on. So yeah, as far as what I'm looking forward to at this DrupalCon?

Jill Farley:  I'm just going to keep repeating it. I'm so excited to see my colleagues in person and many, many of them. For the first time, even though I've been at Palantir for five years, I'm a total extrovert and I really get my energy from connecting and learning from people. So this environment is my jam. I have been waiting patiently for this for a few years and very selfishly. I have two small kids and I'm really looking forward to maybe sleeping in a little bit for five days, so that's me.

George DeMet: Thanks, Jill. If my experience of DrupalCon is anything like other folks I can't guarantee that there will be a lot of sleeping in but good luck. So, so then Ken, we have you next.

Ken Rickard: Yeah, I suppose you do. I'm Ken Rickard, the senior director of consulting here at Palantir and I'll just throw you a bunch of numbers. This week actually marks my 15th year at Palantir. I've been working on Drupal since 2005, that's for those of you who know, that's Drupal 5, which is a long, long time ago and this will officially be my 29th DrupalCon.

Ken Rickard: So there's that, I am excited to get back. I haven't been to a DrupalCon in person since 2019, just like many people and apparently. Half of our inquiries at the booth last year were where's Ken? That's all I heard when people got back. So I will be there. Hanging out.

George DeMet: Yeah, there were a lot of people looking for you Ken and so I know it will be a very special treat to have you at DrupalCon. So that brings us to me, George DeMet, Founder and co CEO of Palantir. I do a  lot of things at Palantir, including moonlighting as a podcast host. I think I have been to just  one fewer DrupalCon than you, Ken. So so 28 is where I'm at going back to Sunnyvale back in 2007

Ken Rickard: George and I actually met in Sunnyvale for the first time.

George DeMet:  That's right. Yeah.

Ken Rickard: I met Ju at DrupalCon. I'm just trying to remember which one it was. It might have been Barcelona the first time. But I don't quite remember.

Ju Vanderwater: No, it was longer than that. I think it was DC or Hungary.

Ken Rickard:  It could be. It could have been that it would have been said it would have been Hungary.

George DeMet: Yep. That was a fun one. Yeah.

Ju Vanderwater:  Second. Yep.

Tiffany Farriss: That's where I met you.

George DeMet:  Yes, Szeged, Hungary, the tiny little university town that took a very long train to get to, but it was a really nice place when you got there.  What am I looking forward to? So I think Pittsburgh has a whole dedication to Mr. Rogers of Mr. Rogers Neighborhood. So I'm looking forward to that. I'm looking forward to DrupalCon in general. Just again reconnecting with folks. Really you know, like I said at the outset, DrupalCon is a social event. To me it’s almost like a summer camp reunion for people who haven't seen each other in a long time but everyone knows each other. So it's a really great occasion and very welcoming as well to new attendees.

George DeMet:  We always like to bring new people into the fold. Awesome. So what I thought I would do next is kind of go around and, since each of you are speaking at DrupalCon, maybe have you talk a little bit about the different sessions that you'll be doing, what your session is about, why you chose this topic, and why you think it's important. And so I thought I would do it in sort of the order in which these sessions will be presented at DrupalCon, which means that actually Travis, the session that you and Cori, who unfortunately isn't here, are doing, would be first up. So you want to talk a little bit about that?

Travis Porchia: Yeah, let’s do it. I'm excited. All right so as George mentioned, I'm one of two. My lovely counterpart Cori Neslun is in Italy right now but she is the brains and the beauty of this whole thing. I just carry the cue cards. No, we came up with this awesome session together, Playing as a Team: Strategies for Better Communication. So not terribly technical as a topic but still very, very important. So, we decided to bring this session to life because working in a flat self-organizing structure full of brilliant developers, we do notice that communication sometimes gets pushed to the back for some and we wanted to offer tools to promote ways to get unblocked and ways to promote psychological safety.

Travis Porchia:  So that's essentially what this talk is going to be about. Tools that we're going to use that are defining what psychological safety is. How can we adopt a leader-leader mindset. Leader-leader is essentially a tool that was kind of conceived by L. David Marquette in the book, Trying to Turn the Ship Around, which if you haven't read it, read it. It's absolutely phenomenal. It challenges kind of like a hard hierarchical structure of workflow and then adapting like a more collaborative workflow in leader-leader. We're going to be talking about non-violent communication and then concepts from the book Radical Candor, which is essentially how to provide safe, but effective feedback. So a lot of interesting topics. We’ll have a lot of fun. There might be music, we'll see. But yeah, I'm very very excited.

George DeMet: That sounds like a really fun session. And yeah, I'm so glad that you're talking about the ways that people work with each other, the way we interact. And how we can all learn how to communicate better, and be more open with each other. So that sounds like a really fantastic session and so that one will be on Monday of DrupalCon. And so I believe it's at 9:00 in the morning. So if you're looking for something to kind of kick off your DrupalCon with, definitely check out Paying as a Team: Strategies for Better Communication. All right, so next up we have Tiffany, you're going to be on a panel on How to Make Big Things Happen in Drupal. What's that going to be about?

Tiffany Farriss: I think it's gonna be fun. I'm on the panel with Gábor Hojtsy, who is serving as the moderator. So Gábor was the D6 release manager and he's been a core committer since 2007. But his current title is the Drupal Core Initiative Coordinator Coordinator because his role of late has really been to help things continue to move forward. Mike Herschel, who is at the SBA right now. He's also a DA board member with me and he was the initiative lead on Oliveiro theme. He  will be on the panel as well as Kristen Pol who is independent now. But she was a former CTO of a Drupal agency and has been involved in pretty much anything there is to be involved in in Drupal. So these are amazing human beings who've contributed a lot. 

Tiffany Farriss:  The panel really is going to focus on how to make larger contributions. And this is I think a particularly important topic as the complexity of Drupal has increased we have really good pathways as a an open source project for smaller patch level contributions, but I think one of the places where we have the opportunity to grow more is in some of the bigger things that we need done in Drupal. You know, Drieslikes to talk about Drupal as being for ambitious experiences, but the project itself is ambitious and there's always big things we want to do. So, you know, we're each going to bring our perspective on how we have organizationally helped support, you know, really big things. Palantir has done it a couple of times now, most recently, with Drupal Rector as part of the upgrade and then we also wrote Workbench. 

Tiffany Farriss:  So we'll just talk about the strategies that we use.  I think Drupal has well and truly for many years now, been a professionalized project so we're well past those hobbyists enthusiast days where people would just volunteer to code into the night. So we need to really establish more sustainable patterns for how we have big contributions happen. And so yeah, this is a great panel for those who want to see their companies or organizations make more big contributions, kind of knowing the ins and outs so that you can learn from our experiences of what does and doesn't work. Or what we might not have thought about and how to really if you're a company, how to engage with your local community in a really productive way. So, that's, that's Monday, I think, for, for 10 something like that. But I am also on a panel. I'm gonna just plug briefly. It's on Tuesday, the Drupal Association will be meeting in public again. So if you want to come and chat with the board. That'll be around lunch time, like 11:30 in the ballroom.

George DeMet: Very exciting. Yeah, thank you. And I really love that you're taking that focus of helping give organizations or even people at organizations the tools to help be contributors to Drupal because you're absolutely right. I mean it is very difficult to just as a single person really be able to make ongoing and sustainable contributions to a major project but if we can work together and maybe get more organizations on board, I think that's key to the innovation of the platform. So thank you. And yeah the Drupal Association panel as well. That's always a fun place to kind of get to meet the folks who kind of oversee  the care of the project, right? 

Tiffany Farriss: We keep the lights on.

George DeMet: That's right. Yeah. But you know I mean it's but you help put on DrupalCon, right? So that's important and maintain drupal.org and all of the infrastructure that keeps the project in community going. So thank you. All right, so moving on actually our next session is on Tuesday morning and Britany, that's your session. Authenticity is Contagious. On Tuesday afternoon, I apologize. You want to tell us more about that.

Britany Acre: Yeah. So, its Authenticity is Contagious.. Being real and showing emotion both long lasting client relationships. So this is not at all technical, it's more so about the soft skills needed to bring longevity to our client relationships. So this came out of a couple of experiences I had here, kind of retroing situations that happened during client calls, and one that comes to mind in particular, was essentially at the very beginning of the project. The clients said in passing something that we knew was going to majorly impact the way the team was able to carry out work. and then we essentially went on to see exactly that thing happen. 

Britany Acre:  So they had a decrease in how much time they could resource to the project. We needed them to resource all the time that we had agreed upon. We knew it was gonna have a major impact and it did. And so in listening to the retro, one of the questions asked was like, “Well, you know, when they said that, how soon did we know that that was only an issue?” Right away. And I said, “Oh great. So how did we relay that to the client?” And we didn't. And so it was one of these things was, how could we have indicated in words and with a strategic emotional response to indicate to the client and give them true pause. Oh. This is something that we need to think about. And so, I had said, I've had several conversations like situations, like that. So it's how can we instead of doing that thing that we've all been taught to do where we keep stoic and, and pretend like everything's gonna be okay no matter what.

Britany Acre:  How do we flip that? And say? Actually, this thing is not going to be okay, no matter what. And how can we show that? And let that show to our client in a way that gives them pause and makes it for the better of our, our engagement together? So, not only is it about allowing myself to show emotion, allowing ourselves to be real people in these engagements. But how is that for the better of our team, the better of ourselves and the way that we show up in those relationships and those engagements? And then just also and I know we're gonna talk about this, but using emotion as a tool. And sometimes that sounds a bit manipulative. That's not what we're talking about. We're saying an emotional response should not be inappropriate, that's not what we're saying.

Britany Acre: But how can you use it as a tool strategically to indicate when something is alarming? And it's something that we want to tackle together. So I don't want to babble forever, but it's a topic that I'm truly interested in. I think it's very much a new way of thinking. When we're talking about the way that we show up in professional business settings, and I think it's something that we're going to see more and more. So we're gonna talk about how to do that when it's safe to try to show that with clients. What do those situations look like? How to identify them? And we'll just talk about the benefits of bringing that part of ourselves to work everyday.

George DeMet: Awesome. Thank you. Britany Yeah I mean I think that it is absolutely key, right? Because I think there's very often a tendency for client relationships to be viewed as transactional. And they're not, it's a real relationship that you have with your client and it's a partnership really. And with any partnership there has to be, you know, people have to be able to be real with each other. Right? And so you know I really appreciate you bringing that and and and helping others understand how they can as you say, bring their full selves to their work. Thank you. All right, so now the next one is another panel we have. And so Joe, I think you're gonna kind of kick off this one. This is our panel “In for the Long Haul: Growing Living Sites in the Post Drupal 8 Landscape. Tell us a little bit more about what that is about.

Joseph Meersman: Yeah, absolutely. And I'll let you Jill and Ju chime in as they would like to. So. I work on the Continuous Delivery Portfolio team which is a lot of big words. But basically we continue to work with our clients that we've worked with to either build a new site or some of the occasional clients that we have brought in from elsewhere that have an existing Drupal site. The importance of our department, and what this talk is really all around is the lifecycle of Drupal sites, post Drupal 8. So when Drupal 8 came out, it's really no longer a requirement that you're going to rebuild your site from the ground up when the next major version of Drupal comes out. Which is fantastic.

Joseph Meersman:  But I think, I know, Palantir was really forward thinking setting up a team of people to continue to manage sites into the future because with the longevity of a site, there's a lot of opportunity for features and enhancements there's a lot of opportunity to actually get real data and look at your ROI and see where you can improve things. And then there's also some problems that arise with maintaining sites as libraries get deprecated through multiple versions of PHP, and through multiple version changes of Drupal. So yeah, our talk is really how we approach all of that and how we work together as a team. To think strategically. And to make incremental improvements for maintaining healthy websites.

Jill Farley: And I can jump in just to give a little bit of perspective around what my lens will be on the panel. So I'm a strategist by trade. I don't have an engineering background. And I was really excited to bring that lens to the Continuous Delivery practice. When I joined the team last year. I'd spent a lot of my career working on what we would call solution delivery projects which are redesigns or replatforming projects. So this is new territory for me and In this panel, I'll be talking about really how we help clients, see the value in longer-range planning, as Joe mentioned, sort of from a strategic perspective.

Jill Farley:  Planning for their, their sites based on business goals, content needs SEO, looming integrations, and not just thinking about site maintenance is reactive or short-term fixes. So I think this is something that we've done uniquely and has really yielded a lot of amazing creative conversations with our clients about how they think about their site maintenance. I'm doing air quotes, you can't see me.

Jill Farley:  So specifically, you know what, what I'm hoping to share is just the fact that a live site has to provide ROI however, or an organization defines it and so much concentrated energy and focus and investment usually happens during a full-on, redesign or rebuild. There's just a lot of momentum and, and team collaboration, but your site doesn't really do anything for your organization until it's out in the wild. So, you know, our team really feels like the action happens once you're kind of managing it ongoing and with the need for back to front rebuild decreasing with this new landscape. How do we keep that energy going around sight improvement when the site isn't really that brand new and shiny? How do we keep that exciting? So we'll be sharing some success stories around how we've started to catalyze more strategic and longer range planning conversations with our clients and maybe sometimes when that's not gone. So well, And how we've how we've pivoted or iterated on those conversations and also which I think Ju will be talking about in a second and Joe already mentioned how our team operates and how that's been a mind shift for our team, in addition to our clients and how we are making continuous delivery fun again.

Ju Vanderwater: Right. Well, I think sometimes ongoing support gets a bad rap because people think, “Oh, well, you know, the team just does bug fixes or boring upgrade work or and I guess that can be true”. But with our mindset shift into future strategy, I feel like we've brought on a lot of fun and exciting opportunities for team members that's outside of maybe what normal support teams might address. And we spend a lot of time building trust and a fun environment for our team members and also with our clients. So, those relationships really give our team a lot of energy and lots of learning opportunities and growth opportunities for everybody. And we'll be addressing some of our tips on how we do that.

George DeMet: Awesome. Thank you so much. Yeah, this is I really love the approach that, you know, our Continuous Delivery Portfolio team takes to again managing that ongoing strategic relationship with folks after their sites have launched? And I think it's a really great point about how this is not just about bug fixes or security updates. This is a journey and this is something that is gonna be ongoing as the needs of your organization change, right? So are the needs of your site. And so I really appreciate, you know, how this team works as a partner for those folks. So thank you. 

George DeMet:  So the next session actually is going to be the one I'm presenting. So I will be speaking at the community summit. The summits at DrupalCon this year are on Thursday, which is a little bit of a shift. They've changed the schedule format around a little bit. So I will be after the introductions kind of kicking things off to present a little session on how we updated the Drupal Code of Conduct. And so this is a project that I've been working on along with a group of other folks from the community from the Community Working Group’s Community Health Team. Drupal is one of the first open source projects to adopt a code of conduct way back in 2010. 

George DeMet:  And so, I spent a number of years serving on the committee that helped enforce and uphold that code of conduct and do conflict resolution between community members and experienced a lot during that time. I was on for, I think about six or seven years, and really, kind of understanding the places where our code of conduct worked well, for our community and where some of the gaps were. And since 2010, there's been a lot of evolution in open source codes of conducts. Pretty much every project now has a code of conduct, and a lot of them include elements that just nobody had quite yet thought of or thought to include back in 2010. And so, last year, we started on a process to kind of overhaul and update Drupal's code of conduct and so I'll be talking about how we went through that process, how we incorporated feedback, you know, historical feedback from the community. We looked at other open source, project codes of conduct and then we reached out to different community stakeholders to get their feedback and input. And before we basically took all of that and shared with the community at large. 

George DeMet:  And so where things are at as of this moment that we're recording it's that we expect to be announcing the new code of conduct in the next week or so. So before DrupalCon, everyone will have a chance to see the new language in the new text anticipating that the code of conduct will probably not officially take effect until you know a few weeks after DrupalCon. So folks will have time to absorb and ask questions and you know, and I'll be there at DrupalCon to answer them. And so looking forward to that, it's been a big project. I personally learned a lot along the way, one of the big lessons was really, you know, making sure that you have a diversity of voices in the input process, finding things that I don't think I would have thought of on my own. Or that even just the group of folks in our committee would have really discovered had we not reached out to people across our global community. So I'm excited about that.

George DeMet:  And then finally, Ken we have you you're going to be presenting a case study session at the government summit which is also on Thursday. The title is “Developing a Testing Strategy for the Wisconsin Department of Health Services.You want to tell us a little bit about what that's about?

Ken Rickard: This  is a fascinating session that actually ties in a lot to the, the CDP session that we were talking about which is, hey, Wisconsin is a legacy project. So it's a Drupal 7 project that's been shifted to Drupal 9 and then is going to move to Drupal 10. And the question becomes. How do you take such a big site that’s quite large and quite complicated because of the version shift and make sure it's got adequate testing for long-term maintenance. The trick there, and what we'll be talking through, are the sort of decisions you have to make in the priorities you have to set because it's very common for say, people to say, “Well, we'd love to test everything”.

Ken Rickard:  And that's great. And that might take you three to four months to implement. And so how do you start gradually introducing testing in a way that's sustainable. And so, we'll talk about how we break down those questions. We'll talk about the different types of tests you might write. We'll talk about the things that are most important to test. So the difference between saying, like an access control test versus content creation test, and why those things are important and why that matters. So it's one of those sessions that sounds technical but really isn't. It's going to be targeted towards project managers and product owners, the kind of people who have to make resourcing decisions about how their sites get built and maintained.

George DeMet: Thank you Ken. And I think this is particularly important being part of the government summit. As you know, public sector web platforms are ones that have a really long lifespan and so that kind of like very strategic long-term proactive planning is absolutely key to their ongoing success and so definitely looking forward to that one, as well.

George DeMet:  So thank you all for sharing information about the sessions you're going to be presenting. I think we've got a really great lineup and, as I was listening to everyone, I was kind of hearing this kind of common theme right about how to ensure kind of long-term, sustainable success with projects. And again going back to the idea that it's not just a one-off project when you're building a new website or launching a new platform, it really is a journey and really making sure that we're thinking about the entire lifespan of that journey as we approach it. 

George DeMet:  So, with that I actually want to switch gears a little bit and talk about what other events that might be going on at DrupalCon or other sessions that you might be looking forward to. Ken, go ahead.

Ken Rickard: Yeah again I'm running behind so I haven't even looked at the schedule yet, but for people like Travis and even Jill who are going to their first event. The thing that I would always stress is that there are a lot of sessions. There's a lot of things going on and, and I always encourage people to go to sessions that are outside their current discipline. So I'm primarily a developer these days, but I like to go to design sections. I like to go to project management sessions because it gets me exposure to things that I wouldn't normally think about, and most of the technical stuff I can pick up on my own as part of the normal work that we do. So I think it's really interesting and really important to be able to do that. So having that exposure and having the different perspectives can really be beneficial.

Ken Rickard:  I'll even drop into a marketing session once in a while, to see what they're saying, and what they, what they're concerns are, because Britany you talked about it earlier, it helps with empathy and understanding what clients are asking for. Understanding what end users need when you're writing code. So that's my, that's my pitch. And then one other thing, I'll say, since I've been to so many of these things, which is, especially if you're speaking for the first time, everyone wants you to be successful, everyone who's coming to this event is coming to collaborate and to share. So you don't have to worry so much about like, “Who am I going to meet? And how am I going to meet people?”  It will happen and it's really easy to just walk up to people saying, “Hey, I'm new. What do I need to know today?”

George DeMet: Thank you, Ken. Tiffany, what are you looking forward to? What tips do you have?

Tiffany Farriss: So I think one of the most important and favorite parts of your book, any DrupalCon for me, have always been the hallway track. So, you know, all the DrupalCon sessions are recorded and they are put up extremely quickly. So if even if there's a session that you were just dying to see, but you're in the middle of a really deep conversation, with someone about another thing, prioritize that conversation. Prioritize the fact that this is that face-to-face time you have with the rest of the community, you know, I think one of the challenges that faces many open source communities, but especially Drupal, is that we are such a global community and not everyone has English as their first language. Communication is hard in general. So if you can actually talk with people face to face, it just has such a lasting impact. It's a little bit easier and there are just tons of people there who make the work that we do every day possible. So I also really like the gratitude culture of Drupal, so you know, definitely use Drupalcon is that opportunity to grab a beverage of choice or a meal with someone who's work, you know you appreciate it. Just make that personal connection. Drupal is built by people and they're, you know, we're all pretty nice. So those are the things I would say is definitely, you know, prioritize people over sessions.

George DeMet: Well, said Tiffany. What other things are folks looking forward to or tips do people have for first-time attendees? I know one that I have, and it's gonna sound kind of cheesy, but don't don't skip the exhibit hall. There's a lot of great networking and great conversations and great people to meet at the different booths. There's some good swag as well, so, you know, if you're looking for something maybe to bring home for a family member or something, there will always be something really cool to find and it's also another kind of really great place to just have those conversations. You know, it's not not just the place, you kind of breeze through on the way to lunch, or or coffee. 

George DeMet: It's a good place as well to hang out and, you know, and we're gonna have a really great booth at DrupalCon. I'm really excited about it. We're gonna have some chairs, make it kind of a social area where people can come and hang out and chat and, you know, as far as our swag. I'm not going to say too much. But I am “totes” excited about what we are going to be giving away at our booth, if that's enough of a clue. So yeah, that's my tip. Jill, did you have any tips or things you're looking forward to?

Jill Farley: I don't have tips because I've not been to DrupalCon, but I've been to many a conference in my day. And I think the thing I'm looking forward to the most especially given how long it's been since, you know, a lot of us have attended conferences or opportunities to network is the sort of the stories of, “Hey, I did that too”. Or, “I struggled with that too. And here is how I solved it.” I'm such an example person that I just soak up all of the common challenges that a lot of us have and the creative solutions of how people have addressed them. Also, just to feel not alone with, “Oh my gosh, we've been banging our heads against the wall” on this particular problem for a while now when actually everybody else is too. So, super excited to hear the stories. You know, you get a little bit in your bubble when you're working with your colleagues and your clients on a daily basis and it's definitely hard to proactively go out and find those kinds of stories and case studies and examples just on a day-to-day basis. So, I feel like this is just, it's like, it's kind of it will be coming to me, I don't have to go out and seek it. So, looking forward to those stories.

George DeMet:Thanks Jill. Yeah, that's so many stories come out of DrupalCon and being able to share stories with each other, but also the stories that we share afterward as well. So, yeah, that's really good advice. So thank you all, you know, for sharing all your insights today. I know, I'm super excited about DrupalCon Pittsburgh. I hope that other folks are as well. You know, again, if you're planning to attend please, you know, say hi to one of us or stop by our booth. If you're not planning to attend, definitely check out the sessions online once they get posted and you know and we'll also if you're a subscriber to our newsletter, we'll also be sharing those recordings with folks as well, so you won't miss out.

George DeMet:  So until next time that is it for this episode of the Plus Plus podcast. We'll be back in a couple weeks with our next episode and until then, take care and goodbye. 

Community Drupal Events Open Source People Government
Categories:

Drupal Association blog: RSVP for the Black in Drupal Roundtable at DrupalCon Pittsburgh!

Planet Drupal - Wed, 2023/05/24 - 9:56pm

The Black in Drupal Roundtable at DrupalCon Pittsburgh will serve as a forum to exchange ideas and information relevant to the experiences of being black in Drupal. Through this affinity space, we hope to create an environment for open dialogue that can support opportunities for community building and shared experiences. We will discuss topics that help foster a culture of collaboration by providing opportunities to share resources for advancing professional, social, and cultural growth. 

The Black in Drupal Needs Assessment is scheduled for 7 June 2023 at 12:30 pm in Room 326. During this meeting, we will fellowship over lunch and conduct the needs assessment so that we can hear directly from those who identify as Black. This includes anyone who identifies as a member of the African diaspora, from any country, multi/bi-racial and/or multinational. 

We hope you’ll add the Black in Drupal Roundtable to your conference schedule, and we look forward to being in community with you! RSVP now.

If you have any immediate questions please reach out to Joi Garrett (she/her) Community Contribution Coordinator, Joi@drupal.association.org.

Categories:

Promet Source: Must-See DrupalCon 2023 Picks for Government

Planet Drupal - Wed, 2023/05/24 - 9:20pm
The City of Washington, D.C., the State of New York Governor’s Office, Orange County, Calif., the U.S. General Accounting Office, and NASA are just a few of the thousands of public sector websites worldwide that are on Drupal. Why does Drupal have such a strong appeal for federal, state, local government sites? Lots of reasons.
Categories:

clemens-tolboom commented on pull request MikeSchulze/gdUnit4#193

On github - Wed, 2023/05/24 - 1:51pm
clemens-tolboom commented on MikeSchulze/gdUnit4#193 · May 24, 2023 11:51 clemens-tolboom commented May 24, 2023

This PR was just a search for Godot error log issues and one was mine removing *.import files. I do not know how to test for this particular preload

Web Omelette: Overriding/extending configuration schema in Drupal

Planet Drupal - Wed, 2023/05/24 - 11:12am

In this article we are looking at how we can override configuration schema that is already defined by a core or a contributed module.

Categories:

LN Webworks: 5 Key Benefits of Drupal 10 Migration for Your Business

Planet Drupal - Wed, 2023/05/24 - 10:29am

If you are a website owner or a developer, Drupal 10 migration will keep your website up-to-date and offer numerous benefits and advancements. In the fast-growing technology landscape, staying current with the latest version of a content management system and available Drupal migration services is crucial. 

Staying relevant to the industry trends provides benefits ranging from bulletproof security to immersive user experience, and you reach new heights with your website and captivate your audience like never before. In order to fully understand the significance of advancements, it is crucial to have a deep understanding of the migration requirements and how they would contribute to long-term benefits. So, buckle up and read this complete article to understand the five sensational benefits that Drupal 10 migration brings to the table.

Categories:

clemens-tolboom commented on pull request MikeSchulze/gdUnit4#193

On github - Tue, 2023/05/23 - 6:09pm
clemens-tolboom commented on MikeSchulze/gdUnit4#193 · May 23, 2023 16:09 clemens-tolboom commented May 23, 2023

I forgot to mention the remark of KoBeWi in godotengine/godot#72273 (comment) It might have something to do with the fact that AnimatedTexture is …

clemens-tolboom commented on pull request MikeSchulze/gdUnit4#193

On github - Tue, 2023/05/23 - 6:01pm
clemens-tolboom commented on MikeSchulze/gdUnit4#193 · May 23, 2023 16:01 clemens-tolboom commented May 23, 2023

IIRC preload register design time dependencies (related to builds?) But I only found This function effectively acts as a reference to that resource.

Matt Glaman: Dependency injection anti-patterns in Drupal

Planet Drupal - Tue, 2023/05/23 - 3:18pm

Whenever I have done an audit for a Drupal codebase, one of the first things I manually review and profile is dependency injection anti-patterns in custom code and any contributed modules used. The anti-pattern isn't for accessing services statically through \Drupal: service. These anti-patterns live within the class's __construct method.

Categories:

clemens-tolboom commented on issue godotengine/godot#72273

On github - Tue, 2023/05/23 - 1:27pm
clemens-tolboom commented on godotengine/godot#72273 · May 23, 2023 11:27 clemens-tolboom commented May 23, 2023

I can confirm opening addons/gdUnit4/src/ui/assets/spinner.tres explicit then save makes the error go away. I hope this downstream PR fixes it Mike…

clemens-tolboom opened a pull request in MikeSchulze/gdUnit4

On github - Tue, 2023/05/23 - 1:26pm
clemens-tolboom opened MikeSchulze/gdUnit4#193 · May 23, 2023 11:26 WIP: Make spinner preloaded. #193

In making sense of godotengine/godot#72273 and other I noticed the was nowhere preloaded. This PR is not OK as I changed the string into a preload. T…

+2 -2

Specbee: How to Adhere to Drupal Coding Standards with Git Hooks

Planet Drupal - Tue, 2023/05/23 - 11:05am
How to Adhere to Drupal Coding Standards with Git Hooks Prabhu 23 May, 2023 Subscribe to our Newsletter Now Subscribe Leave this field blank

Good code is like well-built Lego creations - it's strong, looks good, and is easy to change if you need to. The importance of good coding standards is especially high when you're coding in a team, working on a scalable project, or participating in an open-source community like Drupal.  

As with any other open-source project, Drupal has thousands of developers working on the project. And each of them comes with their own level of expertise. How do you ensure everyone on your team or in the community follows good coding practices? Git Hooks!

Git Hooks are an easy and automated way of ensuring your code always meets Drupal’s coding standards. Implementing Drupal Coding Standards with Git hook will help developers to commit and push the code with proper coding standards as declared by the Drupal community. It can also help improve your project management skills and allows developers to commit code with proper commit message standards. Learn more about Git hooks and how to put them into action.

What is a Git Hook

Git Hooks are scripts that will run automatically every time a Git command is invoked. Just as you would use hook_form_alter to alter the forms in Drupal, you can have separate pre-defined hooks for every Git action.

The Pictorial Representation of Git hook

Finding Git hooks

You can find Git hooks within your project folder (provided Git is initialized) under .git/hooks.  There, you will find all the hooks with .sample extension to prevent them from executing by default.

To make use of the required hooks, you need to remove the .sample extension and edit your code for the execution.

There are many Git hooks available but we are going to use pre-commit Git hooks for initiating Drupal coding standards. 

Pre-commit Git hooks are hooks that will run before the code gets committed. It checks for the line of code that's getting committed.

Implementing Git Hooks

Before you start, make sure you have these basic requirements ready:

  • Composer
  • Git
  • Php-code-sniffer
  • drupal/coder:8.3.13

The below procedure is for installing it in Mac devices. You can find the reference link here for installing instructions on other devices.

  • brew install php-code-sniffer
  • composer global require drupal/coder:8.3.13
  • phpcs --config-set installed_paths ~/.composer/vendor/drupal/coder/coder_sniffer
  • phpcs -i  → Will give you installed coding standards.
Let's begin!

I am creating a new Drupal project called demo. You can use it in your existing project as well.

 

→ Using cd command we got into the project folder.
     cd demo

→ initializing git into the project
    Git init

→ Adding and making my first commit.
    git commit -m “Initial commit”

 

→ Installing php code sniffer using below command for Mac.
    brew install php-code-sniffer

 

→ Installing Drupal coder using composer
composer global require drupal/coder:8.3.13

→ Once the coder and its path are defined you will get the following output as shown below image. 
phpcs --config-set installed_paths ~/.composer/vendor/drupal/coder/coder_sniffer

→ phpcs -i
The above command will give you Drupal and DrupalPractice

→ Now you can commit your code. If you have any syntax or coding standard error, you will be notified in the display and your commit process will be aborted.

→ Below is the code to fix the error automatically

phpcbf --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml web/modules/custom/demo

Any other issues will need to be fixed manually. Commit your code once done.

Once your code is clean it will allow you to commit the code

Just copy and paste the code in pre-commit.sample within .git/hooks. Don’t forget to remove sample extensions.

Pre-commit code sample:

#!/bin/bash

# Redirect output to stderr.

exec 1>&2

# Color codes for the error message.

redclr=`tput setaf 1`
greenclr=`tput setaf 2`
blueclr=`tput setaf 4`
reset=`tput sgr0`

# Printing the notification in the display screen.

echo  "${blueclr}"
echo "................................. Validating your codes  ……..…………....."
echo "-----------------------------------------------------------${reset}"

# Mentioning the directories which should be excluded.

dir_exclude='\/kint\/|\/contrib\/|\/devel\/|\/libraries\/|\/vendor\/|\.info$|\.png$|\.gif$|\.jpg$|\.ico$|\.patch$|

\.htaccess$|\.sh$|\.ttf$|\.woff$|\.eot$|\.svg$'

# Checking for the debugging keyword in the commiting code base.

keywords=(ddebug_backtrace debug_backtrace dpm print_r var_dump  dump console\.log)

keywords_for_grep=$(printf "|%s" "${keywords[@]}")
keywords_for_grep=${keywords_for_grep:1}

# Flags for the counter.

synatx_error_found=0
debugging_function_found=0
merge_conflict=0
coding_standard_error=0

# Checking for PHP syntax errors.

changed_files=`git diff-index --diff-filter=ACMRT --cached --name-only HEAD -- | egrep '\.theme$|\.module$|\.inc|\.php$'`
if [ -n "$changed_files" ]
then
  for FILE in $changed_files; do
  php -l $FILE > /dev/null 2>&1
  compiler_result=$?
  if [ $compiler_result -eq 255 ]
  then
    if [ $synatx_error_found -eq 0 ]
    then
      echo "${redclr}"
      echo "# Compilation error(s):"
      echo "=========================${reset}"
    fi
    synatx_error_found=1
    `php -l $FILE > /dev/null`
  fi
  done
fi

# Checking for debugging functions.

files_changed=`git diff-index --diff-filter=ACMRT --cached --name-only HEAD -- | egrep -v $dir_exclude`
if [ -n "$files_changed" ]
then
  for FILE in $files_changed ; do
    for keyword in "${keywords[@]}" ; do

      pattern="^\+(.*)?$keyword(.*)?"
      resulted_files=`git diff --cached $FILE | egrep -x "$pattern"`
      if [ ! -z "$resulted_files" ]
      then
        if [ $debugging_function_found -eq 0 ]
        then
          echo "${redclr}"
          echo "Validating keywords"
          echo "================================================${reset}"
        fi
        debugging_function_found=1
        echo "Debugging function" $keyword
        git grep -n $keyword $FILE | awk '{split($0,a,":");
          printf "\found in " a[1] " in line " a[2] "\n";
        }'
      fi
    done
  done
fi

# Checking for Drupal coding standards

changed_files=`git diff-index --diff-filter=ACMRT --cached --name-only HEAD -- | egrep -v $dir_exclude | egrep '\.php$|\.module$|\.inc$|\.install$|\.test$|\.profile$|\.theme$|\.js$|\.css$|\.info$|\.txt$|\.yml$'`
if [ -n "$changed_files" ]
then
    phpcs_result=`phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml --report=csv $changed_files`
  if [ "$phpcs_result" != "File,Line,Column,Type,Message,Source,Severity,Fixable" ]
  then
    echo "${redclr}"
    echo "# Hey Buddy, The hook found some issue(s)."
    echo "---------------------------------------------------------------------------------------------${reset}"
    phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml $changed_files
    echo "<=======> Run below command to fix the issue(s)"
    echo "# phpcbf --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml your_custom_module_or_file_path"
    echo “<====================================================>"
    echo "# To skip the Drupal Coding standard issue(s), Please use this commands << git commit -m your commit Message --no-verify >>"
    echo "-----------------------------------------------------------------------------------------------------------------------------------------${reset}"
    coding_standard_error=1
  fi
fi

# Checking for merge conflict markers.

files_changed=`git diff-index --diff-filter=ACMRT --cached --name-only HEAD --`
if [ -n "$files_changed" ]
then
  for FILE in $files_changed; do

    pattern="(<<<<|====|>>>>)+.*(\n)?"
    resulted_files=`egrep -in "$pattern" $FILE`
    if [ ! -z "$resulted_files" ]
    then
      if [ $merge_conflict -eq 0 ]
      then
        echo "${redclr}"
        echo "-----------------------Unable to commit the file(s):------------------------"
        echo "-----------------------------------${reset}"
      fi
      merge_conflict=1
      echo $FILE
    fi
  done
fi

# Printing final result

errors_found=$((synatx_error_found+debugging_function_found+merge_conflict+coding_standard_error))
if [ $errors_found -eq 0 ]
then
  echo "${greenclr}"
  echo "Wow! It is clean code"
  echo "${reset}"
else
  echo "${redclr}"
  echo "Please Correct the errors mentioned above. We are aborting your commit."
  echo "${reset}"
  exit 1
fi

Final Thoughts

I hope you found this article interesting and that it helps you write better code because better code means a better web! Liked what you just read? Consider subscribing to our weekly newsletter and get tech insights like this one delivered to your inbox!

Author: Prabhu

Meet E. Prabu, Drupal Developer, and a State Level Handball Player. Prabu remains occupied with his codes during his work hours. And when not, you’ll find him binge-playing outdoor games like Badminton. He fancies a vacation amidst the hills of Kashmir and enjoys petting the local dogs around. If you want to play handball, you know whom NOT to challenge.

Email Address Subscribe Leave this field blank Drupal Drupal Development Drupal Planet

Leave us a Comment

  Recent Blogs Image How to Adhere to Drupal Coding Standards with Git Hooks Image Testing Drupal Websites for Accessibility with WCAG 2.1 Image Understanding Update and Post Update Hooks for Successful Drupal Site Updates Want to extract the maximum out of Drupal? TALK TO US Featured Case Studies

Upgrading the web presence of IEEE Information Theory Society, the most trusted voice for advanced technology

Explore

A Drupal powered multi-site, multi-lingual platform to enable a unified user experience at SEMI

Explore

Great Southern Homes, one of the fastest growing home builders in the US, sees greater results with Drupal

Explore
View all Case Studies
Categories:

clemens-tolboom commented on issue godotengine/godot#23937

On github - Tue, 2023/05/23 - 10:11am
clemens-tolboom commented on godotengine/godot#23937 · May 23, 2023 08:11 clemens-tolboom commented May 23, 2023

No loader found for resource: res://addons/gdUnit4/src/ui/assets/PlayDebug.svg Just did #44940 (removing imports) but on v4.0.3.stable.official [5…