| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 147.1 | Slight problem | SIOG::T_REDMOND | Thoughts of an Idle Mind | Mon Mar 02 1992 09:09 | 9 | 
|  |     One problem. You look for the .PST in [.A1]. What happens if users have
    [.OA], [.A1V2] (and now [.A1V3]) etc. sub-directories?  No match
    against the .PST...  Of course, some sites standardize on the ALL-IN-1
    sub-directories but others, perhaps for historical reasons, have a
    variety of different names. That's why people tend to look for
    something that is reliable, like the Profile, when checking for
    differences between the ALL-IN-1 and VMS user names.
    
    Tony
 | 
| 147.2 | PROFILE.DAT is protected | UTRTSC::BOSMAN | We're just sugar mice in the rain | Mon Mar 02 1992 10:44 | 10 | 
|  |     PROFILE is reliable but ...
    ... Normal users doesn't have access to it from DCL-level.
    ... The records may become (or already are) too large to be read from
        DCL.
    ... One cannot use ALLIN1 /NOINIT to use the PROFIL data-set.
    
    So Tony, how could we solve *that* one, without give the world
    read-access?
    
    Sjaak.
 | 
| 147.3 | Use a program | SIOG::T_REDMOND | Thoughts of an Idle Mind | Mon Mar 02 1992 10:51 | 8 | 
|  |     Use an approach like the Checkmail ASSETS package. Create a small image
    which reads the profile, finds the right record, and returns the
    desired information in the form of logical names or DCL symbols. Then
    read that data with the command procedure. The image needs to be
    installed with privileges (READALL), then it can be called and used by
    anybody.
    
    Tony
 | 
| 147.4 | ok | UTRTSC::BOSMAN | We're just sugar mice in the rain | Mon Mar 02 1992 13:22 | 11 | 
|  |     That makes it neccesary that the customer have to buy a compiler if he
    hasn't one (or have to write it in macro) or an ASSET.
    
    Stabilize the system so you always know what your ALL-IN-1 subdirectory
    is works fine for me. Ok, I have to admit, I'm defending .0 because
    this is the way I do this for several years and customers know without
    having any problems.
    
    Thanks for your nice suggestion anyway.
    
    Sjaak.
 | 
| 147.5 | Maintenance of software and customer needs come first | GIDDAY::SETHI | Man from Downunder | Mon Mar 02 1992 23:38 | 29 | 
|  |     The login.com that I have given in this note can be changed for to meet
    the customers needs.  So the sub-directory name is really not a major
    point or a show stopper.
    
    I have written this command procedure to make life easy for the
    customer from the maintenance point of view.  All customers know how to
    write DCL command procedures (well I hope they do), therefore it should
    be easy for them to maintain the login.com but not every customer knows
    MACRO-32, C, Pascal etc. if you get my point.  The customer must come
    first the easier we make life for them the more chance we have of
    selling them goods and services, hence keeping our jobs.
    
    By the way I missed one line of code in the login.com it's the comfort
    message.  Add the following $ WRITE SYS$OUTPUT "	INITIALISING PLEASE
    WAIT .... ", or the North Americans may wish to change the spelling of
    the comfort message to "INITIALIZING PLEASE WAIT ...." (I know so many
    languages British English, American and Australian my head is starting
    to swell).
    
    A couple of things to ponder over when a customer renames a users
    account, the .PST is not updated ie the permanent symbol USERNAME.  Is
    this still the case in ALL-IN-1 3.0 can it be changed when 3.n comes
    out ?  Also when a new username is created the USERNAME permanent
    symbol is not loaded with the ALL-IN-1 username can this be changed in
    3.n ?
    
    Thanks for your comments and I hope I have helped someone out.
    
    Sunil
 | 
| 147.6 | Why not an X-ref file? | TRCOA::HALSEY | I'd rather be sailing! | Tue Apr 28 1992 23:16 | 18 | 
|  |     Sorry for a late response, I'm catching up.  I have a simple question
    on this topic though.
    
    	What is the problem with simply having a little index file with two
    fields (maintained through an ALL-IN-1 Entry form) that crossreferences
    the VMS username with the A1 profile name?
    
    	The A1LOGIN.COM procedure simply does a DCL index lookup on the
    VMS username and it's got the profile name.
    
    	As for maintenance and creation of the entries, that can be
    automated using the POST_PROCESS script field on the account template,
    (as long as you fix the SM_CR_USER_DETAILS.SCP script).
    
    	Did I miss something in the discussion?
    
    	Bob Halsey, Toronto SWS
    
 | 
