41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
---
|
|
title: >
|
|
Maintaining a module used on 35,000 Drupal websites
|
|
pubDate: 2023-08-01
|
|
permalink: >-
|
|
archive/2023/08/01/maintaining-a-module-used-on-35000-drupal-websites
|
|
tags:
|
|
- drupal
|
|
- open-source
|
|
---
|
|
|
|
Note: The numbers within this post are taken from my [Test-Driven Drupal talk]({{site.url}}/presentations/tdd-test-driven-drupal), in which I also talk about this.
|
|
|
|
My first commit to the 7.x-1.x branch of the Override Node Options module was in March 2012. According to Drupal.org, the module was used on 9,212 websites then.
|
|
|
|
As well as the 7.x-1.x branch, there's the 8.x-2.x branch which supports Drupal 9 and 10, and previously Drupal 8.
|
|
|
|
The most recent statistics show the module is currently used on 34,981 websites and is consistently around 35,000.
|
|
|
|
## What does that mean?
|
|
|
|
The module is considered feature complete, but I'm not ruling out any new additions.
|
|
|
|
The main thing is ensuring that any changes don't break 35,000 websites!
|
|
|
|
I do this by relying on the module's automated test suite and ensuring that tests are added for any features or bugs and that the tests are passing before any new release.
|
|
|
|
## This has worked well
|
|
|
|
A few years ago, I committed a feature request to both versions. While it didn't include additional tests, I verified the existing functionality worked after resolving a large merge conflict by ensuring the original tests passed.
|
|
|
|
More recently, a colleague and I refactored the module and split each override into its own class, making adding and maintaining overrides easier.
|
|
|
|
Because the tests were still passing, we knew our refactor was successful and not causing regressions.
|
|
|
|
## Here's the thing
|
|
|
|
Having automated tests and ensuring they're always passing has allowed me to add features and refactor code that I wouldn't have done or had the confidence to do otherwise.
|
|
|
|
It's great to have a popular module, but on the other hand, I don't want to break 35,000 websites which makes the tests invaluable.
|