04 Aug 2026

feedDrupal.org aggregator

Drupal Association blog: Drupal Association 2025 Audit and Financial Overview

When I took on the role of Interim CEO, I committed to being direct about our finances and noted that our earlier audits already told much of the story. The board has now released our 2025 audit report, which was provided to the Board of Directors of the Drupal Association on 8 July 2026 and approved on 25 July 2026. It provides additional context and detail, but does not change the overall picture or our path forward.

To be clear, nothing in this audit means any of the services the project depends on are at risk. What this audit does is help us to understand the status quo so that we can take appropriate action moving forward.

The DA Has Been Operating With a Structural Deficit

The DA spent about $451,000 more on operations than we brought in last year (2025), and that followed a larger shortfall the year before ($923,000).

Those two years are not cleanly comparable, because the 2025 audit also restates our previously audited 2024 results. Our auditors determined that about $353,000 of membership revenue had been recognized in 2024 that should instead have been allocated to 2025, when it was actually earned. This was a non-cash correction to our books: no money changed hands, and nothing was lost or misspent.

Together, 2024 and 2025 produced a combined shortfall of about $1.15M, which averages roughly $573,000 a year. Our current forecast puts 2026 on the same path.

Chart of Revenues vs Expenses 2019-2025

Our cash reserves (the unrestricted funds we can actually spend on operations) have decreased by about 60% since the end of 2022, to roughly $960,000, which represents 2.3 months of operating expenses. Board policy sets a six-month target and a three-month reserve minimum. 2025 is the first year since 2019 that the DA has failed to meet the minimum. The DA remains a going concern and is not in danger of becoming insolvent, but it is time for action.

Unrestricted Assets (Reserves) by Month

Revenue Growth Has Not Covered the Costs of our Strategic Investments

Coming out of 2022 with strong reserves, the board approved a three-year strategic plan on 6 June 2023 and chose to put some of its surplus toward ambitious, community-requested investments in marketing and project support. Funding strategic growth is how excess reserves are best leveraged.

These investments have had a measurable impact:

  • Contributions to Drupal strategic product innovation tripled, reaching 211,037 organizational credits in 2025, a 54% increase over 2024.

  • We reached 106 Drupal Certified Partners under enhanced "maker" requirements, roughly double the 2022 figure.

  • 43 people were brought into Drupal leadership roles for the first time, against a goal of 38.

  • We adopted and executed a go-to-market plan for the launch of Drupal CMS, and built marketing capacity inside the DA for the first time.

However, the sustainability of these efforts long-term was tied to a goal which we did not meet:

  • Increase Drupal Association total revenues by 3X, from $3.49M in 2022 to $10.5M in 2026 to better support mission-driven activities.

Our reported revenue did grow about 25% between 2022 and 2025. While 2025 is one of our largest revenue years on record, this figure is misleading, because most of the growth is in non-monetary services provided in trade (described in more detail below). Putting that aside, the Association's cash revenue grew 5% over three years while out-of-pocket costs grew 27%.

The gap is paid for out of our reserves. Reserves are the right instrument for starting something and the wrong instrument for running it. Funding our strategic initiatives from reserves was the right decision for the duration of the strategic plan, but while that plan ended last year, the work has continued without a viable funding plan.

Marketing and project support are precisely the kind of mission-aligned work the DA should be doing. So the task in front of us is to fund it properly: each program examined discretely, with its own revenue plan, and held to revenue neutrality now that it has moved out of pilot and into operations.

Infrastructure Costs are Rising (and Invisible)

In 2022 we spent $1.3M running Drupal.org (the Web site, composer endpoints, GitLab, CI, authentication, and the global CDN), and in 2025 we spent $2.1M. That is up 61% in three years. It is the Drupal Association's single largest cost, and it has no direct funding mechanism. Every organization that uses Drupal relies on this infrastructure, but none of them are asked to pay for it, because we have never built a way for them to.

For most of Drupal's history that did not matter, because the surplus revenue from DrupalCon covered the costs of Drupal.org. However, since 2022 the DrupalCon surplus has fallen from about $994,000 to about $227,000. While event costs have continued to increase since we resumed in-person events, event revenue has gone down.

This means that we are increasingly relying on the generosity of a handful of vendors and partners who provide services for free or in trade for sponsorship placements. That generosity has grown from $249,249 in 2022 to $1,011,995 in 2025 and now covers nearly half of what we spend on Drupal.org. These services in trade and donated services have not reported in our monthly reports because they were "non-cash"; they appeared only at audit.

Share of what we spend on Drupal.org

