Recent (need doing or sorting out to below)
------
* Move /usr/lib stuff to /usr/share
* Make proper existsphotos handler for aliases
* <inner> handling for album
* <date> handling for range and embed
* Put examples of new features into distribution
* Range building for large ranges needs optimising
* baz : make adjust apply to ranges rather than just individual photos
* Make upload script do GPG signing and sort out apt repository
* Sort out apt source repository
* make "this album contains no entries" customisable and do this for the
  default album

Release-critical
---------------- 
* Packaging:
   - sort out RH5/6/7/8 versions
   - sort out dist/Makefile
* Overriding parameters in A ... links
* Fix .info regexps to allow arbitrary whitespace (not newlines) where a 
     single one is expected now
* Security against users setting their own cachedir options and clobbering
     important files that way
* Allow specifying styles in album links
* Config::General isn't quite powerful enough - doesn't preserve the order
  of items - Tie::DxHash should sort this out I think
* better config file parsing - especially error flagging
* better error handling - in particular *never* write out a bad cache file... 
     (e.g. disk full)
     This is harder than it sounds, thanks to ImageMagick, which helpfully
     just calls "exit" when a disk write fails, which perl doesn't seem able
     to trap at all. Not even eval can do it.
* scripts to check config files/installation
   - warning level problems
* Catch errors in config files
* Regexps - bring them all together in Utils.pm and check carefully
   - FindBin regexps in CGI scripts
   - have album.pl (and range.pl?) apply the same "validity" checks to 
     directory paths as display.pl does. Also look at adding a few more 
     "valid" directory characters, eg "-"
   - see huggie's email on the subject
   - use of URI::Escape where appropriate
* documentation & examples, both users and hacking guide
   - some is done, some is tirian specific and needs generalising and including
   - hacking guide not release-critical
   - README should be made a bit friendlier
* Installation and packaging
   - Installation script - sort out config file location issue?
   - Redhat and Debian packages
   - Make sure Redhat and Debian packages of required perl modules are 
     available for download from the web site
* more useful error messages
* better debugging printouts - current version is a bit bad...
  - be able to specify the debugging levels in the config file?
* a better way to control what variables get exported into the document, 
  both photopub variables and modified versions of photopub variables
  - hashes and arrays, or perhaps go down some handler route?

Wishlist 
-------- 
* ability to directly include files from the config file (as opposed to
  <userconfig>) - just a single file, or an entire directory structure mapped
  to a path structure
* ranges like /foo/bar/*/*
* do something about consistent ordering of multiple directories
* image information page 
* web interface to info files
* access restrictions
* logging
* content-length headers
* .thtml format sucks somewhat, but is hard to do well with sed
  - for example, if you mention "picture" in an <A> or <IMG> tag in range
    templates, or "group" in an <A> tag in album templates, without meaning it
    to become the appropriate substituted link, things will break... 
* check on content-language header
* writing out files as opposed to CGI pages
* voting/rating/moderation - to be used either by viewing public or maintainers
    of collections, so that you can pick out highlights or meticulously look
    at all photos.
* Make an apache module version - solves many probles, eg access control and
  logging.
* ALT strings in range.pl
* make a shorter link
  - with lookup so the shorter link is always used
* make the modules able to co-exist with other versions of themselves.
  This would allow you to have two different versions active within a 
  module caching system (eg ModPerl). This would require something like
  prefixing all the module names by the current PhotoPub release, so that
  each version of PhotoPub could correctly call its own modules
  - there are actually non evil reasons for wanting to do this...
* ability to serve arbitary files, eg those that match a user supplied 
  regexp
* Allow displaying images in albums
  - currently can only display the first of a range, should we allow 
    displaying a random one?

DONE
----
* More sensible loading of config files 
  - e.g. only load user config files when needed
* delegation of config to users - with $USER and $HOME expansion
* albums 
* have album.pl tell you how many photos there are in a range
* allow pages in range.pl
  - gives the side effect of offering a slideshow view
* multi-page ranges, like multi-page indexes
* size tags in images
* Deal with corrupt source files better
* Move subroutines in range.pl and imageinfo.pl to modules (RangeHelper 
   and InfoHelper), since mod_perl whinged otherwise
* info files & directories 
  - the ability to specify stuff about photos, ranges etc in 
    subdirectories from the .info file for a parent directory. (Needs 
    "allowdescribelower yes" for that directory to enable)
* return sensible errors if no photo ranges or album links can be found 
  for a given album
* case insensitive file matches (via "casesensitive no" for the dir)
