What web photo gallery software meets all my pernickety requirements?

549 views Asked by At

I have a collection of photographs (about 30,000) which I'd like to put online. I've tried doing this before, over the years, with static image galleries, applications such as Gallery2, and self-rolled scripts. None have worked that well, as my requirements are fiddly, but it still seems like this should be a solved problem.

My photos are currently organised into folders named YYYY-MM-DD short album title, using Digikam.

I need a system that:

  1. Is Free software, is essentially feature-complete, and has an active developer community.
  2. Allows new photos and albums to be added and updated automatically with little more manual intervention than rsyncing the source directory on my computer to the web server, and rescanning.
  3. Allows visitors to leave comments
    1. Allows re-captcha or equivalant spam filtering and bulk moderation of these comments.
  4. Reads tags from the IPTC Keywords field.
    1. If it finds a tag named "friends", requires the user to enter a password to view.
    2. If it finds a tag named "family", requires the user to enter a different password to view.
    3. If it finds a tag named "private", does not display the photo at all, or even better, does not upload it to the live web server.
  5. Reads descriptions from the IPTC Caption field.
  6. Creates sane permalinks, e.g. http://example.com/2009/03/28/shortalbumtitle/IMG_0001.jpg

I acknowledge that I may be asking for something that doesn't exist, but I hope it does.

I acknowledge that answers may be something like "use Django and code the bits that don't already exist yourself", in which case do you have any tips? :)

Thanks.

2

There are 2 answers

0
Oli On

Use Django and code the bits that don't already exist yourself.

Seriously. I was going to write that and was tempted not to when I saw you'd written it yourself, but it really does make the most sense if you have any familiarity with it!

  1. I'd start with django-photologue 2. Get a basic gallery with tagging and comments working. You'll need a couple of pl's optional dependencies.
  2. Then I'd write a custom import wrapper that allows you to rsync to a dir and update your library.
  3. Comments are handled internally (through photologue, I think) but if not, there are plenty of comment apps that "just work". There is a recaptcha script that works as just another form field.
  4. PIL can read IPTC
  5. The URL structure is up to you =)
0
user83759 On

I'm finally getting around to doing this. I'm using a local python script to extract image metadata (tags, captions and timestamp) using pyexiv2, then rotate the image according to its EXIF orientation tag if appropriate, using PIL, and export a hierarchy of files to a temporary directory, where rsync uploads it to my host, and a remote python script (actually a Django app) imports the metadata into a Django DB.