2022

2025

Covered by DrupalCon surplus

76%

11%↓

Covered by services in trade, gratis

19%

48%↑

Covered by general operating revenue

4%

41%↑

The remainder of the infrastructure spending gap must be paid for out of general operating revenue, and failing that, out of reserves. These costs increased from $56,825 in 2022 to $859,384 in 2025.

It is also important to note that these numbers do not account for work that is deferred because the funding is not there to pay for it. This technical debt does not appear on any of our financial statements, but is a growing liability that will need to be paid for at some point.

The bottom line is that while our cash spending on infrastructure has remained steady, we have a rising essential cost that currently has no funding model attached to it yet.

Unpacking the Timeline

The fiscal year 2024 closed 31 December 2024. The initial audit for 2024 was released in July 2025 showing $570,000 of deficit. Then in July 2026, it was restated downward to a $923,000 deficit as part of the 2025 audit.

While the Drupal Association CEO is accountable for the organization's day-to-day operations, the board provides oversight over the organization's budget and finances. This oversight requires timely, accurate, and consistent financial reporting.

The monthly reports that the board's Finance Committee reviewed and the audited statements published 6 months after the year close were prepared on different bases, with nothing reconciling the two. The Finance Committee struggled to get consistent answers or clarity about what individual figures included. In April 2026, Finance Committee asked our auditors to examine the reporting revenue recognition practices directly. That request is what produced the restatement of 2024 as part of the 2025 audit. This also explains how long it took to know where we stood in 2024.

The Path Forward

The responsible approach is to act now, while we can still make changes on our own terms rather than in a crisis. Some of this is already underway and the rest has dates attached to it.

As Interim CEO, I am operationally accountable to make sure that the board has access to an annual budget that is actively managed with variances mitigated; receives consistent, contextualized and timely financial reports; and that robust internal controls and workflows are in place. This clarity will give the Finance Committee and the board what they need to exercise proper oversight within the policy guardrails they have set.

Our internal reporting will be reconciled to audit-basis accounting, so that the figures the board governs against during the year are as close as possible to the ones we publish after it; non-cash arrangements will be recorded as they occur rather than at year end; and our reserve position will be reported on a single defined basis, against both policy thresholds, every period.

Drupal.org will be presented as a program with a cost that the Drupal Association is accountable for funding. The Association needs a durable way to fund Drupal.org rather than the patchwork indirect one we have now. These issues are not unique to Drupal, and I am looking forward to hearing others' thoughts, but be assured that I do not intend to solve a funding problem by reducing the services the community relies on.

Within the coming months, I will publish:

  • What each part of our work actually costs and how it is funded

  • The full costs of Drupal.org as a measurable figure, which will be the first time anyone, including the board, will have seen that number

  • An updated 2026 forecast and preliminary mitigation plan

This fall, I will prepare a two-year 2027-2028 Operating Budget with the Finance Committee that the board will be able to review and approve before the end of the year.

Nothing about the 2025 audit changes our commitment, our mission or the direction we need to go. It just adds a little urgency. I am focused on co-creating a financial model where the work sustaining Drupal rests on a foundation that is resilient and sustainable for the next long-term CEO.

04 Aug 2026 2:26am GMT

03 Aug 2026

feedDrupal.org aggregator

Mike Herchel's Blog: A First Look at the DrupalCon Orlando Venue

A First Look at the DrupalCon Orlando Venue mherchel

03 Aug 2026 8:00pm GMT

The Drop Times: Public Code Must Survive the Contract

Public software is easiest to celebrate at launch, when a service is delivered, a repository is published, and an institution can point to visible progress. Its harder test begins after the original contract ends. Security response, documentation, upgrades, knowledge transfer and operational ownership must continue even when the delivery team or supplier changes. The EU Open Source Strategy, published by the European Commission on 3 June 2026, treats procurement, deployment, maintenance and governance as parts of the same software lifecycle.

Public procurement should therefore test continuity rather than initial delivery alone. Buyers need to know whether data, configuration and documentation can be transferred; whether another supplier can operate the service; whether publicly funded improvements can be reused; who will handle vulnerabilities and dependency updates; and how long transition support will remain available. An open licence can widen the range of possible suppliers, but that choice remains theoretical when system knowledge, access procedures or maintenance budgets stay with the incumbent. Avoiding lock-in requires both legal permission and the practical capacity to act on it.

