44 Followers
40 Following
113 Posts

🎂 Drupal turns 25 on January 15 - Join the Swiss celebrations in Zurich or Geneva!

Bring your Drupal stories, meet old friends, make new connections, and celebrate what's ahead (hello, Drupal CMS 2.0!). @drupalassoc

🇨🇭 Drupal's 25th Birthday Party - Zurich: https://www.drupal.org/community/events/drupals-25th-birthday-party-zurich-2026-01-15

🇨🇭 Drupal's 25th Anniversary - Geneva: https://www.drupal.org/community/events/drupals-25th-anniversary-geneva-2026-01-15

See you there!

#Drupal25 #DrupalSwitzerland #OpenSource #DrupalCommunity #CelebrateDrupal

I've been busy working on a large number of performance improvements in Drupal 11.3 and contributed projects, together with @catch56 and many others.

Everything combined, we're seeing hundreds of queries less on complex pages. On one specific example page that we measured in a cold cache scenario, that's a reduction of 670 queries, 62% of the total queries. And that doesn't even include similarly reduced cache lookups and writes.

Read more on our blog post.

https://www.md-systems.ch/en/blog/2025-12-16/performance-improvements-drupal-11-3

Performance improvements in Drupal 11.3 and Paragraphs

The latest release of Drupal core, combined with updates to Entity Reference Revisions, Paragraphs and other modules save hundreds of queries when rendering complex pages. This post goes through all the improvements that make this possible.

MD Systems GmbH
Can big tech please stop buying all the RAM? Render distance is already a mess!
@jpoesen @rachel I'm using `@phpstan-param mixed[] $form` on form methods (and alter hook implementations). This tells PHPStan that `$form` is an array but we do not have any idea what to expect - which is true actually. In form alters, PHPstan will flag any non-validated access to `$form` members. That forces me to use `assert()` and check the form structure before modifying it. That way I caught a bug in a form alter hook which wasn't covered with any tests just a couple of days ago.
@lsmith Videos hosted at the same domain? Otherwise you might need to allowlist the CDN. Also does the site use some kind of video widget or is it HTML5 `<video>` element? If its a widget, then maybe the crawler needs to be instructed to fetch the asset URL from a custom attribute.
@lsmith I did use `httrack` on several occasions to turn a CMS backed website into a static dump. Haven't done it recently, so I have no complete command line available right now. I used to install it from Debian package sources, https://www.httrack.com/ lists some more options.
HTTrack Website Copier - Free Software Offline Browser (GNU GPL)

HTTrack is a free (GPL, libre/free software) and easy-to-use offline browser utility. It allows you to download a World Wide Web site from the Internet to a local directory, building recursively all directories, getting HTML, images, and other files from the server to your computer. HTTrack arranges the original site's relative link-structure. Simply open a page of the 'mirrored' website in your browser, and you can browse the site from link to link, as if you were viewing it online. HTTrack can also update an existing mirrored site, and resume interrupted downloads. HTTrack is fully configurable, and has an integrated help system. WinHTTrack is the Windows 2000/XP/Vista/Seven/8 release of HTTrack, and WebHTTrack the Linux/Unix/BSD release.

I hope that this will boost the motivation to finally get rid of those baselines - one-by-one.
Luckily I opted for one phpstan baseline file per custom module when I introduced static analysis almost two years ago. Now I can use a simple glob to skip over the non-clean custom modules.
3. Skip any subdirectories with too many phpstan violations. Why? see: https://getrector.com/documentation/team-tools#content-2static-analysis
Rector Docs: PHP Refactoring Guide

Explore Rector’s documentation for PHP code refactoring and upgrades. Learn how to automate and optimize your codebase with ease.

2b. Or start with someone elses who did this already. E.g., https://github.com/drevops/vortex/blob/develop/rector.php
vortex/rector.php at develop · drevops/vortex

🌀 Drupal project template. Contribute to drevops/vortex development by creating an account on GitHub.

GitHub