Installation: The logical name DWPUID needs to point to the directory that contains DWPROFILE.UID, ACCESS.UID, PRIVS.UID, IDENTS.UID and DELTREE.COM. DWPROFILE.DAT must be put in DECW$SYSTEM_DEFAULTS: (World Readable). To rebuild: UIL DWPROFILE UIL ACCESS UIL PRIVS UIL IDENTS CC DWPROFILE LINK DWPROFILE,DECW/OPT or if you have MMS, use the DESCRIP.MMS file. Operation: The interface is supposed to be intuitive, but here's what the buttons and stuff do: 'Read Identifiers' forces the list of identifiers to be reloaded. This is only necessary if new identifiers have been created. 'Read' reads in the UAF entry given by the 'username' widget. 'Write' writes out those fields that were changed for the specified account. If the account is created, the UIC must also be specified. 'Remove' removes the specified account. 'Quit' exits the program. 'Access...' pops up or removes a window that displays the hours available for each category of access. Click and drag in these windows to change the time. 'Privs...' pops up or removes a window that displays the default and authorized privileges. 'Accounts...' pops up or removes a selection widget that provides a list of group identifier names. A new UIC is calculated from this group number. 'Idents...' popup up or removes a pair of list boxes that contain the identifiers that may be granted and the identifiers that are held by the account. Non-obvious interactions: If DWProfile is defined as a symbol, the initial username can be specified after the symbol name, e.g. dwp :== $dwprofile / dwp tanner. If return is pressed in the 'username' widget, the 'Read' button routine is executed. If the return key is pressed in the 'account' widget and the UIC is [0,0], a new UIC will be calculated. The Accounts Cancel button clears the account field. Like the access and privs windows, selecting the menu item again removes the dialog box. Due to a bug in the selection widget, you can't remove the Cancel button, or else I would. Screen/font interactions: The default 75DPI font used on 19" monitors, is smaller than the default 100DPI font used on 15" monitors. If the application's widgets are positioned for the 75DPI fonts, the text fields will probably overlap. I've explicitly specified that the 75DPI 12 point Helvetica Bold font will be used by all widgets (see DWPROFILE.DAT). This is almost the same as the default 75DPI font, except that the pitch is narrower. If you have a 17" or 19" monitor, you may change to the default font by editing DWPROFILE.DAT. Comment out the *font resource; change sizeHours, dwprofile_main.width, and *access_box*hours*DwtWindow.width per the comments. Customization: There are a couple of non-widget resources the DWProfile can use. The default value is in parenthesis. DWProfile.quota (1000) and DWProfile.overdraft (100) set the disk quota and overdraft used when creating a new account. DWProfile.defaultIdent ("") will position the list box of identifiers to show this idenifier item if it exists. In other words, if there is a 'staff' identifier that almost everyone gets, this will automatically scroll the list widget to show 'staff'. DWProfile.showAccess (False), DWProfile.showPrivs (False), DWProfile.showAccounts (False), DWProfile.showIdents (False) will automatically display the specified windows. DWProfile.notifyInterval (0) if non-zero, will pop up a notification dialog box upon successful creation/update of an account for the specified number of milliseconds or until the acknowledge button is pressed. DWProfile.versionLimit (0) will define the version limit of a user's directory created by DWProfile. The version limit is normally inherited from the parent directory. You can override the resources in DECW$SYSTEM_DEFAULTS:DWPROFILE.DAT by specifying resources in SYS$LOGIN:DECW$XDEFAULTS.DAT. Just remember that you have to log back in to reload the new DECW$XDEFAULTS.DAT. Observations: The arrays of toggle buttons may be easier to build at run time, I didn't think of it until it was done. SET AUDIT/ENABLE=AUTHORIZE will report multiple fields updated when only one has changed. It somehow remembers all the fields that were previously changed. Questions: Why aren't the buttons in the main window shadowed? Why doesn't the main window accept focus automatically? Why doesn't the quit button accelerator work? What have I done wrong? Things to do: (Version 3. Yeah, that's it. Wait until version 3.) Allow wildcard matches on username, account, etc. Convert to Motif. Add/Remove identifiers (maybe). Is this needed? Acknowledgements: This program was inspired by and named after Profile by John Howells. Some of the techniques used in DWProfile were gratefully stolen from that program. DELTREE.COM was posted to comp.os.vms by Jamie Hanrahan, Simpact Associates, San Diego CA. Bugs/fixes/answers to above questions to: Tanner@Cerritos.EDU Bruce Tanner Cerritos College Computer Services 11110 Alondra Blvd. Norwalk, CA 90650 (213) 860-2451 x596