The strategy proposes an Open Source Maintenance Instrument, dependency analysis, stewardship support and common security baselines for public repositories. These measures recognise that testing, release management, vulnerability response and documentation are infrastructure work rather than incidental volunteer activity. Drupal 7 reached end of life on 5 January 2025, but its source code remained available after community releases, fixes and security advisories ended. LocalGov Drupal offers a concrete model of organised stewardship by bringing councils and suppliers into shared product governance, technical maintenance and a cooperative structure intended to support financial sustainability.

Public money should produce more than software that can still be downloaded after the original team leaves. Contracts should fund security work, upgrades, current documentation, supplier handover, upstream contribution and governance across changes in vendors and budget cycles. Europe's open-source ambitions will achieve little if institutions publish more code without retaining the capacity to operate, improve and transfer it. Public code becomes infrastructure only when responsibility survives delivery.

Follow The DropTimes on LinkedIn, X, Bluesky, and Facebook, or join #thedroptimes on Drupal Slack.

This issue of Editor's Pick was written and curated by Kazima Abbas.

03 Aug 2026 1:52pm GMT

Drupal AI Initiative: Move Fast, Stay On-Brand: How Drupal AI Delivers Both

Author: Will Huggins

In our previous blog posts, we've talked about how our growing ecosystem - now backed by 32 global partner organisations and a dedicated delivery team - is structured to build a secure, stable, and highly integrable AI-native digital experience platform.

So what does this mean for your day-to-day digital communications and marketing operations? How do you translate this into improved experiences for your audience, higher conversion rates, and reduced cost?

To win in the age of AI, digital leaders don't just need faster ways to generate content or build great digital experiences. They need a platform that helps them move at maximum speed, while still maintaining the highest quality and content standards.

Here is an inside look at the key features on the Drupal AI 2026 roadmap, focused on the outcomes that matter most to digital communications and marketing teams: speed, brand safety, and measurable ROI.

"Prompt-to-Published" Page Building (Using Your Real Design System)

Many AI-powered page builders on the market suffer from what digital leaders call "AI Slop": random, messy, raw HTML blocks based on generic AI models. These pages can break your site's layout, look wildly off-brand, fail accessibility standards, and create the dreaded 'technical debt' for your developers to clean up.

Drupal AI's upcoming Canvas AI Page Builder operates under a completely different paradigm. It is natively component-aware.

  • You can feed Canvas AI a marketing brief, a PDF, or even a screenshot. Instead of writing custom code, the AI inspects your design system, selects the most relevant, pre-approved, accessible brand components, places them in a logical conversion layout, and drafts campaign-specific copy directly within them. Your marketing team can go from a brief to a beautifully structured, accessible landing page in minutes. You get complete visual design freedom without ever breaking brand guidelines or waiting in a developer's queue.

The Brand Guardrail: Localised Nuance & Centralised Brand Voice

A major anxiety for marketing teams is brand dilution. If your team is using disconnected AI tools, your brand voice can quickly fragment, sounding professional on one page and generic on another.

Drupal AI solves this by embedding a centralised Context Control Centre directly into the CMS. This serves as the single source of truth for your brand's identity and governance rules.

  • Authored Context: You define your style guides, brand vocabulary, audience personas, and strict regulatory boundaries (such as HIPAA, GDPR, or accessibility standards) once. Every AI-assisted content generation task automatically adheres to these guardrails.
  • Hyper-Local Translation: For global marketing departments, translation is rarely word-for-word. Under the 2026 roadmap, Drupal AI's translation workflows don't just translate text; they analyse local nuance and adapt your localised content to fit regional cultural contexts while strictly preserving your core brand voice.

You can scale your global content footprint across multiple regions and channels, confident that every single piece of copy, everywhere, sounds exactly like you.

Closed-Loop Performance: Self-Optimizing Digital Experiences

Today, your content lives in the CMS, but your performance data is trapped inside a web analytics dashboard (like Google Analytics or Matomo), and the two systems rarely talk to each other. As a result, marketing teams often miss trends, fail to optimise low-performing pages, and struggle to scale what actually works.

Drupal AI is built to close this loop by bringing performance intelligence directly into the content creation interface.

  • Intelligent Website Improvements: Drupal AI integrates directly with your analytics platform. Instead of merely showing you a static traffic report, background AI agents analyse user journeys and conversion drops.
  • Actionable Optimisations: If a high-value landing page is underperforming, the AI agent automatically flags it and proposes concrete layout or copy optimisations - such as a more compelling call-to-action or a tighter, clearer headline - based on what is historically proven to convert.

No more digging through dashboards to find what's not working. Your website becomes a living, self-optimising engine, learning what works best for your audience and handing ready-to-publish optimisations directly to your content editors, bridging the gap between data and action.

