339 Results
Let’s be honest: when people search for affordable Drupal development, what they usually mean is “good Drupal developers who won’t disappear, overcharge, or make my life harder.” Drupal has a reputation for being powerful, flexible… and sometimes a little intimidating. That means prices can vary wildly, and it’s not always obvious where the sweet spot is between cost, quality, and sanity. So rather than pushing a single answer, this article walks through where affordable Drupal...
Published in:
#Insights
When a client has a need or idea that other people might benefit from, it's a great opportunity to contribute a module back to the community. I recently created the new Autocreate Access module to solve a problem on a project where Drupal's autocomplete tagging widget for taxonomy terms didn't work as our client expected. Typically, Drupal sites utilise this field widget to allow users to create new categories for their content on the fly...
Published in:
#Drupal Planet
#Drupalgive
#taxonomy
#field widget
#security
Fighting spam is an ongoing arms race. There will always be nefarious attempts to post unwanted content onto websites, that's just the nature of the global internet nowadays, but can we keep ahead of it? Some techniques are complex, maybe using AI / natural language processing, but there are also quite simple opportunities to reject spam. We had a lot of contact requests come into our site that used the Cyrillic script - which is...
Published in:
#Drupal Planet
#Forms
#Multilingual Drupal
This article is part of the series
Views Data Export
I've started working on maintaining Views Data Export again. I've decided to document my work in 2 week 'sprints'. And so this article is about what I did in Sprint 2. Sprint progress At the start of the sprint in the Drupal.org issue queue there were: 91 open bugs 17 fixed issues. 81 other open issues That's a total of 189 open issues. By the end it looked like this: 48 open bugs 4 fixed...
Published in:
#Drupal Planet
#views data export
This article is part of the series
Views Data Export
As explained in the previous article in the series I've started working on maintaining Views Data Export again. I've decided to document my work in 2 week 'sprints'. And so this article is about what I did in Sprint 1. Sprint progress At the start of the sprint there in the Drupal.org issue queue there were: 204 open bugs 276 other open issues. So that's a total of 480 open issues. By the end it...
Published in:
#Drupal Planet
#views data export
This article is part of the series
Views Data Export
Views data export is a module that's in use by over 100,000 sites but hasn't been maintained very well by me over the years. This is the story and the plans for getting back into healthy maintainership.
Published in:
#Drupal Planet
#views data export
We use platform.sh to host many of our client Drupal sites, and many of those sites use Solr. In this guide we talk through quickly matching the Solr configuration used by platform.sh and DDEV.
Published in:
#Drupal Planet
#solr
#hosting
We recently went through the process of applying for Cyber Essentials. Cyber Essentials is a program created by the UK government to help businesses get on top of their Cyber security. It was an interesting process for us to go through, and certainly helped us to formalise and document practices we had been doing for years. We did hit a bit of a blocker tho for our developers, specifically on point A7.6 Use of Administrator Accounts...
Published in:
#security
Keeping a PaaS product online at all times comes with a high level of responsibility. In early 2024 we set up a proof of concept setup with Cloudflare, which would allow us to make a significant ongoing cost saving whilst also playing with some really cool APIs.
Published in:
#Drupal Planet
#Aegir
#automation
Drupal's form API has been brilliant for many years. Still, recently I found myself wondering why I needed to build a configuration form if I already had a schema for my config. Defining a schema facilitates API-first validation (including some pretty smart constraints), specific typing (e.g. actual booleans or integers instead of '0' or '1' strings), and even translation in Drupal. That last part got me thinking; if Drupal automatically provides translation forms for typed...
Published in:
#Drupal Planet
#Modern Drupal
#Configuration
#Forms
#Symfony
#Drupal 10