Reviving an old PHP project

I use Gmail/Google Apps for my email address, and I used to use a LOT of filters.

Inspired by a Ruby gem, I created a PHP library that allows me to declare my filters in PHP and create them in XML.

I could import the generated XML into Gmail to create the filters.

Gmail Filter Buider

The project is Gmail Filter Builder, and the last commit was in July 2020.

It was based on PHP 7 (unsupported since November 2022) and uses five Symfony components and several other packages.

Today, as I looked at my current Gmail filters, I decided to revisit and update Gmail Filter Builder.

Updating the project

I set PHP 8.1 as the minimum required version and used a Nix Flake to ensure this was available.

I updated the Symfony components from the 3.x versions to 6.x, the latest versions compatible with PHP 8.1. I also updated the other PHP packages to their compatible versions.

After some small changes to the application's code, it worked with PHP 8.1 and generated filters.

Once it worked, I updated the examples.

Whilst it wasn't a difficult process in this instance, having a test suite I could rely on helped me to know it worked as expected during the upgrade.

I don't know if I'll continue to use or maintain Gmail Filter Builder again, but it was an interesting exercise to do this morning.

- Oliver

Was this interesting?

Sign up here and get more like this delivered straight to your inbox every day.

About me

Picture of Oliver

I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.