WASD Scripts for VMS Apache
 November 2000
WASD VMS Hypertext Services, Copyright © 1996-2000 Mark G. Daniel.
This package (all associated programs), comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under the conditions
of the GNU GENERAL PUBLIC LICENSE, version 2.

Calendar Simple script to produce calendars.
CGILIB Collection of C language functions to ease script authoring across the WASD, OSU, Apache, Purveyor, and vanilla CGI environments (used by these scripts for portability).
Conan Access VMS Help and text libraries.
HyperReader
HyperShelf
Bookreader emulator (BNU and Bookreader format).
Hypershelf is used to navigate BNU or Bookreader shelves.
HyperSPI System performance monitor (of sorts!)
Query
Extract
Plain and HTML text file search utility.
Processes hits from the query script.


Installation


Unbundled from the WASD VMS Hypertext Services package for use by VMS Apache (ported using 1.3.9 BETA). Installation steps:

  1. link executables ... $ @BUILD LINK
  2. copy executables and support procedures ... $ @INSTALL CGI cgi-bin-directory
  3. add general and per-script mapping rules as described below
  4. HyperSPI has additional requirements (see HYPERSPIREADME.TXT in this same directory)

Runtime files (documentation, images, etc.) are located in the [.RUNTIME] subdirectory. The following general mapping rule should be added [.CONF]HTTPD.CONF to allow the scripts to access required graphics, help, etc. (assumes the package has been UNZIPped into APACHE_ROOT:[SRC]).

  Alias /wasd/ "/apache_root/src/wasd/"

All scripts generally provide additional usage information in the script source-code description.

NOTE:   The HyperReader, HyperShelf and Conan scripts can all respond with a "HTTP/1.0 304 Not Modified" against requests with "If-Modified-Since:" header lines. The SYS$TIMEZONE_DIFFERENTIAL logical is used to generate the GMT times used in the calculations. If this logical is not correctly maintained (as in many VMS v6.n systems) an invalid time error may be reported by the script. In the relevant script support procedure simply uncomment the indicated line to define the HTTPD$GMT logical which provides a work-around.


Script Overviews


Calendar Simple script to produce calendars.

Access this year's calendar with

  /cgi-bin/calendar?0

and next year's with

  /cgi-bin/calendar?+1
Conan Access VMS help with:
  /cgi-bin/conan

Other demonstrations are available:

  runtime/conanhelp.html
HyperReader
HyperShelf
Mapping entries will be required for ALL paths to books, shelves, etc. The following two rules are useful for BNU-style ODL CDs (V7.n):
  Alias /disk$axpdoc "/disk$axpdoc"
  Alias /disk$vaxdoc "/disk$vaxdoc"

To access the default DECW$BOOKSHELF library:

  /cgi-bin/hypershelf

To access a BNU library specify it's location:

  /cgi-bin/hypershelf/sys$common/decw$book/library.decw$bookshelf
  /cgi-bin/hypershelf/sys$common/decw$defaults/user/library.odl

To directly access a book:

  /cgi-bin/hypershelf/sys$common/decw$book/bookreader.decw$book
HyperSPI See the HYPERSPIREADME.TXT in this same directory.

The [.RUNTIME]HYPERSPIEXAMPLE.GIF image gives some idea of what the script-processed data looks like via a browser (before you go to all the trouble of setting it up ;^)

Query
Extract
Both plain-text and HTML-text files can be searched, the latter only has the content of the file searched, not any tag-related text! "Text" files are recognised by the file extension. A useful collection of these are predefined by the scripts. To change the contents of this list use the /TEXT= and /HTML= qualifiers as described in the script prologues. Additional plain-text files also must be specified to the EXTRACT script.

Examples, the first for generating a simple form-based search interface, the second for initiating a simple search:

  /cgi-bin/query/wasd/runtime/*.*
  /cgi-bin/query/wasd/runtime/*.*?wasd

It also supports form-initiated searches. See the QUERY.C prologue. Depending on server support it may be possible to make this script the default query (ISINDEX-style) engine.



Mark G. Daniel
Mark.Daniel@vsm.com.au
Mark.Daniel@dsto.defence.gov.au

Demonstration & Download
http://www.vsm.com.au:8000/
http://www.vsm.com.au:8000/wasd/
ftp://www.vsm.com.au/wasd/index.html