wingo / omafano

The Omafano photo management web application
GNU General Public License v3.0
2 stars 0 forks source link

Omafano

Omafano is a web gallery designed with tags in mind. There are two parts: one that synchronizes all or part of your f-spot photo collection to the web, and one that runs on your web server to show your photos.

Installation on your web server

Installation is pretty easy -- just copy the entire www/ directory to your web server where you want your gallery to be. Note that copying www/* won't work, as there is an .htaccess file there.

You will need mod_python, pysqlite, and the python imaging library (PIL) installed on your web server. The Debian 4.0 packages I have installed are libapache2-mod-python, python-pysqlite2, and python-imaging.

Uploading your photos

The part that runs on your computer is one script, omafano-sync-from-f-spot, which you can find in the sync/ directory.

The script will, by default, upload all photos from your f-spot collection that have tags attached, but not photos with the Hidden tag. This behavior can be changed of course -- pass `--help' to the script on the command line for documentation on its many parameters.

omafano-sync-from-f-spot needs python 2.4 to run, with the pysqlite and python-gnome2-desktop packages installed.

The first time you run the script, it will require you to specify an output URL. This URL can be anything that gnome-vfs can write to, for example sftp://example.com/var/www/mysite/photos/. After the first run it will remember the URL.

About

I wrote these scripts because I wanted to experiment with tags as a way of presenting photos on the web. I also wanted to manage all of my photos with Larry Ewing's excellent f-spot instead of some clunky web interface. The other desire was to have someone else worry about the exact CSS aesthetics, which meant reusing code from an existing project.

I chose Jakub Steiner's Original (http://jimmac.musichall.cz/original.php3) as the model, due to its aesthetics. Omafano just takes the f-spot database, adds a table to keep track of which photos have been uploaded, and uploads the whole database to the web. The server side generates HTML that structurally matches what Jakub did with Original. In that manner I could actually share the same style files, though things have diverged since then.

The roll interface relies on f-spot actually tracking your imports as separate rolls, which is the case with current f-spot. However if you have older photos that you would like to retroactively assign to rolls, you might find the extension described at http://bugzilla.gnome.org/show_bug.cgi?id=497136 to be useful.

-- Andy Wingo wingo@pobox.com Last updated 1 October 2014