The Digital Cave

Primitive Life in a Technological World


Workflow Management

Deprecated; I now use Lightroom which addresses all of these concerns and more. (Vendor lock-in is not an issue as it writes all metadata to the file's sidecar). Not open source, but it's still really good.

I am not a fan of monolithic photo management programs, such as iPhoto. They tend to use a database for storing metadata, which leads to problems of corruption, vendor lock-in, etc. I have created a small set of scripts (python and bash) which let me:

I can then browse these images using the system's file manager, or search using the system's metadata search facility. Since all metadata is stored as EXIF / IPTC tags on the images themselves, I don't have to worry about a single database being corrupted; if I want to import into another image management program, all my changes will be kept.

Recommended workflow when using these scripts is as follows:

  1. Download images to ~/Pictures/Incoming
  2. Optional, if using RAW images without .jpg proofs:
    1. Set UFRaw to save conversion settings to .ufraw sidecar file, instead of converting to .jpg immediately
    2. Call 'wf-ufraw' to list all files in current directory which don't have .ufraw sidecar files associated with them. Delete obvious non-keepers
    3. Batch convert to .jpg using alias 'wf-ufraw-batch-ls' (ufraw-batch --overwrite *.ufraw)
  3. Delete any files which you are not planning to keep. If you like a picture as a snapshot, but will not be doing much / any post processing work on it, you can delete the RAW and keep the .jpg
  4. Optional: use Gimp to do whatever post processing work you want, and save the image as <FILENAME>.xcf.
  5. Once you are content with the images as they currently stand, tag them with location / headline using 'wf-exif'. (If you have downloaded images from multiple locations, make sub folders and move all images from the same shoot into each folder)
  6. Move files into library using wf-library-insert, using <LIBRARY>/YYYY/MM/Location directory layout, with subdirectory 'raw' for raw files and .ufraw sidecar, 'work' for .xcf Work in Progress files.

You can download a .tgz of these scripts here. They contain no configuration settings - change the script to change its behaviour. These must currently be extracted to /usr/local/bin; if you place in a different location, please modify wf-ufraw to reflect the new location

These scripts are released under the GPL. If you wish to include them in a non-GPL'd project, feel free to contact me about dual licens ing.