Directory Structure
From DLXS Documentation
Revision as of 15:04, 18 July 2007
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.
DLXSROOT
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
/dlxs/cgi/c/class/
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
/dlxs/lib/
This directory holds all the Perl library modules that are DLXS specific.
The class web directory
/dlxs/web/c/class/
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
/dlxs/web/c/collid
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
/dlxs/idx/c/collid
In our "voltaire" example, this would be /dlxs/idx/v/voltaire. This directory holds the XPAT indexes of the encoded text data.
The database
/dlxs/misc/db
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
/dlxs/misc/c/class/maps
This directory contains the map files needed by the class in question. See Maps
The inline images for text collections
/dlxs/img/c/collid
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.