Built-In Governance: Keeping Humans (and IT) Firmly in the Loop

Speed is meaningless if your IT department or compliance team vetoes your tools due to security risks. To build an AI platform organisations can trust, Drupal AI treats security and governance as structural priorities, not afterthought add-ons.

Unlike lightweight SaaS tools that operate outside of your corporate governance, Drupal AI operates entirely within your existing approval workflows and editorial permissions.

  • Human-in-the-Loop Safeguards: AI agents can propose layouts, drafts, and SEO metadata, but they cannot publish them autonomously. Every change is staged in a revision branch, allowing your marketing managers to review, edit, or reject changes before they ever go live.
  • Data Sovereignty and Security: Advanced security filters automatically sanitise and strip sensitive customer or corporate data before it is ever sent to an external Large Language Model (LLM). This shields your organisation from data leaks and compliance breaches.

This means you get the agility of generative AI backed by enterprise-grade, auditable, secure workflows: the kind of governance IT teams look for.

Own Your Digital Destination

The future of digital experience is being built on open-source, model-agnostic foundations. By giving your marketing team visual page building, centralised brand context, and performance-driven optimisation within an enterprise-grade secure environment, Drupal AI is paving the way for digital teams to operate at maximum velocity with zero brand risk.

The future of open-source digital experience is being built right now. If your digital product or content marketing teams are ready to experience what is possible today, explore our progress and try the live demo.

03 Aug 2026 7:46am GMT

Talking Drupal: TD Cafe #020 - AI & Development Teams

How should development teams adopt AI without sacrificing code quality or collaboration? In this Talking Drupal Cafe, Stephen Cross is joined by Mike Miles and Jim Birch to discuss practical strategies for integrating AI into Drupal development teams. They explore AI coding assistants, team policies, code review, agent workflows, governance, and real-world lessons from using tools like Claude Code and GitHub Copilot in production environments.

For show notes visit: https://www.talkingDrupal.com/cafe020

Topics

Jim Birch

Jim Birch is Director of Engineering and AI Practice Lead at Kanopi Studios, where he leads engineering teams and oversees the company's responsible adoption of AI. Jim is also a Drupal CMS committer, and Recipes Initiative Coordinator, and is a Google Cloud Certified Generative AI Leader.

Michael Miles

Mike Miles is a technical leader and speaker with more than 20 years of experience in web engineering, open-source development, and digital platform delivery. As the Director of Web Development at MIT Sloan, he leads the team responsible for the development, maintenance, and growth of the school's public digital properties.

Mike regularly speaks at technical conferences on topics including modern web development, Drupal, technical leadership, testing, delivery practices, and practical AI adoption. He is also one of the organizers of New England Drupal Camp.

Stephen Cross

Stephen Cross has been a Drupal developer for over 20 years and founded Talking Drupal in 2013. As founder of Second Signal Media, he combines his passion for open source and media production to share conversations that help the Drupal community learn and grow.

Guests

Michael Miles - mikemiles86

Jim Birch - thejimbirch

Stephen Cross - stephencross

Resources

Courses https://anthropic.skilljar.com/ https://academy.openai.com/pages/courses

Skills https://kanopi.github.io/cms-cultivator/ https://kanopi.github.io/delivery-record/

03 Aug 2026 4:05am GMT

Cheppers: Introducing ExperienceKit: AI-Generated Drupal Pages, Built on a Governed Design System

Your marketing team needs a landing page for next month's campaign. Today that means a brief, a ticket, a spot in the developer queue, and a few weeks of waiting. ExperienceKit turns it into a sentence. Describe the page, and AI generates it in your Drupal site: production-ready, on brand, and built entirely from a governed component library, one built on your brand and delivered as part of the solution. This post introduces what ExperienceKit is, why we built it, and what the rest of this series will cover.

03 Aug 2026 12:00am GMT

02 Aug 2026

feedDrupal.org aggregator

#! code: Drupal 11: Migrating From Jadu Into LocalGov Drupal: Part 1

Drupal 11: Migrating From Jadu Into LocalGov Drupal: Part 1

This is the first post in a series of posts looking at migrating content from a Jadu site into a Drupal site running the LocalGov Drupal (LGD) distribution. The site I was migrating content into was the new site for Central Bedfordshire, and whilst other implementations of Jadu may differ from what I describe here, it should be enough information for you to understand the process.

