photo-album package, and solicit like-minded individuals to work on
My thought right now is that the photo-album should be forked and used
as the base for an entirely new package. I'd love to hear arguments
for making it backwards-compatible, however. My reason for this is
that the photo-album can be a core package in the distribution, and
this new package might be more specialized, and might not be
appropriate for distribution with the core.
My vision for the new package (for want of something better I'll call
it "image-bank") follows. Read on:
First some definitions:
EXIF - Special information embedded into the headers of an image by a
digital camera. Typical information includes camera make and model,
exposure information, date/time, and GPS coordinates.
IPTC - A standard for embedding additional metadata into the image
The International Press Telecommunications Council defines the
standard at http://www.iptc.org/ Programs like Photoshop can edit
this data. It's primarily used by news photographers, and is
supported in many different file formats including psd, tiff, and jpeg.
Next, a bit of context:
I am an ameteur photographer. I have a really nice digital camera
(Nikon D1x) and need a reliable method to store, organize, and display
images on the web. The camera uses a proprietary "raw" format with a
file extension of .nef. This file is the digital equivalent of a
negative in the film world, and I need to save these images because
they contain valuable information that is lost during the jpeg
conversion. Canon users have a similar format using a .crw extension.
My normal workflow is:
1. Take a picture with the camera, which is stored in .nef format on
the removable media in the camera.
2. Transfer that image to an Image Filing program, currently I use
DigitalPro (www.proshooters.com/dp) and use that program to remove
unwanted images and file the good ones appropriately on my local
windows workstation. At this time I also edit the IPTC captions with
a caption, copyright info, and description. The IPTC headers are saved
back to the original.
3. Particularly good images that I might want to print are edited in
a proprietary software package provided by Nikon. All adjustments are
saved as directives in the original image, while keeping the original
4. To print an image, I export it to photoshop, and perform
additional editing and cropping/sizing to the size I want to print.
This file is saved with the same base name as the original, with a
5. To export the photos for viewing on the web, I'll execute a batch
process to export the images to jpeg format.
So now I'm ready for OpenACS and the image-bank package to do it's
work. (I told you I'd get to that). Here's what I want it to do:
- Look in a location on the local filesystem for new images. Each
image would might have one or more formats of the same image (with the
same base name) .nef, .psd, .jpg
- If it finds a set of images, it would save those images using the
content-repository and extract any EXIF and IPTC headers in the image
and store it in the database.
- All images would be added to an "incoming" holding area.
- All metadata is then indexed for use by the Search function.
Now the images are uploaded, each image has, at the minimum, three
jpeg versions in different sizes, and complete metadata is stored in
the database and is full-text searchable. Optionally, an image might
have one or more high-resolution .psd or .nef files associated with
it, all stored in cr
The web interface serves two functions. The photographer, (someone
with admin rights on an album) will be able to manage his/her
collection of images using the web interface. They could organize
images into folders, edit the metadata as needed, and re-create
thumbnails as needed in different sizes (in case the auto-import
function made bad decisions as to the convert parameters) They also
might want to "publish" the photos to a public folder. A folder also
has an interface to edit it's own template, and that of individual images.
A normal user of the web site could browse albums and view metadata,
add comments, and optionally "rate" a photo as in photo.net (ratings
would be a configurable option for each photo) A user might also be
able to buy a print of the image. I'm thinking of, at the minimum, a
simple PayPal "Buy it now" interface which could be implemented in
html, but we might think about integrating with the ecommerce package.
So the major changes to the photo-album are:
- metadata is primarily image-driven. It can be edited using the web
interface, but it must be able to be fully edited in the IPTC captions
before upload. This allows much more efficient imports of large
numbers of images.
- Many more fields are saved. There are currently 25 or so standard
EXIF fields, and 20 or more IPTC fields. The database structure needs
to be flexible enough to handle different fields on a per-image basis.
(EG: Images taken with different cameras have different fields)
Currently the photo-album stores only 3 fields
- FTS enabled
- general-comments enabled
- bulk uploading from the file system, or zip files
- Linking of high-resolution image formats to the thumbnails.
- E-Commerce enabled
- Each folder has it's own linked template
- Each image can have it's own linked template
Ok, enough rambling from me, now it's your turn!