User:Signe - Gallery Codex
Personal tools


From Gallery Codex

  • Ex-Lead G1 Dev
  • Some-time G2 Dev


Gx Feature/Requirement Proposal

These are split between pure developer/technical requirements, and user-level features

My take on Gallery

I use gallery both for purely personal, and for semi-professional reasons, and I can see the application from a lot of different angles. The plugins and features that I use on my personal site are not the same as I use on my professional. For instance, my professional site is embedded into Drupal which allows me to manage blog posts, users, etc. all in a single location. The personal site is purely a gallery of images used by both family and friends.


  • SEF album/image urls
  • Image security
  • Embedding Support
  • Uncomplicated Permissions
  • Blocks (Random/Newest Item/Album, etc)
  • User accounts
  • User Groups/Roles (think Drupal)
  • Automatic user path (ala userdir module)
  • Unlistable paths - Imagine a directory that's mode 0300 - execute, write, but no read. You can navigate the path, but you can't see the contents. However a deeper path may be readable. Useful for having a "/People", but not letting people browse it, for instance.
  • Hidden folders - Imagine a dot-file on UNIX. Unless you know/look, you won't see it.
  • Passworded albums
  • Full theme (HTML) and skinning (CSS) support
  • RSS/Atom (Preferably atom)
  • Sitemap
  • Keywords
  • Search (Date, Keyword, Text, EXIF/IPTC, etc.)
  • Quotas
  • XML-RPC/SOAP/REST API for manipulating albums, options, etc.
  • Upload Methods - Direct/Web, Local, API (Desktop, Firefox extension, etc. There has been a volunteer to help build a PHP-GTK desktop app for Gallery)
  • Slideshow
  • Randomized Filenames?
  • Comments, Comment Anti-Spam
  • Migration?
  • Restricted User Signup (i.e. by invitation from another user with an account/permission)
    • Theoretically, this could be a secondary account structure. Accounts created by another user for viewing their albums are not global, but are local to only that user's albums. Might be complicated, but I think this is an interesting idea.


  • Plugable memcache/eAccelerator/APC/xcache support for caching and performance
  • Use PHP 5.x features: Exceptions, SPL, Interfaces, ...
  • No error messages during normal operation with E_STRICT enabled. Even with error messages turned off, triggering errors is a performance hit.
  • Utilize existing framework (Bharat mentioned Django, I'm evaluating Zend, etc.)


(Just imagine your favorite LOLcat)

  • Support for every platform under the sun
  • Support for every DB under the sun
  • Support for non-image/non-movie formats (MP3, Flash, text, etc.)
  • Open User Signups
  • Multiroot
  • Link Items
  • Rating
  • DAV
  • Nokia Image Upload
  • Windows Publishing
  • Cart
  • Zip Download
  • eCard
  • HTTP Auth
  • Rearrange
  • ANY blog capabilities. This is Gallery - if you want Wordpress, install Wordpress.