[Melbourne-pm] Picture Management API

Daniel Pittman daniel at rimspace.net
Mon Mar 13 21:51:21 PST 2006

scottp at dd.com.au (Scott Penrose) writes:

> For those who were at my Catalyst talk you will know that one of the
> reasons I really like Catalyst is that it encourages you to do the right
> thing and separate your data from your web application and from your
> presentation.
> For this reason, I write APIs (Perl Modules) that have nothing to do
> with even the internet or the web or HTML to manage data.
> So I am on my next quest. I have been working with MyPhotoGallery from
> Fuzzy Monkey - http://www.fuzzymonkey.org/cgi-bin/newfuzzy/software.cgi


> Another few steps back... I want a Gallery API in Perl - preferrably one
> we can extend to have multiple backends - so those that think it is
> necessary to use MySQL to store original data for an album - can do so,
> while I stick to my directory and file system.

If you are looking at something designed to manage a collection of
pictures, the key features that I would look for are:

Integration to Image::ExifTool for managing metadata in the image file,
so that it is easy to update metadata on the image in the standard
formats for embedding such, and to access that information.[1]

Integration between in-image metadata and a "tags" style system, using
the IPTC keywords, etc, fields to add tags, and additional out-of-image
metadata to maintain relationships between tags.

That would allow me to stick the gallery front end that /I/ want on top
of your API, where images are thrown into the system and the gallery
structure is dynamically created from the tags associated with the

Using in-image metadata would also make it sane and sensible in the face
of multiple editors, including commercial editors such as Photoshop,
working on the image -- no more metadata locked away in custom files or

I would also be looking for some way to represent image "versions" in
the back-end: both "this replaces the previous version" and "this is a
scaled to 640x480 version" related to the original image.

One other "nice" feature would be the ability to detect duplicate images
and store them only once, ideally through something like a hash of the
image data without metadata or so.  Not really essential, though.

Other than that, I can't think of anything too special that I would look
for beyond scaling up to handle the two thousand images I have today,
and the couple of tens of thousands that I know some other folks have in
their collections.


[1]  Image::ExifTool is by far the best choice for this, as it covers
     pretty much every format under the sun, and actually has good and
     extensible support for vendor specific and other odd tag formats.
Digital Infrastructure Solutions -- making IT simple, stable and secure
Phone: 0401 155 707	   email: contact at digital-infrastructure.com.au

More information about the Melbourne-pm mailing list