Amazon S3 CDN distribution for Menalto Gallery 3

Advertisements

Announcing a new module for Gallery 3 by Bluespider Technical Solutions: Amazon S3 CDN

This module integrates deeply into the Gallery 3 code, and seamlessly redirects your web clients to your Amazon S3 bucket for content, leaving your web server only the task of serving up the Gallery 3 HTML pages. This module also hooks into item upload, move and delete events and copies, moves or deletes content from your S3 bucket as and when you create, move or delete it.

For galleries with content pre-added, we provide a task which performs a syncronisation between Gallery 3 and the S3 bucket for all content and album thumbnails, resizes and full sized images that would have otherwise been served up by Gallery 3.

Download it here: [download id=”20″ format=”3″]
Gallery Codex page here
HISTORICAL Support Forum Thread here
Use the comment box at the bottom of this page for support, or contact me directly. I’d rather you commented in the open forum though, since this is open source and all 🙂

Changelog
26th November 2010 :: Version 1 :: Initial release.
19th December 2010 :: Version 2 (beta)

  • Key, and Bucket name validation
  • Ability to upload only thumbs, resizes, fullsizes, or any combination of the 3
  • Resolved compatibility with crossdomain issue in album organize. Thumbs are now vended from the local server as crossdomain blocks flash from loading these (though CoolIris is not affected, I’m not sure why)
  • Ability to (if used with updated Scheduler module (linked below)) sync and upload items to S3 via a cron job rather than “there-and-then”. This resolves the upload progress bar stalling/freezing/browser crashing issues while waiting for server to upload to S3
  • Spelling changes
  • Updated S3 lib to ignore SSL certificate mismatches. This resolves communicating data to S3 via SSL if required. The warning is still in place on the admin page though, as you may or may not still run into issues using SSL
  • Added support to move items around S3 when items are moved around the G3 installation. When images are now moved from album to album, the item is moved in S3 accordingly. Images are also updated on S3 when rotated. Haven’t tested this with the Watermark module yet though.
  • Resolved problem validating Access Key/Secret Key/Bucket Name info on first/new install of module (not affecting upgraders from version 1 of this module)
  • Resolved issues with Organize crashing as (0 of x items completed) when moving items between albums.
  • (Potentially) resolved issues that prevented Server Add module from working correctly.

20th January 2011 :: Version 2 Final :: Release
29th January 2011 :: Version 2.1

  • Firstly, started using double digits for version numbers so I can create minor revisions
  • Added fields to database to store MD5 hashes of files. These are used to match the MD5 hash of the local file, and what the module thinks is uploaded, and also for comparison with S3 itself (which provides an MD5 hash when asked for bucket info)
  • Re-visited re-sync task. Taken out “emptying bucket” code (as there’s really no need it seems), and simplified the whole process, allowing the module to compare the MD5 hash of the local file against the same file path on S3, and upload/overwrite if they’re different, or if the module doesn’t believe the file has been uploaded.
  • Resolved issues of moving entire albums from one location to another and files disappearing. This invoked a re-visit of the move code as well and cleaned up quite a lot of unnecessary stuff.

Join the Conversation

7 Comments

  1. I read that you have a development version with the spaces in names issue fixed. Any way I can get a copy?

  2. This module is awesome, especially with the “sync” feature. My question is that when I run the sync, does it transfer the entire picture to my web server for processing? I.e. will I need to pay Amazon for 80GB of traffic when I sync?

    Thanks,
    Jeff

  3. @Jeff;
    As it happens, no. About 6 months ago or so, Amazon made all inbound data transfer free. So the only thing you’ll pay for is the PUT requests to upload the images, the download data transfer and GET requests from S3.

  4. Dan, thanks for the response. I’m up and running, but the module doesn’t seem to add pictures in folders from S3. If I upload a photo in Gallery then it is uploaded into S3. Any suggestions? Thanks!

  5. @Josh,
    Unfortunately, that’s not going to happen. There are too many restrictions, not necessarily within G3, but the framework also, and perhaps the way G3 was built, that prevents this feature from ever working properly. I spent several days trying to come up with something that gets around these issues, but there just isn’t. The feature set it has now is as far as it’s ever going to go. Primary storage will never work.
    Don’t get me wrong. It is possible. However G3, and all of the modules that “do” things with the files (read files, exif data, etc) will need re-writing to accommodate an abstracted manner of being able to access the filesystem. Without this, it just isn’t going to happen. And I don’t foresee the G3 devs re-writing the core simply to accommodate this.
    Sorry 🙁
    Dan

Leave a comment

Your email address will not be published. Required fields are marked *