Prometheum is a Java web application which is packaged as a WAR file. The following sections will describe how to deploy the WAR, create the prometheum directories and configure the application.

Installation > WAR deployment

Prometheum is a Java web application which conforms to the servlet v2.3 and JSP v1.2 specifications and which is packaged as a WAR (web application archive). Consequently, it can be deployed in any compliant servlet containers (e.g. Tomcat v4.x) and their respective deployment instructions should be consulted.

That said, installation instructions for Tomcat v4.x are provded below as an example. The term "CATALINA_HOME" will be used to refer to the Tomcat installation directory (this was referred to as "TOMCAT_HOME" in Tomcat v3.x).

  english instruction unix command
1 download prometheum.war  
2 create the prometheum web application directory (i.e. CATALINA_HOME/webapps/prometheum) mkdir $CATALINA_HOME/webapps/prometheum
3 move prometheum.war to the new directory and extract it
  1. mv prometheum.war $CATALINA_HOME/webapps/prometheum/
  2. cd $CATALINA_HOME/webapps/prometheum/
  3. jar xf prometheum.war

Installation > prometheum directories

At this point you are probably asking yourself where the images live on the file system and how they are organized into albums? Albums are represented as directories, and images as files inside these directories. There is also a directory which contains all the albums. Lastly, the Prometheum application auto-generates thumbnails of various sizes, and another directory must exist to contain these.


An example should help to clarify this. Lets say that you went to a raging party last night and took a picture of Jon making a fool of himself. Today, you took a trip to the beach with Jane and got a shot of a pot belly pig rolling in the sand and a turtle. Lets assume that you want to create an album for the party and another one for the beach and would like to store this data in your home directory located at /home/dorfmeister. The directory structure would be as follows:


As you can see in the example above, the prometheum directory contains the "albums" and "thumbnails" directories. We will cover the "albums" directory, then move on the "thumbnails" directory. Within the "albums" directory exist all of the albums which are themselves represented as directories. There are only two albums here, named "beach_with_Jane" and "raging_party". The "beach_with_Jane" album contains two images, one of the pig and the other of the sea turtle. The "raging_party" album contains only one image of Jon making a fool of himself. Now for an explanation of the "thumbnails" directory. This directory will contain all the images which Prometheum auto-generates, and you need not know the details of how it is organized, but rather only that it exists. The application will automatically create subdirectories of "thumbnails" for each album and place the resized versions of each image (of the respective album) there. Again, you need to create this directory, but it is not important beyond that.


  • Please note that album and thumbnail directories need not be peers on the file system. As you will see in the configuration section below, the full path of each must be specified and consequently they can both be arbitrary directories on the filesystem. Again, the example above is simply the suggested layout.
  • At least one album must exist in the albums directory for the application to boot.

So what directories do I need to create to get started?

There are only two primary directories you need to create to get started: the album and thumbnails directories. Per the note above, these can be anywhere on the file system, but I recommend the directory structure from the example. Keep the full paths of each of the directories handy for use in the configuration section below. There must also be at least one album in the albums directory (so technically speaking you need to create 3 directories).


The configuration parameters of the application are contained in the web application deployment descriptor (i.e. "web.xml" file). To use Tomcat v4.x as an example again, this descriptor can be found at $CATALINA_HOME/webapps/prometheum/WEB-INF/web.xml. The remainder of this discussion is split into mandatory versus optional attributes to be configured.


  • "albumDirectory" -- the directory which is to contain the albums (each album is a subdirectory of this directory). In the example above, this would be "/home/dorfmeister/prometheum/albums".
  • "thumbnailDirectory" -- the directory which is to contain the thumbnails. In the example above, this would be "/home/dorfmeister/prometheum/thumbnails".


Every other attribute in the deployment descriptor (i.e. aside from the two listed above) is optional. The descriptor contains extensive comments regarding what each of these attributes controls within the application, and for the time being these comments are not being replicated here.