ZöÄ·VMSHLP.SAVESET‡âPVMSHLP.SAVESETxBACKUP/BLOCK=2048/COMMENT=Program for converting VMS .hlp/.hlb files for WAIS/Gopher indexing *.* [-]VMSHLP.SAVESET/SAVECProgram for converting VMS .hlp/.hlb files for WAIS/Gopher indexing MATHOG @ÀB`f-h–V5.5 _SEQVAX::   _SEQVAX$DKB400: V5.5-2  ›?*[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]EXAMPLE_BUILD_G4_HELP.COM;2+,Ô . /@ 4N (ÿ-ƒ@0ú123KÿPWO 56€4|'Yg–7@1Yg–89G@HˆøJÿ#$!Title: example_build_g4_help.com1$!Author: David Mathog, biology division, Caltech$!Date: 5-JAN-1993#$!E-mail: mathog@seqvax.caltech.edu$!C$! This procedure goes through help libraries (either .hlp or .hlb)B$! converts them to an appropriate form for WAISindexing, and then;$! moves them to a specified directory on a target machine.$!D$! If you don't have Multinet you may have to slightly alter the FTP$! part of the procedure$!E$! Edit those parts of this file that are marked with "SITE SPECIFIC"#$! to match your own configuration.$!A$! **************************************************************A$! * *A$! * No guarantees or warranties! Use at your own risk! *A$! * *?$! ************************************************************$!$!.$! Move to a scratch directory, *if* it exists$!?$! SITE SPECIFIC - you need an empty scratch directo`ÚÅíVMSHLP.SAVESETÔ ƒ@?[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]EXAMPLE_BUILD_G4_HELP.COM;2Nÿ )"ry. Change-$! both the F$SEARCH and SET DEFAULT lines!!!$!5$ IF(F$SEARCH("$DISK1:[000000]SCRATCH.DIR") .NES. "")$ THEN!$ SET DEFAULT $DISK1:[SCRATCH]$ ELSEE$ WRITE SYS$OUTPUT "Fatal Error: Scratch directory does not exist" $ STOP$ ENDIF$!7$! Make sure that it's empty or bad things might happen$!$ IF(F$SEARCH("*.*") .NES. "")$ THENC$ WRITE SYS$OUTPUT "Fatal Error: Scratch directory is not empty" $ STOP$ ENDIF$!2$! Create the routine that will perform this work $!$CREATE killme.com$DECK$!$! parameters it will use$!D$! SITE SPECIFIC - Make sure the foreign account has write access to$! the target directory!!!$! $ MACHINE := "node.place.domain"5$ TARGET := "/fullpath/into/gopher/server/and/below"$ ACCOUNT := "root""$ PASSWORD:= "thisisrootspassword"$!-$! First make sure that the parameters are ok$!$ WRITE SYS$OUTPUT " "7$ WRITE SYS$OUTPUT "P1,2,3,4 = ''P1',''P2',''P3',''P4'"$ WRITE SYS$OUTPUT " "$ IF (P1 .EQS. "")$ THEN8$ WRITE SYS$OUTPUT "Fatal Error - P1 is not specified!"$ STOP$ ENDIF$ IF (F$SEARCH(P1) .EQS. "") $ THEN>$ WRITE SYS$OUTPUT "Fatal Error - file ''P1' does not exist!"$ STOP$ ENDIF$ IF (P2 .EQS. "")$ THENN$ WRITE SYS$OUTPUT "Fatal Error - P2 (Prefix) must be defined for file ''P1'"$ STOP$ ENDIF$ IF (P3 .EQS. "")$ THEN$ WRITE SYS$OUTPUT -A "Fatal Error - P3 (Help command) must be defined for file ''P1'"$ STOP$ ENDIF$ IF (P4 .EQS. "")$ THEN$ seàîsÂ!VMSHLP.SAVESETÔ ƒ@?[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]EXAMPLE_BUILD_G4_HELP.COM;2Nÿ ´»lect = "*"$ ELSE$ select = P4$ ENDIF+$ IF F$LOCATE(".HLB",P1) .EQ. F$LENGTH(P1) $ THEN$ file = P1$ ELSE3$ library/extract='select'/output=killme.hlp 'P1'$ file = "KILLME.HLP"$ ENDIF$!)$! Notice that something's about to occur$! $ SHO TIME2$ WRITE SYS$OUTPUT "Now processing file ''P1'"2$ WRITE SYS$OUTPUT " tag ''P2'"2$ WRITE SYS$OUTPUT " Library ''P3'"$!$! Now actually do it$!$ OPEN/WRITE TFILE: KILLME.DAT$ WRITE TFILE: FILE$ WRITE TFILE: P2$ WRITE TFILE: ""$ WRITE TFILE: P3$ WRITE TFILE: 1$ CLOSE TFILE:%$ DEFINE/PROCESS SYS$INPUT KILLME.DAT$!F$! SITE SPECIFIC - replace PROGRAMS with wherever you keep the program$!$ RUN PROGRAMS:SIMPLEFRAGMENT$ DELETE KILLME.DAT.5$ IF (FILE .EQS. "KILLME.HLP")THEN DELETE KILLME.HLP.$!2$! Now transfer it to the target machine/directory$!?$! SITE SPECIFIC - may need to be modified by nonMultinet users$!$ OPEN/WRITE TFILE: KILLME.DAT$ WRITE TFILE: "user ",ACCOUNT#$ WRITE TFILE: "password ",PASSWORD$ WRITE TFILE: "cd ",TARGET$ WRITE TFILE: "ascii"$ WRITE TFILE: "mput *.."$ WRITE TFILE: "bye"$ WRITE TFILE: "exit"$ CLOSE TFILE:%$ DEFINE/PROCESS SYS$INPUT KILLME.DAT$ FTP 'MACHINE'$ DELETE KILLME.DAT.$ KILLME = P2 + "*.*.*"$ DELETE 'KILLME'$!$EOD$! $!$!$doit :== @killme.com$!<$! SITE SPECIFIC - use whichever .hlp or .hlb files you need$! $! Format is:@$! P1 = name of file - do NOT use a logicaà³)ÖVMSHLP.SAVESETÔ ƒ@?[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]EXAMPLE_BUILD_G4_HELP.COM;2Nÿ b· l to describe them0$! or the .hlp/.hlb detection will failD$! P2 = Prefix for the tags. It looks better on the Gopher menu0$! if all prefixes are the same length.=$! P3 = How to get to the root of the library on the VAX.H$! P4 = for .HLB only. List of modules to extract before convertingE$! for WAIS indexing. In this example only the common "user*$! level" commands were extracted$!$!8$doit $DISK1:[SHARED.MISC]LOCAL.HLB LCL "HELP @LOCAL"6$doit $DISK1:[SHARED.MISC]GRAPHICS.HLP GRP "HELP @GCG"6$list := "(APPEND,ASSIGN,BACKUP,CONTINUE,COPY,CREATE,"A$list = list+"DEASSIGN,DEFINE,DELETE,DIFFERENCES,DIRECTORY,EDIT,"F$list = list+"HELP,Hints,Instructions,Line_editing,LOGOUT,MAIL,MERGE,"E$list = list+"PHONE,PRINT,PURGE,Queues,RECALL,RENAME,RUN,SEARCH,SET,"A$list = list+"SHOW,SORT,SPAWN,Specify,STOP,SUBMIT,Symbol_Assign,"$list = list+"TYPE,VMS_POSIX)"A$doit $DISK2:[SYS0.SYSCOMMON.SYSHLP]HELPLIB.HLB VMS "HELP" 'LIST'$delete killme.com.($write sys$output "Processing completed"à·2vDVMSHLP.SAVESETïƒ@0[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]README.TXT;3Lÿ üç0*[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]README.TXT;3+,ï. /@ 4L Nÿ-ƒ@0ú123KÿPWO 56 W“^g–7¿K“^g–89G@HˆøJÿ 11-JAN-1992IFinding topics in VMS help files is often a bit of a pain - if you don't Ihappen to know where to start looking it can take a while to find a topicFburied three or four layers down. We had a Gopher server running on aISparc, and found that by massaging the help libraries slightly and movingKthe resulting files to this server we could obtain the same information viaIkeyword searches. By adding tags to each entry the tree structure of the4original VMS help file can be maintained (sort of). LHere is the result of one such search (using the VMS Gopher1.1 client and a Sparc Gopher server).1This is a tag for the VMS part of the index ----+1 |1 |1 |1 v: Search Local Documents: vms0* and vi8 --> 1. VMS_POSIX Shell_commands vi Description., 2. VMS_POSIX Shell_commands vi.4 3. VMS_POSIX Shell_commands vi Options.4 4. VMS_POSIX Shell_commands vi Example.8 5. VMS_POSIX Shell_commands ex Description.5 6. VMS_POSIX Shell_commands set Options.4 7. VMS_POSIX Shell_commands vi Operand.8 8. VMS_POSIX Shell_commands vi Exit_status.5 9. VMS_POSIX Shell_commands vi See_also.) 10. VMS_POSIX Shell_commands./ 11. VMS_POSIX Shell_commands ctags.; 12. VMS_POSIX Shell_commands ctags Description.8 13. VMS_POSIX Shell_commands ctags See_also.4 14. VMS_POSIX Shell_commands ex Options.5 15. VMS_POSIX Shell_commands ex See_also.< 16. VMS_POSIX Shell_commands export Description.9 17. VMS_POSIX Shell_commands export See_also.: 18. VMS_POSIX Shell_commands more Description.HFor instructions on setting up a Gopher hole or obtaining Gopher clientsJlook on boombox.micro.umn.edu. Do this FIRST - it is a lot harder to set :up the Gopher hole than it is to move a few files into it!(****************************************4In this directory you will find the following files:J example_build_g4_help.com A template .com - modify it to get oneF that you can run in a batch queue.H simplefragment.exe The program that "massages" VMS .hlp1 simplefragment.for or .hlb files$ simplefragmentàÉDžæVMSHLP.SAVESETïƒ@0[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]README.TXT;3Lÿ Ŕ.inc - readme.txt This fileBInstructions for converting VMS .hlp and .hlb for Gopher indexing:;1. Set up a Gopher server (look in boombox.micro.umn.edu).H2. The .exe was linked under VMS 5.5-2. If it won't run on your system1 for some reason just recompile and relink it: $FOR/NOLIS simplefragment $LINK/NOMAP simplefragmentG3. Edit the example_build_g4_help.com file to match your configuration7 and to indicate which help files you want to index.K4. "SUBMIT" or "@" the resulting .com file. It can take a couple of hoursI to run. Warning - although the files produced don't usually take up H much more space than the original library, there can be thousands ofK them!!!. The procedure moves these files to the target machine as eachF library is processed, and deletes the temporary files on the VAX. I5. Log onto the Target machine and index the files that have been moved I there. Here is the command for SunOs, Gopher1.1, index to be called F "local", files in /home/g4_sever/locdocs/Archive. The -pos option< allows searches for literal strings like "fred said go".K % waisindex -d local -r -pos -t first_line /home/g4_sever/locdocs/ArchiveH Waisindexing on a Sparc1 is pretty quick, our files only take about  10 minutes.J6. Place a .link file on the Gopher server (see the Gopher documentation) and you're ready to go.(****************************************Caveatà†©¢¤VMSHLP.SAVESETïƒ@0[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]README.TXT;3Lÿ ô sJIf you have a VMS Gopher server there are probably better ways to get the help libraries into it!KThe current indexing scheme throws out overly common words. Unfortunately,Kwhen the material corresponding to "$HELP VMS_POSIX" is indexed, "POSIX" isone such word.DThis software is provided "as is", with no warranties or guarantees %whatsoever - use it at your own risk!(****************************************'Hope that some of you find this useful. David Mathogmathog@seqvax.caltech.edu?Manager, sequence analysis facility, biology division, Caltech0ÿÿ9*[USERS.MATHOG.PROGRAMS.UTILS.EXPORT]SIMPLEFRAGMENT.EXE;27+,Î$./@ 4-ƒ@0ú123 KÿPWO56àšùn,h–7iê,h–89G@HˆøJÿÀ