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! | Wed Apr 29 1992 00: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 03: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 09: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 10: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 22: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 10: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 *
********************************************************************************
|