.ps 60,80 .lm 5 .rm 75 .ap .blank 2 .c;Eye Research Institute Submissions .blank 2 .c;coordinated by: .c; Bob Goldstein, Daniel P.B. Smith, Rivkah Stabiner .blank 2 .c;Bob Goldstein, Daniel P.B. Smith, Rivkah Stabiner .c;Eye Research Institute of Retina Foundation .c;20 Staniford Street .c;Boston, MA 02114 .c;(617) 742-3140 The ERI RS/1 ARCHIVAL SYSTEM is a group of RS/1 RPL procedures which allow RS/1 users to archive and dearchive entire subdirectories. These procedures will function under RS/1 Release 2 or later versions. .list "o" .le;Using the ERI RS/1 ARCHIVAL SYSTEM .s 1;This system consists of 4 commands, summarized below: .literal Command What it does CALL $BACKUPGROUP Archives an entire GROUP subdirectory CALL $RESTOREGROUP Restores an entire GROUP subdirectory CALL $BACKUPOWN Archives an entire PRIVATE subdirectory CALL $RESTOREOWN Restores an entire PRIVATE subdirectory .end literal If you type the command WITHOUT a parameter, you will be prompted by the system to make sure you really want to do the procedure. Then you will be shown a diagram of your directory tree structure, and asked to choose the name of the subdirectory. Do NOT use quotation marks in answering any of the questions interactively. You may also, if you like, type the command WITH a parameter, then you MUST use quotation marks around the parameter. If you make a mistake in typing the subdirectory name you will be given two more chances to get it right. After an RS/1 directory is archived from RS/1 to VMS, it is still necessary to copy it to other media such as tape, and delete it from the disk; and it is necessary to restore it from the tape to the disk before dearchiving it. Note: The $GROUPDIRTREE does the same thing for group directory trees that BBN's $DIRTREE does for private directory trees. This procedure is called by the $BACKUPGROUP and $RESTOREGROUP procedures. You may also call it as a stand-alone procedure, but by itself it does nothing to backup or restore subdirectories. .page .le;INSTALLATION of the system .LIST 1 .le;Consult the Install-39 page of your RS/1 System Manager's notebook (September 5, 1985) and follow the steps outlined there, to install the 5 rpl procedures provided. For convenience, those steps are also outlined here. The logicals PUBHOME and RS1HOME need to be defined to be the appropriate directories for the commands using them to work; otherwise you can specify the directory names explicitly. The first step is to create an RS/1 Maintenance account if you don't already have one. .le;Restore the .RPL files from tape to your RS/1 Maintenance account, then log into RS/1 in your RS/1 Maintenance account and type the following commands: .literal # DEF OF $BACKUPGROUP = GETFILE('BACKUPGROUP.RPL') # DEF OF $BACKUPOWN = GETFILE('BACKUPOWN.RPL') # DEF OF $RESTOREGROUP = GETFILE('RESTOREGROUP.RPL') # DEF OF $RESTOREOWN = GETFILE('RESTOREOWN.RPL') # DEF OF $GROUPDIRTREE = GETFILE('GROUPDIRTREE.RPL') .end literal .le;Compile all public procedures in your maintenance account using the following command: .literal # CALL PUBLIC $CPROCS .end literal .le;Log out of RS/1 and copy all tables from the PUBHOME to the RS1HOME of the maintenance account: .literal $ COPY PUBHOME:*.PTB RS1HOME: .end literal .le;Run RS/1 and type all of the following RS/1 commands: .literal # TERMINAL = EMPTY # CALL PUBLIC $ACCESS_PUBLIC # SORT TABLE ('PROCS') BY COL 0 # P2 = $TN(32772) # DELETE TABLE(P2) # MAKE TABLE(P2) FROM TABLE('PROCS') # FREEZE TABLE(P2) # LOGOUT .end literal .le;WHEN NO ONE IS USING RS/1, delete the old copies of public tables: .literal $ DELETE PUBHOME:*.PTB;* .end literal .le;Now, copy the new collection of tables into the PUBHOME .literal $ COPY mdisk:[maint.RS1HOME]*.PTB PUBHOME $ SET PROTECT=WORLD:R PUBHOME:*.PTB $ DELETE mdisk:[maint.RS1HOME]*.PTB;* .end literal where mdisk is the disk of the maintenance account and maint is the name of the maintenance account. .end list .le;Limitations of the System VMS directory and file names are more restricted in version 4 than RS/1 directory and object names in Release 2. This means that in some cases it is possible to have a valid RS/1 directory or object name which cannot successfully be translated into a valid VMS directory or file name. For example, if the special character _% is part of an RS/1 object name, the procedure will bomb out because that is not a valid character in a VMS file name. The action for the user to take at that point would be to rename the object to a name without the special character, and run the procedure again; the backup will continue from the point where it left off. To prevent the procedure from bombing out in the first place, it would be a good idea to make sure that your object names contain no special characters. Another limitation is that VMS file and directory names have a maximum number of characters. Thus it is possible for an RS/1 object to have a longer name than would be allowable for a VMS file name. It is also possible for the nesting of subdirectories in RS/1 to be so deep that valid VMS directory names cannot be created from them. This would also cause the backup procedure to bomb out. .end list