PhotoGallery
From Makers Local 256
Contents
Photo Gallery Quest
I want a photo gallery. I would prefer No Flash, and No Java. I want some features available to me internally to my own network when hosted on a LAN. I want some features for presenting the gallery over the web to friends/family. I am torn over my desired feature set and use set. That means I will have to go over all the features at some point and re-organize them at least, or split into two projects? but I want common information between them...
Desired Features
I want these features:
Basics
- Browser Support
- Firefox - required
- Opera - trending required
- Chrome - required
- IE - required. I want remaining grandparents and parents to be able to use it... :/
- Safari - optional. we may pander to this.
- DLNA - I want my TV to browse this if I ever get one that supports it.
- Thumbnails - required
- Automatically generate on mass/single upload
- Allow editing via selecting sub-region (single upload and go-back-edits)
- How / where are they stored?
- Slideshow - required
- Launch a slideshow of images returned from a label/tag/filter/search
- Users - trending required
- Some stuff needs to have restricted access.
- Some stuff can be open to Anonymous...
- Lock out pictures/tags/descriptions/labels via user permissions
- Search - required
- I want lots of it.
- Yes, I want still more of it.
- I want to search comments, descriptions, tags, labels, picture metadata.
- Search needs to also work like a filter.
Labels and Tags
- Labels - required
- Work like albums.
- A picture can thus be in multiple "albums" - this can handle Sets into Collections too.
- Some will be automatically generated based on when picture was taken, but thus can be "hidden".
- hidden labels exist, but may not show up anywhere until they get used somehow. I dunno, this needs more thought.
- Automatically generate Year, Month, 'Year and Month' at least.
- Labels will be searchable! and combinable... '2011 AND Christmas'
- If we have descriptions, then these can have one.
- Tag / Label cloud
- Tags - trending required
- work similarly to how they do in lots of places... you tag people/pets/things
- Would really like face recognition, and then a place to review "pending tags" that haven't been assigned yet.
- Would really like people/pet/things recognition in tags, so if I tag you a few times, it learns who you are and automatically tags you next time.
- When adding, store a list of previously used Tags to select from so you don't always have to write it up fresh
Upload
- Reads picture metadata to get date taken, camera, anything we care to know or search by really.
- Mass Upload - required
- Ability to upload .zip, .tar.gz, etc...
- Allow Users to do this?
- LAN Upload / Monitoring - trending required
- Can scan/host from local folder over LAN (mounted filesystems, even if non-local?)
- Can poll the folder for updates periodically
- Users can add network shares on local machines to the poll list?
- Should we force them to upload it
- or just allow them to add it for browsing now, and not save the store?
- Single Upload - trending required
- Allow Users to upload photos
- Allow modifying thumbnail, description, labels, tags, etc.
Text and metadata
- Comments - trending optional
- Allow users to post comments
- Allow anonymous to post comments?
- Have some captcha system when anonymous?
- Descriptions - trending optional
- While not required on all pictures, if we're gonna have them, they have to be simple to add and be MASS EDITABLE.
- Must be able to edit descriptions on all pictures uploaded/labelled at once. One save action for all.
- Need some way of storing Descriptions for Labels.
- While we're at it, we might can store Descriptions for Tags too... at least for Pet/Thing tags...
- Dang it, now we need to lock descriptions down to user-level permissions too...
- Ratings - trending optional
- Ratings might be cool. Some way of people indicating that they "like" a picture at least.
- If we have them, then we have to be able to view the highly ranked/liked ones.
- Do we want "dislike" or negative rankings?
Points of Interest
- Support selecting images to send to some online print services? Is this a thing?
- Have a different version of site /layout for mobile/smaller screens
- perhaps separate versions for some of the more common phone, tablet, netbook resolutions.
- Consider tossing around the idea of a version of the site that works well in links (lose the images, but keep descriptions and as much search as possible, then just have dl links to images). academic exercise?
- Have it support pulling images from a bigger image hosting site like picasa or flickr and this just being a new way of presenting them.
- Keep support for handling everything from a folder for an internal Intranet/LAN photo browser.
- keep this in mind when configuring. the photos/galleries/labels/tags are independent of where they hosted/point of access.
- A photo can have multiple locations and change which one is displayed based on where the site is accessed from? Craziness!
- This would probably mean we need to be able to upload images from within the gallery itself to the LAN/local store to the public/web store if they can be separated.
- Also need to be able to specify remote store later for images that were already uploaded prior to gallery initialization. This would need to be a readily-massive/quick/friendly/don't-make-me-stab-monitor-repeatedly type interface.
- Need some way of indicating when viewing thumbnails/single-images whether an image is local or remote.
- Consider allowing drag-n-dropping images around to make a slideshow in a desired order, then potentially exporting the slideshow?
- Using this beast to make slideshows to burn on DVD's/give to family would be nice.
- Maybe save the slideshow as a link against a user so they can link it in addition to downloading it?
More stuff as I think of it or get frustrated by how something works...
Existing Software
folderblog
gallery
phormer
satellite
singapore
ubergallery
zenphoto
Guides
CakePHP + Flickr
http://www.sitepoint.com/photo-gallery-cakephp-flickr/
Django
http://skam.webfactional.com/blog/2007/08/08/django-based-photo-gallery-tutorial/