VMSeti for Other CGI

"Other CGI" includes Purveyor - although untested.

4th May 2005, version 1.5.3

VMSeti Copyright © 2000-2005 Mark G. Daniel.
This package 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.

VMSeti  provides a simple, efficient interface for monitoring the progress of VMS-based SETI@home processing. Works with SETI@home versions 2.n and 3.n.


Installation

  1. $ SET DEFAULT device:[dir.VMSETI]

  2. compile+link the executable (requires DECC):
    $ @BUILD_VMSETI BUILD

    -OR-  just link the executable (using supplied object module):
    $ @BUILD_VMSETI LINK

  3. copy executable and support procedure and to the CGI-BIN directory
    $ COPY /PROT=W:RE VMSETI_AXP.EXE device:[cgi-bin-directory]
    $ COPY /PROT=W:RE VMSETI.COM device:[cgi-bin-directory]

  4. modify the wrapper script for the location of the 3 DEMO_ files
    $ EDIT device:[cgi-bin-directory]VMSETI.COM

    access to establish it works using demonstration data files
    http://your.hosts.name/cgi-bin/vmseti

  5. ensure the server script can read the SETI data files
    $ SET PROTECTION=W:RE device:[000000]SETI.DIR
    v1.3: $ SET PROTECTION=W:RE device:[SETI]*.TXT
    v2.n: $ SET PROTECTION=W:RE device:[SETI]*.SAH
    v3.n: $ SET PROTECTION=W:RE device:[SETI]*.SAH

  6. customize to suit the local site
    $ EDIT device:[cgi-bin-directory]VMSETI.COM

  7. INSTALL to allow access to OUTFILE (reporting of power spikes)
    $ INSTALL ADD device:[cgi-bin-directory]VMSETI.EXE /PRIV=(SYSPRV)

Usage

VMSeti locates data files either from the environment variables established during installation above, or the path supplied with the request. Any such path must be mapped by server configuration.

In this way a default location can be provided using the script wrapping procedure and if the site supports multiple processing streams these can be selected by supplying a URL containing a path along with the script.

To include some local information on the report page use the VMSETI_LOCAL environment variable to supply text (plain or HTML), or if the first character is a '@' the location of a file containing this text. Local information is included towards the bottom of the page. This information could provide links to other instances of site processing.


Mark G. Daniel
Mark.Daniel@wasd.vsm.com.au
(Should the above address present problems or provide no response for an extended period then use Mark.Daniel@dsto.defence.gov.au)

