THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700


S U M M A R Y


DIARY: October 1, 1992 01:36 AM Thursday; Rod Welch

Try to develop alpha/numeric field for User ID in SDS.

1...Summary/Objective
2...User ID Current System
.....Current Session User
. 3...Proposed Revisions
....Password
....Scope of Work
.....I.think this task should only be done in initialization, 04702,
.....and then we leave it alone the entire Session.
....So will try to eliminate this code here.
....We may have to put this code in 04702, because it seems like this
4...000008
5...00007

ACTION ITEMS.................. Click here to comment!

1...I need a simple switch to permit access or not, so User's

CONTACTS 

SUBJECTS
SDS, Future Improvements
User ID alpha/numeric, password, 920924
Dir Structure and Filenames
Record ID, Header, Field Descriptions
Executive User ID, 910129
User ID

0808 -    ..
0809 - Summary/Objective
0810 -
081001 - Seem to have a basic first lift on developing an alpha-numeric
081002 - User ID, ref SDS 6.  It results in slightly less code.
081003 -
081004 - It is about 1630.
081005 -
081006 - All of the basic features seem to function correctly, except a User
081007 - should not be able to access another's User's SI, from within their
081008 - record.  I have made a separate task to finalize Executive Services
081009 - under the new scheme.
081010 -
081011 -
081012 -  ..
0811 -
0812 -
0813 - Preservation of Original Code
0814 -
081401 - I started this record last night to investigate the scope of the job
081402 - to switch from a numeric User ID, to strictly characters, ref SDS 6.
081403 -
081404 -    As a precaution, I saved following on I:,
081405 -
081406 -                             c: 01 04
081407 -                                sd 03
081408 -
081409 -          I also backed it up on a tape and copied the C: 01 04 files
081410 -          to CPU #7.
081411 -
081412 -  ..
0815 -
0816 -
0817 - Analysis
0818 -
081801 - User ID Current System
081802 -
081803 - User ID controls access to the Schedule, which in turn controls SDS.
081804 -
081805 -     SDS Single User version permits access to only one User ID.  Its
081806 -     underlying code is the same as that for Corporate and Executive
081807 -     SDS, so the changes made today will be included in all SDS
081808 -     versions, but will not diminish any functionality.
081809 -     ..
081810 -     Corporate SDS applys the User ID to permit access to only
081811 -     another User's SDS records for the limited purpose of observing
081812 -     and making reports.
081813 -            ..
081814 -         I have decided it would be helpful for the User ID to be
081815 -         alpha-numeric. ref SDS 6
081816 -
081817 -         Nearly all of the discussion and the work in this record is
081818 -         directed to that sole purpose.
081819 -
081820 -     Executive SDS gives access to another User's Schedule and more
081821 -     services.  Scope and control of Executive Services is not fully
081822 -     developed, and is done under another record, ref SDS 7 line
081823 -     061201.  [Unfortunately, this record was mostly lost.]
081824 -
081825 - User ID is comprised of three (3) elements:
081826 -
081827 -     1.  Current Session User:                298  299
081828 -     2.  Original Session User:               288  289
081829 -     3.  SDS record User:                       9   91
081830 -
081831 -      ..
081832 -     Current Session User
081833 -
081834 -     These define the User who owns the current Schedule.  The Session
081835 -     ID is compared to the SDS record User ID to limit SDS services on
081836 -     a record that does not belong to the Session User.
081837 -
081838 -          1.  Save - F2
081839 -          2.  Update (which includes "saving") - F1 F6
081840 -          3.  Delete
081841 -          4.  Access to current Schedule
081842 -          5.  Access to Subject Index
081843 -          6.  Diary - F1 F2
081844 -
081845 -        ..
081846 -       Uncertainty
081847 -
081848 -       I do not know if a corporate User should have access to another
081849 -       User's Diary Summary, or whether they should be limited to doing
081850 -       Subject reports.
081851 -
081852 -       I am inclined today to believe it should be the latter.  People
081853 -       benefit from shared knowledge on things they are working on in
081854 -       common, which is represented by the Subject Index.  The Diary
081855 -       shows everything a person is doing, and this requires privacy.
081856 -
081857 -           I need a simple switch to permit access or not, so User's
081858 -           can configure the thing the way they want.
081859 -
081860 -               [This was created a few days later.]
081861 - ..
081862 - A second ID in counters 288 and 289 is used to define the
081863 - original Session User for Executive services is used to open a second
081864 - Schedule session.
081865 -
081866 -     We have recently taken a position that only one Schedule can be
081867 -     active for a User at a time.  Have not settled whether this
081868 -     approch is really necessary, but will continue to reserve the code
081869 -     for something in the future which I cannot think of right now.
081870 -
081871 - Counters 9 and 91.
081872 -
081873 -     These caputure and load User ID from the current SDS record.
081874 -
081875 -
081876 -  ..
081877 - Proposed Revisions
081878 -
081879 - Use 5 place alpha numeric User ID.  We will not try to increase the
081880 - User ID string, or add password capability.  Today we will just try to
081881 - convert to alpha-numerics so we are better positioned to do the other
081882 - two.
081883 -
081884 -
081885 -     ..
081886 -    Password
081887 -
081888 -    I think this can be handled separately.  It really is only needed
081889 -    to launch another person's Schedule, since that is the avenue to
081890 -    all the services for another person.  I still am not settled on
081891 -    whether Executive Services should grant this, or merely permit
081892 -    viewing, but that is another debate, ref SDS 7 7603
081893 -    ..
081894 -    Password can be entered as permanent part of a User's
081895 -    Schedule, and when SDS is loaded, if the password entered in the
081896 -    initialization screen, does not match what is in the Schedule, then
081897 -    the thing shuts down with a message to check with their Supervisor.
081898 -
081899 -        This will not occur in Single User SDS.
081900 -
081901 -    How will password be entered.  Maybe we need a second screen of
081902 -    initialization for entering the password.
081903 -
081904 -
081905 -     ..
081906 -    Scope of Work
081907 -
081908 -    All of the code that uses math to capture and evaluate User's must
081909 -    be changed to capture characters and compare them.
081910 -    ..
081911 -    The idea is to reserve for future growth of User ID.  If we
081912 -    change the thing I would have to change all of my records, and
081913 -    those for existing Users.
081914 -
081915 -         290 - 299  -  Session User ID - matches Schedule
081916 -         280 - 289  -  Local User ID from SDS records, does the main
081917 -                       work of data entry
081918 -         270 - 279  -  Original User ID - matches initialization
081919 -    ..
081920 - For today we will only assign:
081921 -
081922 -         295 - 299   to replace numeric:  298 - 299
081923 -         285 - 299                          9 & 91
081924 -         275 - 299                        288 - 289
081925 -
081926 - We can increase to 6 or 7 and still have enough for 3 or 4 position
081927 - password.
081928 -
081929 -
081930 -  ..
0820 -
0821 -
0822 - Create Reserved Counters
0823 -
082301 - Reserched use of counters in existing code and changed those that
082302 - presently fall within the new assginment ranges for User ID's and
082303 - passwords.
082304 - ..
082305 - Global 287 appears to be the only thing using these numbers.
082306 - Files at ref OF 3 - 6, are the guys.
082307 -
082308 -     changed to 255.
082309 -
082310 - Counter 280 is used to set default colors, or alternate for LCD and
082311 - monochrome screens.
082312 -
082313 -     Changed to 256.
082314 -
082315 -  ..
0824 -
0825 -
0826 - 000004
0827 -
082701 - Line 219 - made macro 854, to move local User ID from locals to
082702 - globals.
082703 -
082704 - Line 235 - made macro 853, to read string directly into Session
082705 - User ID counters.
082706 -
082707 -  ..
082708 - Line 555 - made new compiled macro 911, to get just the User ID
082709 - globals.  This was needed in 000005, to replace detailed code getting
082710 - counter 9 and 91 for user ID.
082711 -
082712 - Line 240 - made new compiled macro 853 to capture local User ID into
082713 - counters 295 - 299, it is used in 000005 line 160 under macro 966, and
082714 - in 04702 line 288 just before -label ExecVa.
082715 -
082716 -  ..
082717 - Line 578 - made new macro 911 to transfer local User ID globals to
082718 - locals.
082719 -
082720 - Line 610 - made new macro 921, to transfer Session User ID from
082721 - globals to local User ID locals for entering the User ID.
082722 -
082723 -  ..
082724 - Line 622 - made new macro 922, to transfer Session User ID from
082725 - globals to locals for comparison.
082726 -
082727 - Line 635 - made macro 923, to enter the User ID using
082728 -
082729 -
082730 -
082731 -  ..
0828 -
0829 -
0830 - 03501
0831 -
083101 - Line 105 - indicates global 287 5002, is a flag for various print
083102 - macros.  Changed to global 255.
083103 -
083104 -
083105 -  ..
0832 -
0833 -
0834 - 03502
0835 -
083501 - Line 19 - indicates global 287 5002, is a flag for various print
083502 - macros.  Changed to global 255.
083503 -
083504 -
083505 -
083506 -  ..
0836 -
0837 -
0838 - 0704011
0839 -
083901 - Line 45 - changed globals from 287 to 255.
083902 -
083903 -
083904 -
083905 -  ..
0840 -
0841 -
0842 - 070402
0843 -
084301 - Line 1150 - changed globals from 287 to 255.
084302 -
084303 -
084304 -
084305 -  ..
0844 -
0845 -
0846 - 0704021
0847 -
084701 - Line 1055 - changed globals from 287 to 255.
084702 -
084703 -
084704 -
084705 -  ..
0848 -
0849 -
0850 - 0704051
0851 -
085101 - Line 45 - changed globals from 287 to 255.
085102 -
085103 -
085104 -
085105 -  ..
0852 -
0853 -
0854 - 000000
0855 -
085501 - Line 108 - counter 280 is used to set default colors, or
085502 - alternate for LCD and monochrome screens.  Changed to 256.
085503 -
085504 -
085505 -
085506 -  ..
0856 -
0857 -
0858 - 04702
0859 -
085901 - Line 100 - sets counter 280 for LCD screens, changed to 256.
085902 -
085903 -
085904 -
085905 -  ..
0860 -
0861 -
0862 - 000005
0863 -
086301 - Line 595 - there are only unplugged counters 280.  I changed them to
086302 - 256. I think they are unplugged because we are doing something
086303 - universal in 000008.  Actually, that cannot be correct, because
086304 - 000005, sets up colors for each line.  They may be unplugged to save
086305 - memory, not sure what is goin on.
086306 -
086307 -  ..
086308 - Line 610 - changed from using globals 9 and 91, to use new macros 92
086309 - and 911.
086310 -
086311 - Line 122 - Here is were the code sets up to compare local User ID with
086312 - current User ID.  We need this to avoid opening another User's SDS
086313 - Subject Index, and to prevent a User from changing another's User's
086314 - SDS records.
086315 -      ..
086316 -      This is comparing counters 275 - 279 which identifies the
086317 -      original session User, against 295 - 299, which identifies the
086318 -      current session User.  The latter is derived when a new Schedule
086319 -      is opened, and so should support Executive Services.
086320 -         ..
086321 -      Seems like it conflicts with the approach taken in 0702051,
086322 -      which compares 285 - 289, which is the local User ID taken from
086323 -      the current record, rather than the Schedule from which counters
086324 -      in 295 - 299 are taken.  Anyway, 285 -289 is compared with
086325 -      295-299.
086326 -            ..
086327 -         Turns out it does conflict.  I was able to eliminate a
086328 -         good deal of this code, and 3 or 4 macros, because the code
086329 -         was much too convoluted.
086330 -
086331 -
086332 -  ..
086333 - Line 2090 - seems like here is the only place where we save the
086334 - 295-299 User ID globals.  It is in the Schedule, and should then be
086335 - used to compare saves on records, and so forth.
086336 -
086337 -  ..
086338 -
086339 -     I think this task should only be done in initialization, 04702,
086340 -     and then we leave it alone the entire Session.
086341 -
086342 -
086343 -
086344 -  ..
0864 -
0865 -
0866 - 1007 : 000006
0867 -
086701 - Line 150 - seems like we are capturing the Session User id in 295-299
086702 - when we open a record, and that should not be necessary because we
086703 - already have 295 - 299 for this Schedule from the code in 000005 line
086704 - 2090, see above.
086705 -
086706 -  ..
086707 -
086708 -    So will try to eliminate this code here.
086709 -
086710 -    We may have to put this code in 04702, because it seems like this
086711 -    is where it gets the User ID string for the global User ID,
086712 -    although the code in 000005 at line 2090, seems like it is
086713 -    capturing the User ID from the Schedule also,
086714 -
086715 -  ..
086716 - Line 720 - here is where we compare current SDS record User ID with
086717 - that for Session derived from the Schedule, and if not same, cannot
086718 - save the record, update or delete it.
086719 -
086720 -  ..
086721 - Line 2026 - tried using macro 1182 in place of making a separate
086722 - string of chrcnt to accomplish what is evidently needed of a second
086723 - means to read a User ID string.
086724 -
086725 -     Actually, was able to eliminate this altogether, because all this
086726 -     code is doing is capturing the record ID string and placing a cite
086727 -     in the SAA for the Session User.  It opens the Session User's SAA
086728 -     with the Session Uesr ID, macro 92, so no conflict arises.
086729 -     ..
086730 -     Macro 851 reads local User ID and saves to globals.  Macro
086731 -     92 gets Session User ID globals and then enters it in the SAA file
086732 -     spec, to open it.  In the SAA file, we get the standard SDS record
086733 -     globals with macro 91, which replaces the local User ID counters
086734 -     with the global values initally captured for the local User ID in
086735 -     851.
086736 -
086737 -
086738 -
086739 -  ..
0868 -
0869 -
0870 - 0654 : 02601
0871 -
087101 - Line 385 - this also is comparing:
087102 -
087103 -            275- 279 against 295-299.
087104 -
087105 -    Since at this time it is not clear to me why this is required, I
087106 -    changed the code at this point, and use macro 921, which moves the
087107 -    globals from 295 - 299, into 285 - 289, in order to post the User
087108 -    ID into the Contact record.
087109 - ..
087110 - Line 2135 - this seems to have language about Global users, and
087111 - that may explain why it was using counters 275 - 279 (which as of
087112 - today represent the permanent global user, which I think is now
087113 - obsolete).
087114 -
087115 -
087116 -  ..
0872 -
0873 -
0874 - 0947 : 004
0875 -   ..
087501 - This makes a new task in the Schedule by using another SDS
087502 - record. It needs to open the schedule for the User in 295, rather than
087503 - the User in the SDS record, and we have to make sure counter 295-299
087504 - is not set to the SDS record User ID, when the latter is opened.
087505 -
087506 -    We want to be able to use any User's record to make a new task in
087507 -    our record, so there is a link and we can get all the stuff.
087508 -
087509 -
087510 -
087511 -  ..
0876 -
0877 -
0878 - 0715 : 03501
0879 -
087901 - Line 180 - seems to be using global user in 295 - 299.
087902 -
087903 - Line 700 - here is where User ID identifies default entry level into
087904 - the SI, for a particular User.
087905 -
087906 -     The longer code string, makes this more awkward, and it is code
087907 -     sensitive.  I could convert all lower case to upper, however, that
087908 -     further limits the number of combinations available for User ID,
087909 -     which we are attempting to apply to some useful purpose?
087910 -     ..
087911 -     The problem is that if we permit lower case, then we need to
087912 -     add another number to the char evaluation, since upper case are
087913 -     two digit numbers, and lower case require 3.  We are just about
087914 -     out of room on the line as it is.
087915 -    ..
087916 - I could make a function in SI where a User could designate the
087917 - level they want to access, and the program would post it for the user.
087918 -
087919 -     Then it would not matter how complicated the code is, the User
087920 -     would be insulated from it.
087921 -
087922 -
087923 -  ..
0880 -
0881 -
0882 - 0740 : 03502
0883 -
088301 - Line 215 - seems to be using global user in 295 - 299.
088302 -
088303 -
088304 -
088305 -  ..
0884 -
0885 -
0886 - 0758 : 047041
0887 -
088701 - Line 200 - this one shows it using 275-279, which the specialy
088702 - guy we create initially.  I am tyring to use instead 295-299 in macro
088703 - 921, for the reasons given above.
088704 -
088705 -
088706 -
088707 -  ..
0888 -
0889 -
0890 - 0810 : 06110
0891 -
089101 - Line 650 - this just does a simple internal comparison to make sure
089102 - consecutive records in a global report are for the same user.
089103 -
089104 -
089105 -
089106 -  ..
0892 -
0893 -
0894 - 0828 : 06112
0895 -   ..
089501 - Line 220 - This is doing the same as for 06110, so just copied
089502 - the code.  It does a simple internal comparison to make sure
089503 - consecutive records in a global report are for the same user.
089504 -
089505 -
089506 -  ..
0896 -
0897 -
0898 - 0832 : 0611312
0899 -
089901 - Line 290 - uses Global counters in 295-299.
089902 -
089903 -
089904 -  ..
089905 -835 : 06114
089906 -
089907 - Line 80 - getting special global 275-279 into local, and passing it
089908 - back to global in 295-299.  I think this is no longer necessary, so
089909 - will disconnect it for now.
089910 -
089911 -
089912 -
089913 -
089914 -
089915 -  ..
089916 -845 : 0705051
089917 -
089918 - Line 650 - getting special global 275-279 into local, and passing it
089919 - back to current user in 285-289.  I think this is no longer necessary,
089920 - so will disconnect it for now.  Changed it to macro 921, if
089921 - everything crashes, will have change back.
089922 -
089923 -
089924 -  ..
089925 - 000008
089926 -
089927 - Line 205 - changed counter 280 to 256 for the color scheme.
089928 -
089929 - Line 1425 - more of same changes for color scheme.
089930 -
089931 -
089932 -
089933 -  ..
089934 - 00007
089935 -
089936 - Line 855 - sets 285 1 as "permanent flag" for printed reports and
089937 - seems to be processed by macro 0.  Could not find where this flag is
089938 - used, so disconneted.
089939 -
089940 -
089941 -
089942 -
089943 -
089944 -
089945 -
089946 -
089947 -
089948 -
089949 -