Module Mayhem in the Drupal Kitchen
In my opinion, there’s nothing in the world quite like learning a new skill. It’s a huge rush figuring out how to do something you didn’t know how to do before. You start with the basics, and then once you’ve got the gist of it, you begin to improve. Over time you’ll get better at it, and you’ll get faster at it. Aside from just improving your abilities, your confidence level might change too. This process can go a few different ways. One is imposter syndrome, where you feel like a fraud that doesn’t know what they’re doing. The other is overconfidence, where you think that your skills are better than they are. Be it due to imposter syndrome, overconfidence, or just plain ol’ inexperience; you’re bound to make some mistakes. And we don’t wanna make mistakes, do we?
Like everything else in the world, managing Drupal modules takes time and effort to learn. There’s so much going on under-the-hood that it’s all too easy to make a mistake accidentally. In this article, I’ll point out a couple of common mistakes that new Drupal users make, and how you can avoid them. This is all going down while I do my best to make everything fit my metaphor that compares Drupal to a professional kitchen. Let’s get right into it!
Too Many Modules
Have you ever watched the Too Many Cooks video by Adult Swim? No? Well, here it is. Watch the whole thing; it’s worth it. Trust me. Okay, done with that? Cool. Where were we… Oh yeah, too many modules!
Having too many cooks (or modules) working in one kitchen (your Drupal site) is a disaster waiting to happen for a whole schwack of reasons. Each module you have installed needs to be downloaded and loaded on the user’s device. More modules mean longer load times. Did you know that 53% of mobile users will abandon a page if it takes over 3 seconds to load? Yeah, so I’d say your load times are pretty important. By keeping your number of modules to a minimum, you’ll reduce your load times, sometimes drastically.
Another problem that can be caused by having too many modules is compatibility. For example, let’s say that you installed a contact form module that enables a user to send you an email along with an attachment. For some strange reason though, the blog comments module you’ve installed is broken now! Something somewhere in the new module is causing compatibility issues. Going back to our kitchen metaphor, it’s like the head chef is cooking a great Italian meal, but the sous chef is preparing Chinese food. That’s just not gonna work out for anyone.
Outdated or Unsupported Modules
If your site has been around for a few years, first of all, great job! Secondly, you should check to see if your modules are all up to date. Not only that, but you should be checking to see if they’re even still supported. Why? Because as time goes on, the nature of the web changes. The nature of web tools, applications, systems, and services all change with it. Sometimes those changes mean that there are additions, alterations, or subtractions to a piece of code that your website relies on to run. When that happens, it could break the functionality of one of your modules. Since this is all happening behind the scenes, deep in code-world, it can be tough to spot the source of your problem.
Let’s think about it as a restaurant again. In this scenario, our restaurant and kitchen are Drupal, the cooks are our modules, and the food we’re serving is our site content. Our modules work together using features built into Drupal to put all the code, copy, images, and other assets together into one big tasty meal. I mean website.
Alrighty, so, you’ve closed your restaurant this weekend for some remodelling, but forgot to tell some cooks. Fortunately, most of the kitchen floorplan is still familiar. However, it looks like some of the tongs, several knives, and a couple of pans got moved around. Oh, and the salad station has been completely removed. Gone. Vanished. Poof! This is sort of what can happen to a website and its modules when there’s a Drupal update.
The unprepared staff are like outdated modules. Since they don’t know where everything in the kitchen is anymore, their job performance has dropped drastically. Until they get a new tour of the remodelled kitchen, they won’t perform to their fullest, and might not be able to perform at all. In a Drupal update, there might only be tiny changes that barely impact performance, but because your module wasn’t updated to run on this new version, it’s stopped working or slowed down. It’s critical always to ensure your modules are running on the latest version for whichever version of Drupal you’re on.
Your salad tender is another story. That guy’s an unsupported module. For some strange reason, you still offer salads on the menu, but you’ve removed the station for it, and your salad tender wants to get paid under the table from now on. He’s still coming in to work every day even though there he’s got no station, recipes, or even acknowledgement from management. Occasionally though, he still gets salads out to the guests. Sometimes they look great, and other times, your guests might get food poisoning. For the health and safety of your guests, you should look at getting someone who actually has their Food Safe certification and the proper tools to make the salads. In Drupal terms, an unsupported module is a module that’s been abandoned by the team, retired for security reasons, or has been rendered obsolete in some other way. While an unsupported module might function properly and give your site the feature you want it to have, they can also present significant security risks. Unsupported modules don’t get regular updates, so hackers and other black-hats have all the time in the world to leisurely look for exploits in the module’s code. Since their code isn’t being updated along with Drupal’s, their functionality and performance suffer, too. When you use unsupported modules, you’re opening your site up to any number of security risks and performance issues. Just don’t do it!
What Can I Do?
Well, first of all, be sure only to install modules that are still supported and being actively developed. They should be vetted by the community so that you know what you’re installing is high-quality code that’s both functional and secure. Make sure to read the documentation that comes with your modules so that you can make sure you don’t have any compatibility issues with other modules. Keep the number of installed modules to a minimum to improve load times and performance. Look for modules that have overlapping or similar features and decide, “Do I really need both of these?” To put it plainly: carefully research each module, make sure it’s what you need, make sure it works with your site, and make sure the developers and community are still supporting it.
A great way to get a detailed look at your site is to perform a site audit. With a site audit, you’ll see what’s working, what’s not working, where your problems are, and tons of other information. It's kinda like when the health inspector walks through a kitchen and points out the things that need to be improved on. At Cheeky Monkey Media, when our expert team of Drupal developers perform a site audit, they collect all the information that you need to know about your site into one simple, concise, and easy to read the document. Get in touch with one of the monkeys today to get started. We know how hard it can be to try and manage a site on your own, so reach out! We’d be happy to help.