jofitz: Composer Patches advanced usage
Following on from my recent article about How To Patch Drupal, this article will explore some more useful commands and additional functionality.
Read moreUI Suite Initiative website: UI Suite Monthly #30 - Display Builder "Star of the Show" with live demo (starting at 3:13)
The Drop Times: QED42 Highlights Ongoing Contributions to Drupal and Support for DrupalCamp Pune 2025
Specbee: Why React is the front-end of choice for Fortune 500 leaders
DDEV Blog: Contributor Training: Using Claude Code for a DDEV PR
Here's our August 21, 2025 Contributor Training on using Claude Code AI for a DDEV PR:
Big Picture- The most amazing thing about Claude Code as an agent is that it can do things and respond to them, on your machine, and using the internet, with your permission. That puts it way ahead of any other AI I've used. It can run tests and respond to the results (and fix things). It can create a commit or a PR.
- Used with respect, AI can be really powerful, a whole new level of abstraction in software development, maybe a bit like having an IDE when you were previously using just a line editor.
- AI excels at repetitive tasks, but only you have judgment. It's phenomenal at repeating patterns that it's been trained on, and often good at imitating patterns that you point out to it.
- It's a pretty good collaborator for those of us who work mostly alone.
- When I don't have the energy to approach a problem from scratch, sometimes just explaining it to Claude Code and asking for a plan gets me started. I've taken on quite a number of DDEV bugs/features this way and got to them instead of procrastinating another year or two.
- Your code is your code. Build it with guardrails that will help keep it under control. Tests and static analysis are great guardrails. (DDEV has hundreds of automated tests and make staticrequired for static analysis.)
- Control, read, and manually test the code yourself.
- Consider getting a different AI to do a review.
- Always try to get another human to do a review.
- AI is fantastic at creating new tests, but don't let it touch the existing tests.
- For complex initiatives, explain the entire goal in detail to Claude and then get it to write a PRD, then commit the PRD into the repository. That way you'll have a high-quality set of context to use.
- Put all your general directives in a CLAUDE.md file like DDEV's CLAUDE.md. Their docs claim that directives like this will be used properly to guide Claude's behavior, and it does help, but Claude does not seem to be strictly obedient and I often have to remind it of basic DDEV precepts.
- TaskMaster AI is a pretty good structural tool. You can give it a PRD and have it create a task list, then Claude can use it to navigate that task list. This would have been a great tool long before AI, but I rarely used that much structure in my coding before using this tool and AI.
- Every time you accomplish a bit of something, make a commit or have Claude make a commit. That way you can roll it back, or review just one item. (This works for you as a human also.) Thanks @shaal.
- I was amazed to find that Claude could create an issue or PR for me, and certainly do commits. It can also comment on an issue or PR. I don't let it do those things without permission. (It seems to know how to use the gh utility to do these things; you need to have that installed and configured.)
- I have definitely learned some things from Claude. It has used the Go t.Run() much more effectively for clearer subtests than I had ever done before. And it seems to use a bit more modern Go in general, so that's a plus.
- The current billing situation for Claude is confusing. It's based on the number of tokens you're using, but it doesn't give you feedback until you've almost used it all up. Then (on the $20/month plan) you're not able to use it for a number of hours, which seems to be arbitrary. You can spend more for a higher monthly plan, and you can also pay-as-you-go for tokens. I haven't done either of those. Clear context (/clear) at key points to limit the amount of context you're carrying forward and limit the number of tokens you're using.
- Claude can get stuck and go in circles, like other AI. Clear context to try to get around that. Have an overall plan to get around it.
- I'm annoyed by how verbose and flowery the commit/issue/PR language is sometimes, but have tried to calm it down using directives in the CLAUDE.md file, but without success. It also is complimenting me all the time and always agreeing with what I say. I haven't been able to calm that down either.
- I find that the amount of code I can create quickly for a significant feature is amazing. But then I have to understand it. And since I didn't create it at the micro level, it can be exhausting to work with.
In this demonstration (see screencast) we asked Claude to work on this issue about ddev launch and we asked it to create a PR for us. It generated this PR to resolve the problem. It was a trivial issue with a trivial solution, but the path to create it was similar to the path for a more complex situation.
Responsible AI Usage and DisclosureThis isn't an adequate place to discuss responsible AI, but:
- Acknowledge the use of AI. Claude is happy to add a tag onto every commit or comment.
- Take responsibility for what you build.
- Claude Code AI
- TaskMaster AI
- Slides and supporting repository built on reveal.js, created using Claude.
- Coursera Claude Code Course: I took this as a free course; it didn't take too long and I learned a lot that I would not have known otherwise.
Yes, AI can make us really lazy. And it can make us stupid. Those valid concerns were also leveled against the calculator and the computer, of course. People thought that using the C language instead of assembler was giving up control. It was. We have to learn how to use this technology, use it right, and grow with it.
Build guardrails. Pay attention. Know what your code does. Enjoy the ride!
Contributions welcome!Your suggestions to improve this blog are welcome. You can do a PR to this blog adding your techniques. Info and a training session on how to do a PR to anything in ddev.com is at DDEV Website For Contributors.
Join us for the next DDEV Live Contributor Training.
Edited with assistance from Claude Code and Codex; banner image generated by Claude.
DDEV Blog: Tailscale for DDEV: Simple and Secure Project Sharing
I've found that DDEV's ddev share command is a great way to quickly share my local development environment. However, since it uses ngrok, it generates a new, random URL every time unless you use a stable domain. As an alternative, I've created the ddev-tailscale-router add-on.
This add-on uses Tailscale, a VPN service that creates a private and secure network between your devices. It is free for personal use!
As a result, you get a stable, human-readable URL for each of your DDEV projects, which you can access from any device on your Tailscale network.
I've found this approach to be particularly useful for:
- Cross-device testing: I can easily test my sites on my phone or tablet without being on the same Wi-Fi network.
- Stable webhook URLs: I can use the permanent Tailscale URL as a reliable endpoint for webhooks, such as those from payment gateways.
- Team collaboration: I can share my development environment with team members so they can see my work in progress.
The ddev-tailscale-router add-on works by running a Tailscale container alongside your DDEV project. This container automatically connects to your Tailscale network and securely proxies requests to your project's web container.
PrerequisitesBefore installing the add-on, you need to set up Tailscale:
- Install Tailscale on at least two devices (phone, tablet, or computer) by following the installation guide. This is required to generate an auth key.
- Enable HTTPS by following the Tailscale HTTPS documentation. This is required for TLS certificate generation.
- Generate an auth key by following the Tailscale auth keys documentation. Ephemeral, reusable keys are recommended.
To get started, follow these steps:
First, set up your auth key (recommended approach): Add the auth key to your shell environment:
echo 'export TS_AUTHKEY=tskey-auth-your-key-here' >> ~/.bashrc source ~/.bashrcReplace ~/.bashrc with ~/.zshrc if you use Zsh, or your relevant shell configuration file.
Alternatively, you can set it per project (NOT RECOMMENDED, because .ddev/.env.tailscale-router is not intended to store secrets):
ddev dotenv set .ddev/.env.tailscale-router --ts-authkey=tskey-auth-your-key-hereNext, install the add-on:
ddev add-on get atj4me/ddev-tailscale-routerFinally, restart DDEV:
ddev restart
Once installation is complete, you can access your project using these commands:
Launch your project's Tailscale URL in browser:
ddev tailscale launchGet your project's Tailscale URL:
ddev tailscale urlYour project's permanent Tailscale URL will look like: https://<project-name>.<your-tailnet>.ts.net. You can also find it in your Tailscale admin console.
Public vs. Private ModeThe add-on offers two modes for sharing your project:
- Private (default): Your project is only accessible to devices on your Tailscale network.
- Public: Your project is accessible to anyone on the internet.
To switch between modes:
Switch to public mode (accessible to anyone on the internet):
ddev dotenv set .ddev/.env.tailscale-router --ts-privacy=public ddev restartSwitch back to private mode (default):
ddev dotenv set .ddev/.env.tailscale-router --ts-privacy=private ddev restartNote: For public access, you need to configure your Access Control List (ACL) to enable Funnel. See the Tailscale Funnel documentation for details on setting up the required ACL policy.
I hope this add-on helps streamline your development workflow! If you run into any issues or have suggestions for improvements, feel free to open an issue on the GitHub repository.
Additional ResourcesHere are some additional resources that you might find helpful:
- Tailscale: A VPN service that creates a private and secure network between your devices.
- Tailscale Download: Installation guide for Tailscale on various platforms.
- Tailscale: Enabling HTTPS: Official documentation on enabling HTTPS for TLS certificate generation.
- Tailscale Auth Keys: Detailed information about creating and managing auth keys.
- Tailscale Funnel: Documentation on enabling public access to your Tailscale services.
- Tailscale DNS: DNS in Tailscale
- DDEV dotenv: Documentation on managing environment variables with DDEV.
- DDEV Docs: Sharing: The official DDEV documentation on how to share your projects.
- Medium: My Journey with PHP Dev Environments: A blog post on setting up a PHP development environment.
- LinkedIn: The Day My Development Environment Nearly Broke Me: An article on the importance of a reliable development environment.
This blog post was written with the assistance of Amazon Q and Google Gemini. I used them to help simplify the language, improve the flow, and proofread the text.
The Vardot Team: 10 Twig Tricks for Better Drupal Theming
The Vardot Team: 10 Twig Tricks for Better Drupal Theming
Mike Herchel's Blog: A new chapter: Why I started Dripyard Themes
Talking Drupal: Talking Drupal #519 - DrupalCon Vienna
Today we are talking about DrupalCon Vienna, what we can expect, and any surprise updates with guests Cristina Chumillas, Antonella Severo, and Catherine Tsiboukas. We’ll also cover Recipe Tracker as our module of the week.
For show notes visit: https://www.talkingDrupal.com/519
Topics- When is DrupalCon Vienna
- What types of sessions will be there
- Are there any unique formats or events we don't see at other DrupalCons
- Splash Awards
- Surprises from the Driesnote
- Drupal Canvas
- Additional Keynotes
- Training
- Social events
- Tickets
Catherine Tsiboukas - mindcraftgroup.com bletch Antonella Severo - nestle.com antonellasevero Cristina Chumillas - ckrina
HostsNic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi James Sansbury - tugboatqa.com q0rban
MOTW CorrespondentMartin Anderson-Clutz - mandclu.com mandclu
- Brief description:
- Have you ever wanted to track what recipes, and their versions, have been applied to your Drupal site? There’s a module for that.
- Module name/project name:
- Brief history
- How old: created in Mar 2025 by centarro, as part of the Commerce Recipe: Core, notionally the very first Drupal site recipe
- Versions available: 1.0.0
- Maintainership
- Actively maintained: only one commit to the project repo
- Number of open issues: none (ever)
- Usage stats:
- 207 sites
- Module features and usage
- After installing the Recipe Tracker module, every time a recipe is applied, the name and version of the recipe will be added to a new recipe log, along with the full package name of the recipe, and the user who applied it as well as the date and time it was applied
- The module uses an event subscriber to generate a recipe log entity, so there should also be lots of API options if you want to extend how the logging works, for example using Drupal’s Entity API
- This module was nominated by our own John Picozzi, so John, why don’t you kick off the discussion by telling us what inspired you to nominate Recipe Tracker?
The Drop Times: Learning From Each Other
Open source communities often learn from one another. When Laravel introduced "Boost," its new AI coding starter kit, it showed how artificial intelligence can be woven directly into a developer's workflow. Instead of leaving AI as a scattered experiment, Laravel created an official package that gives developers consistent guidance, direct access to framework knowledge, and clear guardrails that make AI support trustworthy. It is a reminder that AI can be more than a novelty if it is shaped carefully.
Ronald te Brake has suggested that Drupal should take a similar step. He points out that Drupal developers are already experimenting with AI, but the tools are fragmented and inconsistent. Some use modules, others write their own rules, and a few rely on external services. The result is promising but messy. Ronald envisions a Drupal starter kit that would bring these efforts together: easy to install, grounded in community standards, and powered by official Drupal knowledge. Instead of duplicating efforts across different tools, developers would share a common foundation that keeps AI aligned with how Drupal is actually built.
The value of this proposal is not in copying Laravel but in asking what a Drupal-native approach could look like. Ronald reminds us that Drupal has always thrived on collaboration, shared standards, and community driven progress. An AI starter kit could be the next step in that tradition, helping developers work faster while staying true to Drupal's principles. The opportunity is now for the community to decide if we are ready to shape this vision together.
DISCOVER DRUPAL- 30 Drupal AI Framework and Integration Modules You Should Know
- Ronald te Brake Proposes AI Coding Starter Kit for Drupal Developers
- Bounteous Launches AI Content Quality Module for Drupal
- Drupal AI Week 35 Update: Tool API Released, Image Editing Improved, Async Support Added
- New JSON Import Module for Drupal Simplifies Content and Schema Imports
- How Drupak Automated Swapcard-to-Drupal Content Sync for Event Management
- Drupal.org Credit System Moves to Contribution Records
- New "Squid Game" Drupal 11 Theme Released by Frontend Specialist Joginder Singh
- Alithya Hosts PHP and Drupal Meetup in Montreal Featuring Security and Translation Topics
- Drupal Colombia Hybrid Workshop 2025: From Ideas to Digital Experiences
- Drupal Nakuru Meetup Announced for September 13 at Lish AI Labs
- Master Drupal Single Directory Components: Professional Theming Course with Michael Anello
- New Drupalize.Me Course Covers Single Directory Components in Drupal Core
We acknowledge that there are more stories to share. However, due to selection constraints, we must pause further exploration for now. To get timely updates, follow us on LinkedIn, Twitter, Bluesky, and Facebook. You can also join us on Drupal Slack at #thedroptimes.
Thank you.
Sincerely,
Alka Elizabeth,
Sub-editor, The DropTimes.
Drupal Association blog: Meet Maya Schaeffer and her vision for community growth
We’re thrilled to introduce Maya Schaeffer, one of the newest members elected to the Drupal Association Board, with her term beginning 1 November 2025.
Maya is the lead organizer of EvolveDrupal, where she has been instrumental in rebuilding the in-person side of the community post-pandemic, connecting over 1,000 attendees (40% from outside the traditional Drupal space) across summits in Montreal, Ottawa, Toronto, Atlanta, NYC, and Boston (upcoming June 2025). These events highlight the demand for cross-functional community spaces that showcase Drupal’s relevance across industries.
Beyond events, Maya is passionate about contributing to Promote Drupal and helping shape an Association that champions clear storytelling, accessible entry points, and a strong pipeline for the next generation of users and contributors.
We’re excited to have Maya on the Board. Here are her thoughts as she begins this new chapter:
What are you most excited about when it comes to joining the Drupal Association Board?
I'm excited to bring a fresh perspective that bridges the gap between technical and non-technical communities. I want to help Drupal grow by expanding its reach, telling a more inclusive story, and making it easier for new voices to get involved, especially beyond code.
What do you hope to accomplish during your time on the board?
I want to help Drupal reach new audiences, support more inclusive contribution pathways, and strengthen community engagement beyond the developer space. That includes amplifying Promote Drupal, making it easier for newcomers to get involved, and championing voices from underrepresented regions and roles. I also hope to bring a marketing and events lens to our strategy, helping the project tell a clearer, more compelling story to the world.
What specific skill or perspective do you contribute to the board?
I bring a marketing and community-building lens, shaped by leading EvolveDrupal (and EvolveDigital) and engaging non-technical audiences. My background in event management and my administrative experience as an executive assistant in Germany give me the tools to align stakeholders and turn ideas into action, something I’m especially excited to bring to the Board’s work. I thrive at making vision tangible and creating inclusive spaces where more people can see themselves in Drupal.
How has Drupal impacted your life or career?
When I started at Evolving Web, I didn’t even know what Drupal was. But from my very first event, the community welcomed me in. That sense of openness gave me room to grow, build confidence, and discover a whole new path in tech. I’ve found a place where I can connect with people, contribute in meaningful ways, and keep learning every step of the way.
Tell us something that the Drupal community might not know about you.
I started playing ball hockey after moving to Canada, and just 3.5 years later, I made it onto the United Nations team for the 2024 Ball Hockey World Championship in Switzerland. It was an unforgettable experience and a reminder that it’s never too late to try something new and go all in.
Share a favorite quote or piece of advice that has inspired you.
"You miss 100% of the shots you don’t take." — Wayne Gretzky
This quote has guided so many of my big life decisions. I moved to a new country, stepped into a completely new industry, and said yes to opportunities I didn’t feel fully “ready” for, from organizing summits to playing in a world championship. None of it would’ve happened if I hadn’t taken the shot.
We look forward to the contributions Maya will make during her time on the Drupal Association Board. Thank you, Maya, for sharing your time and expertise with the Drupal community. You can connect with Maya on LinkedIn.
Looking ahead to DrupalCon Vienna 2025With DrupalCon Vienna 2025 on the horizon, join us for the Drupal Association Public Board Meeting. The Board will share updates on upcoming programs, conduct essential business to support the Association’s non-profit mission, and answer questions directly from the community. If you haven’t registered yet, register now and be part of this gathering of the global Drupal community.
About the Drupal Association Board of DirectorsThe Drupal Association Board of Directors comprises 13 members: nine nominated for staggered three-year terms, two elected by Drupal Association members, one seat reserved for the Drupal Project Founder, Dries Buytaert, and one non-voting seat reserved for the immediate past chair. Terms begin on 1 November each year.
The Board meets twice in person for weekend retreats and about five times virtually each year. It provides strategic guidance to the Drupal Association and oversees the Association’s management, policy development, budget, and fundraising efforts.
The Drop Times: miniOrange Deepens Drupal Involvement with Local Events, Freelance Support, and Global Sponsorship
HPE Server G10 - Grundeinstellungen falsch?
VMware ESXi-8 - NIC Passthrough VM als Uplink
Container in Portainer (Docker) über zwei IP-Adressen erreichbar machen?
Sophos UTM EOL - Ersatz für Mailgateway (mandantenfähig)
Hyper-V - privat Switch zur Serververbindung sinnvoll? Und was sollte man beachten?
Debian 12 VM Netzwerkproblem
- « erste Seite
- ‹ vorherige Seite
- …
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- …
- nächste Seite ›
- letzte Seite »