Memento Image Gallery Plugin

Posted By: Mark Aplet 8 Comments July 28, 2009

Memento Photo Gallery

Before I even knew about Mango Blog, I ran my own home brew blog system. It did not have very many features but it worked for the time, and I was proud of what I had been able to create. But it took me nearly a year to make the move and convert my personal blog over to Mango Blog simply because it did not have the features I wanted from it. One of those features that held me back was a photo gallery. I tried to use flickr but my technophobic family cried fowl! They liked the original lightbox style image gallery, and found themselves lost and confused when all my photo links directed them to flickr.

Thanks to Mango Blog's plugin architecture I was able to create a simple but functional photo gallery system to solve my problem. I am calling it "Memento". It was based loosely on my Auto Gallery script that I have been using for years to simplify the automation of image galleries. I just made it even easier to use by adding an image resizing cfc that automatically creates the thumbnails for you. No more creating two versions of your image in Photoshop. Hooray!

Download the Memento Plugin For CF8+

Plugin version:
1.1 for CF8
Last Updated:
2009-07-28
Requires:
Mango Blog 1.3+
Auto-install URL:
http://www.visual28.com/assets/content/mango/Memento-v1-1.zip

CF 7 version now available

I gave up trying to make ColdFusion 7 work with my original version of Memento. No matter how hard I tried, I could not make the two work correctly. I did manage to chunk out the CF7 only bits and get it to work on my CF7 server. Since it's such a hassle, I won't be updating this version unless there really is a demand for it in the future. Instead my efforts will be in making the the CF8+ version more robust and extendable. 

http://www.visual28.com/assets/content/mango/Memento_CF7.zip

Installation

When you first install Memento it will create a new folder called (can you guess?) "memento" in your assets/content directory. This is where all the images and files are put when you use the file explorer that comes with Mango Blog so you don't have to learn how to upload files just for Memento.   Just do it the same way your already used to.

Getting Started

Using Memento is pretty easy (I hope). Start by creating a new folder inside of the "memento" folder to hold all your images. I refer to it as an album as that term seems to make the most sense. For discussion sake, let's call the album "test". Upload your pictures to the "test" album.

On any page or post where you want to include your photo gallery, type in the editor [memento:AlbumName] Using our example above, you would type [memento:test] That's pretty much all there is to it.

Just in case it is not too clear how to use Memento, I put together some videos that I think will help you understand how to use it.

The first time your album is called, Memento will automatically scan your album and create the thumbnails for you. Expect that the first time you call memento to create your thumbnails the page will take longer to load. Be patient. The more photos you have or the larger the images are you can expect longer load times the first time the thumbnails are generated.

Memento will also build out the code necessary for any of those fancy lightbox scripts. Memento is built to use either Shadowbox, Lightbox2, or Fancybox. If you use another lightbox script and wish to see it supported let me know either in the comments or with an email. I would be happy to include support for it.

Additional Gallery Features

One of the cool features about Memento is it's ability to scan your large images to check for new ones. If you later add new photos to an existing Memento album, Memento will automatically create that new thumbnail and display it on the page with the rest of the images.

What if you change your blogs design and part of that redesign is making all your existing thumbnails square? Maybe you want to change the size of the thumbnails, like making them bigger? No problem! Just delete the "thumbs" folder from inside your album and Memento will reprocess your album images making new ones based on your new settings.

Technical Requirements

Memento was built to run on CFMX 8 or higher. (CF 7 Version coming soon)
Requires jQuery plugin to use lightbox effects
Lightbox, Shadowbox, or Fancybox plugin required for overlay effect

Development To Do List

Memento is not perfect. I would like to see it grow and have ideas in mind for that growth. If people like the plugin and find it useful I will continue to build on it. Here are some of my thoughts for future upgrades.

Implement large image resizing (preview images). Currently original images are linked to thumbnails. Shadowbox will scale image to fit browser. However this may not be desirable in some situations where users upload large images that are 10 megapixels. Currently, the recommended process is to resize your large preview images first. 800pz -1200px is a pretty good size for most uses.

Option to keep or delete original files after preview images are built. Keeping originals will be handy if you change your mind and want to reprocess the images. Reprocessing thumbnails is as simple as deleting the "thumbs" folder in your Memento album folder. Deleting the originals save server space.

