SD -- INSTALLATION INSTRUCTIONS Set/Show Default Utility SD Version 4.4A April, 1988 Installation using a FORTRAN compiler 1. Edit the following file to fit your site: oo SD_COMMON.DAT - The required changes are parameter statements at the top of the file, and are delimited by lines "LOCAL" and "END LOCAL". Local decisions are: (a). The location of the help library, and (b). Definition of SD_TRANS, which can be set up to encourage (force?) people to use logical names for devices. Device logical names in SD_TRANS will not be translated into their physical names. A prototype and explanation are in the file. 2. Do @REBUILD_SD. This will rebuild SD. A new SDMAIN.EXE will be created. 3. Place the files in the appropriate place. The files necessary for running SD are: SDMAIN.EXE - this file should be put in SYSEXE. NOTE: It is logical to re-name this file SD.EXE. It may be installed if you wish. SD.HLB (this is usually placed in SYS$HELP) SD_USER_DOC.TXT (in SYS$HELP) The file INSTALL_SD.COM is the way we do it. Of course, you will have to edit INSTALL_SD.COM for your site. 4. Point the system symbol SD. On our system, we use the following: SD :== $SD 5. You can check that you did it correctly by typing SD. The name of your current directory should be displayed. 6. You will probably want to publish the user's guide. It is present in three forms: a .WPL file if you have WPS+, a .LN03 file which prints nicely on an LN03 printer, and a .TXT file. 7. If you wish to add help to your help library, the file SD.HLP is available. 8 (Purely optional) Predefined directories (for SD n) can be defined in several ways: a. In the System-wide Login Command File (same for all users) b. In each users' Login Command File (unique for each user) c. Manually, by the user Note that definitions in (c) override definitions in (b), and (b) overrides (a). Installing without a FORTRAN compiler Follow steps 3 thru 8 above. You must put the files where indicated, and you will not be able to change the SD_TRANS parameters, but SD should still work correctly. Re-Compiling There are command procedures for re-compiling and linking the whole of SD: BUILD_SD.COM (Full Build) INSTALL_SD.COM (Install Prototype) LINK_SD.COM REBUILD_SD.COM (Partial Build) Feature for System Managers Typing SD @Username will place you in the login directory for the specified user. This facility of SD is not documented in the Users' Guide. The capability is normally implemented by accessing SYSUAF.DAT, and therefore only certain users will be able to use it. There is an optional alternative provided - to use the file SYS$SYSTEM:SYSUAF.LIS, which can be created using the LIST/BRIEF command from the Authorize utility. The file will usually not have world read access. If you want normal users to have access to the @ facility of SD, you can change the protection on the file, edit it to delete critical entries, etc. To implement this alternative, locate (in SDSUBS.FOR) the line "Call SD_UserName_UAF (AtStat)" and exchange it for the adjacent line, which is "Call SD_UserName_List (AtStat)". Then rebuild SD. New Features in V4.4A The -A menu in DM (but not in SD) now provides for saving the user's default Editor, Viewer, Print_Command, and Printer_Type in SYS$LOGIN:DM_DEFAULTS.COM. This file (if it exists) is used by SD (in the Print Tree section) to establish defaults. It is a fixed-field file, and should not normally be edited. Tree print now uses DEC's line-drawing character set if the printer supports it. You may add additional printer types in SDTREE.FOR, if you have other requirements. Documentation You should read SD_USER_DOC for a description of SD's functions. If you are familiar with previous Alan Zirkle versions of SD, you should read SDVersion3.Txt which describes Alan's V3.0 revisions. The following are the major changes between V3.0 and V4.4A: 1. The ability to use SDENTRY.COM and SDEXIT.COM to define SD symbols "on the fly" has been removed. This is the only major loss of function. 2. The Tree function has significant improvements: 17-character directory names, 132-column mode when needed, printing (including use of line-drawing character set), etc. 3. Of course, SD is now implemented entirely in FORTRAN and MACRO. The files SDSUBS.FOR and SDMACROS.MAR are essentially as they came from NSWC libraries (Spring 86 tape) - and any improvements made by NSWC should work nicely. SDTREE.FOR is completely re-written. SD.FOR has major patches, including allowing it to handle longer directory names and the full length of VMS directory records. An overall SDMAIN.FOR has been added. 4. Some symbols have been eliminated (communication through Common blocks). The primary global symbols have been re-named: SD_STACK_POINTER (was SD_SP) SD_SLOTnn (two digits) (was SD_SLOTn) SD__nn (was SD__n) The primary reason was to allow up to 100 stack entries and 100 predefined directories. 5. The actual stack depth has been increased to 20 (it was 8). 6. The Stack display and the Tree display have been entirely re-implemented using SMG$. They should now work on almost any CRT terminal. 7. Both of the displays now allow the user to move around, and then to "select" a destination using Return or the Select key(s) (or to quit). The keypad no longer emulates the EDT editor. Only the arrow functions and T or B are implemented. 8. You can now go up to the [000000] level if you have SETPRV (in addition to the previous SYSPRV). If you want to allow any user to go there (or add other privs), it's easy to do following the model in SD.FOR. 9. Users may now put a large number of "commands" on a single line, including the ability to do movements, DIR, *(tree), and DM (from the DECUS tape). See SD_USER_DOC.TXT for the order of execution of multiple commands. A very useful set is "SD * DM". 10. One bothersome error has been corrected: if a user has a file (say FOO_BAR.DIR) which is not really a VMS Directory file, SD will now handle the situation properly, rather than aborting on an access violation. 11. The incremental version number and link date of SD are now available using the command SD $ 12. Dynamic highlighting can be turned off by setting the symbol DM$HIGHLIGHT :== N 13. The SD @Username facility was added at Version 4.4A. What's in this directory: In addition to AAAREADME.DOC, you will find in this Directory the following: Documentation: SD_USER_DOC (User documentation) SD_INSTALLER_DOC (This file) (These are available in .TXT, in .WPL if you have the WPS+ editor on your system, and in .LN03 which prints nicely on an LN03 printer) SDVersion3.TXT (Version 3 doc.) SD.HLP (Source for Help Library) SD.HLB Command Files: BUILD_SD.COM (Full Build) INSTALL_SD.COM (Install Prototype) LINK_SD.COM REBUILD_SD.COM (Partial Build) Sources: Common block definitions (include files): SD_COMMON.DAT SD_SMG.DAT Code Source (with associated .OBJ) SDMain.FOR SD_Common.FOR (Block Data Subroutine) SD.FOR SDTree.FOR SDTree_Subs.FOR SDSubs.FOR IS_Dir.FOR (Checks .DIR files) SDMacros.MAR Read_Header.MAR Known Bugs Attribution This is a revision to the NSWC-SD package which has appeared on previous VAX SIG Symposium tapes. It provides enhancements to the older SD packages. SD was initially submitted in 1984 (we think) by Alan L. Zirkle, Naval Surface Weapons Center, and has been improved (and submitted to DECUS) by him since that time. This version is a spin-off from his submission to the Spring 1986 Symposium Tape, done by Dale E. Coy, Los Alamos National Laboratory. Why another SD? Previous versions of SD have used DCL for some portion of the task. This modification is entirely in FORTRAN and MACRO, giving about 25% speed improvement. What's new? The SD Stack is now 20 directories. Most exciting is the user may interactively select a "destination" directory from either the Stack or Tree displays. However: the SDENTRY / SDEXIT capability has been dropped, and there are other minor changes. Comments, suggestions, etc. are welcome. Bug fix requests will also be considered. Dale E. Coy Los Alamos National Laboratory MEE-5, MS/J572, PO Box 1663 Los Alamos, NM 87545 (505) 667-3270 or 4277