views:

218

answers:

3

Hi Stackoverflow,

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  A: 

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 =)
Oli
A: 

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.

A: 

Have a look at www.phtagr.org, it's an open source social web gallery to organize, enrich, and share your photos with your friends or community - a combination of Flickr and Gallery2.

It requires a LAMP stack and photos and videos are organized through tags, categories and even geo location. These meta data are embedded using EXIF or IPTC inside the JPG. So you can tag your photos at home and copy them to the server and all keywords are kept.

You can upload your media using HTML upload, WebDAV or import them via the local file system while user might have an upload quota. Comments with Captcha and Google Maps are also supported. A build-in Flash slideshow makes the viewing easy and convenient.

Xemle

xemle