WASD Scripts for CSWS 1.3 (or later)
Alpha (AXP), Itanium (IA64) and VAX
 January 2004
WASD VMS Hypertext Services, Copyright © 1996-2004 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).
CGIutl A CLI utility to assist at the DCL level with generating HTTP responses, returning content and with the handling of POSTed requests. Intended to be used within DCL procedures to manipulate the CGI environment.
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.
QDLogStats Quick & Dirty access LOG STATisticS


Installation


Unbundled from the WASD VMS Hypertext Services package for use by VMS Apache (ported using CSWS V1.3/Apache 1.3.26).  Requires logical APACHE$CGI_MODE to be set to 0 (default) or 1.  Logical APACHE$PREFIX_DCL_CGI_SYMBOLS_WWW can be optionally defined or not.

Installation steps:

  1. compile+link executables ... $ @BUILD   or (after UNZIPing optional object modules)
    link-only executables ... $ @BUILD LINK
  2. copy executables and support procedures ... $ @INSTALL APACHE
  3. required server configuration examples for the various components may be found in the apache.conf file
  4. HyperSPI has additional requirements (see HYPERSPIREADME.TXT in this same directory)


Script Overviews


Required server configuration examples for the various components may be found in the apache.conf file.

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
CGIutl No usage examples are provided with this kit.
Demonstrations of form decoding and file upload are available on the WASD demonstration site.
  http://wasd.vsm.com.au/ht_root/src/misc/
A comprehensive description of CGIutl functionality is available in the source code.
  cgiutl.c
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, thanks to Jeff Goodwin of Fairchild Semiconductor):
  AliasMatch ^/disk\$axpdoc(.+) /disk$axpdoc$1
  AliasMatch ^/disk\$vaxdoc(.+) /disk$vaxdoc$1

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.

QDLogStats Quick & Dirty LOG STATisticS provides very elementary statistics from Web server common/combined format log files.  A number of filters allow subsets of the log contents to be selected.  These filters can use the familiar asterisk wildcard or comprise simple or complex regular expressions.  This utility has a command-line and a CGI interface.
  /cgi-bin/qdlogstats

The CGI interface requires authorization to be active before it can be used.  Further setup and usage information is provided in the code description.

  qdlogstats.c



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

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