Jadu is a proprietary CMS application that is mostly written in PHP. Back in 2011 I went to a talk by one of the developers from Jadu at the PHPNW11 conference, so I was aware of the system. That talk, by the way, was interesting as they built a system called Phalanger that allowed PHP (and Jadu) to be run on a .NET environment. That project is now called PeachPie and it looks like it is still under active development.

LocalGov Drupal is a Drupal distribution that combines Drupal, some configuration, and a collection of modules with the aim of making it easier for councils to create websites. The functionality provided includes content pages, news pages, bus timetables, and waste collection systems. What's more, it's maintained by a vibrant community of people.

In this article we look at how the Jadu API is used to get hold of site content, and what we can do in Drupal to facilitate the migration of this content. We then look at a simple part of the migration as an introduction to the whole process. This won't be an introduction to the migration API as I will skip over some of the fine details of the API to keep things brief.

First, let's look at the Jadu API.

philipnorton42

02 Aug 2026 5:04pm GMT

01 Aug 2026

feedDrupal.org aggregator

Freelock Blog: Zero to new Drupal site in 133 seconds

Zero to new Drupal site in 133 seconds

Drupal developer local environment setup tools

John Locke

Gabor asked in Slack about how people contributing to Drupal manage multiple different Drupal versions, and different contributed module branches, when using AI agents:

dev corner icon
Dev Corner

01 Aug 2026 10:00pm GMT

BloomIdea: When two terms called Food are not the same term

You have a supplier spreadsheet with a category column that reads Animals > Dogs > Food, and you want Drupal to end up with a real taxonomy tree: Animals, with a child Dogs, with a child Food, each level created only if it does not exist yet, and every product referencing the leaf of its own path.

Neither Drupal core nor Feeds does that on its own. Feeds Tamper Term Hierarchy does: it reads the path out of the column, creates the taxonomy terms that do not already exist, and respects the hierarchy between them. It has been on drupal.org since 2021 and reached its first stable release, 1.0.0, this week.

The interesting part is not the splitting. Any parser can split a string on a delimiter. The interesting part is deciding, for each segment, whether the term you are looking at already exists, and that turns out to be a question about identity that most import tooling gets wrong.

Name is not identity

Take a small catalogue:

sku,name,category
1001,Rope leash,Animals > Dogs > Accessories
1002,Dry food 3kg,Animals > Dogs > Food
1003,Dry food 1kg,Animals > Cats > Food

The tree you want out of it:

Animals
├── Dogs
│   ├── Accessories
│   └── Food
└── Cats
    └── Food

There are two terms called Food in that tree. One is the dog food category, the other is the cat food category, and they have to stay separate. If they collapse into one, every dog product and every cat product point at the same category, your faceted search stops making sense, and the client finds out before you do.

Now ask what "does this term already exist?" means while the third row is being imported. Food exists, in the sense that a term with that name is already in the vocabulary. It is the wrong one. The right answer is that Food under Cats does not exist yet, even though Food under Dogs does.

That is the whole problem in one sentence: in a hierarchy, a term is identified by its name together with its parent, not by its name. A lookup that ignores the parent will happily hand you a term from a different branch.

This is why Feeds' built-in term autocreation cannot be pressed into service here. It matches by name within the vocabulary, because for a flat vocabulary of tags that is exactly right. Give it a path and it does something reasonable and useless: it looks for a term named Animals > Dogs > Food, does not find one, and creates a single term with that literal name, greater-than signs included. One flat term per distinct path.

Resolving a path one parent at a time

The fix follows from the diagnosis. Rather than looking up each segment in the vocabulary, look it up among the children of the segment resolved just before it:

  • Animals is looked up among the root terms.
  • Dogs is looked up among the children of Animals.
  • Food is looked up among the children of Dogs.

Walking Animals > Cats > Food takes a different turn at step two, finds no Food under Cats, and creates one. Two terms, same name, different parents, which is what the source data described all along.

So how does the plugin know which Food is the right one? It does not. The path tells it, one level at a time, and the only thing carried between levels is a single term ID. This is the loop, with the caching and the options stripped out:

$parent = 0;

foreach ($names as $name) {
  $terms = $storage->loadByProperties([
    'name' => $name,
    'vid' => $vocabulary,
    'parent' => $parent,
  ]);

  $term = $terms ? reset($terms) : $this->createTerm($name, $vocabulary, $parent);

  // The term just resolved becomes the parent of the next lookup.
  $parent = (int) $term->id();
}

return $parent;

$parent starts at 0, which is how Drupal spells "no parent, this is a root term". Every lookup is constrained by it, and the last line of the body is what makes the walk work at all.

