Don't Panic: A blog about Drupal: 12 funny Drupal modules
For those of you who usually read my blog, it's no news that I dabble with the content management system Drupal. This website is built on Drupal, as well as many of my other websites such as Alla Talar Svenska or the podcast platform Voffor Då Då. Drupal is more or less a Swiss Army knife when it comes to building different kinds of solutions, and behind it is an open-source community that ensures its development and maintenance.
A community that also has a sense of humor. Which is evident when there's a bunch of add-on modules that are more or less made for fun, or to have fun. Here's a dozen of such add-on modules and a brief explanation of what they do.
Pirate
International Talk Like a Pirate Day is a parody holiday created in 1995 by John Baur and Mark Summers. When the 19th of September, which is the special holiday International Talk Like a Pirate Day, arrives, the text on your website changes to pirate talk. A simple text filter in this module makes the magic happen - but only once a year.
Read more and find the module at https://www.drupal.org/project/pirate
Thanos
How's your Marvel knowledge? Do you remember the purple supervillain Thanos who had a mission to ensure the universe's survival - by simply removing 50% of all living beings? This module has the same mission. Kind of. It removes half of your uploaded files. Randomly. Every now and then. Really makes you feel alive, doesn't it?
Read more and find the module at https://www.drupal.org/project/thanos
Christmas lights
Colorful lights hanging from the top of your webpage? Absolutely! And you don't have to feel restricted to Christmas time when setting the dates for when the lights should be displayed - you can simply choose to have them shown from January 1st to December 31st. So you'll always have a bit of Christmas spirit on your website!
Read more and find the module at https://www.drupal.org/project/christmas_lights
Christmas snow
And while you're hanging up the Christmas lights - why not install this module to have a lovely snowfall on your website. "Man it doesn't show signs of stopping, and I brought me some corn for popping, the lights are turned way down low. Let it snow! Let it snow!"
Read more and find the module at https://www.drupal.org/project/christmas_snow
Nyan cat
Every now and then you do things in the Drupal interface that triggers a progress indicator to appear, so you can see, in a user-friendly way, that something is happening. That indicator isn't the sexiest in the world, needless to say. But now you can fix that. With this module, you'll see Nyan cat count up from 0 to 100%. And you'll get the song too! Not bad! Not bad at all!
Read more and find the module at https://www.drupal.org/project/nyan
Konami code
I grew up with a Nintendo 8-bit game console and through the game manufacturer Konami, the Konami code became part of popular culture. You know, you pressed UP UP DOWN DOWN LEFT RIGHT LEFT RIGHT B A and you got more lives, or better weapons, or could become invisible, or something else that made the game a bit easier. This code has found its way into various places, and through this module, you can make different things happen on your website. Such as flipping the text on the page, randomly changing images, sending the visitor to a new web address - or why not have dinosaurs running around on the screen like in Jurassic Park?
Read more and find the module at https://www.drupal.org/project/konamicode
Fun modules for Drupal 7
In 2011, version 7 of Drupal was released and became a favorite among many web developers. That version became so big that its End of Life has been prolonged many times. You could almost say that Drupal 7 is Drupal's version of Windows XP. However, it should be noted that the later versions of Drupal are so much better, so those of you who are still on version 7 - upgrade! But before you do that, you can try out these fun modules, which only work in Drupal 7!
dRuPaul
The fashion model, actor, and drag queen Ru Paul is not entirely unknown, and if you feel like you want more Ru Paul, by activating this module, you can ensure that images are replaced with an animated GIF, provided that the fields for the image use Field API, which is highly likely that they do. Extra credit to the module's maintainer who has one of the funniest project descriptions I've seen on drupal.org.
Read more and test it out at https://www.drupal.org/project/drupaul
Malkovichification
Have you seen "Being John Malkovich"? Then you probably already understand what this module does to your website. It replaces every single word with Malkovich, and then it's Malkovich Malkovich Malkovich, Malkovich Malkovich. Malkovich Malkovich Malkovich Malkovich Malkovich, Malkovich Malkovich Malkovich; Malkovich Malkovich! Malkovich!!!
Read more and test it out at https://www.drupal.org/project/malkovichification
Little helper
Do you remember the Microsoft Office assistant Clippy? Of course you do. That little creature has eternal life through its annoying way of popping up and absolutely not helping in any constructive way! Now you can have the same functionality in Drupal ( 7)! Install, lean back, and look forward to getting annoyed!
Read more and test it out at https://www.drupal.org/project/little_helper
Beer o'clock
When is it time to crack open the beer? With the help of this module, you can easily have a webpage that simply tells you when it's "beer o'clock."
Read more and test it out at https://www.drupal.org/project/beer_o_clock
Lebowski
Another wonderful movie is "The Big Lebowski". This module sends out lovely quotes from the movie. A way to get a little encouraged when visiting your website!
Read more and test it out at https://www.drupal.org/project/lebowski
Cornify
Who doesn't like unicorns and rainbows? Answer: Nobody! This module uses the service cornify.com/ and with a simple click, you'll flood your website with unicorns, pink colors, rainbows, and all sorts of other fun stuff. Highly recommended!
Read more and test it out at https://www.drupal.org/project/cornify_block
Are there more?
Here you have a selection of fun modules for Drupal, both modern versions as well as for Drupal 7. I hope they can brighten up your and your visitors' day a bit. Have I missed your personal favorite? Write in the comments section, it's always fun to get new tips!
The Drop Times: The Drop Times Seeks Volunteers for DrupalCon Portland 2024 Coverage
Drupixels: Slow Drupal Permissions Page? Use Better Permissions Page Module!
Théodore 'nod_' Biadala: Drupal needs infrastructure innovation
Drupal is pretty expensive to host and maintain. There is already work well under way to address this with automatic updates and project browser. It’s great, and it’s not enough. What if we could ship drupal with a production-ready webserver that can handle real-time features? What if we could make HTTPS certificate management easier? What if we could significantly improve the performance of Drupal?
Exactly 2 years ago I started to talk about how can drupal scale down and in 2 years things have changed! Last week I attended the very interesting (and well organized) Drupalcamp Rennes 2024 where I saw Kévin Dunglas give a talk about FrankenPHP: The Modern PHP App Server, written in Go. Turns out the last two point on my “drupal scale down” have a solution: it can replace apache/php-fpm and be distributed as a single executable. I haven’t tested it yet, it’s possible to bundle server and application code to ship everything in one executable.
Drupal has always been about giving people more power than they expect (or even want in some cases…). On the content management side of things we’re very, very advanced, even if some interfaces and interactions can look and feel a bit dated. Defining content types, creating custom fields, workflows, content listing, layouts, decoupled, media library, and more we’ve been doing that for a long time, we have a very wide range of modules for practically any use case you can think of. And the vast majority of the modules work together without conflicts, and they’re all free.
What I would like to see is Drupal using FrankenPHP in the worker mode as the default way to put Drupal on production. This will make it possible to host Drupal more easily. Hook the included webserver to a startup/monitoring script (we’ll give examples) and you’re ready to serve the website. No need to install apache, nginx, or even PHP!
Now you can use the server to power your real-time features, without having to write or maintain a separate nodejs server, all in PHP. If we make sure Drupal can work in the worker mode, there won’t be a performance issue for this either. Without doing anything you’ll get a performance boost for all your users thanks to early hints, your CSS and JS will start loading before the HTML even arrives from the server. To get there we need a few steps:
- Create a configuration file suited to Drupal: #3437187: Add Caddyfile configuration
- Include FrankenPHP as a webserver option in DDEV: Feature request: FrankenPHP Support #5655
- Add a FrankenPHP runner to the gitlab testbots: #3438767: Support FrankenPHP as a webserver
- At this point if Drupal tests pass we’re ready to go, with a bonus step to increase performance.
- Bonus make Drupal work in the “worker mode”: #2218651: [meta] Make Drupal compatible with persistent app servers like ReactPHP, PHP-PM, PHPFastCGI, FrankenPHP, Swoole
- Implement early hints for CSS/JS assets in Drupal (issue to be open, proof of concept in the caddyfile issue)
Right now I need help making the DDEV integration work well with the recommended version of FrankenPHP, and making this
available to the Drupal testbot. If you have a Drupal website using DDEV you can already try it out with
ddev get theodoreb/ddev-frankenphp-drupal && ddev restart
and it should mostly work (with some https problems for now).
I would love to know what you think, leave a comment or let’s chat in #drupal slack.
If you’re interested in sponsoring me to work on this or other Drupal things, that would be great!