11 Aug 2026

feedDrupal.org aggregator

Drupal Association blog: Responding to Drupal Enquiries with a Community-First Mindset

This is a guest post from the team at Zoocha, a Gold Drupal Certified Partner with offices in the United Kingdom, Spain, Brazil, and the United States.

As Drupal agencies, we're fortunate to benefit from a vibrant ecosystem that generates awareness, interest, and opportunities for all of us. At Zoocha we receive inbound enquiries from a variety of sources. Whether they arrive via Drupal AI, Drupal CMS, a community recommendation, a Drupal event, or direct through our site, every enquiry often represents something important: a person taking their first step towards our community.

Not every lead is a project.
Not every lead has a budget.
Not every lead is ready to buy.

But they always deserve a meaningful response.

The First Impression of Drupal

When someone reaches out to a Drupal agency, they're rarely just evaluating that agency, they're more often than not seeking to engage with Drupal itself. For many prospective clients, they may not know the difference between Drupal, the Drupal Association, Drupal CMS, an implementation partner, a hosting provider, or the wider open source community. They simply know they've heard about Drupal and are looking for guidance.

The response they receive helps shape their perception of the entire ecosystem. If their first interaction feels dismissive, transactional, or overly focused on qualification, they may walk away believing that's what the Drupal community is like. If their first interaction is friendly and genuine, they leave with a very different impression.

Resist the Urge to Qualify Too Early

Most agencies have some form of qualification process. It's sensible, and so do we. Time is valuable, and we know not every conversation will become a project.

However, there is a difference between understanding someone's needs and interrogating them. We've all seen responses that immediately ask:

  • What's your budget?
  • What's your timeline?
  • Have you secured funding?
  • How many pages does the site need?
  • Can you complete this requirements questionnaire?

While those questions have their place, they are rarely the most important thing during an initial conversation. Many prospects simply don't know the answers yet.

Some are conducting research. Some are exploring options. Some are trying to understand whether Drupal is even the right fit. At this stage, what they often need most is guidance.

Be Helpful Without Expectation

One of the most effective approaches we've found at Zoocha is to assume that the first conversation may never lead to a sale. That does sound counterintuitive for a commercial organisation, but it changes the nature of the interaction. Instead of trying to move the conversation towards a proposal as quickly as possible, we focus on being useful. That might mean:

  • Answering questions about Drupal CMS
  • Explaining how Drupal compares to other platforms
  • Pointing someone towards community resources
  • Offering advice on procurement approaches
  • Helping clarify requirements
  • Suggesting next steps, even if they don't directly involve us

Sometimes that conversation ends there, and that's ok. The contact doesn't leave empty handed. They leave with a positive impression of who we are in the Drupal community.

The Long-Term Value of Community-First Thinking

Interestingly, some of our most successful client relationships started with conversations that had no immediate commercial outcome. We've had early exchanges that were little more than an idea, with individuals facing a specific challenge and just looking to find out if they're even in the right place with Drupal. After a person-first conversation, they disappeared. But a few months, or even a year, later, they came back, and what began as a casual enquiry became a long-term client partnership.

This didn't happen because we had the best sales team or process. It happened because we prioritised human connection over a fast sale.

Open Source Values Apply to Business Development Too

Drupal has always been built around principles of collaboration, openness, and knowledge sharing, these values really shouldn't stop at code contributions. They can also shape how we engage with prospective users of the platform. When we answer questions generously, share expertise freely, and help organisations make informed decisions, we're strengthening confidence in Drupal itself.

Even if a particular opportunity never becomes a client engagement, the person on the other end of that conversation is left with a positive impression of the community. That's good for all of us!

Conclusion

The next time a speculative Drupal enquiry lands in your inbox, try viewing it differently. Consider simply asking, "How can we actually help this person?" The answer might only require a short email, a useful link, or a brief conversation, and yes, the immediate commercial return is likely to be zero. But the long-term return, for your agency and for the Drupal ecosystem, can be significant.

Every first interaction is an opportunity to demonstrate what makes the Drupal community different. Let's make sure it's a positive one.

11 Aug 2026 8:00pm GMT

BloomIdea: Rendering Mermaid diagrams in Drupal, and the highlight.js trap along the way

