logo
The Digital Librarian's Digital Library
DOCIS Documents in Computing and Information Science
 
 

Introduction

DoCIS aims to be a public-access, replicable digitial library. Anyone with a Debian GNU/Linux or similar system should be able to run it, with little effort. Accordingly, we want to document about as much of the internals as possible. Please email Thomas Krichel any questions that you think should be addressed in this document.

Basic setup

The installation is based in the home of the user adocis at /home/adocis. This is hardwired in the code. To get the code running, you need to place the directory docis into /home/adocis. Thus, the directory /home/adocis/docis is the home of the installation. When refering to files here, we refer to them in subdirectories of /home/adocis/docis/, unless the file names start with a /.

You need to have your rclis data in rclis. Softlinks to the rclis data should work, but we have not tried.

The scripts assume that a temporary file space is in /tmp.

Required external software

All scripts are written in Perl. You should have Perl at /usr/bin/perl. That seems to be pretty much the norm these days.

Apache logs are presumed to be in /var/log/apache. The logging script perl/wlog makes a range of assumptions about external programs. Refer to that script for details.

DoCIS page model

A page for DoCIS is built as follows.
  1. Write <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. Write <html><head><title>
  3. State the title of the page
  4. Write </title></head><body>
  5. Include etc/docis_script.xml provided that there are links to downloadable contents.
  6. Include etc/docis_stylesheet_link.xml. It provides for the link to the style sheet.
  7. Include etc/docis_header.xml. It provides the main header box.
  8. Include etc/docis_breadcrumbs_top.xml. It provides the top of the breadcrumbs.
  9. State the breadcrumbs.
  10. Include etc/docis_breadcrumbs_bottom.xml. This provides the gold bar below the breadcrumbs.
  11. State the contents of the page.
  12. Include etc/docis_breadcrumbs_bottom.xml. This provides the gold bar below the framed part of the page.
  13. Include etc/docis_footer.xml. This provides the footer.
  14. Write </body></html>.

For the general pages, i.e., those that represent rclis data, the model is implemented by the xslt templates.

For special pages the page model is implemented by perl/install_etc_pages. Such special pages are generated from XML files in found in etc/. XML files that are in this directory and that don't have a name starting in docis_ represent pages. For example, perl/install_etc_pages transforms etc/internal_documentation.xml into html/internal_documentation.html, to form the page that you are currently reading. The script makes calls to the perl/make_page script for each page. make_page, in turn, calls the Docis::Page::docis_page subroutine, with special arguments. Note that the routine changes the date of the last update of the HTML file to the date of last change of the underlying xml file. After etc/docis_footer.xml is read by perl/install_etc_pages, it replaces the date that it contains with the date of the XML file.

swish++ search engine

The swish++ engine is installed in the home of the user adocis. Here are the changes from the defaults as shipped with version 6.05

Crontab

The file docis/etc/crontab has the crontab. It performs the following jobs

Apache configuration

DoCIS runs on an Apache 1.3 installation. Here are parts of the Apache configuration required for DoCIS.

 
[SWISH++] Valid XHTML 1.0!
This page is maintained by Angela Cornwell and Thomas Krichel.
It was last updated on 2005-02-12