Personal tools
You are here: Home Archive 2007 March 30 PloneSmoothGallery: An Elegant, Simple Photo Gallery
Document Actions

PloneSmoothGallery: An Elegant, Simple Photo Gallery

by Jon Stahl last modified March 30, 2007 - 15:59
Filed Under:

PloneSmoothGallery, by Norbert M Haigermoser, is a lightweight Plone wrapper around Jonathan Schemoul's SmoothGallery javascript photo gallery/slideshow.   It uses the Mootools javascript library to create simple, elegant, easy-to-configure slideshow view on a folder of images.


PloneSmooth Gallery with navigation drawer open


PloneSmoothGallery with navigation drawer closed


PloneSmoothGallery consists of a subclassed Folder object extended with a rich text field (love it!), a few SmoothGallery configuration options and a custom view template that includes the SmoothGallery javascript magic.  You place normal Image objects inside the PloneSmoothGallery folder.  That's nice, because if you ever decide you want to stop using SmoothGallery, you can easily move your unmodified images elsewhere.  In addition to the through-the-Plone cofiguration options, you can easily tweak the SmoothGallery CSS styles to adjust colors, layout, etc.

PloneSmoothGallery is a nice, simple, straightforward Zope2-style product.  Zope 3 aficionados (hi Rocky! ;-) would probably suggest adapting the folder object rather than subclassing it, the way p4a.audio and p4a.video do.  That's probably not a bad idea for the future, although I'm not convinced it's absolutely necessary -- this product isn't nearly as complex and ambitious as the p4a multimedia suite, so there's probably less benefit to a pure Zope 3 style approach.

There are, of course, a couple of nits to pick:

  1. It would be nice to have a Smart Folder-based SmoothGallery object, so one could build photo galleries based on queries against a larger stock of photos. (Hmm, maybe Zope 3 development techniques are a good idea!)

  2. Our test users found the animation of image captions distracting -- this is more of an aesthetic issue with the underlying SmoothGallery product (rather than the PloneSmoothGallery adaptation).  It would probably be easy to tweak the animation effect, though. 

There's one big design issue with the underlying SmoothGallery product, though.  SmoothGallery loads in all of its images as the gallery is loaded.  If you have a large gallery, or you've been careless about compressing your images, that can make the page quite heavy and use a lot of bandwidth.  There does appear to be a fix, but it hasn't been bundled into the SmoothGallery product, so you'd have to patch it yourself.  (In Plone 3, there might be some way to do this with KSS.)


Overall, though, PloneSmoothGallery looks like a great product for creating small, elegant image galleries in Plone.  It's quite a bit more polished and configurable than similar products such as PloneLightboxJS or FriendlyAlbum.

A big thanks to Norbert for packaging this up for Plone.

What about a view

Posted by Vincenzo Di Somma at April 05, 2007 - 05:21
I'd rather like to have a view I can assign to a folderish object than a specific content, I don't really see the reason to have an new content type. Am I missing something ?

Need to be able to configure the parameters

Posted by Jon Stahl at May 29, 2007 - 22:00
Vincenzo-

One needs to be able to configure the parameters of the slideshow, and it seems like the simplest way to do that is by subclassing ATFolder and adding the parameters. There is probably a more Zope3-ish way to do this via adapters.

Update: Changing Horses

Posted by Jon Stahl at May 29, 2007 - 22:03
After playing around with PloneSmoothGallery a bit, I've decided to commission a new photo gallery product based on http://www.electricprism.com/aeron/slideshow/, another Mootools slideshow library that appears to have fewer bugs and a more solid user community behind it. We'll probably borrow heavily from PloneSmoothGallery for concepts, and of course it will be released in the Plone Collective.

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: