DLXS Directory Structure
This document describes the recommended directory structure for all DLXS files. If you want to get up and running quickly, follow the recommended directory structures described here. This structure will be used by default when you install DLXS software. [NB: examples that follow use bold to designate portions that reflect potential choices in your local implementation.]
If you want to use a different structure, please read all the documentation here so that your decision is an informed one. Much more detail is given in the Directory Conventions page.
XPAT and other software used by DLXS should be installed by the sysadmin wherever s/he decides is best.
- All middleware files are to be installed under one main directory on your server that can be anywhere you wish. The environment variable DLXSROOT should be set to the full directory path, should be configured in your web server configuration, and should be set in the UNIX shell environments of anyone who will be working with DLXS. DLXS isntallation will provide an example Apache web server configuration that sets the DLXSROOT variable properly. Consult with your system administrator to set the variable in users' UNIX environments.
In this document, we will assume the value of the DLXSROOT environment variable is /dlxs.
- DLXSDATAROOT Environment Variable
- If you decide to keep your data (SGML/XML) in a directory outside the $DLXSROOT directory, you can create and set the $DLXSDATAROOT environment variable to point to that directory. The middleware will check the DLXSDATAROOT first, and if it is not set, it will fallback to use the $DLXSROOT directory to find the data in its obj subdirectory.
- The CGI Directory
In our example, this would be /dlxs/cgi/t/text. This directory holds all the class-specific middleware programs, their configuration files (if any), and some Text Class specific Perl class modules.
- The lib (library) directory
This directory holds all the Perl library modules that are DLXS specific.
- The class web directory
In our example (and for Text Class), this would be /dlxs/web/t/text.
This directory holds all the XML files (containing Processing Instructions which
will be filled in by the middleware), all the XSL files needed to convert the
XML into HTML, css files, etc. These files are used for the class-level,
cross collection interface and, for those collections that do not have their
own specific requirements, these are used as well. (There may also be other files
in certain collection specific web directories for those collections that need
a different look and feel or extra functionality. See XSL).
Another point to note is that the class-level css file (in this case textclass.css)
in this directory is linked to by all the HTML files generated by the XSL
files. Collection-specific css files may also be called in.
- The Collection web directory
In our example, for the collection ID "voltaire," this would be /dlxs/web/v/voltaire.
Since the voltaire collection requires a different look for some of
its HTML pages, this directory holds the XSL files used by the middleware to
create HTML pages for delivery for this collection.
- The Data Directory
- /dlxs/obj/c/collid or /dlxs/obj/i/d/e/identifier
In our example (for "voltaire" or for the item/document id "aas3691") this would be /dlxs/obj/v/voltaire or /dlxs/obj/a/a/s/aas3691. This directory holds the actual encoded data and associated images for an entire collection (e.g., "voltaire") or a volume in a collection ("aas3691").
- The indexes directory
In our "voltaire" example, this would be /dlxs/idx/v/voltaire. This directory holds the XPAT indexes of the encoded text data.
- The database
This directory contains the MySQL dump used to populate your MySQL database. as part of installation. See Collection and Group Information Databases
- The map files
This directory contains the map files needed by the class in question. See Maps
- The inline images for text collections
This directory contains any inline images in the collection in question. The
web directory /dlxs/web/c/collid/ will have a subdirectory named "images" that
is symlink-ed to this directory.