# Photo Album

Tom Baginski

    bags@arsdigita.com

## Introduction

The Photo Album Package is a generalized application for storing and displaying groups of photos on a web site. It provides a convenient and uniform system for uploading, storing, and displaying groups of photos on a web site. It removes the tedious part of building pages to display photos, and allows users more flexibility to maintain and modify their own photo albums. It also removes much of the burden from the owners/maintainers of the site. All of these factors add up to a system that allows community members to easily contribute and view large amounts of compelling content on a site.

## Release Notes for Photo Album 4.0.1 Final Release

Changes from 4.0.1 beta to 4.0.1 final.

- Removed photo level premission checks. Load testing showed that allowing different photos within the same album to have different permissions made the queries to get the photos in a large album very slow. I changed the application logic so that all photos in album have same permission and permission check is done at the album level.

- Tunned numerous queries base on load testing results against a database filed with 10,000 photos.

- Made compatible with acs-kernal 4.1.1 and acs-templating 4.1.

- Added caching of primary keys of photos in an album and package root folder_id.

- Added optional permission check when serving images.

- Added separate optional page to display the base sized photo.

- When uploading a photo, the thumbnail is now created from the viewer sized image rather from the base sized image. Creating a small image from a medium-sized image is much faster than creating a small image from a large image and does not noticably change the image quality.

- Minor revisions to plsql packages to improve compatability with acs-content-repository.

- Added more detailed documentation in both html and docbook format.

- Fixed name conflicts with photo album lite.

Besides upgrading the rest of your acs intall to 4.1.1, you will need to mannually run `photo-album/sql/plsql-packages.sql` through sqlplus to update the packages inside oracle when upgrading from the beta to final version of the photo-album.

## ACS Administration Guide

Installation and Operation Notes

- Imagemagick The convert and identify binaries must be installed within the location specified by the parameter ImageMagickPath. The user that the webserver is running under must have execute privileges for the files. A link to a download page for ImageMagick can be found in the design document.

- Image Storage Directory The photo album store image binaries in the file system. The webserver user must have read, write, and execute privileges for the directory specified in the parameter PhotoDir. This directory must be in the acs root directory for the server. The webserver user must also have write privilege on any file created in this directory or it will not be able to delete images.

- Permission Checks for Serving Images The parameter CheckPermissionOnImageServeP controls if images/index.vuh queries the database to check if user has read permission on a photo prior to serving it. Setting this to true will slow server performance because it causes an extra trip to the database for every image served. Default album pages serve 12 thumbnails per page, which translates into 12 extra trips to the database. Users should not be presented a link/img tag for an image for which they do not have read privileges. Unless you are really concerned about someone url hacking to a private image (which they would need to know the full path), I suggest leaving this parameter set to false.

## Developer's guide

&requirements; &design;