| 147.7 | Making life easier for the Customer | GIDDAY::SETHI | Man from Downunder | Wed Apr 29 1992 02:40 | 15 | 
|  |     G'day Bob,
    
    What I suggested got away from having to tailor ALL-IN-1 and maintain
    an extra .DAT for xreferencing etc,  I thought it would make life alot
    simpler.
    
    System manager's etc. should know how to write DCL command procedures
    but not all of them know SCRIPT,C,PASCAL etc.  This would make life
    easier for them to maintain the command procedure.
    
    BUT if you want to do anything else well that's up to you.  My command 
    procedure is an alternative to tailoring and writing software to read 
    PROFILE.DAT to setup a symbol containing the ALL-IN-1 username.
    
    Sunil
 | 
| 147.8 | Could use PROFILE directly? | IOSG::PYE | Graham - ALL-IN-1 Sorcerer's Apprentice | Wed Apr 29 1992 08:41 | 9 | 
|  |     Re .6
    
    Since V2.4, the PROFILE has the VMS user name as an alternate key, so
    that could be used to do the look up, rather than having a spearate
    file to maintain. Of course you'd need to do the lookup form a program
    that was $INSTALLed with READALL, so I suppose that invalidatesit based
    on your criterion that SMs don't do code!
    
    Graham
 | 
| 147.9 | It's just a suggestion | GIDDAY::SETHI | Man from Downunder | Wed Apr 29 1992 09:18 | 13 | 
|  |     G'day Graham,
    
   > so I suppose that invalidatesit based on your criterion that SMs don't do
   > code!
    
    Mate I have come across some who don't even know how to use EDT and
    that's no joke!
    
    The point is it's a suggestion that I have made and you are all free to
    use it or not.  I have used this command procedure that had other
    things added to it with success and the site I worked at was pleased.
    
    Sunil
 | 
| 147.10 | New, improved!! | SWAM2::RHODEWALT_BR | Pillage pillage, loot loot | Wed Sep 09 1992 21:41 | 36 | 
|  |     I like the original idea. To reduce I/O and speed things along,
    however, I would make the following changes:
    
    Change the logic of looking through all PSTs from a "search ... *.pst"
    command to a f$search("*.PST") loop.
    
    Then, instead of reading through a temporary sequential file, open each
    PST directly and use an indexed read. 
    
    Like this:
    
    	$set default sys$login
    	$pst_loop:
    	$	pst_file = f$search("[.*]*.PST")
    	$	if pst_file .eqs. "" then goto end_pst_loop
    	$ 	pst_key = "USERNAME                      "
    	$ 	open/read pst ''pst_file'.pst
    	$ 	read/key="''pst_key'" pst user_rec
    	$ 	close pst
    	$ 	user = user_rec - pst_key
    	$	goto pst_loop
    	$ end_pst_loop:
    	.
    	.
    	.
    	$ allin1/user="''user'"
    
    Admittedly, this does not address the problem found in the original
    procedure of determining _which_ PST to use, if multiple PSTs are found. 
    (As the original procedure did, this procedure will use the _last_ PST 
    found.) This could be solved by maintaining only _one_ PST in a given user
    account. I have also not bothered with error checking on OPENs and
    READs. This -- as they say in the textbooks -- is left as an exercise
    for the reader.
    
    Bruce 
 | 
| 147.11 | The final version of A1LOGIN.COM | GIDDAY::SETHI | Man from Downunder | Fri Sep 11 1992 09:48 | 136 | 
|  |     G'day Bruce,
    I have written the final version of this command procedure and taken
    out the search *.pst, etc.  That was in there to test for the users 
    diskquota since there is no lexical function that get's the value.
    The original procedure had a few misfeatures and needed a bit of a
    face lift.  Hopefully this procedure is easy to understand and
    maintain.  I wonder if this will become part of the standard base
    elements of ALL-IN-1 ?  :-).
    Sunil
