2.7. Catalog *global*

Specifies a catalog that can run using this Interchange server. This directive is usually inserted into interchange.cfg by the makecat program when you build a new catalog.

There are three required parameters, as shown in this example:

   Catalog  simple /home/interchange/simple /cgi-bin/simple

The first is the name of the catalog. It will be referred to by that name in error, warning, and informational messages. It must contain only alphanumeric characters, hyphens, and underscores. It is highly recommended that it be all lower case.

The second is the base directory of the catalog. If the directory does not contain a catalog.cfg file, the server will report an error and refuse to start.

The third is the SCRIPT_NAME of the link program that runs the catalog. This is how the catalog is selected for operation. Any number of alias script names may be specified as additional parameters. This allows the calling path to be different while still calling the same catalog:

   Catalog  simple /home/interchange/simple /cgi-bin/simple /simple

This is useful when calling an SSL server or a members-only alias that requires a username/password via HTTP Basic authorization. All branched links will be called using the aliased URL.

The script names must be unique among CGI program paths that run on this server; the same name cannot be used for more than one catalog unless the FullURL directive is specified. In this case, the parameter may be specified as:


Each of those 'simple' catalogs would then call a different catalog.

Optionally, individual Catalog directives that specify each of the different parameters may be used. The equivalent of our original example directive above is:

   Catalog simple directory /home/interchange/simple
   Catalog simple script    /cgi-bin/simple
   Catalog simple alias     /simple

Global directives may be specified that will change for that catalog only. This is mostly useful for ErrorFile and DisplayErrors:

   Catalog simple directive ErrorFile /var/log/interchange/simple_error.log