Trace Animals > Cats > Food through it and the three queries are (Animals, parent 0), (Cats, parent 1), (Food, parent 5). Trace Animals > Dogs > Food and the third one is (Food, parent 3), which is why it finds the dog food term instead of creating a second one. Neither of them ever asks "is there a term called Food?", which is the question that would produce the wrong answer.

One honest caveat: Drupal does allow two sibling terms with the same name under the same parent. If your vocabulary already contains such a pair, reset() picks whichever the storage returns first. The plugin cannot disambiguate what the data itself does not distinguish.

Two further properties fall out of this for free.

The import becomes idempotent. Re-run the same feed and every segment resolves to the term created the first time, so nothing is duplicated. Add a row with a new leaf under an existing branch and only the leaf is created. That matters because supplier feeds are re-imported nightly, and an import that duplicates its own output is worse than no import.

And the created terms carry the hierarchy, not just the labels. You get a tree you can render as a menu, use in a facet, or attach access rules to, rather than a flat list of strings that happen to contain angle brackets.

Setting it up

With Feeds, Feeds Tamper and Feeds Tamper Term Hierarchy installed, on a feed type with a CSV parser:

  1. In Mapping, add your taxonomy term reference field as a target and map the category column to it.
  2. In that target's settings, set Reference by: Term ID. See the warning below.
  3. In the Tamper tab, add the Import Taxonomy Terms Hierarchy plugin to the same source.
  4. Set the input delimiter to whatever separates your levels. It defaults to >, and spaces around each segment are trimmed, so A > B and A>B behave identically.
  5. Pick the vocabulary the terms belong to.
  6. Import.

The one step people miss

Step 2 is worth dwelling on for a moment, because getting it wrong produces a failure that does not look like one.

The plugin creates the terms itself and returns the ID of the last one in the path. If the mapping is left on its default of matching by term name, Feeds receives that number and does the only sensible thing with it: it looks for a term called 23, does not find one, and creates it. The import reports success. The log is clean. The vocabulary contains a perfectly correct hierarchy, built by the tamper, sitting next to a handful of terms called 23, 25 and 26, which are the ones your content actually references.

We reproduced exactly that on a clean Drupal 11 site while preparing this release. If your categories are numbers, this is why.

More than one path per column

Sources often pack several categories into one cell:

sku,name,categories
1001,Rope leash,"Animals > Dogs > Accessories, Animals > Cats > Toys"

That works, by combining two plugins in the right order. Tamper runs its plugins as a pipeline, and when one of them turns a single value into several, the ones after it run once per value:

  1. Explode, using the separator between paths, here ,.
  2. Import Taxonomy Terms Hierarchy, using the separator between levels, here >.

The Explode produces two paths, the hierarchy plugin runs twice, and the field receives two term IDs. Reverse the order and the hierarchy plugin is handed the whole cell, treats the comma as part of a term name, and you get a category called Accessories, Animals.

When you do not want new terms at all

Creating missing terms is the right default for a first import into an empty vocabulary. It is the wrong default when the taxonomy is curated and the feed is a third-party file you do not control, because then a typo at the supplier silently becomes a category.

1.0.0 adds an option for that. Uncheck Allow terms to be auto created and the plugin stops inventing terms: a path that does not fully exist is skipped instead. A supplier renaming Accessories to Accesories shows up as skipped rows rather than as a quietly duplicated branch.

This one came from a support request by someone who wanted precisely that behavior, and from an implementation contributed by someone else two years ago. It sat in the queue until this release, which is on us.

When the source only has part of the path

The opposite case also happens. The vocabulary already holds Animals > Dogs > Food and the source only carries Dogs > Food, because whoever exported it dropped the top level.

By default the first segment has to be a root term, so Dogs > Food creates a second, unrelated Dogs at the root. Correct by the rule above, unhelpful in practice.

Match the first term anywhere in the hierarchy relaxes that first lookup only: the first segment may match a term at any depth, and everything after it resolves underneath whatever it matched. Dogs > Food then attaches to the existing branch.

It is off by default and should stay off unless you need it, because it trades away exactly the identity rule this post is about. When several terms share a name at different depths the first match wins, and which one that is depends on term IDs rather than on anything meaningful.

Where it stands

Feeds Tamper Term Hierarchy 1.0.0 works with Drupal 10 and 11. It depends on Tamper and core's Taxonomy module, and on Feeds Tamper if you are driving it from Feeds, which is the common case but not the only one: it is an ordinary Tamper plugin and works anywhere Tamper plugins run.

composer require drupal/feeds_tamper_term_hierarchy

