Development of a Simple, Menu-Driven Front End for RSX Systems in a Laboratory Environment James I. Shultz USDA, Nutrient Composition Lab Beltsville, Md Introduction ____________ Although RSX-11M-Plus is a relatively simple operating system to use in a multi-user environment, there exists a need for a menu-driven procedure to aid the unsophisticated or infrequent computer user. This need is even greater in an environment where there is a fair amount of user turnover (eg. student or part-time help), or in cases where the computer is used for many diverse applications, though infrequently, by the same individual. The Nutrient Composition Laboratory of the USDA uses an 11/44 running RSX-11M-PLUS for a wide range of tasks such as word processing and manuscript preparation, desk management, bibliography maintenance, data inquiry and reporting, and statistical analysis. To integrate these applications and allow easy access by users to RSX, DECUS and other applications software, a menu was developed as an indirect command procedure. Development of the Menu ___________ __ ___ ____ The ultimate goal of any research laboratory is the reporting of results in the form of publications. In this laboratory, while not discounting the importance of data management and statistical analysis, it was observed that the true bottleneck in achieving the goal of reporting results is the actual preparation of manuscripts for publication. It was with this goal in mind, and the need of a single, integrating procedure that the menu was developed. For reasons of expressed user interest, or complexity of options of some utilities or applications the following software was chosen to be supported by the menu procedure: o EDT - current DEC distribution o Runoff - John Clement's, Bonner Lab, V5.1, a document formatter available through DECUS o LIST - lists a file one page at a time on a VT100 emulating terminal (DECUS) o PRINT - the DCL PRINT command o SPELL - a document spelling checker (DECUS) Menu Front-End for RSX Page 2 o MAIL - ARC Mail, to send/receive "mail" to/from other users (DECUS) o DTC - appointment scheduler and viewer (DECUS) o CALC - on-line calculator (DECUS) o Miscellaneous - all the file and directory services available through DCL (DIR,PURGE,RENAME,COPY, etc.) Specific Objectives ________ __________ 1. Provide an easy-to-use interface for the commands and software applications listed above. This includes querying for any input file names, output file names, and applicable options. 2. Provide services such as setting terminal buffer size, screen width, and printer port automatically. This is done by having the menu procedure issue the appropriate MCR or DCL command and/or escape sequence when necessary. 3. Provide a hierarchal organization to group like functions when possible. This is achieved by providing a specific "sub-menu" for a general function available in the main menu. 4. Provide the means to enter any DCL or MCR command, either on a "one-shot" basis, or by temporarily entering a "DCL" or "MCR" mode when desired. This allows the menu procedure to be used to run applications not directly serviced by the procedure itself. As a result, virtually anything that can be done through DCL or MCR can be done through the menu, and more users will be able to benefit from it. 5. Provide a logical way to recover from errors - striking a single key to allow re-entry of any typographical errors. The Result ___ ______ MENU.CMD was written as an indirect command procedure and with no FMS-11 support. Although ICP is slow, it does offer the following advantages: o Easy to write Menu Front-End for RSX Page 3 o Easy access to DCL or MCR functions o Easy to maintain - don't have to re-assemble or rebuild. ICP is fairly static. o Cheap - don't need any other software other than the desired DECUS applications (which are essentially free). ICP comes with all RSX-11M systems. o Transportable - can run on any RSX multi-user system, and even on P/OS with slight modification. The menu can be brought up by either chaining to it from the user's LOGIN.CMD file, or by simply typing in @MENU. MENU assigns escape sequences based on the terminal type on which is invoked, the screen clears, and the main menu is displayed: ----------------------------------------------------------------- >> The Time is: 1:53 pm << +-------------------------------------------------------------+ | M A I N M E N U | | | | Option No. Function | | ---------- -------- | | 1 ............ EDT - Create or Edit File | | 2 ............ RNO - Document Formatter | | 3 ............ LIST - List a file on terminal | | 4 ............ PRINT - Print file on line printer | | 5 ............ SPELL - Spelling Checker | | 6 ............. FILE SERVICES - Directory Functions | | 7 ............. MAIL - Electronic Mail Service | | 8 ............. DTC - Appointment Scheduler/Viewer | | 9 ............. CALC - Calculator Mode | | 10 ............ PHONE - Phone Nos. for NCL Staff | | 11 ............ >>OPSYS<< - Operating System Services | | 12 ........... >>BYE<< - Log off the System | | 13 ........... >>STATUS<< - Display User Status | | 14 ........... >>RESET<< - RESET terminal | +-------------------------------------------------------------+ Enter Option No. _ ----------------------------------------------------------------- To choose an item, the user may enter either the number of the item, or the first three letters of the item. If text is entered, which is not a valid item, the entire line is passed to DCL for processing. For example, if the user entered: "RUN Menu Front-End for RSX Page 4 MYPROG", the program "MYPROG" would be run, and after completion, the main menu would be re-displayed. Suppose the user wishes to format a document using Runoff. Entering a "2" or "RNO" could result in the following: (Note that user's response underlined) ----------------------------------------------------------------- +--------------------------------------------------------------+ | | | R N O Sub-Menu | | | +--------------------------------------------------------------+ Enter File Name to Runoff: SMITH.RNO _________ Is SMITH.RNO a W-I-D-E Document [Y/N] : N _ Output to LA100 (letter-quality) printer [Y/N] : N _ Output to High-Speed lineprinter [Y/N] : N _ ( NOTE: RNO Output will be displayed on the SCREEN ) Is SMITH.RNO a Multi-page Document [Y/N] : Y _ Wait for [RETURN] between pages [Y/N] : Y _ Output all pages [Y/N] : N _ Starting page : 3 _ Ending page : 6 _ Hyphenate Output [Y/N] : Y _ ----------------------------------------------------------------- Some menu choices, such as FILE SERVICES, display a "sub-menu". Upon completion of an item chosen from the sub-menu, control remains in that sub-menu until the user types choice 0 or Control-Z, whereupon the main menu display will be offered. The FILE SERVICES sub-menu is as follows: +---------------------------------------------------------------+ | F I L E S E R V I C E S Sub-Menu | | | | Option No. Function | | ---------- -------- | | 0 or Ctrl-Z .. >> Return to Main Menu << | | 1 ............ DIR - Lists filenames in working directory | | 2 ............ PURGE - Purges files, leaves latest version | | 3 ............ RENAME - Renames files in working directory | | 4 ............ DELETE - Deletes files in working directory | | 5 ............ SORT - Sorts files in working directory | | 6 ............ FETCH - Copy file(s) to working directory | +---------------------------------------------------------------+ Enter Option No. _ ----------------------------------------------------------------- Menu Front-End for RSX Page 5 Error Handling: _____ _________ Control-Z is used to recover from errors and is handled as follows: o In main menu - menu exits, user returned to default CLI. o In sub-menu, first query - return to main menu. o In sub-menu, subsequent queries - return to top of sub-menu. ----------------------------------------------------------------- +-----------------+ (Ctrl-Z) | Main Menu |------------------> Exit to CLI | | <-------------+ | | | +-----------------+ | | | | | | | | | +-----------------+ | +------------> | Sub-Menu | | | | | (Ctrl-Z) | | | Query 1 ...... |---------------+ | (Ctrl-Z) | Query 2 ...... | +--------------| Query 3 ...... | | (etc.) | +-----------------+ ----------------------------------------------------------------- Conclusion __________ MENU has been run on our system for almost one year, and the response from most users has been favorable. As a result of making the system a little more user-friendly, people who previously had wanted nothing to do with computers have begun to log on and use the system effectively. For system managers a menu offers additional advantages: o Little or no training on the ins and outs of RSX for new users, allowing more concentration on the utility or application itself. o Provides a convenient way to "introduce" new software available on the system.