News

Zenphoto dynamic theme concept

I started working on a Zenphoto theme to sort of mimic the performance of Google’s Picasa Web Albums service (which is very nice, and was recently upgraded to 1 GB of free storage, see my public albums there for a good example).

Picasa-Web made huge strides in the usability of online photo viewing, in my opinion. The main advantage was the quick loading of previous and next images when browsing an album in the one-image view (where most browsing takes place, or at least, where the user cares most about speed). It was all done in JavaScript and AJAX, of course, and images were even loaded in low-res (pixelated) first so you at least saw something if you were too fast for your connection.

The other real speed improvement came unexpected–simply using the ‘onMouseDown’ event instead of ‘onClick’ to trigger the image switch. It’s incredible how much faster the (...)

Zenphoto 1.0.8.2

Zenphoto 1.0.8.2 was released quietly yesterday. Yep, there’s a .2 after that! Like you’d expect from software released without unit testing, we encountered several little bugs in the 1.0.8 version, followed by another bug in 1.0.8.1, hence, 1.0.8.2, which is now looking good.

Download Zenphoto 1.0.8.2 Here!

This is a larger release than the minor point makes it seem, with many changes to the core code and how things work under the hood. Read the changelog for more juicy info, or check Trac for constant updates. Read below for sweet details about this big point release…

One of the biggest changes is that images that have been cached are now detected and served directly from cache– no more going through i.php for every single image. This reduces traffic, helps with caching, and improves performance and page load time significantly. If you thought Zenphoto was fast before, you were right. So just imagine how (...)

Zenphoto 1.0.8

  • Faster image loading by using the cached image path directly if the file exists. [trisweb]
  • Custom suffix for image pages (eg: /alb/img1.jpg » /alb/img1.jpg.php) Defaults to .php, is backward-compatible with older URLs by 301-redirect, and makes sense. #16 [trisweb]
  • Now compatible with PHP safe_mode restriction. [trisweb]
  • Fix for permissions wrongly set in cache folder (could not delete cached images). [trisweb]
  • Added optional Unsharp Mask for thumbnails, defaults to off. Config param: thumb_sharpen. [trisweb]
  • Refactored the way requests are handled. Split into 2 include files: controller.php and functions-controller.php. [trisweb]
  • mod_rewrite rules for sub-albums complete; works to infinite path depth. [trisweb]
  • Much improved SEO (Search Engine Optimization) - URLs are always 301-redirected to their single canonical form; (...)

Important Zenphoto 1.0.7 Release

Zenphoto 1.0.7 has been released tonight with one small change — an important security fix for a problem with upwards directory traversal using “..” as the album name. I’ve simply filtered it out (in two places) and it shouldn’t be a problem again. Thanks to nicosomb for reporting this on the forums.

Everyone using any previous version should upgrade as soon as possible, though no need to worry — there’s not much risk from this bug, only the possibility of seeing folder names (and nothing else) in your web site’s directories that are accessible to your user. No files can be opened, nor any applications exploited. But upgrade anyway :-)

More on zenphoto to come.

 

Zenphoto 1.0.7

  • Large security bug patched; thanks to nicosomb for reporting it. [trisweb]
  • No other changes.

 

ZP 1.0.6

Following the mantra “Release early, release often” I’ve followed up 1.0.5 with (logically enough) 1.0.6! This release is small, but includes some good fixes for sorting, so I’m sure you want to upgrade!

On another note, I’ll be migrating to a VPS (“practically my own server”) hosting plan sometime this holiday season, so you might see some downtime, but probably not. Since I’m in no rush this time, the switch should be seamless. No rush also meant I could search and research (search again) all I wanted, and I believe I found a really great hosting company to stick with. One good sign is that they’re currently sold out, expecting more servers this week (so they don’t oversell, which is a Good Thing). After I get it set up, I’ll re-install Confluence and JIRA and Zenphoto will have its bug tracker and Wiki back up!

Go download 1.0.6! Install it! It’s easy!

 

Zenphoto 1.0.6

  • Bug: image sorting within albums fixed (getImageId() not found error). [trisweb]
  • Bug: image dimensions are now cached in the database again (no functional difference, but much faster). [trisweb]
  • Changed the default RewriteBase in .htaccess to /zenphoto to correspond with the default folder in the package. [trisweb]
  • Now detects changed images and reprocesses them if the cached versions are old. [trisweb]
  • When an image cannot be found/loaded, an error image is shown instead of no image (passing i.php?...&debug disables this and shows the error output) [trisweb]
  • Other minor bugfixes and code cleanups.

Zenphoto 1.0.5 Released

Just in case you don’t check the home page or forums, zenphoto 1.0.5 has been released with a ton of fixes (since 1.0.3). 1.0.5 was a quick fix for an overlooked little problem, all the real meat was in 1.0.4.

Big changes include:

  • Performance Improvements — lazy evaluation and some smart algorithms to sort the image array out of the database contribute to up to 12 times faster page processing in albums with lots of images.
  • Database Generalization — all data storage has been abstracted to a PersistentObject class, which the Image and Album classes inherit from. This reduces specific database calls, groups them together, and allows for easy addition of new classes and new database systems later on. This is a Good Thing.
  • New Themes included — I’ve included three new themes with the default release: Default Dark, Stoppeddesign, and Sterile. More choices! Yay.

The other big (...)

Zenphoto 1.0.5

  • 1.0.4 was littered with PHP short tags by accident (an SVN reversion somehow happened), now fixed. [trisweb]
  • No other changes.

Relevant links:

  • trisweb.com - Zenphoto 1.0.5 Released

 

Zenphoto 1.0.4

  • Backend performance improvements! Zenphoto is now up to 10 times faster at rendering album and image pages with extremely large albums, and at least three times as fast for moderately-sized ones. [trisweb]
  • Fixed bug where clicking the album or gallery in the breadcrumb would always go to page 1 [trisweb]
  • Fixed a bug with database constraint naming conflicts with multiple installations [trisweb]
  • Added an ini_set to try to adjust PHP's memory limit (may allow for larger images to be processed). [trisweb]
  • Better and more secure comment input filtering from the kses library. [Niels Leehneer]
  • Database access code abstracted and refactored. All (most) queries are now generalized through a new database class: PersistentObject. [trisweb]
  • Bugfixes in saving of "Place" field - formerly overwrote the title (oops) [trisweb]
  • Sub-albums half implemented (for TESTING ONLY). Use the Sub-Albums Test Theme to try (...)