[commits] [Wiki] changed: MichaelRubinsky

Michael Rubinsky mrubinsk at horde.org
Sat Jun 25 04:57:57 UTC 2011


mrubinsk  Sat, 25 Jun 2011 04:57:57 +0000

Modified page: http://wiki.horde.org/MichaelRubinsky
New Revision:  1.34
Change log:  update some todo/done items, reword some notes now that  
things are done etc...

@@ -9,30 +9,31 @@

  * Deal with Ansel_Storage being able to specify different scopes and  
how that affects injector usage.
  * Use a decorator pattern for the different gallery display modes  
(Date/Normal/?).
  * rewrite tagger to use content_tagger
+* PHP5 native
+* Clean up the very long parameter lists on most of the list methods  
- take parameter arrays instead of a dozen different paramters.

  ++++TODO:

-* PHP5 native
+* Ansel_Gallery::addImage() should take an Ansel_Image object, not  
the raw image data to create the object.
  * use pretty autocompleter for tags / update the image view and  
review placement of tag widget.
  * Rewrite google maps integration to use horde_map javascript
  * Add a way to easily perform image actions such as downloading from  
the gallery view...something along the lines of either a small  
contextual menu or simply a link on the image tile, also a textual  
link to display the full image view would be very helpful for  
galleries using a lightbox - so the user could see the exif  
data/comments/image actions etc...
  * Implement a more MVC-ish way of handling the different  
gallery/image views. Instead of checking for api usage in all the  
views, use a dedicated view. This will make it easier for others to  
implement their own specialized view?
-* Clean up the very long parameter lists on most of the list methods  
- take parameter arrays instead of a dozen different paramters.

  ++++Random notes
-All non Ansel_Gallery code should be calling  
Ansel_Gallery::listImages and not Ansel_Stroage::listImages:
-list* methods should return ids, get* methods should return objects.
  Review all ansel js, output all strings in js and consolidate all  
the gallery_view js into a single *.js file.

  --

  Make it easier to add new !ModeHelper objects.  There should be an  
init function somewhere that returns the available modes that are  
installed.  Normal and Date should be 'built in' and always available  
- maybe parse the contents of a special custom Mode folder?

-Related to above, come up with a detailed idea of what a gallery  
"style" will be...clarify what a "mode" is vs a "style", how to allow  
for (and what to call) special modes (such as a possible "remote  
gallery") that cannot be arbitrarily switched between modes (like the  
current Normal and Date modes can be). Maybe a gallery "type" that is  
specified initially that cannot be changed (Local, Remote, etc...)?  
And, obviously along with all this, finally provide a UI (and backend  
support) to allow the user to define their own gallery styles.  
(Layout, color, thumbnail type etc..).
+A gallery style is defined internally by the Ansel_Style object. It  
is a combination of the following user-set properties: The Thumbnail  
style (Polaroid, drop shadows etc...), the background color, and the  
view style (Traditional, Lightbox). It also holds the Ansel_Widgets  
that should be displayed, though those are not yet user settable via  
the UI.

-Maybe use "displayMode" for changing the way images are grouped  
(Date, Location, Normal) etc...then a GalleryType to specify a "local"  
gallery for images (maybe video too) vs "remote" gallery for allowing  
galleries to display remotely hosted images from, say, facebook or  
flickr.
+The gallery's "display mode" is used internally to determine which  
Ansel_GalleryMode class to use to represent the Gallery.  
Ansel_GalleryMode objects are responsible for obtaining all  
information needed to represent the gallery. e.g., the  
Ansel_GalleryMode_Date object organizes the gallery's images into  
subgalleries grouped by dates. Another way to look at it is to say  
that these mode objects determine what the gallery contains and how to  
organize it while the Ansel_View_GalleryRenderer objects determine how  
the galleries are to be displayed on the screen.
+
+Still to figure out: how to allow for (and what to call) special  
modes (such as a possible "remote gallery") that cannot be arbitrarily  
switched between modes (like the current Normal and Date modes can be).

  --

  Allow user-specific, global, settings for what Ansel_Widgets are  
visible, allowing them to remove a widget that is defined in the style  
to un-clutter the view.
@@ -46,16 +47,9 @@

  lazy load image thumbnails for some styles: Needs to be implemented  
on top of prototype...
  http://www.appelsiini.net/2007/9/lazy-load-images-jquery-plugin

-Replace current tagging implementation with the !PrettyTagger stuff  
from Kronolith - still to decide, can we completely replace Ansel's  
Tagger with the Content tagger?
-
-Ansel_Gallery::addImage() should take an Ansel_Image object, not the  
raw image data to create the object.
-
-Use Horde_Support_Array objects for private class params to avoid all  
the if (!empty($this->_param['foo']) ? $this->_param['foo'] : '') type  
conditionals
-
-
-Flash based image uploader:
+Flash based image uploader (already implemented, with a widget  
implemented from scratch to look like the jquery widget):
  http://www.uploadify.com/

  http://24ways.org/2009/going-nuts-with-css-transitions
   
http://ajaxian.com/archives/transm-programmable-image-transitions?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+ajaxian+%28Ajaxian+Blog%29



More information about the commits mailing list