The release exists because people kept filing issues against it. The autocreate option, the partial path matching, the Drupal 11 compatibility and the dependency cleanup were all reported, and in three cases implemented, by ethant, bbu23, longwave, damienmckenna and kazah. Their names are on the commits.

01 Aug 2026 6:40pm GMT

31 Jul 2026

feedDrupal.org aggregator

The Drop Times: Randy Kolenko on Maestro and Drupal’s Emerging Orchestration Work

Drupal's automation tools solve different problems. The harder question is how they can exchange work without weakening their execution models, permissions, or auditability.

31 Jul 2026 1:51pm GMT

Drupal AI Initiative: Empowering Creators and Governing Agents: The Next Phase of the Drupal AI Initiative

Author: Will Huggins

In 2025, the Drupal AI Initiative launched with a clear vision: to establish Drupal as the premier open-source AI platform for digital experiences.

One year later, the market momentum is clear. What began as a highly focused working group has grown into a powerful ecosystem supported by 32 global partner organisations, over 50 active contributors, and over $1.5 million in committed funding. Most importantly, with the core AI technology now clocking up over 18,000 installs, organisations are actively building their next-generation marketing engines on Drupal.

For digital teams, AI presents a host of opportunities. The power to increase speed of production on one hand, while maintaining quality, consistency and governance on the other. Drupal is addressing this head-on by creating two dedicated product workstreams: Inside AI and Outside AI.

This blog post outlines what this means for your digital roadmap and how Drupal can help your digital marketing operations win in the age of AI.

"Inside AI" vs. "Outside AI"

As AI has evolved from chat boxes into autonomous, multi-step agents, digital leaders need a platform that does two things simultaneously: empowers human creators inside the browser and securely integrates with external marketing systems.

To accelerate our product roadmap, we have divided our day-to-day development into two specialised, business-focused tracks:

1. Inside AI

  • The Core Value: Empowering your marketing and content teams.
  • The Focus: This stream focuses on the tools built directly into the editorial interface to supercharge you digital experiences and campaign execution. It drives our visual page-building tools, in-product copy editors, translation modules, and the Context Control Center (CCC).
  • The Goal: To eliminate the repetitive tasks and developer bottlenecks that slow down your marketing queue. Your team can take a campaign brief, generate a brand-consistent landing page, optimise it for SEO, and localise it for global audiences in seconds, all while keeping humans firmly in the loop to make the final publishing decisions.

2. Outside AI

  • The Core Value: Make it easy for site builders and developers to use coding agents to build, interact with and migrate to Drupal.
  • The Focus: This stream ensures that Drupal serves as a highly governed, secure production platform for websites, marketing systems, automation platforms (such as n8n or Activepieces), and external AI agents.
  • The Goal: To position Drupal as the most reliable, secure, and structured backend for your wider digital stack. We are making it incredibly easy for external systems and autonomous agents to build and deploy using Drupal without introducing security, compliance, or governance risks.

Through this dual focus, we aim to make Drupal the most advanced, intuitive workspace for your marketing teams and content creators, as well as the most secure and connectable platform to build on.

What is Ready Now?

As you plan your digital product roadmaps and marketing strategies, here is a summary of exactly what is production-ready, what is ready for pilot testing, and what is on the horizon:

Live and Ready

These capabilities are fully stable, secure, and ready to drive immediate ROI in your production environments:

  • Freedom of AI Choice: Drupal connects seamlessly with over 87 AI providers (including OpenAI, Anthropic, Gemini, Azure and Amazee.ai). You can swap models behind the scenes to optimise for cost, performance, or geographic data residency rules without rewriting any code.
  • Creative & Editorial Assistants: Bounded, human-in-the-loop features like automated image alt-text generation, metadata auto-tagging, and initial copy drafting are ready to go. They act as immediate, built-in time savers for your editorial teams.
  • AI Automators: Automate time consuming content management tasks like re-tagging all your content or turning PDF or word documents into accessible HTML pages - AI Automators are your CMS superpower!
  • Brand & Data Guardrails: Advanced security filters that automatically sanitise sensitive customer data before it ever leaves for an external LLM, while validating incoming AI responses to ensure compliance and prevent "hallucinations" on your live site.

Ready for Beta Testing