Demonstration & Download
http://wasd.vsm.com.au/cgi-bin/vmseti
http://wasd.vsm.com.au/wasd/
ftp://wasd.vsm.com.au/wasd/index.html lGG(bG]] #///04G4 F0k/// 4G#~^GG({@G]4G #k///4Gk;k/GG#~^G^GG@b#_ӐG]]C #/k///k/DP#4G^~^ ~(GGG>r`[/@ZkHG4Gb# @H4GDpG`[/@ZkG]]4G }(0#k///G{#/#P;GtG~^G^~81" (GGGGb#:_PbGG G4G4GTGG@b#8s"@Gb#_GG4Gpb#D/` @PbGG4GGG@b#G8s"s@GG4G b#_GdHd//GGb#/ @H4GHGb#/ @PbGG4GDG4G@b#G8s"O@GH4GPb# @GG4G b#_G;///4G<D"D$GGG G b#$(,0489$tGZ_DG4G``[@ZkHG4GPb#/@GGGGtGb#/_GG4G b#G_GG]]} (0#/k///#{?"~^TGTGGG^~8s" GGG8"b#/g_///gD#G4Ga`[/@ZkHG4Gb#//@GG<C"GtGb#/?_G4G(b#_ G4G(b#////_$G4G(b#_(G4G(b#////_,G4Gb#I_4G4G(b#////_G4G(b#_G4G(b#////_GGGb#]]4G} 0#/#///G]]} 0#k/# {GG~^TG4GG{#8"G8s"_G]=@ #8Dk//GGGGGGGG{#b//GP{#tG<"///G@{#TG<"////#4G~^G{#G_@G]@ #Dw Hk;k/ GG#~^G^GG(b8A G]]C #/k/// k/G`{#-/<P#4G^~^ ~(GGG>r`[/@Zk@G4Gb#@@4G<pG`[/@ZkG]]4G }(0#k///#P;TGtG~^G^~(1" (GGGGb#j_PbGG TGG4GGG`b#(s"@Gb#_GG4Gb#</`F@PbGTGGGG`b#G(s"@GG4G@b#B_Gd@d//GGhb#/w@@4G@GXb#/w@PbGTGG<GtG`b#G(s"@G@4Gpb#J@GG4G@b#_G;///4G4D"<GGG tGb# $,0 G(/_<G4G``[/@Zk@G4Gpb#/@GGGGtGb#/_GG4G@b#G_GG]]} (0#/k///u#{?"~^G4GGG^~(s" GGG0"b#/_Z<#G4Ga`[@Zk@G4Gb#@GGG4C"tG0b#v_ G4GHb#/_G4GHb#_G4GHb#////_G4GHb#_G4GHb#////_ G4GHb#_$G4GHb#////_GGGb#]]4G} 0#/c///G]]} 0#k/# {GtG~^G4GG0{#0"G(s"%_G]=@ #8Dk//#4G ^~G(^0GGHb#/w_@=G}"@TG"TGDhb#?Fw H=G=}_G@4GGtGHb#z_G ](]0@#/k///GGGGGGGG@{#r//G{#tG4"///G{#TG4"?///#G~^G^~ (GGG;Gb#/_< GG4Ghb#////W_)4GG@b#////_4GGhb#/C_ //4GGhb#9_ 4GGhb#1_G/GG4Gb#_GG]]} (0#k#G ^G~(^0~8GG >^b#_GG4Gb#/_bGG GGGGGb#`s"@G/GGTG}GGb#/_G =b#]@GG4Gлb#/_G ](]0}8@#k///0#4G^~^~޴GGGGGGG0b#_@@DwHG 4G0b#/{_@@Dw H@FG 4G0b#o_@@Dw H@FG 4G0b#c_@@Dw H@F G 4G0b#W_@@Dw H@F$G 4G0b#K_@@Dw H@F(G 4G0b#?_@@Dw H@F,G 4G0b#3_@@Dw H@FH"GGtG`1"b#P@_HbGG GtG4G4GGXb#`s"1@GGG(b#GtG////_Gk4G0b#_H"GGGb#tGH1"_/]$G4G0b# /_H"BG"btG01"3uZk//= ?D=GD="GGb#X@=$"(""DGGb#0DGM@H"1GDGGb#1"D@)GD""GGb#<@!G Dh""GGb#4@G$D""GGb#,@G(DH""GGb#$@ G,D""GGb#@ӠCGG4G8b#U_G]]}ݤ#k//#G ^G~(^0~8GG >^b#u_GG4GXb#/K_xbGG TG4GGTGG b#`s"@G/GGTG}GGb#/Ǹ_G =b#]@GG4Gxb#/_G ](]0}8@#k///#4G~^^~ (0޴8G@GG GGGGGb#1_@@DwHG 4Gb#'_@@Dw H@FG 4Gb#_@@Dw H@FG 4Gb#_@@Dw H@FG 4Gb#_@@Dw H@F"G4GtG`1"b#P@_bGG TGG4GGG b#`s"@VGGGb#GtG/_G4GD b#/_"GGGb#tGH1"_7D(""GGGb#@B@.DG ""Gb#G@9@/$ DG0""GGb#/@.@//DG@""GGb#/@///@ D8""GGGb#@@ӦC4GGG4Gb#N_G]G]} (0ݤ8@P#k//#4GtG"^~^ ~(08޴@GHP>X^`GG#GGG=C /@( 2Gb# DG/s_GGG4Gb#W_@GGG@GGpb#D0"]w H!@ 9_k.G(B"8b"Gpb#PJ>&.G&Jh""@D]/'_GXGGTG%"G0b#q_%,G"0H0D 0@/G ==GG " B/2CGG""DTGb#INvDJ3CDssBSsB3@`/__G//GGGtGb#_/.G0@@"(b"`""4DGpb# @JG_  _G//G //GG4G""tGXb#͵_Ӡ CG]] }(08ݤ@HP=X]`p#k//#G^G~ ^(~0GG >b#_GG4Gb#_bGG GGG"G b#`s" @G///GGTG}GGb#/_G =b#@GG4Gb#ٴ_G] ](}0@#k/#G4G^~^ ~(08GGGG~GGb# r_@@DwH G 4Gb#/g_@@Dw H@F"G1_"tG`1"b#P@_G4G=,G4Gb#O_"GGGXb#tG1";_G0""DGGb#_G "" DGGb#_D"GGXb#tG@1"!_/4G bGGG](b#F"G`s"6 @//GG4Gb#_ G]] }(08@#/k///#G^G~ ^(~0GG >Hb#_GG4Gb#ɳ_8bGG TGGGV"GHb#`s" @G///GGTG}GGhb#/C_G =b#@GG4G8b#_G] ](}0@#k/#G4G^~^ ~(08GGGG~G GXb# _@@DwHG 4GXb#/_@@Dw H@FG 4GXb#_@@Dw H@Fp"Gn_"tG`1"8b#P@I_G4G=-G 4GXb#_p"GGGb#tG1"o_G "" DGG@b#_G(""DGG@b#_ G0""DGG@b#_ӠC GG4G`b#/_pbGTGG]b#~"G`s"i @ G]] }(08@#k<rtGsk///#GGtG~^G<բ~ ^(~0GGv[@Zk=GGG5b#TG="GB,@=G4GG 5b#+,@4GG] ](}0@#k///<Gtk<G tk///#"G0^~G8^@GG~>^ 4b#$(,@/ /G ]"="tGP5b# ,@$} ]G=<3 a[@Zk(4GG4b#+@(G0]8]@P#kD0#4G4G~^^GG $p`[@Zk/@"D0 @0B@"DG]] #k///DP#GG^~^ ~21@B(0GGGDP4G#@(0GTG [b# C G/_(cG4G[@Zk=GG4GG Bb#GG/ ///_GGGGTGHb4AGG tGTG bP b#GG/w @G/GG]] }(0@#k///#C{tG^~4GGG ^(GG GG b#U @G///G4GGB8b#GG/s_`b#h_GTGGBGG8b#g_G] ](0#/k///#C{tG^~4GGG^ GG GtG b# @G(///G4GGBXb#GG/;_4Gb#O_GTGGB GGXb#._ GGtGTGb b#4GG/ @G G]] 0#kGG0TG`{#//G4G@{#///0GG4G0{GG ;{#////4Gk//#G~^G^~ GG`b#/@G/Gb#_GG4G b#/@G//G]]} 0#/k///0GG4Gp({4GG ;{#////4Gk//GTG4G{#//k//4G0kGG0TG{#Z//G4G{#/// 0GG4G0{GG ;8{#/_///4Gk//#G~^G^~ GGb#/[@G/Gb#_GG4Gb#/@G//G]]} 0#/k/// 0GG4Gp({GG ;x{#/#///4Gk//GTG4GH{#~// k//4G 0k[#~^^~ GGGb#@/G]]} 0#/k///#h[4GG~^TGGG^~ GGb#/ _``/`@#0 @@#GTGGhBb#4GG/_G]G]} 0#k///#[4GG~^4GGG^~ GGb#/_Ӏ`/`@#0 @@#GTGGBb#GG/_G]G]} 0#k///#{tGtG~^TGGG^~ (GGGGpb#/@G/G4GGBb#GG/_T@$0 @@$GTGGBb#GG_GG4Gb2AGG]]} (0#/k///#{GtG~^4GGG^~ (GGGGb#/C@G/G4GGBb#GG/c_P@$0 @@$GTGGBb#"GV_GG