Underwater photography by Andy Kirkland

Album re-engineering again …

It’s taken much longer than I hoped it would, but I’ve finally got things a bit more rationalised – starting with the pictures from the Dahab trip in December last year (yup, it’s taken that long).

This really is a bit step, as I’m actually moving away from JAlbum – the software which has driven this site since … well … forever. I don’t have any problem with JAlbum, and my thanks are due to¬ David and his team, and to Armond (who built the BluPlusPlus skin I used). Most of my page structures are pretty much unchanged from those I evolved from BPP.

Index pages are now generated dynamically from the album structure. I can use this same process to generate other (non-album) indexes. And I can take an image out – or add one in – in minutes, rather than regenerating and uploading.

I wanted to be able to display the photos in different perspectives – rather than just by trip (=album), so I needed to use tools which could be used more interactively. I’ve still got a way to go on all of that, but at least I’m starting to structure things in the right way. So I hope to be able to build “albums” of – for example – all my dives on Jackson Reef based on these new class structures.

It also means I should be able to maintain my Gallery / Portfolio in a bit more timely manner (it’s currently 3 years since I’ve updated it). I shouldn’t have to hold the images more than once, either.

Workflow, Toolkit and Album generation

The last rework shifted from generating HTML to PHP, but was still driven by JAlbum. It also wasn’t really built the way PHP was meant to be used- I had one script for each image. The new release moves to a single set of scripts, with the image data being held in XML files. Another XML file is used to pull all of the images into an album. So I can update an album by changing a couple of text files, rather than having to regenerate the whole file.

The XML, thumbnails, album and images are all now produced from Adobe’s Lightroom, which is now becoming the only post-processing tool I need to use. The data and photos are exported (and the Copyright watermark applied) using Timothy Armes’ LR/Mogrify and LR/Transporter plugins.

Presentation and interaction

I’ve taken the opportunity to make the images larger (broadband – and bigger screens means that this is less of a constraint now). PHP gives me an opportunity to structure things differently for mobile devices as well, but I don’t know when I’ll get around to that.

The slideshow now does away with the rather clunky Javascript implementation. One frustration with this was Microsoft browsers switching scripting off, and telling users it was dangerous. I’m using the HTML META refresh to scroll on every 8 seconds. Much smoother.

This refresh statement is deprecated, because of the potential for abuse. However, the slideshow seems to me to be exactly the sort of application why this was available in the first place ….

The photo and dive metadata displays also now work without Javascript – although they’re nowhere near as pretty, and a bit less responsive.

Dive Logbooks

One key bit of automation is the inclusion of logbook data with the images. With the JAlbum tools, this had to be available when the album was generated, and was pretty much hard-wired.

I’ve now set up the database (which I first wrote about 3 years ago) on the webserver. This is now queried “on demand”, and I’ll be working on it to give those different perspectives I was talking about.

I did try using a JDiveLog XML file. Managed to get it kida working but all of the profile data made it a bit slow, and it generated out-of-memory errors, so I had to rethink. I do still like the JDiveLog data structure, and will probably do something with it in future, but I think mySQL probably offers the most future-proof solution.

I’m sure this won’t be the last rework. But now I need to get the last years’ worth of albums loaded.

The URI to TrackBack this entry is: https://muttznutz.net/muttzblog/site-news/album-re-engineering-again/trackback

RSS feed for comments on this post.

Valid XHTML 1.0 Strict