Drupal CMS News Digest

developments tricks, articles and reviews from Drupal specialists

News Categories: SEO  Design  Marketing
Drupal Association blog: Board Election 2026 Candidate: Scott Falconer
Who are you? I currently lead Drupal as an open-source product at Acquia, am on the Drupal AI Initiative team and have been a member of the Drupal community for 20+ years. What does building community mean to you? To me, Drupal is the community. Drupal is what it is because of two decades of community conversations, work, ideas, and collaboration pulling us towards well-though and proven capabilities based on real-world needs. Without the community none of what we do would be possible. What does advocating for Drupal mean to you? It's important that open, collaborative, community backed software is what the world chooses when they need a Content Management System. My goal is that when that need arises, Drupal is the #1 choice. Why are you running for a board seat at the Drupal Association? I value the Drupal community and the opportunities Drupal has given many of us over the years. As AI rapidly changes the nature of software and open-source itself it's important to me that Drupal retains it's identity, technical foundations, and community. Why should members vote for you? I've worked with Drupal for 20+ years, from small hobby sites to some of the largest digital properties in the world. As Technical Director of Acquia's Professional Services group, I worked alongside some of the top minds in the community. More recently, as product owner for Drupal as an open-source...
Salsa Digital: Bayer — Rules as Code proof of concept
Overview Bayer’s challenge Bayer wanted to explore how the pesticide approval process could be streamlined without compromising the quality of decisions. Bayer was particularly interested in a simple use case like the regulatory application to add or change a manufacturer of a product. While these assessments are usually not complex, they often take a significant amount of time at the regulator level due to application backlog. As a result, approval processes can take up to 2 years or sometimes even longer. Currently, submissions are often handled via email, with producers sending completed forms and supporting attachments directly to the regulator.
DDEV Blog: Sharing Your TYPO3 Project with `ddev share` (Video)
ddev share lets you share your running local project with anybody in the world. It can be used for collaboration or demonstration to clients. All the details are in the DDEV docs. TYPO3 projects sometimes provide a special challenge for ddev share if they have the full URL specified in the config/sites/*/config.yaml base, like base: https://typo3demo.ddev.site. When you ddev share and get an arbitrary URL from Cloudflared or ngrok, TYPO3 refuses to show the site because it's not the specified URL. This isn't a problem at all if the base element doesn't include the URL. For example, with base: /camino on a project like the DDEV TYPO3 quickstart, everything works fine out of the box, there's nothing to do. The share URL with /camino will work fine. But we can solve this problem with DDEV's pre-share hooks, see below Watch the Video What You'll See Basic ddev share without URL in base Problem ddev share with URL Fix with pre-share hooks The Fix: pre-share and post-share Hooks DDEV exports the tunnel URL as $DDEV_SHARE_URL when you run ddev share. You can use pre-share and post-share hooks to temporarily disable the base: setting for the duration of the share session, and restore it afterward: # .ddev/config.yaml hooks: pre-share: - exec: | for f in config/sites/*/config.yaml; do cp "$f" "$f.pre-share-backup...
The Drop Times: ECA Crosses 20,000 Reported Drupal Site Installations
ECA’s reported growth shows how far configuration-based automation has moved into Drupal site-building practice. The milestone also raises the stakes for a project that many sites now rely on for workflow decisions, integrations, and operational logic.
Drupal Starshot blog: Drupal CMS product strategy: version 2.0
We've published an updated product strategy for Drupal CMS. Version 2.0 replaces the original Drupal Starshot strategy from August 2024, and it reflects where we are after nearly two years of building. The updated strategy largely documents what we're already doing, and why, and makes some important clarifications. Developers delivering for marketers The initial strategy framed content creators and marketers as the primary target audience. That made sense as a signal about our ambitions: Drupal already has a reputation for being developer-friendly, so we wanted to emphasize the focus on end users. In practice, though, it created some confusion. Marketers are the end users of the sites built with Drupal CMS, but they're not the ones installing it, configuring it, or (in most cases) choosing it. That decision usually belongs to agencies and professional developers. So the updated strategy is clearer: Content creators and marketers remain the target person for the product as end users, and the primary audience for the builder experience is agencies and professional developers. We can only reach marketers if developers can succeed with Drupal. Rather than representing a change in what we're focused on, this now more accurately captures it. What's actually changed The strategic frame has shifted to "making agencies and developers successful faster." The end goal of delivering great...
Skynet Technologies USA LLC Blogs: What's New in Drupal 11.4.0: Features, Improvements, and Upgrade Highlights!
Drupal 11.4.0 is the latest feature release in the Drupal 11 branch, bringing developer-focused enhancements, performance improvements, and a smoother upgrade experience. As a minor release, it introduces new capabilities while maintaining backward compatibility for public APIs, making it a recommended upgrade for production websites. Drupal 11.4.x will receive security support until June 2027…
The Drop Times: Drupal Camp Asheville Sessions Highlight Accessibility, AI, Canvas, and Local Tooling
Drupal work now extends beyond implementation alone. Four Asheville sessions show where accessibility, AI, components, and local tooling shape delivery.
Smartbees: Apator Group
Learn more about our comprehensive implementation for one of the energy sector leaders – Apator Group.
The Drop Times: Drupal 11.4.0, AI Workflows, and Orchestration
Recent Drupal developments point to a clearer direction for the project’s AI and developer-experience work. The immediate story is not only that Drupal is adding AI features.Core performance, upgrade tooling, workflow orchestration, and AI governance are beginning to converge around a more controlled operating layer for modern web teams. That makes maintainability, auditability, and human review central to Drupal’s AI direction, not secondary safeguards.Drupal 11.4.0, published on 1 July 2026, gives that direction a stronger core foundation. The release reduces database queries compared with Drupal 11.3, speeds up recipe-based site installation, improves translation file handling, and adds Brotli compression for aggregated CSS and JavaScript when ext-brotli is available. It also introduces an experimental extensible native command-line interface through ./vendor/bin/dr, improves password hashing with support for argon2id, and adds display-management changes intended to support tools such as Drupal Canvas.The AI layer is moving in the same direction. Drupal AI 1.4.0 adds developer-focused drush generate commands for providers, automators, guardrails, operation types, API explorers, function calls, and related extension points. The release also introduces chat normalisation, Views Bulk Operations integration for AI Automators, failover foundations, and streaming guardrails.Those...
DDEV Blog: DDEV v1.25.3: Faster Start and Stop, Built-in Docker Compose, Stable Podman, MariaDB 12.3 LTS
We're announcing DDEV v1.25.3: faster ddev start and ddev stop, built-in Docker Compose, stable Podman and Docker Rootless support, MariaDB 12.3 LTS support, Node.js improvements, XDG_CONFIG_HOME changes, and more. This release represents 131 PRs from the entire DDEV community: your suggestions, bug reports, code, and financial support made it possible. Table of Contents Faster ddev start, ddev stop, and ddev restart ddev start in v1.25.3 (bottom) is faster than in v1.25.2 (top), including a faster warm start: ddev stop in v1.25.3 (bottom) is significantly faster than in v1.25.2 (top), and the same improvement also applies to ddev poweroff and ddev delete, since all three share the same code path: ddev restart in v1.25.3 (bottom) is significantly faster than in v1.25.2 (top), since it stops and starts a project and benefits from both improvements: Post-healthcheck tasks now run concurrently instead of one after another, reducing overall ddev start time, thanks to @jonesrussell. A bug in the web server startup script also added a ~10-second delay to ddev stop. That delay is now gone. We benchmarked ddev start from a stopped state on both macOS and Linux, and v1.25.3 is faster on both. Numbers vary by machine, but you can reproduce it with scripts/compare-start-perf.sh: git clone https://github.com/ddev/ddev ddev-upstream cd ddev-upstream bash scripts/compare-start-perf....
DrupalEasy: Mapping the Drupal AI Ecosystem: Building an Automated Module Tracker
While writing DrupalEasy's latest long-form training course, Responsible Drupal AI Basics (warning - we might change the name still!), I really wanted to make sure we covered all of the (currently) important modules in the Drupal AI module ecosystem. While there are a few manually curated lists of modules (and recipes) in the ecosystem, I found all of them either incomplete or out-of-date. What I was looking for is some type of automated list of modules in the AI module eco-system that showed usage and maintainer activity: something that is sortable, filterable, and most importantly maintainable (and therefore up-to-date.) I couldn't find anything. So, I decided to make one: https://ultimike.github.io/ai-module-usage/ Rather, I decided to have Claude Code make it for me. This was new territory for me, as it was the first time that I used Claude Code starting from nothing. I didn't spin up a fresh Drupal site, I didn't do any initial research, I just set up a fresh DDEV environment