This started with an agent writing a comment into our Drupal intranet. It had traced an authentication flow, decided a sequence diagram was the clearest way to say it, and wrote one. What landed on the page was a grey box of monospaced text.

That is a small failure with a wider shape behind it. A growing share of what gets written into a Drupal site is no longer typed by a person into CKEditor. It arrives through an API, from a script, from an agent with an MCP connection to the site. And whatever writes it, the diagram comes out the same way:

<pre><code class="language-mermaid">sequenceDiagram
  Alice-&gt;&gt;Bob: hello</code></pre>

That is not a choice anyone made. It is what a fenced ```mermaid block becomes when Markdown is converted to HTML, which is the shape a language model writes in because it is the shape it was trained on. It is also, independently, exactly what CKEditor 5's Code Block plugin emits when a human picks a language from the dropdown. Human authors and machine authors converge on the same markup, which is a convenient thing to be able to rely on.

Mermaid is worth supporting for the ordinary reasons too. The diagram stays as text in the field, so it is searchable, it diffs, and the next person fixes one line instead of rebuilding a PNG that nobody has the source for. But the reason it became urgent for us is the one above: content we did not hand-write was arriving in a form the site silently failed to render.

Getting it working turned out to be short, with one genuinely non-obvious trap in the middle. This post is the trap, wrapped in the working solution.

What already exists

Mermaid Integration is the contrib module. It has been around since 2020, it is maintained by people whose names you will recognise, and its filter renders diagrams from a [mermaid]...[/mermaid] shortcode.

That syntax is the whole problem, and it is worth being precise about why. No model will ever emit [mermaid] unprompted, because nothing in its training data looks like that. Neither will any Markdown converter, nor CKEditor, nor a paste from a README. A human can be told to switch to source view and hand-type a shortcode. A pipeline cannot be told anything, and it does not fail loudly: the content saves fine, the page renders fine, and the diagram is simply a code block forever.

So a shortcode-only integration is invisible to every non-human author your site has. That is a different problem from being inconvenient, and it is the one that decided this for us.

We wrote our own filter rather than fight that, and we are contributing code block support back upstream. More on that at the end.

The filter

The pattern to copy is Highlight.js Input Filter. Its filter does a cheap regex first and only attaches its libraries when the text actually contains a code block. That conditional attachment is the whole game when your library is measured in megabytes.

public function process($text, $langcode): FilterProcessResult {
  $result = new FilterProcessResult($text);

  // No diagram in this text: attach nothing, change nothing.
  if (!preg_match(self::DETECT_PATTERN, (string) $text)) {
    return $result;
  }

  $count = 0;
  $processed = preg_replace_callback(self::BLOCK_PATTERN, /* ... */, (string) $text);

  if ($processed === NULL || $count === 0) {
    return $result;
  }

  $result->setProcessedText($processed);
  $result->addAttachments(['library' => ['your_module/mermaid']]);

  return $result;
}

Nothing surprising so far. Then you turn it on next to your existing syntax highlighter and the page breaks in two ways at once.

The trap: highlight.js has two halves

Our site runs Highlight.js Input Filter on the same text format. The moment a language-mermaid block appeared, two things went wrong: a 404 in the console on every page with a diagram, and syntax highlighting painted underneath the rendered graph.

The 404 is easy to explain. That module scans the text server-side for language-* classes and passes the languages it found to the browser in drupalSettings, and the front end then imports a grammar per language from a CDN. There is no Mermaid grammar in highlight.js, and there never will be, because highlighting and diagramming are not the same operation. One paints tokens and leaves the text as text. The other deletes the block and draws something else in its place. So the import 404s:

GET https://unpkg.com/@highlightjs/cdn-assets@11.9.0/es/languages/mermaid.min.js  404

The obvious fix is filter weight. Give your filter a negative weight so it runs before the highlighter, take the block out of the way, done.

It is not enough, and this is the part worth remembering. The highlighter has a second half that filter weight cannot reach. Its JavaScript calls:

hljs.highlightAll();

highlightAll() walks every pre code element in the document and auto-detects a language for each one. It does not consult drupalSettings. It does not know or care what your PHP decided. Ordering filters fixes the server-side half and leaves the client-side half completely untouched, which is why the double-render survives a fix that looks like it should have worked.

So the filter has to change the markup, not just run first. Two edits, one per half:

// Before: what CKEditor stored.
<pre><code class="language-mermaid">…

// After: what our filter emits.
<pre data-bloom-mermaid="1"><code class="nohighlight">…

The attribute on the <pre> defeats the server-side half, because that module's regex requires a bare <pre> immediately followed by <code:

'/<pre>\s*<code\s+class="\s*(?:[\w-]+\s+)?\b[\w-]*lang(?:uage)?-([\w-]+)\b/i'

Add any attribute and it stops matching, so mermaid never reaches drupalSettings and the 404 never happens.

The nohighlight class defeats the client-side half. It is the class highlightElement checks before giving up on an element:

const shouldNotHighlight = (languageName) => /^(no-?highlight)$/i.test(languageName);

Both, or you have only half a fix. We have this written down in the repo with a note not to remove it, because the rewrite looks redundant if you only know about the filter ordering.

There is a neater variant available if you control the output shape. Contrib's module emits <pre class="mermaid"> with no <code> element inside at all, and highlightAll() selects pre code, so the collision simply cannot occur. We kept the <code> because we wanted a readable code block as the failure mode. Pick whichever tradeoff you prefer, but pick deliberately.

Vendor the library, and know what you are vendoring

Contrib pulls Mermaid from cdn.jsdelivr.net with no version pin. We wanted the file in the repo: no third-party dependency in the critical path of an internal page, and no surprise when a major version lands.

The tidy Drupal answer is composer require npm-asset/mermaid, which installs into web/libraries. We measured before committing to it, and the numbers ended the discussion. Mermaid 11.16.1 unpacks to 83 MB across 1171 files, about 26 MB of which are source maps that never reach a browser. web/libraries is tracked in git in our project, so that is 83 MB of repository for one diagram renderer.

What you actually need is one file. dist/mermaid.min.js is the self-contained UMD build, 3.6 MB raw and 975 KB gzipped, and it sets globalThis.mermaid. We vendored that single file with a README next to it recording the version, the licence, the exact source URL and the upgrade command.

3.6 MB is still a lot, which is exactly why the conditional attachment matters. A page with no diagram downloads none of it. We also set preprocess: false on the library so a file that size stays out of the aggregated JavaScript bundle:

mermaid:
  version: 11.16.1
  js:
    js/vendor/mermaid.min.js: { minified: true, preprocess: false }
    js/mermaid-init.js: {}
  dependencies:
    - core/drupal
    - core/once

Two details in the JavaScript

Read textContent, never innerHTML. The stored markup escapes the arrows, so a sequence diagram is sitting in the database as A--&gt;&gt;B. textContent gives you the decoded text that Mermaid's parser expects; innerHTML hands the parser the entities and it fails on every diagram with an arrow in it, which is to say all of them.

A broken diagram must never break the page. Someone will eventually get the syntax wrong in a comment, and a syntax error in one diagram cannot be allowed to take down a task page. So the render is wrapped, the failure is silent, and the original code block stays visible and readable:

mermaid.render(id, source)
  .then((result) => { /* replace the <pre> with the SVG */ })
  .catch((error) => {
    // Degrade to the plain code block.
    pre.classList.add('bloom-mermaid-error');
    console.warn('Mermaid: diagram not rendered.', error);
  });

Set securityLevel: 'strict' while you are there, and suppressErrorRendering: true so Mermaid does not inject its own error graphic into your page when a parse fails.

One more that cost us a test to find: Mermaid leaves a throwaway measurement element in document.body when parsing throws. It cleans up after a successful render but not always after a failed one. Remove #d<your-id> in a finally.

Adding it to the editor

Last step, and easy to forget: put Mermaid in CKEditor's Code Block language list, so authors can pick it from the dropdown instead of needing source view.

plugins:
  ckeditor5_codeBlock:
    languages:
      # …
      -
        label: Mermaid
        language: mermaid

Export that config. If it only exists in the active store, the next config:import takes it away again.

Contributing back

None of the above is Mermaid-specific except the library name. Any renderer that replaces a code block rather than colouring it hits the same two-halves problem: PlantUML, Vega-Lite, ABC notation, chemical structures. If you build one of those, the ordering fix will look like it worked and it will not have.

Two merge requests are open against Mermaid Integration:

  • #3616088 adds code block support alongside the shortcode, carries the highlight.js de-confliction, and makes the library attachment conditional instead of unconditional.
  • #3592975 adds the config schema the filter currently lacks. Without it, installing the module blocks saving any text format on Drupal 11.3, whether or not the Mermaid filter is enabled anywhere.

Reviews welcome.

As for the comment that started this: the agent reran it after the filter went live, and the diagram drew. Which is the useful test, in the end. If the machines writing into your site cannot render a diagram, neither the machines nor the people reading after them get one.

11 Aug 2026 1:18pm GMT

Specbee: How to build accessible Drupal Themes with Twig and BEM

Accessibility in a Drupal theme starts in your .html.twig files. Here's a practical guide to learning how to structure templates with semantic HTML5 and BEM class naming.

11 Aug 2026 11:09am GMT

The Drop Times: Drupal GovCon 2026 Speakers Preview AI Governance, Migrations, Performance, and Delivery

Several Drupal GovCon speakers are looking past demos and idealised workflows to the harder questions of what government teams can govern, maintain, afford, migrate, and trust in real projects.

11 Aug 2026 5:09am GMT

Cheppers: ExperienceKit: AI Landing Page Generation for Drupal - How It Actually Works

Describe the landing page you need in plain language. A few minutes later, it exists in your Drupal site: production-ready, on brand, and waiting for your review. That is the promise of an AI landing page generator for Drupal, and it is no longer a demo trick. It works, it is reliable enough for enterprise sites, and it changes how marketing and development teams divide their work.

11 Aug 2026 12:00am GMT

10 Aug 2026

feedDrupal.org aggregator

The Drop Times: Who Pays for Drupal’s Shared Work?

Recent audited figures give Drupal's sustainability debate a concrete baseline. The Drupal Association says unrestricted reserves are about $960,000, equal to 2.3 months of operating expenses and below the board's three-month minimum. Its 2025 accounts put Drupal.org and supporting services at about $2.1 million in programme expenses, without a dedicated funding mechanism. The question is no longer whether shared work has a cost, but how those costs become recurring commitments.

The same problem appears across infrastructure, security review, dependency maintenance and contribution. These responsibilities continue after software is adopted and cannot be assumed to exist indefinitely through volunteer capacity, one-off grants, donated services or event revenue. Current proposals differ on the mechanism, but increasingly treat stewardship as capacity that organisations and institutions have to plan and fund.

That makes this week's question narrower than whether Drupal needs stewardship. It is who pays, for what, and on what recurring basis. With voting in the 2026 Drupal Association at-large board election open until 14 August 2026 at 23:59 UTC, those choices are also part of a live governance decision.

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 Allen Jason.

10 Aug 2026 5:12am GMT

08 Aug 2026

feedDrupal.org aggregator

PreviousNext: Why PreviousNext signed Drupal's Manifesto for an Open Future

We recently added PreviousNext's name to "A Manifesto for an Open Future," joining 15 other Drupal agency founders and leaders in a public declaration that open source, not closed platforms, is the foundation for the future. Since founding PreviousNext in 2009, we've built our business on that premise, so signing felt less like adopting a new position and more like putting our name to something we've already been doing for 17 years.

by Owen Lansbury /

The manifesto's core conviction is: "we are here to help build a resilient civilisation, and to build it in the open." The nine statements that follow reinforce that open source code becomes a refuge as trust in proprietary technology erodes; that data sovereignty stops being optional; that structured content becomes the raw material machines reason best on; and that security earned through a quarter-century of public scrutiny counts for more than a security case a vendor simply asserts rather than proves.

We didn't need much convincing to sign. PreviousNext invests around 5% of our annual revenue by contributing to Drupal's codebase and community, we're Australia's only Top Tier Drupal Certified Partner, and we rank among the top five global contributors to the project despite our comparatively small team. From helping formalise the DrupalSouth Steering Committee through the 2010s and volunteering on the Drupal Association board from 2019 to 2025, the manifesto's language about supporting the wider community across competitive lines is the essence of the commitment we already have.

The manifesto asks signatories to commit to four things: contribute; support each other; tell the story of what open source makes possible; and meet the moment with courage instead of retreating into nostalgia. For us, our contributed time is a budget line, not a marketing spiel. The second means we'll keep sharing what we learn building on Drupal rather than treating it as a competitive advantage to hoard. The third and fourth are more about attitude: talking about Drupal in public more, like we just did with other Drupal Certified Partners at a major government conference, and being ambitious about Drupal's future evolution, rather than assuming 25 years of Drupal's legacy settles all arguments.

That last point matters more for our clients. While most of the industry conversation around AI has been about which platform is the newest and shiniest, the manifesto explains that machines reason best on content that's modelled, labelled and meaningful, which is what Drupal has spent two and ahlf decades getting right. As more of our clients start integrating AI into their platforms, that structure stops being a technical detail and starts being the difference between AI that actually understands content and AI that's guessing at it. Sovereignty works the same way: Drupal carries no licensing cost, we can modify and enhance every line of code we build on, and clients own their platform outright, something PreviousNext's clients already benefit from. From a security perspective, Drupal's codebase is available for any security researcher to inspect and is overseen by a global security team that PreviousNext team members are an active part of.

If you're a Drupal agency, hosting provider or product team that shares this view, the manifesto is still open for signatories at https://drupal-open-future-manifesto.com/. If you're a client wondering what our commitment to open source principles means for your own projects, please get in touch.

08 Aug 2026 6:12am GMT

07 Aug 2026

feedDrupal.org aggregator

Gábor Hojtsy: Introducing Language Audit and Configuration Language Lock for Drupal and asking for your feedback

Introducing Language Audit and Configuration Language Lock for Drupal and asking for your feedback

I am neck deep in Drupal configuration language recently as I was diagnosing problems with how recipes are installed on foreign language Drupal CMS sites and how Drupal Canvas operates under that inconsistent configuration. I did a lot of research and while already fixed a few of the side-quest bugs fund, there are many old standing issues that this area connects. As a result I built two open source Drupal modules: one to diagnose and another to force language behavior. These two modules may be used today (although both are fresh and not yet widely proven so consider that a caveat).

Gábor Hojtsy

07 Aug 2026 4:22pm GMT

The Drop Times: Display Builder Beta 6 Brings UX Refresh and Drupal 11.4 Fixes

Display Builder Beta 6 carries the UX refresh previewed in July, adds Drupal 11.4 compatibility fixes, and replaces a Beta 5 affected by a fresh-install failure. Translation and accessibility work remain before a release candidate.

07 Aug 2026 12:26pm GMT

06 Aug 2026

feedDrupal.org aggregator

Talking Drupal: Talking Drupal #564 - Approachable Open Source

Today we are talking about Maintaining NodeJS, Patternlab, Writing Books, and Open Source with guest Brian Muenzenmeyer. We'll also cover AI Webform Generator as our module of the week.

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

Topics

Resources

Guests

Brian Muenzenmeyer - brianmuenzenmeyer.com

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Bernardo Martinez - bernardm28 JD Flynn - dorficus

MOTW Correspondent

Jacob Rockowitz - jrockowitz.com jrockowitz

06 Aug 2026 6:00pm GMT

The Drop Times: James Abrahams Makes Sustainable Funding a Focus of Board Candidacy

How the Drupal Association raises money can shape who influences the project and which work gets sustained. James Abrahams makes that tension central to his board candidacy.

06 Aug 2026 2:50pm GMT

joshics.in: A backend engineer guide to Single Directory Components in Drupal

A backend engineer guide to Single Directory Components in Drupal bhavinhjoshi

Single Directory Components completely changed how we handle the frontend. But if you spend most of your time engineering the backend, SDC can feel incredibly frustrating.

You build a massive render array, pass it to the template, and the strict schema rejects it instantly. The days of dumping raw entity objects into Twig are over.

When you work with SDC, the component dictates exactly what data it accepts. This guide details the cleanest way to format your data and bridge the gap between custom backend logic and strict frontend schemas.

Implementing the Component Workflow

If your backend architecture does not format data perfectly, the system throws a fatal error. Follow these steps to ensure your data matches the strict schema requirements.

1. Define your component schema

Every component needs a YAML file. This is the contract your backend must follow. Keep your properties simple and predictable.

name: Article Card
description: A strict component for displaying article summaries.
props:
  type: object
  required:
    - title
    - url
  properties:
    title:
      type: string
      title: Article Title
    url:
      type: string
      title: Target Link
    summary:
      type: string
      title: Teaser Text

2. Format the render array

Backend engineers usually try to pass the entire node object. Do not do that. Extract the exact strings your schema demands. Set the render array type to component so Drupal knows how to route it.

$build['article_card'] = [
  '#type' => 'component',
  '#component' => 'my_theme:article_card',
  '#props' => [
    'title' => $node->getTitle(),
    'url' => $node->toUrl()->toString(),
    'summary' => $node->get('field_summary')->value,
  ],
];

3. Render the component

Your Twig file is now incredibly clean. It only prints exactly what the backend provided. No complex logic. No processing overhead.

<div class="article-card">
  <h2><a href="{{ url }}">{{ title }}</a></h2>
  <p>{{ summary }}</p>
</div>

Notice how we completely avoid preprocess functions here. The template simply accepts the data contract and renders the output.

Key Considerations

  • Never pass full entity objects into SDC props. Always extract the raw values first.
  • Validate your schema early. A mismatched type will trigger a rendering error that brings down the page.
  • Keep your #props mapping clean by handling all complex business logic in the controller rather than the template.

This strict separation keeps your backend logic secure and your templates highly predictable. Adapting to Single Directory Components requires a mindset shift for backend developers. But it is the absolute best way to scale enterprise software without creating a massive technical debt trap for future engineers.

Add new comment

06 Aug 2026 12:06pm GMT

The Drop Times: Open-Source Dependency Stewardship Continues After Adoption

Open-source code may remain available while the services, organisations, licences, and support arrangements around it change. Drupal delivery teams need accurate dependency records and workable continuity plans throughout the software's operational life.

06 Aug 2026 11:17am GMT

The Drop Times: EU Open Source Strategy Backs Public Code With Procurement and Maintenance Measures

The European Commission wants public bodies to become stronger users and contributors to open source, supported by fairer procurement, maintenance funding, security measures and long-term stewardship.

06 Aug 2026 7:59am GMT

Morpht: Customising the Drupal AI Chatbot: Settings, buttons and the Deep Chat widget

Explore the inner workings of the AI Chatbot module to customise the chat experience via hooks.

06 Aug 2026 4:40am GMT

Drupal Association blog: The work that just happens: the DA Insider for July 2026

This post is adapted from the DA Insider, the Drupal Association's monthly newsletter. Subscribe here to get it in your inbox each month.

A note from our interim CEO

Dear Drupal community,

Open source hums along on the work that just gets done. As I step into the interim CEO seat, I'm making a point to notice the sheer volume of work powering this ecosystem, from the DA and beyond. Here's some of what has come together in the past month:

  • Our engineering team migrated hundreds of projects to GitLab, security issues included, and kicked off an RFP to make launching a Drupal site dead simple.
  • DrupalCon Rotterdam is ready and in the homestretch.
  • The DrupalCon Orlando call for speakers opened August 4. If the event converts even half the enthusiasm of the local team (or the cuteness of Bytes the Gator), it's going to be one to remember.
  • We're building a new front door to introduce Drupal to new audiences and evaluators, and we're looking for help.
  • The community has 14 global events dropping this August and partnership groundwork under way in Burkina Faso.
  • Nominations are open for the Women in Drupal Award, an honor I was humbled to receive back in 2023.

My goal as interim CEO is straightforward: make sure the Association's foundation is resilient enough to support all this energy. The first step is helping all of us notice and appreciate the work that already "just happens."

I hope you enjoy this month's newsletter and everything everyone's been building. And one final note: board elections are open. Please vote.

Tiffany Farriss Interim CEO

Vote in the 2026 At-Large Board Election - closes 14 August

If you're a Ripple Maker, your ballot arrived by email from Helios Voting on 22 July. Voting closes 14 August 2026 at 23:59 UTC, so there's still time to get to know the candidates: read their profiles and leave questions on the election details page, catch the Open Community Forum recording on our YouTube channel, or revisit the async conversation in #drupal-association on Drupal Slack. Every vote counts - make yours matter.

DrupalCon Rotterdam is in the homestretch

DrupalCon Rotterdam 2026 is ready. Join the global Drupal community for four days of learning, collaboration, and connection - explore the program, meet the speakers, and start planning your experience. Secure your ticket now.

DrupalCon Orlando 2027: Call for Speakers is open

The DrupalCon Orlando 2027 Call for Speakers opened 4 August and closes 20 October 2026, with some notable changes this year:

A more focused program with fewer concurrent sessions and an emphasis on high-quality, impactful content. Updated session tracks reflecting the evolving Drupal ecosystem. And a new pathway for first-time speakers: if you've never spoken at a DrupalCon, DrupalCamp, or other Drupal event, you can submit to the new Poster Session - selected presenters showcase their work at the Monday Welcome Reception and present a 10-minute session on the Lightning Stage.

And keep an eye out for Bytes the Gator, the DrupalCon Orlando mascot, who'll be visiting Drupal events around the world between now and March 2027 - with a chance to win a free registration to DrupalCon Orlando 2027 along the way.

Celebrate the women shaping Drupal's future

Nominations are open for the Women in Drupal Award, sponsored by Jakala, recognising women whose work strengthens the Drupal community - in the projects they build, the teams they support, the ideas they bring forward, and the space they create for others to grow. Know someone whose contribution deserves recognition? Submit a nomination.

Drupal Steward: extra time when it matters most

When highly critical vulnerabilities emerge - like SA-CORE-2026-004, a SQL injection in Drupal core that anonymous users can trigger - every minute matters. Drupal Steward is a security service from the Drupal Association that gives you extra time to respond before vulnerabilities can be widely exploited: early notification of highly critical issues, recommended WAF mitigation rules, and access to security expertise, in coordinated collaboration with the Drupal Security Team. It's available in a Community Tier for smaller site portfolios, plus Small, Mid-Size & Enterprise tiers for organisations that want full control. Referral incentives are available for Drupal Certified Partners.

Behind the scenes with the engineering team

The migration of projects to GitLab issues continues - including security issues and hundreds of Ripple Maker projects - with GitLab soon to be enabled by default for all new projects, alongside updated contribution docs and a new custom commands reference. The team has also kicked off a collaboration with Alpha-Omega through their Security Engineer in Residence program to triage and respond to the growing wave of AI-generated security reports. And an RFP is under way for the Drupal Site Template Marketplace, focused on closing the last mile from template selection to live hosted site.

Help build Drupal's new front door

We're building a dedicated product marketing site for Drupal - a purpose-built, marketing-led site designed to reach the people who haven't heard of Drupal yet: marketers, IT directors, and enterprise decision-makers evaluating CMS platforms.

High-priority tasks are being added to the promote_drupal project on GitLab - real, scoped pieces of design, content, video, and strategy work with significant contribution credits attached, with more added on a rolling basis. If something catches your eye, reach out to Ryan Witcombe at ryan.witcombe@association.drupal.org or @RyanWitcombe on Drupal Slack.

A milestone for open source in West Africa

On 15 July, the Drupal Burkina Faso Association, led by its president Seferiba Salif Soulama, met with Burkina Faso's Minister of Digital Transition, Dr. Aminata Zerbo/Sabane, to explore how Drupal can support the country's digital future. The meeting marks a significant step toward a formal partnership between the Ministry and the Drupal Burkina Faso Association, with Drupal at the heart of Burkina Faso's digital modernisation agenda.

This is what open source looks like in action: communities, governments, and technology coming together to build something that belongs to everyone. Read the full story.

One more thing: The AI Byte

The Drupal AI Initiative team has launched The AI Byte, a monthly LinkedIn newsletter curating the best content across the web about Drupal AI - new capabilities, case studies, events, and webinars. Subscribe on LinkedIn.


This roundup is adapted from the DA Insider, the Drupal Association's monthly newsletter. Want it in your inbox? Subscribe to email communications and browse previous editions.

AI was used to help adapt this newsletter into a blog post. It was reviewed and edited by Drupal Association staff before publishing.

06 Aug 2026 12:34am GMT