Web Album 1.2

Web Album is a free program that will create a web based photo album from a collection of digital images. It effectively scans all your directories from a user selected root directory creating thumbnail representations of your photos, templates for captions of every photo and finally web pages that include your thumb nails with captions and links to the original photos. Also web pages for intermediate directories will be generated containing links to their sub directories.

As an example I have included some photos which you can access here.

The following screen shots show the rather simple user interface. It is a small specialized program. I wrote it to fill a particular need I had and because other programs I found on the web did not exactly fill my needs.

Some screen shots

Web Album Web Album Web Album Web Album five.jpg

Downloading and running Web Album - the easy way

Web Album now uses Java WebStart for automatic download and starting. The only requirement is that you have Java WebStart installed on your machine. If you have installed Java version 1.4 you already will have Java WebStart installed.

You can install/start Web Album by clicking here.

You can install Java Webstart by clicking on the following image.

Get Java Web Start NOW!

Downloading and running Web Album - the harder way

How to write a velocity template to use with Web Album

A velocity template is executed for every generated web page by Web Album. It describes how the elements passed to the template are to be included into the generated html file. Templates are provided to create a standard web page or to create the web pages similar to those in the example. Templates are typically located in a template directory and may be loaded from the Web Album program. The actual template used may be selected from the Page Design panel.

  1. Place variables in the template where appropriate. Variables exposed to velocity are:

Having got a list of image entries ($theList) we can iterate through it retrieving properties and methods from each Entry in the list and setting the html as required. For this we use standard Velocity commands e.g.

#foreach ($entry in $theList)
  ## print entry filename
  $entry.getScaledImageFile().getName()
#end

Velocity allows us to retrieve properties and methods of a java object so getting the name of the scaledImageFile means invoking that method which returns a regular java.io.File object which we can then ask for its name through the getName method. See the javadoc for web.Entry for a full list.

  1. Summary of properties and methods of $entry:

Source Code

You are welcome to have the source code to Web-Album. There is no licence or guarantee associated with this program. All I ask is if you develop further enhancements is that you consider giving me access to them so that I can add them into the next version. The sources are in Java JAR format and can be extracted by using the following command:

jar xvf source.jar

Contributors

Gerson Galang contributed the captions editing and web page design facilities.

Ewan Harrow contributed the velocity template based web page generation.

Previous Versions

Version 1.0

Version 1.1

Modified on January 8, 2004 by Robert Esser