Next / Previous / Contents / TCC Help System / NM Tech homepage

3. Operation of the catweb script

The script is intended to be run in the base directory above the indices/, thumb/, and archive directories.

Once the archx script has been run to build thumbnails and indices, use this command:

catweb indices/*

The wildcard filename “indices/*” will expand to a list of all the index files built by archx, and these indices, plus the image catalog file birdimages.xml, will drive the building of the web pages.

If all goes well, the script will create these files:

  1. index.html is the start page. This page will contain links to each of the form pages described below. These links will be imbedded within an indented, phylogenetic listing, showing all the biological taxa into which the kinds of birds in the catalog fit.

  2. In subdirectory “form/”, one form page will be generated for each biological taxon of which the catalog has at least one image.

3.1. The index page

General ornithological practice is to organize bird records according to taxonomy. Accordingly, the index page will group photos under the various taxa—orders, families, genera, and so on. Fortunately, this project can use the taxonomic infrastructure described in A system for representing bird taxonomy. Hence, the general organization of the index page will be an outline-style display of bird taxonomy, with Class Aves the root taxon, and each lower-level taxonomic rank indented one level further.

However, there is no sense in displaying all possible bird taxa. It saves space to display only those taxa for which there is at least one photo.

For each taxon that contains at least one photo, there may be more than one English name that applies. For example, older photos of what is now called Long-tailed Duck may be under the older name, Oldsquaw. The author's preference is to place each unique name under its own form page. In this example, under the taxon (species Clangula hyemalis), there would be links to two form pages, one for photos under Long-tailed Duck, and one for Oldsquaw photos. In a future revision, it might be good to add a feature that gives equivalences for older names, so that Oldsquaw photos are automatically moved to Long-tailed Duck.

A first approximation of index page design would be to show a separate heading line for each taxon. Then, under each form name in that taxon that has at least one photo, there would be a link to the form page for that form name. Here is a mockup of the start of the index page, through the geese and swans. The symbol “→f” means that the preceding text is a link to the form page for that name.

Class Aves: Birds
   Order Anseriformes: Screamers, Swans, Geese and Ducks
      Family Anatidae: Swans, Geese and Ducks
         Subfamily Anserinae: Geese and Swans
            Genus Anser
               Species Anser indicus: Bar-headed Goose
                     Bar-headed Goose →f
            Genus Chen
               Species Chen canagica: Canada Goose
                     Canada Goose →f
               Species Chen caerulescens: Snow Goose
                     Snow Goose →f
                  Form Chen caerulescens 1: Blue Goose
                     Blue Goose →f

Because the index page may be quite long (many hundreds of lines), there are some obvious steps to compress this report into fewer lines.

  • Because species lines always include the genus, there is no point in displaying a separate line for a genus—unless there are photos referred to that genus and no lower (see Section 2, “Definitions” for the meaning of “referred to”).

  • When a species has only one form, the species heading could act as the link to the form page, obviating the need for a separate line.

    However, when there are multiple form names within a given taxon, the links will appear, one line per form name, under a heading for that taxon.

  • Because genus and species names are italicized, there is no point in displaying the titles “Genus” and “Species”.

So, here is our mockup from above, with these improvements.

Class Aves: Birds
   Order Anseriformes: Screamers, Swans, Geese and Ducks
      Family Anatidae: Swans, Geese and Ducks
         Subfamily Anserinae: Geese and Swans
               Anser indicus: Bar-headed Goose →f
               Chen canagica: Canada Goose →f
               Chen caerulescens: Snow Goose →f
                   Chen caerulescens 1: Blue Goose →f

There is one additional consideration: what if a taxon has only one name referred to it, but that name is not the standard name? For example, if there is only one Long-tailed Duck picture, and it is indexed under Oldsquaw, which of these examples should it look like? In this case, the space-saving choice is to display the standard name, and the name used, on the same line, and make that line a link to the form page. For example:

Clangula hyemalis: Long-tailed Duck (as Oldsquaw) →f

In such a case, the reference name is given first, and the variant as “as …”.

3.2. The form page

Each form page displays all the cataloged and archived photos that have the same English name. The page's title will be “Shipman's photos of bird name here”.

The body of the page is a table showing thumbnails and other data for each image that contains at least one individual of the page's selected form.

The ordering of the images in each section is by descending order of image size. A 35mm frame is roughly 24×36mm, an area of 864 mm2. Image areas are expressed as a percentage of the total possible area. For example, an image 12mm×9mm would have an area of 108mm2, or 12.5% (108/864 = 0.125).

Columns of the table, left to right:

  1. A thumbnail image.

  2. Size information. The first line will show the percentage of the image area. The second line will show the width in pixels, and the third line the height in pixels.

  3. The catalog number, state and locality, and all additional information from the elements comprising the info pattern in the catalog schema: lighting, film, etc.