I’m not truly satisfied with all of the web-based photo album scripts out there, so I’m considering writing my own. This page is a scratchpad for design ideas. — Scott Moonen
Design points
Store full-size photo files in directory structure.
Store summary information in PythonPersistence database.
All thumbnails and mid-size photos are dynamically generated, but maximally cacheable. Would be nice if their urls were in the form xyz.jpg/thumb and xyz.jpg/1024, for example.
Thumbnails by default are the full picture, but the user may select a subsection for the thumbnail. Need to use server-side image maps for this.
I do want some bit of user control over uploads, viewing permission. I’m inclined to go the simple route of using vanilla HTTP auth. The downside is that even casual visitors are challenged for a login, which is not good usability. So I think I’ll need to have program-managed authentication.
Structure
The first stab at an image transformation action is relatively independent from the album layout. Later on the image transformation will need to query the properties of a file in order to do thumbnail transformations.
User management should be able to be added later, though not later than storing image properties.