Skip to main content

Metadrop March 2025: content-first publishing, docker speedups, and Drupal evolution


March was all about focus: focusing developer workflows, focusing client delivery, and—most importantly—focusing on content.

We released a new module, Content First, to help teams work directly with real site content. We improved our Docker infrastructure, contributed across the Drupal ecosystem, and supported clients with robust, scalable solutions.

Here’s a look at what shipped and why it matters.

Content First: empowering editorial workflows

We released the Content First module to make real, live content more accessible to the people who use it every day: editors, writers, and project managers.
 
The Content First philosophy says websites should be built around content—not design. But in real life, even content-focused projects hit a wall when content is difficult to access after it's been published because it's scattered across different content components.
 
This module solves that. It adds a "Content" tab to every node page, displaying a clean, stripped-down version of the rendered content—no menus, no blocks, no layout. Just the text as the user sees it where you can:
 
  • Copy it with one click
  • Download it as plain text
  • Use it as a working base for revisions, translations, or migrations
No need to ask developers for exports or dig through backend fields. It’s simple, direct, and saves time across teams. 

Dockerized DDEV images for CI

We use DDEV (and Aljibe) for our local development and CI tests. This allow us to have a environment with all the tools we use in a daily basis, specially testing  tools. However, we faced some performance issues in CI: DDEV downloads all images during tests, even in different steps. This is not an issue with DDEV but with the integration of DDEV in a CI, where Docker-in-Docker is required. The result was almost 20 minutes for each test run dedicated to image download. This is not ideal because it directly impacts costs and the times it takes to complete a deployment, which can be very important when there is a security issue or an urgent fix.
 
To solve this, we introduced Metadrop/dind-ddev. This repository provides a way  to generate configurable Docker-in-Docker images using DDEV images. This generated image is then uploaded to our Docker repository. This image contains all the images required for the test, thus reducing setup time, bandwidth and startup time.
 
It was not easy and we had to apply some DevOps Black Magic, but we finally managed to overcome the issues with CI. It is now used in our standard development stack.

Common base images for testing tools


A shared Docker base now powers images for BackstopJS and UnLighthouse (Metadrop/docker-aljibe-tools), with plans to integrate Pa11y next. These images are hosted on ghcr.io instead of DockerHub to avoid recent rate limits issues.
 

By centralising and optimising our images, we save build time and reduce disk overhead in our local environments and CI runner like Jenkins or GitLab CI.

Module releases

March was full of module releases, issue patches, and structural improvements across core and contrib.

Xray Audit 1.6

This major release focused on improving how audit data is organised and displayed:
 

It is an important release, and aligns we our idea of giving site owners better tools to understand how their content is working.

Layout improvements for VLSuite

Work continued on VLSuite 3.0. One major issue addressed the module’s reliance on Bootstrap-specific class logic, replacing it with field-based utility classes for broader theme compatibility, including for example Tailwind CSS baed themes—ideal for modern Drupal 10+ builds.

Graphql compose upgrades

While working with GraphQL and GraphQL Compose module we encounter some bugs so we contributed patches to solve them that have been already accepted

CDNetworks related modules

Some of our clients use CDNetworks, but unfortunately the Drupal community doesn't use this CDN very much. We provided some help to the  CDNetworks Purge module and we released URL Purge Aggregator to integrate Drupal with this CDN as part of the improvements done to a project.

Other releases 

Multisite CI/CD for enterprise client

We migrated a large multisite system from BLT to ACLI for Acquia Site Factory. The new setup includes: 
  • GitLab CI integration
  • Artifact generation
  • Deployment automation
This reduces deployment time, improves cache accuracy, and supports cleaner development pipelines.

Local performance audits

We ran a frontend performance and responsive design audit for a secured intranet. Since external tools couldn’t reach the site, we used local Docker-based setups of Lighthouse and UnLighthouse for effective, internal-only testing.

Coming soon: Artisan 2.0

We’re deep into development on Artisan 2.0, our base theme for Drupal. Big changes include:
 
  • TailwindCSS + DaisyUI integration
  • Autodetection of CSS variables
  • Vite-based asset compilation
It’s a developer-first rebuild designed for performance, clarity, and scalability. We'll talk more about this as soon as it is ready for a stable release.
 
 
Jorge Tutor

Jorge Tutor

CIO
RIcardo Sanz Ante

Ricardo Sanz

CTO

Training courses

Face-to-face and online training for development and product teams.