Drupal feeds
Become a Drupal 11 Developer with Debug Academy! - Begins soon (Sep 8)
https://debugacademy.com/course/drupal-web-development
Become a more confident and knowledgable Drupal developer! This course teaches Drupal 11 development with a focus on front end development (including Composer, Git, CMI, SASS, Twig, Single Directory Components, PHP, and more!)
Whether you're unfamiliar with Drupal, a Drupal site builder, or self-taught with Drupal 7, you're in for a treat. Debug Academy's thorough Drupal course teaches Drupal best practices for developers of any level. The only prerequisite is familiarity with HTML and CSS.
https://debugacademy.com/course/drupal-web-development
Here's what a graduate from the most recent semester had to say:
"I really loved learning from Ashraf. He explained concepts clearly, broke down complex topics into approachable steps, and always connected theory to practical examples. Even through recordings, his teaching style was engaging and easy to follow. Ashraf’s patience and depth of Drupal knowledge made the course both enjoyable and effective."
What two other students have said:
- A beginner: "I am so glad that I took the course. I get to work from home and earn a good living. It is everything I hoped for and more!"
- An experienced dev: "It's great to finally get to learn the why's of why I was doing certain things/running commands instead of just doing rote execution. Starting to feel more confident already."
This class is designed for:
- Anyone interested in learning Drupal 9/10 (composer, theming, module development, and more!)
- Anyone looking to make a career change into the web development field
- People looking to learn and build with a team
- Professionals looking to enhance their web development skill set.
- People looking to gain REAL Drupal development experience
Duration:
- 3 months, two 3hr sessions per week (January 21 - April 14)
This course is a significant stepping stone towards a career you'll love. It's time to invest in yourself.
In this course, we teach students how to:
- Use the Command Line Interface (CLI)
- Manage packages, patches, and dependencies with Composer
- Setup & use a local Drupal Development environment
- Use Git via the CLI for team workflows and tracking project history
- Manage updates in Configuration in Code for Enterprise development
- Write semantic HTML5 & CSS
- Understand and apply Responsive design fundamentals
- Use SASS in Drupal themes
- Override Drupal 8 & 9 theme's markup (HTML/CSS/etc)
- Drupal Site building
- Create searchable lists of content with Drupal's query generator, "Views"
- Make fundamentally sound Drupal Data Architectural decisions
- Gain efficiency with CLI tools, Drush & Drupal Console
- Utilize PHP Fundamentals and programming best practices
- Comprehend Object Oriented Programming in PHP
- Debug PHP using an IDE
- Write Basic Drupal modules
- Use Drupal hooks and interpret the Drupal API
- Inject data into themes with PHP
- Evaluate tradeoffs and strategy when building Drupal pages using various techniques: nodes, twig, layout builder, PHP pages, etc
- In this thorough course, there's even more!
Visit https://debugacademy.com/course/drupal-web-development to apply for the course!
Curious whether this course makes sense right now? Hear what a few of our recent students have said:
- "If you're looking for a hands-on approach to demystify Drupal programming that's led by top notch, empathetic instructors, this course is for you."
- "This course was truly worth the time and financial investment. A lot of material was covered, but there was a great amount of feedback to help with the learning process. The collaboration with classmates was a bonus as well."
- "Ashraf is the most patient and incredible instructor. He has a great way of explaining complex topics and his patience with debugging is impressive."
- "If you want to learn Drupal, I can't say enough about Debugacademy. All of the other courses I've taken just gloss over what you need to learn to be a real Drupal developer (or just introduce concepts without putting the pieces together). Debugacademy starts with the basics and by the time you're done you know more than you ever thought you would and have the confidence to become an actual developer. This course is worth every single second and I can't thank Ashraf and his team enough."
- "It's great to finally get to learn the why's of why I was doing certain things/running commands instead of just doing rote execution. Starting to feel more confident already."
- "I am so glad that I took the course. I get to work from home and earn a good living. It is everything I hoped for and more!"
- "Ashraf is an awesome instructor who doesn't make anyone feel like they asked "dumb" question. His teaching style makes for a very comfortable learning environment. He truly wants his students to succeed."
- "After last class, I was able to go into our site and start cleaning [it] up. I realized a lot of it was a mess, but I was able to simplify a few things with some of the topics we talked about."
- "Ashraf is a master instructor, he is got huge depth of knowledge on Drupal platform. Lynda is so helpful. She is always ever ready to help out learners."
- "Ashraf Abed and Lynda Santiago were amazing Drupal Educators whom ensured all major elements for working with Drupal was covered/discussed. Assisting outside of normal class hours, even late into the night was spot on. Gotta Love It!"
- “I have found working on our classwork/homework and attending classes has provided me with a lot of peace, stability, and socialization in a crazy time where I'm isolated while working from home”
- "I REALLY felt comfortable with this group of students and instructors. Being older and female with a non-computer educational background, I have always been technically inclined, and frequently have felt I did not belong when attending [...] The kindness and patience of the instructors responding to even the very basic questions reassured me that this is a community I can be part of, and I did not have this confidence in myself at the start of this semester. Thank you, thank you, thank you!"
- "Ashraf is knowledgeable, encouraging, and patient. He is great at explaining technical information to the newest of newbies while keeping the content engaging for the more experienced students."
Visit https://debugacademy.com/course/drupal-web-development to apply for the course!
I'll be the lead instructor for the upcoming semester. If you have any questions, please feel welcome to reach out anytime!
Thank you,
Ashraf Abed
Triple Certified Drupal Expert (formerly known as "Drupal Grand Master")
ashraf.abed@debugacademy.com
(571) 215-0563
Community Working Group posts: Join the CWG in the Ongoing Work of Calling In and Caring For Community
Let’s be honest: It’s not always easy to be part of a global community. And the last few years have made that clearer than ever.
The Drupal Community Working Group (CWG) is here to help create a more supportive and inclusive community for everyone. We uphold our Code of Conduct, and support community members navigating tough situations. We’re also working behind the scenes to build proactive systems of care and recognition. It’s challenging work, but it’s deeply meaningful.
We’re currently looking to expand our team.
Why now?Because communities don’t just maintain themselves. They need caretakers. And the world we’re building today needs people who can hold complexity with care, especially in open source.
You might be a good fit if you:- Stay calm under pressure, even when tensions run high.
- Are comfortable listening without rushing to fix.
- Know when to step forward - and when to take a break.
- Understand the importance of confidentiality and trust within the community
- Believe in the kind of leadership that puts people first.
We know that strong communities are built on diverse lived experiences. We welcome volunteers who bring thoughtful insight from navigating exclusion, invisibility, or underrepresentation in open source or digital communities.
Job Roles:- Community Health Team Member – Help develop and run initiatives like workshops, resources, and tools that strengthen communication and community well-being. This role is a pathway to deeper involvement with the CWG, including the Conflict Resolution Team.
- Conflict Resolution Team (CRT) Member – Guide community members through conflicts, mediate, and help uphold community standards. Ideal for those who have experience or interest in community care and support.
If this resonates with you, or if someone you know would be a great fit, please get in touch at drupal-cwg@drupal.org. A better community depends on people like you.
Join our Drupal Slack channel (#community-health) to connect with the community and check out our upcoming office hours to learn more.
Wednesday, September 3, 2025 at 12pm PT / 3pm ET / 1900 UTC
Find your local time here: https://www.worldtimebuddy.com/
DrupalEasy: Drupal contrib module Markdown Easy 2.0.0 - new features, simpler setup!
CodeLift: Casestudy Drupal 7 upgrade: VanePump's Drupal 7 to 10 Migration
Drupal AI Initiative: Major funding milestone reached by Drupal AI Initiative with 10 new makers
Today, we are delighted to announce the addition of ten new Drupal AI supporting organisations, known as “Makers”. Now we have a total of $175,000 in funding, significantly strengthening the capacity to build on Drupal’s position as the best open-source AI-powered CMS.
Dominic De Cooman announces the new makers (opens in new window)
Being a Maker means more than providing funding.Each agrees to allocate staff dedicated to advancing key areas of the initiative, ensuring that development can accelerate at pace and remain firmly aligned with the real-world of businesses, agencies, and marketers worldwide. With these new makers, at least 15 full-time staff are now dedicated to advancing Drupal AI.
The latest Drupal AI Makers (in alphabetical order):- Anonymous sponsor (Gold)
- Axelerant (Gold)
- Elevated Third (Silver)
- ImageX (Silver)
- Joshi Consultancy Services (Gold)
- Morpht (Gold)
- QED42 (Gold)
- SeeD EM (Gold)
- Zivtech (Gold)
- Zoocha (Gold)
View the complete list of Drupal AI Makers.
What having new makers meansThis is the largest single wave of AI Makers since the Drupal AI Initiative began. The combined funding and staff contributions mean:
- Faster delivery of core AI features for Drupal
- Better documentation, governance, and community enablement
- Stronger global representation from agencies across regions
With each new backer, our collective capacity grows. Together, we are shaping AI capabilities that are open, responsible, and designed to create real impact.
This new wave of makers reflects growing recognition of the importance of responsible, open-source AI tools in content management and digital experiences. We welcome further organisations that share this vision to join us in supporting the future of AI in Drupal.
Dominic De Cooman, Funding Lead, Drupal AI Initiative
- Core AI module development (Drupal AI 1.x roadmap)
- AI orchestration improvements and model-agnostic infrastructure
- Integration recipes for popular tools (RAG, content automation, search)
- AI page creation and optimization with Experience Builder
- Governance and community coordination
- Documentation, examples, and best practices
Agency leaders from across the Drupal community are uniting behind the Drupal AI Initiative, recognising both its strategic importance and its practical benefits. Their commitment reflects a shared belief that Drupal’s open approach can shape responsible AI while unlocking new opportunities for clients and accelerating innovation across the ecosystem.
We’re investing in Drupal AI to help build open, responsible AI—shaped by its users—for clients, the community, and Drupal’s future.
Glenn Hilton, CEO, ImageX
We are proud to support Drupal’s AI Initiative. It will extend Drupal’s open, extensible power and deliver the AI-driven B2B growth our clients are asking for.
Jeff Calderone, CEO, Elevated Third
Drupal AI embodies the power of collaboration to make advanced technology accessible, ethical, and impactful for all.
Jairo Pinzón, CEO, SeeD EM
We are joining forces with other certified Drupal partners to accelerate this initiative and elevate Drupal to the premier AI-enabled CMS platform.
Will Huggins, CEO, Zoocha
We're dedicated to the Drupal AI Initiative because we believe in empowering creators with cutting-edge tools. Our contribution is an investment in a smarter, more innovative future for the entire Drupal community.
Bhavin Joshi, Co-founder & CTO, Joshi Consultancy Services
As soon as we heard about the AI Initiative, we wanted to be involved. Drupal is a natural candidate for AI functionality, with so much content available to uplift and leverage.The AI Initiative will bring big wins for users, editors, owners, site builders and AI agents alike.
Murray Woodman, Managing Director, Morpht
- Direct influence over the Drupal AI roadmap
- Early access to features and recipes
- Recognition on Drupal.org and in marketing campaigns
- Networking with other AI leaders in the Drupal ecosystem
- Contribution credit and community visibility
Discover how your organisation can become a maker too.
Further reading: Accelerating Innovation - Introducing the Drupal AI Initiative by The Drupal Association.
The Vardot Team: Component-Based Design in Drupal
Component-based design (CBD) is a cornerstone in building scalable, maintainable, and efficient modern websites. It's a transformative methodology that aligns with Drupal's modular architecture and positions Drupal theming philosophy amongst the most recent best practices in architecting user interfaces.
The Vardot Team: How to Effortlessly Manage Responsive Images in Drupal - Dynamic Responsive Images
At Vardot, handling responsive images effectively has been one of the main challenges we faced when building Drupal websites using Varbase. Traditional methods like CSS, image styles, or even the modern Responsive Image modules often involve time-consuming, repetitive tasks, and a lot of manual adjustments to configure the responsiveness of images across the whole website.
The Vardot Team: Create Your Own Theme On Varbase
If you're using Varbase, you're already benefiting from a powerful and feature-rich Drupal distribution. Varbase is designed to streamline your Drupal projects, making it easier to build websites and web applications with all the essential tools and modules preconfigured. However, one of the most exciting aspects of Varbase is the flexibility it offers when it comes to theming.
The Vardot Team: Why Drupal Is the Right CMS for Nonprofits & NGOs
Nowadays, NGOs and nonprofits need as much exposure as they can get. The days of local advertisements are beginning to wane. We are now in the digital age. The era of online and the Internet.
The Vardot Team: The Future of Higher Education Digital Experiences
Despite all the disruption and technological advances that occurred over the past few years, the structure of higher education institutions and the state of academic curriculums are closer to what would be the case during the early stages of industrialization.
The Vardot Team: Top 10 Drupal Websites in the World (Updated)
Editor’s Note -- This article was formerly listed as the Top 10 Websites Built with Drupal, and based on TopDrops.org. That site has since stopped updating, so we decided to pivot towards a new kind of value for our readers: the most surprising examples of Drupal-run sites.
Some of the world’s most influential businesses and organizations run their websites using Drupal: General Electric, eBay, The Economist, etc.
The Vardot Team: Top 5 Drupal Modules for Marketers
The role of marketers has evolved beyond simply managing and coordinating online advertising campaigns to drive traffic to their respective websites; successful marketers must transform themselves to become storytellers.
Storytelling is an essential skill to master the art of crafting a digital experience for your digital business would-be customers and users.
Therefore, as a digital business, you must be strategic when it comes to choosing the appropriate platform for your digital experience.
The Vardot Team: What Is a Drupal Distribution, and Why Do You Need It?
Drupal continues to grow in popularity every day. Many users opt to adopt a Drupal distribution: a full copy of Drupal along with additional software. In general, you will see two types of Drupal distributions. Complete solutions, otherwise known as full-featured distributions, and quick-start tools.
A Drupal distribution is collection of Drupal and other software components built, assembled and configured so that it can be used essentially "as is" for its intended purpose.The Vardot Team: Drupal SEO: 13 Things That Improve Ranking
Search Engine Optimization (SEO) might not be the first thing you think of when designing a new website, but building an optimized framework from the start will help you drive traffic to your site and keep it there.
With our Drupal SEO checklist in hand, you can build an excellent website that draws customers in as soon as you launch. To give you a quick summary before we go into detail, here’s a bullet list of what to check before the launch day.
-
Check that all web pages have unique titles using the Page Title module
Centarro: What makes a good Drupal Commerce developer?
When you’re looking for a Drupal Commerce developer, what exactly are you looking for? A lot hangs on this question. We’ve encountered some, let us say, “creative” implementations that painted the business into a corner or wasted a lot of time and money.
E-commerce websites are often mission-critical, and Drupal Commerce reliably powers $100s of millions in revenue per year, but an inexperienced developer can inadvertently introduce unnecessary risk. A mission-critical website needs experienced hands. Someone who can navigate the intersection of technical architecture and business logic that defines successful ecommerce implementations.
So what makes a good Drupal Commerce developer? What should you look for and what should you expect?
Drupal MasteryAt its core, Drupal Commerce is simply an arrangement of Drupal's core building blocks—entities, fields, configuration objects, views, and forms. But "simply" doesn't mean "easy." A developer needs intermediate to advanced PHP skills and must understand Drupal's architectural patterns deeply enough to know which tool fits which job. They also need to be familiar with Drupal.org and the ecosystem of contributed modules so they don’t go off half-cocked and decide to reinvent the wheel.
Why is this important? When a developer reads about creating a custom price calculation, they will learn about the system of price resolvers, which are services sorted by weight. A qualified developer immediately understands what a service is, how to define one, and how Drupal's dependency injection system will execute their code at the right moment. Without this foundational knowledge, they'll be copying and pasting code without understanding the underlying architecture. When bugs appear, they won’t know where to look to solve them.
The developer should also master essential development disciplines:
Read moreGbyte blog: How to Detect Entity Changes in Drupal the Right Way
The following code snippets should be compatible with Drupal 10+.
Challenges in detecting meaningful entity changesOne working with entities in Drupal answering of the following seemingly simple questions can pose a challange:
Has this entity meaningfully changed since its last revision? Has it changed meaningfully since it was last saved?
Drupal doesn't provide a built-in mechanism for this. That's intentional, because what counts as a change can vary greatly between use cases. While there are ways to hack around the problem—such as comparing $entity->toArray() with $entity->original->toArray()—these approaches fall short quickly.
- Timestamps, UUIDs, and metadata fields will almost always differ, even when the entity's "meaningful" data hasn't changed.
- Some values are normalized differently on save (for example, 0 stored as an integer versus false cast as a boolean).
- Rich text fields often come back from CKEditor with extra markup or formatting quirks, even when the human-readable content is the same.
- The moderation module forces the creation of new revisions even if there have been no changes since the last version of the entity.
This makes raw array comparisons noisy and unreliable.
Enter the Diff ModuleLuckily, Drupal already has a well-established module for detecting meaningful changes between entity revisions: Diff.
The Diff module is designed to highlight what actually changed between two revisions of an entity. It provides a user-friendly UI for visualizing differences, but behind that UI is a powerful service that can be reused programmatically.
Dries Buytaert: Switching to Markdown after 20 years of HTML
After nearly two decades and over 1,600 blog posts written in raw HTML, I've made a change that feels long overdue: I've switched to Markdown.
Don't worry, I'm not moving away from Drupal. I'm just moving from a "HTML text format" to a "Markdown format". My last five posts have all been written in Markdown.
I've written in Markdown for years. I started with Bear for note-taking, and for the past four years Obsidian has been my go-to tool. Until recently, though, I've always published my blog posts in HTML.
For almost 20 years, I wrote every blog post in raw HTML, typing out every tag by hand. For longer posts, it could take me 45 minutes wrapping everything in <p> tags, adding links, and closing HTML tags like it was still 2001. It was tedious, but also a little meditative. I stuck with it, partly out of pride and partly out of habit.
Getting Markdown working in DrupalSo when I decided to make the switch, I had to figure out how to get Markdown working in Drupal. Drupal has multiple great Markdown modules to choose from but I picked Markdown Easy because it's lightweight, fully tested, and built on the popular CommonMark library.
I documented my installation and upgrade steps in a public note titled Installing and Configuring Markdown Easy for Drupal.
I ran into one problem: the module's security-first approach stripped all HTML tags from my posts. This was an issue because I like to mix Markdown and HTML. I want to write most of a post in Markdown but turn to HTML for custom styling or elements that Markdown doesn't support. One example is creating pull quotes with custom CSS classes:
After 20 years of writing in HTML, I switched to *Markdown*. <p class="pullquote">HTML for 20 years. Markdown from now on.</p> Now I can publish faster while still using [Drupal](https://drupal.org). HTML in Markdown by designMarkdown was always meant to work hand in hand with HTML, and Markdown parsers are supposed to leave HTML tags untouched. John Gruber, the creator of Markdown, makes this clear in the original Markdown specification:
HTML is a publishing format; Markdown is a writing format. Thus, Markdown's formatting syntax only addresses issues that can be conveyed in plain text. [...] For any markup that is not covered by Markdown's syntax, you simply use HTML itself. There is no need to preface it or delimit it to indicate that you're switching from Markdown to HTML; you just use the tags.
In Markdown Easy 1.x, allowing HTML tags required writing a custom Drupal module with a specific "hook" implementation. This felt like too much work for something that should be a simple configuration option. I've never enjoyed writing and maintaining custom Drupal modules for cases like this.
I reached out to Mike Anello, the maintainer of Markdown Easy, to discuss a simpler way to mix HTML and Markdown.
I suggested making it a configuration option and helped test and review the necessary changes. I was happy when that became part of the built-in settings in version 2.0. A few weeks later, Markdown Easy 2.0 was released, and this capability is now available out of the box.
Now that everything is working, I am considering converting my 1,600+ existing posts from HTML to Markdown. Part of me wants everything to be consistent, but another part hesitates to overwrite hundreds of hours of carefully crafted HTML. The obsessive in me debates the archivist. We'll see who wins.
The migration itself would be a fun technical challenge. Plenty of tools exist to convert HTML to Markdown so no need to reinvent the wheel. Maybe I'll test a few converters on some posts to see which handles my particular setup best.
Extending Markdown with tokensLike Deane Barker, I often mix HTML and Markdown with custom "tokens". In my case, they aren't official web components, but they serve a similar purpose.
For example, here is a snippet that combines standard Markdown with a token that embeds an image:
Nothing beats starting the day with [coffee](https://dri.es/tag/coffee) and this view: [image beach-sunrise.jpg lazy=true schema=true caption=false]These tokens get processed by my custom Drupal module and transformed into full HTML. That basic image token? It becomes a responsive picture element complete with lazy loading, alt-text from my database, Schema.org support, and optional caption. I use similar tokens for videos and other dynamic content.
The real power of tokens is future proofing. When responsive images became a web standard, I could update my image token processor once and instantly upgrade all my blog posts. No need to edit old content. Same when lazy loading became standard, or when new image formats arrive. One code change updates all 10,000 images or so that I've ever posted.
My tokens has evolved over 15 years and deserves its own blog post. Down the road, I might turn some of them into web components like Deane describes.
Closing thoughtsIn the end, this was not a syntax decision: it was a workflow decision. I want less friction between an idea and publishing it. Five Markdown posts in, publishing is faster, cleaner, and more enjoyable, while still giving me the flexibility I need.
Those 45 minutes I used to spend on HTML tags? I now spend on things that matter more, or on writing another blog post.
Dries Buytaert: Installing and configuring Markdown Easy for Drupal
I recently installed Markdown Easy for Drupal and then upgraded from version 1.0 to 2.0.
I decided to document my steps in a public note in case they help others.
On my local machine, I run Drupal with DDEV. It sets up pre-configured Docker containers for the web server, database, and other required Drupal services. DDEV also installs Composer and Drush, which we will use in the steps below.
First, I installed version 2.0 of Markdown Easy using Composer:
ddev composer require drupal/markdown_easyIf you are upgrading from version 1.0, you will need to run the database updates so Drupal can apply any changes required by the new version. You can do this using Drush:
ddev drush updatedbAs explained in Switching to Markdown after 20 years of HTML,I want to use HTML and Markdown interchangeably. By default, Markdown Easy strips all HTML. This default approach is the safest option for most sites, but it also means you can't freely mix HTML tags and Markdown.
To change that behavior, I needed to adjust two configuration settings. These settings are not exposed anywhere in Drupal's admin interface, which is intentional. Markdown Easy keeps its configuration surface small to stay true to its "easy" name, and it leads with a secure-by-default philosophy. If you choose to relax those defaults, you can do so using Drush.
ddev drush config:set markdown_easy.settings skip_html_input_stripping 1 ddev drush config:set markdown_easy.settings skip_filter_enforcement 1The skip_html_input_stripping setting turns off input stripping in the CommonMark Markdown parser, which means your HTML tags remain untouched while Markdown is processed.
The skip_filter_enforcement setting lets you turn off input stripping in Drupal itself. It allows you to disable the "Limit allowed HTML tags" filter without warnings from Markdown Easy.
You can enable just the first setting if you want Markdown to allow HTML but still let Drupal filter certain tags using the "Limit allowed HTML tags" filter. Or you can enable both if you want full control over your HTML with no stripping at either stage.
Just know that disabling HTML input stripping and disabling HTML filter enforcement can have security implications. Only disable these features if you trust your content creators and understand the risks.
Next, I verified my settings:
ddev drush config:get markdown_easy.settingsYou should see:
skip_html_input_stripping: true skip_filter_enforcement: trueFinally, clear the cache to apply the changes:
ddev drush cache-rebuildNext, I updated my existing Markdown text format. I went to /admin/config/content/formats/ and made the following changes:
- I set the Markdown flavor to Smorgasbord
- Disabled the "Limit allowed HTML tags and correct faulty HTML" filter
- Disabled the "Convert line breaks into HTML" filter
That's it!
Smartbees: How To Create an Image Gallery in Drupal?
Image galleries are a common feature in website development. They are used in portfolio, product, or event presentations, as well as sharing pictures with other users. Discover how to create your own with available Drupal gallery modules and tools.
Pages