These features are highly advanced and close to general availability. They are perfect for controlled pilot programs to gain a competitive edge:

  • The Context Control Center (CCC): The brain of your brand. The CCC is a centralised space where you can define your brand voice, editorial style guides, target audience personas, and domain knowledge. This ensures that any AI-generated layout or copy sounds like your brand, rather than generic web text.
  • Automated Translation & Multi-Step Campaigns: Workflows that automatically translate entire content libraries or combine multiple AI steps to generate structured assets while capturing local nuances and brand tone.
  • Conversational Site Building: Tools that allow digital product owners and site builders to configure and lay out basic Drupal structures using natural language, drastically reducing initial setup times.
  • Cost & Performance Tracking: Fully integrated with standard enterprise monitoring tools. You can track exact token usage, model costs, and AI activity in real time, protecting your marketing budget from unexpected bills.

Coming Soon

One of the cutting-edge, experimental capabilities currently being refined in sandbox environments is Fully Autonomous Agents. These background agents are designed to analyse website performance, automatically propose layout optimisations to boost conversions, or build complex database queries entirely on their own.

Control and Governance

As a mature open-source platform, Drupal AI is structurally sovereign, model-agnostic, and transparently governed.
Whether you need to host open-source models locally to comply with strict regional privacy regulations or plug into the latest commercial LLMs for maximum speed, Drupal AI ensures you always own your data, your models, and your digital roadmap. We build trust directly into the architecture through branch-based content versioning, strict governance workflows, and deep audit trails.

Accelerate Your Roadmap

The Drupal AI Initiative is driving the future of open-source digital experience. If your marketing or digital product teams are ready to leverage the power of collaborative AI, try Drupal today.

31 Jul 2026 10:03am GMT

The Drop Times: Entity Reference Field Override Adds Per-Placement Control in Drupal

Reusable Drupal components become awkward when each placement needs a different presentation. ERFO adds controlled variation without duplicating or altering the referenced content.

31 Jul 2026 5:35am GMT

Morpht: Building a semantic search chatbot with Drupal AI

The Drupal AI module provides everything needed for a RAG chatbot: AI Search embeds your content into a vector database, AI Assistant API wraps an LLM with a grounded search prompt, and AI Chatbot puts a Deep Chat block on the page. We cover setup, provider selection, module stability, troubleshooting tools, and the data flow considerations that government sites need to get right.

31 Jul 2026 4:35am GMT

Stuart Clark (Deciphered): Custom Formatters 4.1.0

Custom Formatters is old. I started it in 2009, my first year building seriously for Drupal, and shipped it through Drupal 6 and 7. Then in late 2016, not long after the first Drupal 8 alpha, I stepped away (work, life, the usual reasons) and for the best part of a decade it wasn't mine to ship.

It didn't die, though, and that's almost entirely down to one person. Andrii Podanenko (podarok), backed by ITCare and the Open Y distribution, carried it through the Drupal 8 beta, the Drupal 10 port, and the start of the Drupal 11 line, essentially single-handedly, for years. Huge thanks to Andrii for looking after it all that time. I've picked the 4.1.x line back up alongside him, and 4.1.0 is the first release to come out of that.

Continue reading →

31 Jul 2026 3:30am GMT

30 Jul 2026

feedDrupal.org aggregator

Talking Drupal: Talking Drupal #563 - Drupito: More Than a Marketplace

Today we are talking about Drupito, its Business model, and Marketplaces with guest Ashraf Abed. We'll also cover Generate (Social Media) Image as our module of the week.

For show notes visit: https://www.talkingDrupal.com/563

Topics

Resources

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Ashraf Abed - drupito.com ashrafabed Avi Schwab - froboy.org froboy

MOTW Correspondent

Avi Schwab - froboy.org froboy

30 Jul 2026 6:00pm GMT

Metadrop: How to audit internal linking and crawl traps in Drupal with Entity Mesh

Entity Mesh is a Metadrop Drupal module that makes a site's internal link structure visible. It audits every node the way an anonymous crawler sees it, then aggregates the result into one exportable picture: where navigation breaks, where crawl budget leaks, and where language versions fall out of step. For a content-heavy or multilingual Drupal site, that turns internal linking from an invisible assumption into a measurable part of Technical SEO.

Every link is a navigation intention

Structuring content well starts with knowing how the site actually connects. Few Drupal modules give aggregated, site-wide information about content and its connections, so that picture is usually missing when decisions get made.

Entity Mesh was built to answer a specific question: how do nodes interconnect, and does the navigation they create match the one that was intended? If the goal is for a visitor to buy a product, the path from a landing page should lead to the product, not to the contact form. If the goal is a donation, the path should not end at the newsletter signup.

That makes internal linking more than a UX concern. It is also part of Technical SEO, because search engines follow internal links to discover content and to judge which…

30 Jul 2026 9:45am GMT