Articles · Page 6
Notes from the team.
Let's say NO to unsanitised inputs
Last night saw the popular EU Cookie Compliance module fall from grace, as the Drupal community discovered that numerous inputs in the admin form were not being sanitised.Read article →How to import config without losing changes
Drupal empowers site builders and editors to configure their sites in settings forms. Configuration management lets developers push changes up to live sites to be imported. But developers have to be considerate to ensure imports will not wipe out those changes made directly…Read article →A/B Testing with ABJS module
ABJS is a contrib Drupal module, and, without any requirements or ties to paid services, is as low cost as you can get. As we’ll see, it’s pretty basic but it really lets you get down to building your own understanding of how A/B testing works. The beauty of ABJS is in its…Read article →The options
If you need to do some A/B testing at minimal cost, this is our quick overview of the available options that we found.Read article →Review driven development?
We've heard of test-driven development, behaviour-driven development, feature-driven development and someone has probably invented buzzword-driven development by now. Here's my own new buzzword phrase: review-driven development. At ComputerMinds, we aim to put our work through…Read article →Peer Review
At ComputerMinds we like to think that we’re all pretty good at what we do; however, nobody is perfect and this is why we always ensure that our code is properly peer reviewed as part of our quality assurance process.Read article →Drupal 7, 8 and 9 - When to Migrate
Anyone familiar with the Drupal core development lifecycle will know that presently the Drupal community supports two major versions at any one time: the current major release and its immediate predecessor. This means that at ComputerMinds we are currently helping our clients…Read article →Merry Christmas, everyone!
Growing and maintaining a healthy workplace culture can be really hard. Keeping people happy and not just working hard can get more difficult over time, so we're super proud of our 'Minds for all that they contribute to our offices and our livelihood. It is so often the people…Read article →Custom AJAX loading icon
There's nothing like Drupal's stock AJAX spinner (this: ) to make you notice that a site's design hasn't been fully customised. The code from my previous article showing how to fetch a link over AJAX to open in a Foundation reveal popup would suffer from this without some…Read article →Security risks as Drupal matures
After reading this from Ars Technica, which describes how a developer offered to 'help' the maintainer of an NPM module - and then slowly introduced malicious code to it - I can't help but wonder if the Drupal community is vulnerable to the exact same issue. Let's discuss!Read article →Open links in popups with Foundation
Let me take you on a journey. We'll pass by Drupal content renderer services, AJAX commands, javascript libraries and a popular front-end framework. If you've only heard of one or two of those things, come lean on the experience I took diving deep into Drupal. I'm pleased with…Read article →Level up with Dash
Developers spend what, maybe 30% of their time scouring the internet for documentation and answers to questions.Read article →Level up with Alfred
OSX's Spotlight tool made searching files and starting tasks a dream. That dream, though, still had space for more. What if you could execute commands from Spotlight? Or do really clever things?Read article →Level up with a shiny shell
Everyone has their preferred command shell. The bravest amongst us probably has some highly customised craziness, and the more unsure probably are using the plain mac Terminal. Somewhere in between, though, lies a world of fun that really should be explored. There are some…Read article →Beware File::getFileUri()!
I'll keep this short and sweet, but we thought this would be a useful tip to share with the world as a potential security issue with the combined use of File::getFileUri() and FileSystem::realpath().Read article →Level up with PHPStorm
When people classically think of somebody writing code, they often think of somebody in a black hoody typing into what looks like VIM in black and green. Now we all love a bit of VIM, but it's not necessarily the ideal tool to use for large projects. There is a whole world of…Read article →Level up your dev environment - top tools and tips from ComputerMinds
The other day, I shared with the office that I was really blown away by Steve T's Zsh tip about installing a plugin that gives you a desktop toast notification when a long-running command in a zsh terminal completes.Read article →Quickly update Drupal core
Update: this article's suggested method has serious shortcomings, use other methods when you can! For example, run the following with drush to just upgrade drupal core code (leaving database updates to be run separately):Read article →Localising dates in twig templates
A client noticed the dates on their news articles were not being translated into the correct language. The name of the month would always appear in English, even though all the month names had themselves been translated and showed correctly elsewhere. The problem turned out to…Read article →Keeping dynamic HTML classes easy to find
I imagine many of us have been there: there’s some CSS class in your markup, and you need to do something with it. Maybe you want to remove it, change it, or perhaps alter its style declarations. “Easy peasy,” you think, “I’m a developer. I got this.” And so you should.Read article →Including form values in an email
Let's say you've built a custom form for your Drupal 8 site. It contains various elements for input (name, email address, a message, that kind of thing), and you want to send the submitted values in an email to someone (perhaps a site admin). That's a pretty common thing to…Read article →Rebranding ComputerMinds - Part 6: Migration
I volunteered to carry out the migration for the new ComputerMinds site as migration was one of the very few areas of Drupal that I hadn’t delved into thus far. With Drupal 8 becoming more and more popular, now was a great opportunity to learn the migration ropes. Luckily,…Read article →Rebranding ComputerMinds - Part 5: Development
Let's have a quick look through our development process on this project and pick out some of the more interesting bits. As briefly mentioned in the last article we are using a composer set up and all code is version controlled using git on github. All pretty standard stuff.Read article →GDPR compliance steps for Drupal Developers
The new GDPR laws are here, hurrah!Read article →Let's talk
Got a Drupal problem you'd like a second opinion on?
You'll talk to a developer, not a salesperson.