Herewith a housekeeping announcement about changes to the photo galleries on this site.
Prior to some time in November the photos at andyjohnson.uk/photos were served by an old installation of Lychee. Nice as Lychee is, I’d grown a little frustrated by the difficulties of uploading photos from my phone. I’d also, frankly, forgotten how to build Lychee on Windows — a problem, as I was intermittently aware that the installation was out of date.
So I retired Lychee and, for a while, brought the photos into WordPress and served them using a plug-in called Modula. This worked fairly well, and Modula is slick and pretty, but in the end I concluded that it wasn’t the best solution for a couple of reasons:
- Modula requires that all photos are stored in the WordPress media library, which lacks a way to group related images into albums. There are various plug-ins that provide a folder-like overlay on-top of the media library, but they don’t change the underlying organisation of the library. Without using some sort of naming file convention, it looked like it would be difficult to keep things organised.
- Modula is primarily designed for ecommerce sites that use images for product information. Its not a good fit for a personal photo gallery.
So I looked around at self-hostable photo gallery software that could run on the VPS that hosts this blog: basically a standard Linux/Apache/PHP virtual machine with only control panel and ftp access. And after a bit of research I decided to try Piwigo.
I’d looked at Piwigo several years ago but found it to be clunky and distinctly web 1.0-ish. In the years since it seems to have been successfully dragged into the JavaScript era, and now seemed quite snappy and pretty. It also has an updated Android uploader app. I decided to give it a go using Bootstrap Darkroom, which looked to be the most up-to-date of the various themes that Piwigo supports. I fairly quickly found that it did 90% of what I wanted, but the theme lacked some polish. Piwigo has a nice event-driven extensibility mechanism that allowed me to push this to 95% using just config tweaks, but the theme still lacked one thing I wanted: the ability to show the EXIF description or IPTC description metadata next to the image.
At this point I thought “hey, I’m a software developer – how hard can it be…” so I forked the repo. What I should have thought is “hey, I’m not a web developer – this will be hard…“. But I persevered and got properly familiar with npm and yarn and sass and PHP and VS Code, and dug into how to build the five year-old theme code with all its legacy dependencies… and it wasn’t easy. But I’m back now, battle-hardened and glad to be alive, and now I give you my Dark Aperture theme for Piwigo:

It’s based on the Bootstrap Darkroom codebase, with a bunch of enhancements and fixes that are specific to my needs. I make no claims that it is useful to anyone else. My thanks to Thomas Kuther, who wrote the code that I merely adapted and tweaked
The theme’s name comes from Wide Aperture, which is the least-worst name I could come up with for the new Piwigo site running my new theme. I think it looks pretty good.
For the time-being the site has a few albums that are a subset of the photos that were on the old Lychee site. After I’ve recovered from all this webdev I’ll upload a better, wider selection.