This is the fourth release of my port of the ht://Dig 3.1.5 searchengine to OpenVMS.To run it, you need both the binary and data distributions fromftp://ftp.pdv-systeme.de/vms/htdig-3_1_5-vms-rel4.zip andftp://ftp.pdv-systeme.de/vms/htdig-3_1_5-vms-data.zip, respectively.Unzip both files in the same directory.All the files needed are in the [.INSTALL_VMS] tree. Its structureis used in all the command procedures and configuration files, butany other directory structure should be adaptable via logicals.To install ht://Dig on your system:- Move the files in [.BIN] and [.COMMON] to some convenient location. Make sure the COMMON files are accessible to the account the webserver runs under (they need not be accessible over the web, however - it's the HTSEARCH.EXE CGI program that needs to access them).- Move [.CGI-BIN]HTSEARCH.EXE to a location that holds CGI scripts.- Move the files in [.IMAGE] to some location accessible over the web by the URL "/htdig_image". This URL prefix can be set at build time in DESCRIP.MMS_MACROS (to change it by hand, you need to edit [.CONF]HTDIG.CONF, [.SEARCH]SEARCH.HTML, and [.COMMON]*.HTML).- Move [.SEARCH]SEARCH.HTML to some location accessible over the web. This is a sample search form you can build upon. Adjust the "/cgi-bin/htsearch" form action in that file to URL-point to HTSEARCH.EXE.- Move [.CONF]HTDIG.CONF to some convenient location and edit it. More on the configuration file below.- Create a (or move the) [.DB] directory in a place that has lots of free space.- Adjust the logical definitions in SETUP_HTDIG.COM and execute it. It also should be included in the system startup.- Define TMPDIR to a place that has lots of free space.- To index PDF documents, you'll need PDFTOPS.EXE from the XPDF package (on the OpenVMS Freeware CD-ROM). Define the symbol pdftops as a foreign command, i.e. pdftops == "$device:[directory]pdftops.exe"- Before you can start searching, you will need to create a search database. A sample script to do this has been installed as [.BIN]RUNDIG.COM. Don't just run it, but read the comments inside, please. In my tests (using local file access) it took about 0.7 seconds per document, indexing ht://Dig's and Berkeley DB's documentation.- Re-indexing can be accomplished e.g. by editing RUNDIG.COM: - remove the "-i" option from the call to HTDIG.EXE, and - set the "alt" symbol to (or call RUNDIG with) "-a". This should be much faster as ht://Dig indexes incrementally, i.e. it compares the resource's timestamp and only re-indexes it if it's changed.The (source distribution top-level) [.HTDOC] directory holds ht://Dig'sdocumentation. It also is available at http://www.htdig.org/.The Berkeley DB's documentation is in [.DB.DOCS]. The directory[.INSTALL_VMS.DBBIN] holds (untested) tools to access the databasefiles directly (which are not needed for ht://Dig to run).The configuration file----------------------Do change especially the line containing the start_url attribute. Withoutchanges, the online ht://Dig documentation at http://www.htdig.org/ willbe indexed!Path specifications (e.g. common_dir, database_dir) must be written inUnix syntax, i.e. DEVICE:[DIR1.DIR2] must be written as /device/dir1/dir2.All dollar characters in device and directory names must be escaped(i.e. prepend with a backslash). That is, USER$DISK:[DIR] must bewritten as /user\$disk/dir.To improve performance, you can use the attributes local_urls (if you'reindexing static content) and uncoded_db_compatible (if you don't needcompatibility to older search databases).Building from source--------------------The port was developed on OpenVMS Alpha V7.2-1H1 using Compaq CV6.4-008, Compaq C++ V6.2-016, MMS V3.4-3, and Compaq PCA V4.7-3for finding performance bottlenecks.The source files are available fromftp://ftp.pdv-systeme.de/vms/htdig-3_1_5-vms-rel4-src.zip .ftp://ftp.pdv-systeme.de/vms/htdig-3_1_5-vms-rel4-diff.zip contains aGNU diff file with the changes of this release against the original Unixsource distribution.A prerequisite is the ZLIB compression library (available fromhttp://www.info-zip.org/pub/infozip/zlib/), which compiles out-of-the-box.To build ht://Dig from scratch, set up the build environment by callingSET_BUILD_ENVIRONMENT.COM. To build, call 'MMS'. To move the build tothe [.INSTALL_VMS] tree, call 'MMS INSTALL' (which will build it, too,if needed). Define the macro DB_SHARED (i.e. MMS/MACRO=("DB_SHARED=1"))to build the Berkeley DB as a shared image.All compiler and linker options are set in DESCRIP.MMS_CONFIG,configurable macros are in DESCRIP.MMS_MACROS.The port has been tested on it's own and the WASD HTTPd's documentationusing WASD HTTPd 7.1.1, once (inadvertently) on the online ht://Digdocs, and cursory on CSWS 1.1. Some Cisco router PDF docs were used incursory testing of the PDF parser (or really, the PostScript parser onconverted PDF docs). No external parsers have been tested yet.BTW: You noticed the multiple use of "cursory" in the above paragraph,didn't you. I admit that I'm not the most ambitious tester on earth...So:Please report any errors, flaws, suggestions, etc. to or (prefered) .I intend to complete the port by adapting a few of the contributed perlscripts, and by testing it on MS-Word and Postscript files (needingcatdoc and GhostScript for that).Many thanks for support and helpful suggestions to Richard Barry (ofthe Compaq Apache team), Patrick Young, Jean-François Piéronne, RobertDeininger, Paul Sture, Pat Rankin, David Mathog, my employer PDV-SYSTEME,and DEC/Compaq and DECUS/Encompass for the OpenVMS hobbyist program.You VMSers are a great bunch of people. Thank you.Enjoy!Martin Vorländer 14-Oct-2001