ALL-IN-1 Shared Library Setup Procedure Tired of trying to use the ALL-IN-1 "SHARED FOLDER" to do things it wasn't meant for? Wait no longer! Here is a simple script and forms set to make you users life easier. A Shared access directory structure outside ALL-IN-1s file cabinet and afford muliple user access (except to the same document) with cotnrols on who can read and print, and who will have full access. The ALL-IN-1 shared Library is a set of forms and a script that will utilize a directory outside of ALL-IN-1 file cabinet structure to contain common access documents by multiple users. Controls for read and print functions are separated from full access controls to edit, create, delete, etc. ACLs are used for propagating access to files and the ALL-IN-1 Profile will control access by user screen controls. Multiple shared libraries may be available to a user with common screen controls. Security controls for file access is controlled via the script, so logical names are only defined during the form access. Files in this distribution: AAAREADME.TXT This text file DA.FRM An example form for accessing the library. See the Named Data for special setups. FORM.NAMDATA The calling form named data setup, to access the proper library. SD_CREATE.FRM The create form. SD_MENU.FRM The main menu form. SD_MENU.SCP The access control script. SD_RENAME.FRM The rename form. SD_SELECT.FRM The select help form. HOW TO SETUP A SHARED LIBRARY: 1) Using the CM or FD functions, insert your own access form like the DA.FRM file. Be sure to make the correct #SD_LIB selection for each Library accessed. This uses the unique library name as defined in step 5. Different form libraries will allow granularity in assigning access, for security purposes. 2) Pre-Compile the form library. 3) Add the form library name to the user profile entries for all users to access this library. 4) Create the user directory: $ CREATE/DIRECTORY DATADISK7:[SHARED_TASK] The directory name is usually structured to ID the libray name. In this example TASK is the name of the library. 5) Add the System-wide logicals to point to the directory, and the library name. Like: $ DEFINE/SYSTEM/EXEC SHARED_TASK DATADISK7:[SHARED_TASK] $ DEFINE/SYSTEM/EXEC SHARED_TASK_DESC "TASK TRACKING" The name of the library is evident in the Logical name structure. All logicals start with "SHARED_" for the directory, and description logical. The Description logical uses the same library name with a suffix of "_DESC". This format is used by the script program to determine the directory and menu specifics. 6) Run Authorize and add the following: UAF> ADD/ID SHARED_TASKACL UAF> GR/ID SHARED_TASKACL username The LIBNAME is again unique to this library and should ID the library. It should be added to ALL users desiring access to the Library documents. 7) In SYS$SYLOGIN, add the "SHARED_LIBS" logical definition using comma separated library names (as defined in step 5) that the specific user can edit. Only the user's specified here, will have the full menu of options to create, edit, delete file in the library. $ NNAME = F$EDIT(F$GETJPI("","USERNAME"),"TRIM") $ IF NNAME .EQS. "LYTLE" THEN DEFINE/NOLOG SHARED_LIBS DATA 8) Add the ACL identifiers, created and assigned in step 6, to the directory created in step 4. $ SET FILE/ACL=(ID=SHARED_TASKACL,ACCESS=R+W+E+E+D+C) - DATADISK7:[000000]SHARED_TASK.DIR $ SET FILE/ACL=(ID=SHARED_TASKACL,ACCESS=R+W+E+E+D+C,OPTION=DEFAULT) - DATADISK7:[000000]SHARED_TASK.DIR $DIRECTORY/SECURITY DATADISK7:[000000]SHARED_TASK.DIR Directory DATADISK7:[000000] SHARED_TASK.DIR;1 7-AUG-1990 08:31:51.74 [1,1] (RWE,RWE,,) (IDENTIFIER=SHARED_TASKACL,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE+ DELETE+CONTROL) (IDENTIFIER=SHARED_TASKACL,ACCESS=READ+WRITE+EXECUTE+DELETE+CONTROL) The above identifier will allow user access and propagate to all files created in the directory. Anyone owning the ACL will have complete owner access to any file created. HAVE FUN! AUTHORS: Dar Schumann David Hays Farm Credit Bank of Wichita Farm Credit Bank of Wichita 245 No. Waco 245 No. Waco Wichita, KS 67201-2940 Wichita, KS 67201-2940 PH: (316)266-5642