$!
$!+ 	ALL-IN-1 command procedure for a captive account
$!
$	set noverify
$!
$ constants:
$!
$	a1dirname = "[.A1v030]"  ! change this for your site requirements
$	pst_key   = "USERNAME"   ! the key field for accessing the *.PST
$!
$!	message used in this command procedure
$!
$	comfort_message = "		INITIALISING PLEASE WAIT ...."
$	noname_msg      = "%SYS-E-NONAME, ALL-IN-1 username not found"
$	abnormal_msg    = "%SYS-F-ABNORMALEXIT, abnormal exit"
$	nopst_msg	= "%SYS-F-NOPST, the permanent symbol file could not be found"
$!
$ variables:
$!
$	save_message = ""
$	vms_username = ""
$	prcname      = ""
$	pst_file     = ""
$	username     = ""
$!
$ start:
$!
$	write sys$output ""
$	write sys$output "''comfort_message'"
$	write sys$output ""
$!
$	if "''f$mode()'" .nes. "INTERACTIVE" then $ exit
$!
$ 	save_message = f$environment ( "MESSAGE" )
$ 	set message/nofacility/noidentification/notext/noseverity/notext
$!
$	vms_username = f$getjpi ( "" , "USERNAME" )
$	vms_username = f$edit   ( vms_username , "COLLAPSE" )
$	prcname      = f$getjpi ( "" , "PRCNAM"  )
$	if "''vms_username'" .nes. "''prcname'" 
$	then
$		Write sys$output -
		"%SYS-I-ALREADYLOG, you are already logged into ALL-IN-1"
$		wait 00:00:05
$		goto normal_logout
$	endif
$!
$ find_pst:
$!
$	reset_search_context = f$search ( "''a1dirname'A.A" )
$	pst_file = f$search ( "''a1dirname'*.PST" )
$	if "''pst_file'" .eqs. "" then goto no_pst
$!
$ pst_read:
$!
$	open/read/error=abnormal_exit pst 'pst_file
$	read/key="''pst_key'"/error=abnormal_exit pst user_rec
$	close pst
$!
$ continue_processing:
$!
$	username = user_rec - pst_key
$	username = f$edit ( username , "COMPRESS" )
$!
$	set message 'save_message'
$	assign/nolog sys$command sys$input
$	on error then $ goto abnormal_exit
$	allin1/user="''username'"/noreenter
$	goto normal_logout
$!
$ no_name:
$!
$	write sys$output "''noname_msg'"
$	set message 'save_message'
$	assign/nolog sys$command sys$input
$	on error then $ goto abnormal_exit
$	allin1/noreenter
$	goto normal_logout
$!
$ abnormal_exit:
$!
$	set message 'save_message'
$	write sys$output "''abnormal_msg'" 
$	wait 00:00:05
$	logout
$!
$ no_pst:
$!
$	set message 'save_message'
$	write sys$output "''nopst_msg'"
$	wait 00:00:05
$	logout
$!
$ normal_logout:
$!
$	type/page nl: ! clear screen before logging out
$	logout
$!
********************************************************************************
* COPYRIGHT (c) 1992 BY                                                        *
* DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS.                       *
* ALL RIGHTS RESERVED.                                                         *
*                                                                              *
* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED        *
* ONLY  IN  ACCORDANCE  OF  THE  TERMS  OF  SUCH  LICENSE  AND WITH THE        *
* INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR  ANY  OTHER        *
* COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY        *
* OTHER PERSON.  NO TITLE TO AND  OWNERSHIP OF THE  SOFTWARE IS  HEREBY        *
* TRANSFERRED.                                                                 *
*                                                                              *
* THE INFORMATION IN THIS SOFTWARE IS  SUBJECT TO CHANGE WITHOUT NOTICE        *
* AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT        *
* CORPORATION.                                                                 *
*                                                                              *
* DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE  OR  RELIABILITY OF ITS        *
* SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.                      *
*                                                                              *
*	Author: Sunil Sethi                                                    *
*	Date: 28th Feburary 1992                                               *
*                                                                              *
*	Standard login procedure for ALL-IN-1                                  *
********************************************************************************    
    
 |