Option to place "Download Original" link in preview title or below thumbnail. I thought this would be helpful if you had a large image you wanted to offer as a download but also wanted to offer a larger but not full size preview to your visitors

Option to extract EXIF meta-data for image title, captions, and keywords.

Acknowledgements

I would like to point out the great work the guys at Developer Office have done creating an awesome cfc called iEdit. It served as the basis for putting this plugin together and helped me to work out the cfimage version of the plugin. Without the support of great open source products like iEdit and Mango Blog, we would not have such a great community. Hats off to all that develop and create open source software!

Tags: Freebies · Mango Blog · Plugins

8 comments so far ↓

  • 1 David // Aug 3, 2009 at 11:40 AM
    Great job Mark! Works great!

    Thank you!
  • 2 Scott // Sep 4, 2009 at 5:03 PM
    Hi Mark,

    Love the plugin, great idea and awesome that you thew lightbox support in there for the popular ones. One thing that I noticed is that even with a small list of images (10 or so) that are fairly normal low-res sizes (1000x1000 or so) the initial page load often times out as the gallery builds.

    Is there some easier way to add in the build process so that this doesn't trigger on first page load? Maybe a seperate upload process in the Memento config that takes a zip file (or uses the ASF uploader) to put the files in their dir and kickoff the creation process?

    Just a thought to help this one little issue. Otherwise, it solves a problem I was going to have to write a plugin for as well!
  • 3 Mark // Sep 5, 2009 at 8:54 AM
    Hi Scott, Thanks for the feedback. I do have plans to update this plugin with a caching option and an xml output so it does not have to run the checks on each load. This will dramatically increase performance of the plugin. Especially for larger galleries. I am also working on a database version of a photo gallery that will allow you to upload a zip of images or a single image at a time. But this will not be coming out any time soon unless I can get a client to pay for it's development. So yes, there are some things in the works. :)

    Not sure why your having an issue with only 10 or so images. Maybe you can send me some specs on the machine running memento and I can compare that to my own. My server is at least 5 years old and it is running several sites with galleries of 100 images or more. Here is one example from my personal family blog that has around 100 images. http://is.gd/2Vecb and here is another with about 50 larger images (1024px). http://is.gd/2Vfpp

    Thanks again for the feedback
  • 4 David Crowther // Sep 30, 2009 at 3:58 AM
    Hi Mark,

    First off, thanks for an amazing plugin. You can see it in action here:
    http://www.hiow-airambulance.org.uk/page.cfm/gallery

    I just downloaded Laura's ExtremeCache plugin to try and speed the site up a bit and I noticed it broke your gallery plugin (just displays [memento:gallery] text on the page instead of the photos).

    Just thought you should know - while secretly hoping your next version will fix this issue :)

    Kind regards,
    David

    ~
    David Crowther
    NerveCentral Limited
    Web: http://nervecentral.com
    ~
  • 5 Mark Aplet // Sep 30, 2009 at 9:48 AM
    Thanks for the feedback David. The ExtremeCache plugin does cause problems for many mango blog plugins. The next version of Memento may fix this though I have some concerns due the the way ExtremeCache works. I also have some theories for a work around on MB 1.4 that I will have to test for. Right now they are just theories :)
  • 6 Sean // Feb 13, 2010 at 12:46 PM
    Hi;

    yes great plugin - just what I was looking for, though I am having performance issues as well...

    is there a method to disable the check on every page load?

    http://www.onetofortyeight.com/ only 4 images there, they are fairly large, but I don't think it should be a problem.

    thoughts?
  • 7 Josh // Mar 3, 2010 at 8:08 AM
    Recommend adding the ability to have lower level folders:

    Example: Memento/MainImageFolder/SubImageFolder

    <memento:MainImageFolder/SubImageFolder>
  • 8 Mark Aplet // Mar 3, 2010 at 5:33 PM
    Hi Josh, I may add this feature if people request it. As it stands now, I am not a fan of sub categorization of folders as it adds complexity and confusion for end users. I am trying to remove the complexity barriers and keep it as simple as possible. Your always welcome to modify the code yourself for your own needs.

Leave a Comment

Leave this field empty:

Theme Design By Mark Aplet

Super Powered by Mango Blog