***Disclaimer THIS IS REALLY ROUGH STUFF. It may not work and probably doesn't work the way you think it does. I am not a perl guru by any ANY stretch of the imagination. If you improve anything, and I very much hope you will, please let me know: mhughes@hugheshome.net Having said that let me add: This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (GPL.txt, included in the archive) for more details. *** General Unpack all these files, including the module, to one directory. If you use createalb.pl, it will find Album.pm in the local lib directory. createalb.pl needs your server information to ftp files to your server. Add your information to the createalb.pl script - just below the # SET CONSTANTS line or comment out this line: $album->ftp_changes; You can always manually ftp your files. Currently there is no status window, so it's hard to know that things are working at all, much less that they are working the way they should be working. I run createalb.pl in a terminal window so I can receive some reassurance. Here's the command to insert in a gnome launcher: xterm -hold -fs 18 -e '/home/mark/80-004 Album/bin/createalb.pl' The Album.pm module uses the Template.pm module available on CPAN. *** Album.pm This is the undocumented custom module used to create index pages, create image pages, resize images to produce "large" images and thumbnails, and ftp the created pages to a webserver. The best way to tell what this module does is to look at createalb.pl. The module creates an index page and an individual page for each image in a collection of images located in a user selected directory (sourcedir). The index page displays thumbnails that are linked to the individual image pages. Album.pm creates those pages on the local computer in several subfolders (which it creates) in the user selected basedir. This module insists on a particular directory structure, so that it can make the needed forward and reverse links. There must be a directory for each year (e.g. 2004) inside whatever is the base directory (basedir). Inside each year's directories there are directories for each month (e.g. Feb04). This module will make these two levels of directory, if a new year is required. Inside each month directory the individual albums have user selected names (shrt_alb_name) preceded by a number, so the order of the albums is obvious. (e.g. 2-SkiTrip). The module will create an index page in the album directory and place images and thumbnails in the sub-directories. If there is an image labeled ban_image.jpg in the source, it will be resized, placed in the thumbnails sub, and displayed in the standard banner for all pages. (How the banner image is used can be seen by looking at the sample template files. The module also uses a text comparison to order images and therefore to create forward and back links. So, if you want your images in a particular order, you must name them in a text sequential fashion. (Using this command on image files will rename the image using the time and date the photo was taken: jhead -nf%y%m%d%H%M%S \'$topsrcdir$file\' (Obviously, this command can be placed in a script to rename all the files in a directory.) There's a version of such a script for gqview available at http://www.denverhughes.net/Scripts The module uses templates to construct the index and individual pages. Those templates must be in the templates directory. Modifiy the templates to give your pages an appearance you like. The variables in those templates - in the form, [% something %] - refer to variables set by the module (see set_var below). They are pretty obvious. *** createalb.pl The createalb.pl script is an interface to Album.pm. Together with Album.pm createalb.pl allows one to select a directory containing photos to appear in a web album, resizes photos, creates an index page containing thumbnails that are linked to pages containing larger images. It then will ftp the finished album and the pages changed in the preceding album to one's webserver. createalb.pl derives the format of index and image pages from customizable template files. The program also links the new index page to the preceding one and vice versa. Similarly it links all the image pages together.