Joachim's blog: No data, no problem: computed fields made simple
No data, no problem: computed fields made simple It's often useful to let the machines do the work, and output something that's dynamically computed on an entity. By that I mean something that can't be hardcoded as a fixed value for all entities of a particular type, but that varies for each entity, in a way that allows it to be generated in code rather than laboriously entered into each entity form by humans. For example, you might want a backlink for an entity reference, or a link to a view that has an argument for the entity's ID, or something that depends on field values on the entity. There are several ways in Drupal of putting something dynamic on the entity's display output. You can of course add something to the build array yourself, in either the entity's view handler or hook_entity_view(). The extra fields system lets you then declare your additional build array item with hook_entity_extra_field_info() which allows it to be rearranged among normal fields in the field admin UI. This is okay, but the extra fields system is Drupal 5-era stuff. Your piece of build array is just that, some render stuff; it can't participate in any data structures and nothing else will recognise it and work with it. A better approach is a computed field. This involves a little more boilerplate code than the extra fields technique, but there are several benefits. The first is...
Penyaskito: Canvas Internals - JSON data types in differentes databases: It works on my machine!
Canvas Internals - JSON data types in differentes databases: It works on my machine! Image Drupal has been working to add a JSON data type since 2023, but that has not landed yet. Drupal Canvas jumps ahead of that in its inputs for a component tree item with 'inputs' => [ 'description' => 'The input for this component instance in the component tree.', 'type' => 'json', 'pgsql_type' => 'jsonb', 'mysql_type' => 'json', 'sqlite_type' => 'json', 'not null' => FALSE, ],Recently some of our tests started failing for MySQL and Postgres on CI, but passed in SQLite and MariaDB, which is what most of us use locally.  The problem was that the sorting of the keys of that field was not deterministic, and we used assertSame in our tests to see if operations added/removed the inputs as expected when components evolved.  How does that translate to different engines? For MySQL, there's a native data type. Quoting their docs: To make lookups more efficient, MySQL also sorts the keys of a JSON object. You should be aware that the result of this ordering is subject to change and not guaranteed to be consistent across releases. For PostgreSQL, the engine offers two different data types: json and jsonb, with the second being the option we (and core) opted for because of...
The Drop Times: Shibin Das on Making Drupal Workflows Legible
Shibin Das explains why visual workflow tools need visible execution, audit trails, runtime ownership, and clear boundaries between deterministic workflows and AI-assisted decision-making.
Undpaul.de: Drupal Tip: How to change field length with existing data
Every Drupal developer eventually hits this wall: a client or editor requests that a standard text field (like a headline or subheadline) be expanded from 255 to 512 characters. You change the value in the field configuration YAML or try to update it programmatically via the Entity API, only to be hit with a fatal exception.
The Drop Times: Drupal 11.4.0 Delay Shows Dependency Patch Pressure on Core Releases
Release timing is often treated as calendar work, but the 11.4.0 delay exposed a dependency problem beneath the schedule. The fix changes how selected Composer dependencies can move when security updates land.

Number of Total Worldwide Registered Domains