home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / clarion / tools / tam2_5 / tam2.doc < prev    next >
Text File  |  1991-12-31  |  51KB  |  886 lines

  1.  
  2.  
  3.                          "THE" ACCESS MANAGER II (Tam2)
  4.                          ==============================
  5.  
  6.                                        BY
  7.  
  8.                                GAFFT SYSTEMS Inc.
  9.                           619 Milwaukee Av - Suite 27
  10.                                Glenview, Il 60025
  11.  
  12.                                     01/01/92
  13.  
  14.  
  15.  1.  What is Tam2 ?
  16.  
  17.     Over the past several years, while developing  custom business systems for
  18.     our clients, we found ourselves constantly writing and  tailoring  MENUing
  19.     and access  control FRONT ENDs to customize and integrate our applications
  20.     with their existing ones. Our customers  were  always  asking for a single
  21.     ACCESS CONTROL  SYSTEM  to manage all their applications  not  just  ours.
  22.     This, obviously, was not very productive, we spent a significant amount of
  23.     time just  to get the colors to match their Company colors, not to mention
  24.     the maintenance  problems  caused   by   the   different  versions  of  an
  25.     essentially same program.
  26.     We finally  decided  to  address  this  by developing ONE  access  control
  27.     program that would meet at minimum 80% of our clients requirements.  After
  28.     some tinkering,  a  new  system  was born at our organization that quickly
  29.     became our  foundation for future application  development,  we  named  it
  30.     "The" Access  Manager, TAM for short.  Within a few months  we  moved  the
  31.     majority of  our  clients  to  this system with minimum impact to them and
  32.     their business.    Our  technical   support   service   levels   increased
  33.     significantly and  our  maintenance  problems  went   away   due   to  the
  34.     standardization we  had  achieved.   We  also  discovered  that the system
  35.     exceeded the 80% target, and by adding  a few additional features, we were
  36.     able to  meet  100%  of  our clients requirements with  just  one  set  of
  37.     programs.
  38.  
  39.     Impressed by  this  achievement, we decided to take the time to polish and
  40.     package the product, and make it available to other CLARION, or otherwise,
  41.     developers, systems  integrators,   consultants,   etc...,    who  may  be
  42.     experiencing similar  minor problems.  Once packaged  we  named  it  "The"
  43.     Access Manager II, or Tam2.
  44.  
  45.     We are  currently  in  the  planning  stage of "The" Access Manager Deluxe
  46.     (TamD), a "deluxe" version of Tam2 that will add various multiuser desktop
  47.     facilities such as calendar, calculator, dialer,...  Registered Tam2 users
  48.     will be notified automatically when this new version becomes available.
  49.  
  50.  
  51.  
  52.  2.  OK, but what is it ?
  53.  
  54.     In a nutshell, Tam2, is the best,  most  complete,  easy  to  use, no non-
  55.     sense, network  ready,  integrated  access  control  and   menuing  system
  56.     available to  CLARION  application  developers,  integrators,  and network
  57.     administrators. It offers more "real"  options and functionallity then the
  58.  
  59.                                                                  Tam2.Doc - Pg 1
  60.  
  61.     most popular "off the shelf" MENUing program:
  62.  
  63.           - Network  Operating  System  independent, works with many DOS based
  64.             networks or multiuser systems.
  65.           - Dynamically built menus and  SUB MENUS. Options are only displayed
  66.             if the signed on user's security level permits
  67.           - Uses  user  specified QUICK/HOT keys to make selections,  or  move
  68.             highlight bar to desired choice and press Enter
  69.           - Prevent Exit to DOS by unauthorized users
  70.           - Prevents multiple user sessions/logons
  71.           - Network/Multi user Ready, Tested on a number of DOS based networks
  72.           - No RAM overhead, requires 0K to run
  73.           - User configurable; select colors, options, passwords...
  74.           - All  users Must Sign-On to access applications. Every user must be
  75.             defined to the system and have a user id and password.
  76.           - Separate modules allows for  distribution  of  only  the  required
  77.             functions to end users.
  78.           - If  desired,  prevent  users from accessing the  system  from  un-
  79.             authorized workstations.
  80.           - Run Time Prompter, prompts for parameters at run time
  81.           - Automatic LOGOFF after specified inactive time expires
  82.           - When activated, creates audit trails of all accesses
  83.           - Control Access to internal CLARION programs and procedures,
  84.             SEE the  section  titled  "Protected  Program Procedures" for more
  85.             information regarding this facility
  86.           - User selectable Security Filters.  Security  Filters  are  used to
  87.             determine if an option is to be listed on a MENU  or  SUB MENU for
  88.             the currently SIGNED ON user.
  89.           - HELP for every screen at the tap of F1
  90.           - BEST  OF  ALL  ITS  FREE  and  the  source  code  is  available to
  91.             developers that want to improve  or  change the programs for their
  92.             specific needs.
  93.  
  94.     And a lot more, MUST TRY IT TO BELIEVE IT.
  95.  
  96.  
  97.  
  98.  3.  How to install it
  99.  
  100.     VERY IMPORTANT
  101.  
  102.     All Tam2  executables  were  compiled/linked using CLARION  version  2108A
  103.     translator utility.  To  reduce  the  size  of  the distribution files the
  104.     CLARION start-up code was not included  (use  RTL:  YES).  This means that
  105.     none of  the  programs  will  work  unless  the  files   CLARION.RTL   and
  106.     RTLINKST.COM can  be found along your DOS PATH.  If you do not have access
  107.     to these files, please let us know and  we will provide you a version that
  108.     wont require them.
  109.     Also make sure that FILES=25 (or more) in included in your CONFIG.SYS.
  110.  
  111.     Installation can  be  very  easy  or  relatively easy  depending  on  your
  112.     expected use.  Follow these steps and don't be intimidated, I think I over
  113.     did it with all these instructions. Most of you will zip right thru this:
  114.           1.  Create  a  directory  to  store  the  Tam2 files and make it the
  115.               current directory. Ex: MD \TAM2; CD \TAM2
  116.           2.  De-Archive all files from  the  distribution  disk  to  the  new
  117.  
  118.                                                                  Tam2.Doc - Pg 2
  119.  
  120.               directory.
  121.           3.  Enter  "MENU"  from  the  DOS Prompt. This will display a SYSTEM
  122.               SIGN-ON Screen.  Sign on to the system using "GAFFT" as the USER
  123.               ID and PASSWORD. "GAFFT"  is  used as the password for all other
  124.               screens that may request a password. Of course  you'll  want  to
  125.               change this later. NOTE: if you used a different directory above
  126.               you'll need  to  edit  the  statement  set  TAM2CFG=\tam2 in the
  127.               MENU.BAT file to reflect  your  drive/directory. Menu.bat is and
  128.               must remain  a READ ONLY file (Help and EXE  files  should  also
  129.               remain READ  ONLY).   See  the section "Configure Tam2" later in
  130.               this document for more info.
  131.           4.  Tam2's  MAIN MENU will  be  displayed,  Use  F1  to  familiarize
  132.               yourself with the system if necessary. Option  1 on this menu is
  133.               'Tam2 Maintenance',  Select  this  option.  A  SUB  MENU will be
  134.               displayed that contains two Options:
  135.                 1) Configure Tam2 - Set Up Default colors, title, logging ...
  136.                 2) Tam2 Administration - Add/Change/Delete users, stations,...
  137.           5.  Use these programs to customize Tam2 to meet your needs or those
  138.               of your users. See the sections "Configure Tam2" and "Administer
  139.               Tam2" later in this document  for  more  information  or use the
  140.               HELP screens by pressing F1.
  141.               Briefly, use #1 to setup overall defaults, use  #2  to  maintain
  142.               users, menu & sub menu options, stations, ....
  143.               NOTE: As  distributed,  Tam2  contains some test users, options,
  144.               etc... You may want to experiment with it a little and then
  145.               delete it for a clean start.
  146.           6.  Modify the autoexec.bat file.  or  other startup files, for each
  147.               of your users so that the last statement in  the  file  executes
  148.               the batch file MENU.BAT in the Tam2 directory.
  149.  
  150.     VERY IMPORTANT:  The file MENU.BAT is very critical to TAM2. For TAM2 Menu
  151.                     program to execute properly,  this file must be located in
  152.                     a directory along the PATH.  Alternatively,  you  can  add
  153.                     the TAM2   directory   to  the  PATH  statement  of  every
  154.                     workstation and  leave  the  MENU.BAT  file  in  the  TAM2
  155.                     Directory.  Once   you've   read   this    document    and
  156.                     experimented for a few minutes, I'm sure you'll be able to
  157.                     determine what's  best for your environment. Remember that
  158.                     TAM2 Menu program will  execute  the  command "MENU" after
  159.                     executing a menu choice to reload its  self.   MENU.BAT is
  160.                     and must  remain  a  READ  ONLY File, if it isn't you will
  161.                     experience 'Sharing  Violations'  (this  is  only  true if
  162.                     multiple users are sharing the same menu.bat file).
  163.  
  164.  
  165.     Contents of Tam2 Directory:
  166.  
  167.       To provide  a better understanding of TAM2, the following  explains  the
  168.       purpose of each file, after unZipping, in the TAM2 directory:
  169.  
  170.         MENU.BAT       Required, must be READ ONLY. Invokes TAM2.EXE.
  171.  
  172.         TAM2.CFG       Stores   default   configuration   information  used  by
  173.                        Tam2.exe and Tam2_adm.exe programs.
  174.  
  175.         TAM2.EXE       Tam2 Menu and Access Control Program
  176.  
  177.                                                                  Tam2.Doc - Pg 3
  178.  
  179.         TAM2_ADM.EXE   Tam2 Administration program, maintain users, menus...
  180.         TAM2.HLP       Help  file  for  both programs above. Must be located in
  181.                        same directory   as   the   DATA  FILES  below,  current
  182.                        directory or a directory along the DOS PATH.
  183.  
  184.         TAM2_CFG.EXE   Tam2 configuration program. Select colors, title...
  185.         TAM2_CFG.HLP   Help file for above program. Store in PATH or Curr Dir
  186.  
  187.         MNU_ITEM.DAT   Stores all the MAIN MENU Options
  188.         MNU_ITEM.K01   Key file for MAIN MENU data file
  189.         MNU_ITEM.K02   Key file for MAIN MENU data files
  190.  
  191.         SUB_ITEM.DAT   Stores SUB MENU Options and their Actions
  192.         SUB_ITEM.K01   Key file for SUB MENU data file
  193.         SUB_ITEM.K02   Key file for SUB MENU data file
  194.  
  195.         USER.DAT       Stores all the users authorized to use Tam2
  196.         USER.K01       Key file for USER data file
  197.         USER.K02       Key file for USER data file
  198.  
  199.         STATION.DAT    Stores all the workstations authorized to access Tam2
  200.         STATION.K01    Key file for STATION data file
  201.  
  202.         USER_STA.DAT   Stores the stations a user can use to access Tam2
  203.         USER_STA.K01   Key file for USER_STA data file
  204.  
  205.         LOG.DAT        Audit Tail Data File. Stores every access when enabled.
  206.         LOG.I01        Index files created only when printing the audit trail
  207.         LOG.I02        reports. One sorts by user id  and the other by date.
  208.  
  209.         SECUTIL2.ZIP   A set of BBS utilities (3), that when  used  along  with
  210.                        Tam2, will  significantly reduce un-authorized access to
  211.                        your system.
  212.  
  213.         TAM2_PPP.EXE   Program to add/change  Program  procedures controlled by
  214.                        TAM2 access control facilities.
  215.         PPP.HLP        Help file for Tam2_ppp.exe
  216.         PROGPROC.DAT   Stores program procedures that TAM2 should control
  217.         PROGPROC.K01   Key file for PROGPROC data file
  218.         PPP_DEMO.EXE   Demo that uses TAM2 to control access  to  its  internal
  219.                        procedures
  220.         SALE_DTL.DAT   Data file used by PPP_DEMO.EXE
  221.         PRODUCTS.DAT   Data file used by PPP_DEMO.EXE
  222.         SALE_DTL.K01   Key file used by PPP_DEMO.EXE
  223.         PRODUCTS.K01   Key file used by PPP_DEMO.EXE
  224.         PRODUCTS.K02   Key file used by PPP_DEMO.EXE
  225.  
  226.                        SEE the  section  titled  "Protected Program Procedures"
  227.                        for more information regarding this PPP business.
  228.  
  229.  
  230.  
  231.  4.  Configure Tam2:
  232.  
  233.     Use the program Tam2_cfg.exe to setup  the overall defaults that all other
  234.     Tam2 programs use.  This program, which can be executed  at the dos prompt
  235.  
  236.                                                                  Tam2.Doc - Pg 4
  237.  
  238.     or added to the Tam2 Menu as an option (as it is at distribution time), is
  239.     used to create or change the configuration information for Tam2, this file
  240.     is named  TAM2.CFG.  Tam2  programs  use  this  file  to  find out various
  241.     settings at run time. Multiple configuration  files can exist on a system,
  242.     Tam2 determines which one to use in the following order:
  243.       1. Use  the  one  pointed to by the environment variable  TAM2CFG.   The
  244.          MENU.BAT file  on the distribution diskette contains the command "set
  245.          TAM2CFG=\tam2". This will force  TAM2  programs  to initially use the
  246.          defaults set by us. If you used a directory other then TAM2, you will
  247.          need to change this line to reflect your directory name.
  248.       2. If TAM2CFG is not found in the DOS environment, Use  the  one  in the
  249.          current directory.
  250.       3. If  one is not yet found, looks along the DOS PATH and uses the first
  251.          one it finds.
  252.          Abort with an error message if one is not found, and accessible. Halt
  253.          the system if this occurs while running Tam2 MENU program.
  254.  
  255.     The first  screen  that Tam2_cfg.exe  displays  asks  for  the  drive  and
  256.     directory of the configuration file you want to create or change. Again if
  257.     you are following the installation, press enter to accept the defaults.
  258.     The next screen is used to select your preferences. The most critical part
  259.     of this screen is the DATA FILES DRIVES and DATA FILES PATH. This is where
  260.     you tell Tam2 where the data files are or will be stored.  Note  that  the
  261.     data files  and  configuration  files do not need to be stored in the same
  262.     directory.  Data files in this context  are the files containing the USER,
  263.     MENU, SUB MENU, STATION,.. information.
  264.     Tam2 programs make no assumptions as to where these files  are  stored. It
  265.     will always  look  in  these  fields  to find out which files to use for a
  266.     session.
  267.     YOU'LL LEARN  TO APPRECIATE THIS ONCE  YOU  BEGIN  TO  CAPITALIZE  ON  THE
  268.     FLEXIBILITY THIS OFFERS.
  269.  
  270.     The other information stored in the configuration file is:
  271.        - The title to display on top of every screen
  272.        - The amount of inactive time allowed prior to automatically  LOGOFF  a
  273.          user.
  274.        - The  password  required  to  access  the  DOS prompt or to access the
  275.          Administration program. No entry  or spaces means NOT required, allow
  276.          access to anyone.
  277.        - Whether  Updating  the MENU Options is allowed in the  administration
  278.          program or  NOT.  This is useful when you have different level of end
  279.          users and you don't want lower level users to mess things up.
  280.        - Whether Updating the Protected  Programs Procedures is allowed in the
  281.          administration program  or  not. See the section  "Protected  Program
  282.          Procedures" for more info on this topic.
  283.        - Whether logging is enabled or disabled
  284.        - Customize the colors of the MENU programs
  285.        - Printer type. This is informational only.
  286.  
  287.     NOTE: HELP is available in all Tam2 Screens/Fields by Pressing F1.
  288.  
  289.     These functions  were  kept  separate  to  offer  more  flexibility to the
  290.     developers or system integrators.  One  may  opt  to  not  distribute this
  291.     program to his/her clients thus giving the impression that the program was
  292.     custom developed  for them (I know this sounds silly,  but...).  An  other
  293.     reason to  not  distribute this program is to keep your users from messing
  294.  
  295.                                                                  Tam2.Doc - Pg 5
  296.  
  297.     things up,  making  it  hard  for  you  to provide technical support, this
  298.     turned out to be very handy for us.  In any event, the choice is yours.
  299.  
  300.  
  301.  5.  Administer Tam2:
  302.  
  303.     To effectively manage any multiuser  system  a  System  Administrator is a
  304.     must and,  as we discovered, most organization have a  person  in  playing
  305.     that role.  This  person's  responsibilities  may  be as simple as loading
  306.     paper in the printer or as complex as loading new network operating system
  307.     on servers, etc...  In some cases, it  is YOU, the developer or integrator
  308.     who plays this role.  The fact is that every organization has one.
  309.     With this in mind, the program Tam2_Adm.EXE, which can  be  executed  from
  310.     the command  line  or  added  to  the MENU as an option (as is the case at
  311.     distribution time),  is  provided to  assist  a  system  administrator  in
  312.     managing a  generic  multiuser  system  (GENERIC in this  context  implies
  313.     operating system independence).
  314.  
  315.           NOTE THAT  EVERY  FIELD  ON  THESE SCREENS CONTAIN CONTEXT HELP THAT
  316.           DESCRIBES THE PURPOSE OF EVERY  FIELD.  USE  F1  TO  ACCESS THE HELP
  317.           SCREENS.
  318.  
  319.     TAM2_ADM main functions are:
  320.  
  321.       MENU MAINTENANCE
  322.  
  323.           Use this option to ADD/CHANGE/DELETE items/options to Tam2 Main Menu
  324.           or Sub Menus. When selected, a table containing  all  the  MAIN MENU
  325.           options is   displayed.   Use   the  Ins,  Enter,  or  Del  keys  to
  326.           add/change/delete items from  the  main menu. Menu items do not have
  327.           actions associated with them but rather they have a SUB MENU.
  328.           To access the Sub Menu for a particular item move  the  selector bar
  329.           with the  cursor  keys to the desired choice and press F10. An other
  330.           table is displayed which list the SUB MENU Items associated to it.
  331.           Use the same keys as above  to  update  this  list.   This  is where
  332.           ACTIONS are  associated to an item/option.  Also,  note  that  every
  333.           MAIN MENU  or SUB MENU item has a SECURITY LEVEL associated with it.
  334.           Tam2 Menu programs use these  fields  to  determine if the currently
  335.           signed on  user should have access to this item.  The  item  is  NOT
  336.           included/displayed on  the  MAIN/SUB  MENU  if  this  security check
  337.           fails.  See  "Controlling Access  to  Applications"  later  in  this
  338.           section for more information on this topic.
  339.  
  340.           Actions, as  stated  above,  are entered when a  SUB  MENU  item  is
  341.           created.  In  other  words  you  must  tell  TAM2 what to do when an
  342.           option is selected when ever a SUB MENU ITEM is created.
  343.           An action is usually the name of a program or batch file. It is also
  344.           possible to tell Tam2 to execute  an  internal  command by prefixing
  345.           the command with a "@". Additionally, a "?" in the first position of
  346.           any of the action fields (RUN FILE NAME.EXT, DRIVE,  PATH, PARMS...)
  347.           causes Tam2 to PROMPT for this value at run time.
  348.  
  349.           REMEMBER that  if  a  MAIN  MENU  item/option  has only ONE SUB MENU
  350.           item/option, the sub menu is not displayed at run time. Execution of
  351.           the associated action is initiated by the MAIN MENU program.
  352.  
  353.  
  354.                                                                  Tam2.Doc - Pg 6
  355.  
  356.           VERY IMPORTANT:  This  option  will  not appear on Tam2_Adm.exe main
  357.                           menu if "N"  was  entered  in  the  field ALLOW MENU
  358.                           MAINTENANCE when configuring TAM2  with Tam2_Cfg.exe
  359.                           program.  This  allows  distribution of Tam2_adm.exe
  360.                           to user but prevents some potential problems.
  361.  
  362.  
  363.       USER MAINTENANCE
  364.  
  365.           Use this  option to Add/Change/Delete  Users  to  the  system.  Upon
  366.           Selecting this  option  the  program displays  a  list  of  all  the
  367.           currently defined  users. Use the same basics as above to update it,
  368.           Ins to ADD, Del to DELETE, ect...
  369.           To access the Tam2 system a  user  must  SIGN-ON  with a user-id and
  370.           password.  Further Tam2 Menu programs will only display  the options
  371.           that the  signed  on  user has access to, see "Controlling Access to
  372.           Applications" later in this section..
  373.  
  374.           A very useful report that lists every user and the options available
  375.           to him/her can be printed by  pressing  F6  while  the  user list is
  376.           displayed.  We found this to be very handy.
  377.  
  378.  
  379.       WORKSTATION MAINTENANCE
  380.  
  381.           Tam2 can be used to allow access to applications  only  if a user is
  382.           signed on  at  a  particular  workstation.  To  use this feature the
  383.           administrator must first define (give a name to) all the workstaions
  384.           available to the users. He then  must  tell Tam2 which users can use
  385.           which workstation.    Finally,   every  workstation   startup   file
  386.           (autoexec.bat) must  create a DOS ENVIRONMENT variable with the name
  387.           of STATION and assign to it  the  same  value  as  was given to this
  388.           station when it was defined, ex: set STATION=JOHNSON  if JOHNSON was
  389.           entered in the ID field of the STATION record.
  390.           Tam2 Sign_On  processing will always look in the DOS Environment for
  391.           a variable of STATION, if one  is found it will then check the files
  392.           for a match on user and station id. The user is  allowed  access  to
  393.           Tam2 only  if  he is allowed to use this station. If the environment
  394.           variable STATION is not found this check is not performed.
  395.  
  396.           When this option is selected,  a  list  of all the currently defined
  397.           workstations is displayed.  Use the usual keys to  update  the list.
  398.           Use the  F10  key  to  assign  users  to  the  workstation under the
  399.           selection bar.  Maintain this  second  list  using the usual keys as
  400.           well. F5 to print a list of stations and associated users.
  401.  
  402.  
  403.       DISPLAY LOGGED ON USERS
  404.  
  405.           Use this option to see who is currently using the system, Ie: Signed
  406.           On. Also, and probably the only reason this option  exists, use this
  407.           option to  "force"  a  user  "off" the system. I'll explain a little
  408.           more. Every time a user signs on the system, the signon program sets
  409.           a flag, in the user record, to  "ON" to indicate that the user is on
  410.           and prevent other accesses. When he/she signs-off the flag is set to
  411.           "OFF". If the system "crashes" while a user is signed  on, as in the
  412.  
  413.                                                                  Tam2.Doc - Pg 7
  414.  
  415.           case of  a power failure, he/she will not be able to re-sign on, the
  416.           system still thinks the user is signed on because the above flag was
  417.           never turned off.  When this  occurs,  for whatever reason, use this
  418.           option to list all the user then position the selection  bar  on the
  419.           user in  question  and press enter. After a confirmation the flag is
  420.           set to OFF.
  421.  
  422.  
  423.       PRINT PURGE ACCESS LOGS
  424.  
  425.           As mentioned above in "configuring  Tam2",  it is possible to create
  426.           an audit trail of every access made thru Tam2 Menus.  This option is
  427.           turned on or off globally by Tam2_cfg.exe. When turned on every time
  428.           a user  selects  an  option from a menu or sub menu, a LOG record is
  429.           written to file. Use this option  to print/view the contents of this
  430.           LOG file and to PURGE or delete all the records  when  they  are  no
  431.           longer needed.
  432.           NOTE that  if  this  option  is on and you are using Tam2 to control
  433.           access to procedures internal to programs, they too will write audit
  434.           trail records  to  this file.  See  the  section  titled  "Protected
  435.           Program Procedures" for more information on this topic.
  436.  
  437.  
  438.       PROTECTED PROGRAMS MAINTENANCE
  439.  
  440.           Use this option to assign security levels to procedures  internal to
  441.           CLARION programs  that  are  controlled  via  Tam2.  See the section
  442.           titled "Protected Program Procedures"  for  more information on this
  443.           topic.
  444.  
  445.           VERY IMPORTANT:  This  option will not appear on  Tam2_Adm.exe  main
  446.                           menu if  "N"  was entered in the field ALLOW PROGRAM
  447.                           MAINTENANCE when  configuring TAM2 with Tam2_Cfg.exe
  448.                           program.  This  prevents unnecessary  confusion  for
  449.                           users that are not using this feature.
  450.  
  451.  
  452.  
  453.       CONTROLLING ACCESS TO APPLICATIONS:
  454.  
  455.           Tam2's most powerful feature is its ability to prevent un-authorized
  456.           access to  applications. This in fact it is main purpose in life, as
  457.           its name implies. Understanding  how  this  is  done  is critical to
  458.           establishing a worry free environment and making  the  most  out  of
  459.           this product.
  460.           Access is  controlled  by  the  fields  SECURITY  LEVEL and SECURITY
  461.           FILTER TYPE.   A SECURITY LEVEL  is  assigned  to  every  MAIN  MENU
  462.           item/option, SUB  MENU item/option, and to every  USER.  A  SECURITY
  463.           FILTER TYPE  is  assigned to every USER in addition to a LEVEL.  The
  464.           LEVEL is a numeric field that  can  have  values between 1 and 9999.
  465.           FILTER TYPE can have values of GE (greater then  or  equal to) or EQ
  466.           (Equal to).   Tam2 uses these fields in determining the items/option
  467.           a user can access in this manner:
  468.           - If the user's FILTER TYPE is equal to "GE", his/her SECURITY LEVEL
  469.             must be GREATER THEN or EQUAL  TO the main or sub menu option/item
  470.             in order to have access to it (Or if you prefer, he/she can access
  471.  
  472.                                                                  Tam2.Doc - Pg 8
  473.  
  474.             any main or sub menu option/item whose SECURITY LEVEL is LESS THEN
  475.             his/her SECURITY LEVEL).
  476.           - IF the user's FILTER TYPE is equal to "EQ", his/her SECURITY LEVEL
  477.             must be EQUAL TO the main or sub menu option/item in order to have
  478.             access to it.
  479.  
  480.           In other  words, When Tam2 displays the MAIN MENU or a SUB MENU, the
  481.           following logic is executed:
  482.  
  483.           FOR EACH MENU ITEM record
  484.             IF THE USER's SECURITY FILTER = 'GE'
  485.                IF THE USER's SECURITY LEVEL >= THE MENU ITEM's SECURITY LEVEL
  486.                   INCLUDE MENU ITEM ON MAIN/SUB MENU DISPLAY
  487.                ELSE
  488.                   SKIP THIS ITEM AND CYCLE - GET THE NEXT ITEM RECORD
  489.             ELSE - FILTER MUST BE = 'EQ'
  490.                IF THE USER's SECURITY LEVEL = THE MENU ITEM's SECURITY LEVEL
  491.                   INCLUDE MENU ITEM ON MAIN/SUB MENU DISPLAY.
  492.                ELSE
  493.                   SKIP THIS ITEM AND CYCLE - GET THE NEXT ITEM RECORD
  494.  
  495.           Example: Assume the following user and items security settings
  496.  
  497.            MENU ITEMS:         MAIN1   SUB1-1   SUB1-2  MAIN2   SUB2-1  SUB2-2
  498.            SECURITY LEVEL      10      50        200    700     800     700
  499.  
  500.            USERS:              USER1   USER2    USER3   USER4
  501.            SECURITY LEVEL      100     200      700     800
  502.            SECURITY FILTER     GE      GE       EQ      EQ
  503.  
  504.           Here are the results:
  505.              - USER1 will have access to MAIN1 and SUB1
  506.              - USER2 will have access to MAIN1, SUB1-1, and SUB1-2
  507.              - USER3 will have access to MAIN2 and SUB2-2
  508.              - USER4 will NOT have access  to  any  menu  items.  He  can only
  509.                access Items with a security level EQUAL to  800. The only item
  510.                with a  level  of 800 is SUB2-1, but since SUB2-1 is a SUB ITEM
  511.                on MAIN2 and MAIN2 is not available to him he CANNOT access it.
  512.              - NO user has access to SUB2-1
  513.  
  514.              FOLLOW THE LOGIC ABOVE TO VERIFY THESE RESULTS.
  515.  
  516.           As you can see this security scheme offers immense flexibility. With
  517.           a little creativity, it is very  easy  to  setup access rights along
  518.           departmental lines or work groups.
  519.           For example: Every one in accounting is defined as "EQ" with a level
  520.                        of 666 and all their applications have a LEVEL of 666.
  521.                        Every one in shipping is defined as  "EQ"  with a level
  522.                        of 333 and all their applications have a level of 333.
  523.                        ALL executives are defined as "GE" with a level of 9999
  524.                        giving them access to everything.
  525.           More combinations  are  possible  when one start to mix EQs and GEs.
  526.           This will can results in having  to define the same application more
  527.           then once so that it can be accessed by users belonging in different
  528.           work groups. This usually occurs with utilities, word processors and
  529.           the likes.  This causes no harm but creates some  minor  maintenance
  530.  
  531.                                                                  Tam2.Doc - Pg 9
  532.  
  533.           issues.
  534.  
  535.  
  536.  
  537.  
  538.  6.  How to Use Tam2:
  539.  
  540.           If you followed the installations instructions above, every time you
  541.           turn your  system  on the "SYSTEM SIGN ON" screen will be displayed.
  542.           If it is not, type MENU and press  the Enter Key and the screen will
  543.           be displayed.  Enter  your User Id and Password  at  the  associated
  544.           prompts and  if you are authorized the system will display a message
  545.           informing you that you are signed on. After 2 seconds, or at the tap
  546.           of any key, this screen will  go  away  and  the  system will try to
  547.           build a MAIN MENU to reflect your profile.
  548.           Pressing F10 from the sign on screen will exit to  DOS.  A  password
  549.           may be  required  however depending on how the system was configured
  550.           by the administrator. F1 will bring up the HELP screens.
  551.  
  552.           Up on successful sign on the  MAIN  MENU  is  Displayed,  Select  an
  553.           option by moving the selection bar over your choice and press Enter,
  554.           or, if present, press the key preceding the ")"  on  the far left of
  555.           the desired choice. This is called the Quick or Hot Key.
  556.           If there  is a SUB MENU associated with this option repeat the above
  557.           to make your selection. Press  Esc  from a SUB MENU to return to the
  558.           MAIN MENU. HELP is always available by pressing F1.
  559.  
  560.           It is  possible  for the administrator to have setup  options  which
  561.           require your  input  before  the  can continue. In these cases a RUN
  562.           TIME PROMPTER screen will appear  asking  for  a  variable  piece of
  563.           data. You were probably advised of this possibility  and  should  be
  564.           aware of what to enter.  See your administrator if you have problems
  565.           with this screen or are unsure of what to enter and the HELP screens
  566.           provide no assistance.
  567.  
  568.           Be aware  that,  if  enabled,  the system may SIGN you OFF if a pre-
  569.           defined amount of inactive time  is  detected.  If this situation is
  570.           detected, you  will hear three shorts beeps. If  within  10  seconds
  571.           after these  beeps  a  key  is not pressed, the system will SIGN you
  572.           OFF. This option may be turned  off  on some systems.  Additionally,
  573.           if inactivity is detected for 10 minutes and you  are not forced off
  574.           the system,  the  screen  may go blank. This is to prevent damage to
  575.           the monitor.  In these cases  pressing  any  key  will  restore  the
  576.           original screen.
  577.  
  578.           To terminate a session and SIGN-OFF the system  press  the  F10  key
  579.           while the MAIN MENU is displayed.
  580.  
  581.  
  582.  
  583.  7.  Protected Program Procedures
  584.  
  585.  
  586.           Suppose you  have to develop an integrated Order Entry and Inventory
  587.           Control system for a client with the following requirements:
  588.  
  589.  
  590.                                                                 Tam2.Doc - Pg 10
  591.  
  592.           - The  people  in  receiving should have access only to the "receive
  593.             inventory" functions                                             ,
  594.           - The people in sales should have  access to most of the Order Entry
  595.             functions only
  596.           - The  people  in  purchasing  should have access  to  most  of  the
  597.             inventory functions as well as vendor functions only
  598.           - The  people  in  upper  management  to have access to ANY function
  599.             regardless of the subsystem.
  600.           - The new system is to be integrated with their current applications
  601.             and other off the shelf software.
  602.  
  603.           Obviously one of your first task  would  be  to develop some kind of
  604.           security/access control system to define the users,  the  functions,
  605.           etc.. which would not be too cumbersome or complicated, we have done
  606.           this a number of times before we realized the waste of effort.
  607.           You'll also  discover  that  to  properly integrate your system with
  608.           their existing  applications  will  require  some  kind  of  menuing
  609.           system, so  you  either  develop on or purchase  an  off  the  shelf
  610.           menuing package, there sure are a lot of them out there.
  611.           At the  end however, you know you could have delivered a much better
  612.           environment if all of this was integrated, right??
  613.           Well, we think so and that's where Tam2 really shines.
  614.  
  615.           A very  powerful  feature  of  TAM2  allows  CLARION  developers  to
  616.           capitalize on its access control features with minimum effort
  617.           by providing a set of programs, procedures and functions  to  manage
  618.           what we call Protected Program Procedures, PPP for short.
  619.  
  620.           Protected Program  Procedures  are  procedures/functions internal to
  621.           application programs written  (or  actually generated thru designer)
  622.           to take advantage of Tam2 access control facilities and to offer end
  623.           users a single means of administration, maintenance, and monitoring.
  624.           These procedures  are not created by the end users  but  rather  are
  625.           delivered by  the  developer  to  the end user. The end users simply
  626.           determine the security level  they  want to assign to each according
  627.           to the way they setup their users' access levels  and filters. These
  628.           procedures are  stored  in the file named PROGPROC.DAT.  The program
  629.           Tam2_PPP.exe included  on  the   distribution   disk   provides  the
  630.           developer the means to add/change/delete procedures  from this file.
  631.           Tam2_ppp should  not  be distributed to the end users.  Tam2_Adm.exe
  632.           can be  used by the administrator  to  assign  security  levels  and
  633.           update a  description  field  for each procedure.   To  enable  this
  634.           feature in  Tam2_Adm.exe,  the  field "ALLOW PROGRAM MAINTENANCE" in
  635.           Tam2's configuration file must  be  set  to  "Y"  with  the  program
  636.           Tam2_Cfg.EXE.
  637.           The distribution  disk contains a sample application,  PPP_DEMO.EXE,
  638.           that was  written  to  take  advantage  of  Tam2's  features. If you
  639.           execute this program from the  DOS  prompt  you'll receive a message
  640.           indicating that  no  user  is  signed-on  and execution  aborts.  If
  641.           however it   is  added  as  a  menu  option,  which  it  is  in  the
  642.           distribution disk, execution will  be allowed.  To see the functions
  643.           and change their security level, set ALLOW PROGRAM MAINT to "Y" thru
  644.           Tam2_Cfg.exe and  select  Protected  Program  Maintenance  from  the
  645.           Tam2_adm.exe main  menu.   To see how these procedures were added to
  646.           the PROGPROC.DAT file run the Tam2_pp.exe program.
  647.  
  648.  
  649.                                                                 Tam2.Doc - Pg 11
  650.  
  651.           To develop an application that relies on TAM2 for its access control
  652.           could not  be  any easier, in addition to the above programs we will
  653.           also provide the necessary CLARION  procedures/functions and a model
  654.           file that integrates TAM2 in a designer developed  application  with
  655.           unbelievable ease.
  656.           The additional procedures and functions are:
  657.             1. TAM2_START - This procedure is called at the beginning of every
  658.                             app from  the  main  module  before doing anything
  659.                             else. The main purpose of this procedure is to
  660.                             set up TAM2  GLOBAL  MEMORY  variables  so  that a
  661.                             later function  TAM2_PPP_OK()   can   use.   These
  662.                             global memory variables are very few, they include
  663.                             data such  as  whether  logging  is turned on, the
  664.                             user id, access  level and filter of the signed on
  665.                             user, the  station  id,  and the  PROGPROC  record
  666.                             layout.
  667.             2. TAM2_PPP_OK- This function is called by every procedure that is
  668.                             to be  monitored  by  Tam2  access  control.  This
  669.                             function   is  called  at  the  beginning  of  the
  670.                             procedure of    function     and    expects    the
  671.                             procedure/function name.  It  will  do  the access
  672.                             validation, log the access if required, and either
  673.                             return true  or  false  to  the caller. The caller
  674.                             procedure should insert this  line  as  the  first
  675.                             line following the CODE statement:
  676.                             IF ~TAM2_PPP_OK('@PROCNAME   ') THEN RETURN.
  677.                             (replace @PROCNAME  with  the  name of the calling
  678.                             procedure).
  679.                             That's ALL there is to it!!!
  680.  
  681.                             NOTE THAT TAM2_PPP_OK  EXECUTES BASICALLY THE SAME
  682.                             LOGIC AS   DESCRIBED   ABOVE,   IN   THE   SECTION
  683.                             "CONTROLLING ACCESS  TO APPLICATIONS" TO DETERMINE
  684.                             WHETHER ACCESS  IS ALLOWED OR NOT AND RETURNS TRUE
  685.                             OR FALSE ACCORDINGLY.
  686.             3. TAM2_CHK.CPY - This is neither a function nor  a  procedure but
  687.                             an include  file  that  defines  the global memory
  688.                             variables mentioned above. You simply include this
  689.                             in your program  and  the functions and procedures
  690.                             above will work just fine.
  691.  
  692.             NOTE that  both of the above modules are very  small  and  can  be
  693.             overlaid with   no   problems.    One  may  not  want  to  overlay
  694.             TAM2_PPP_OK however if a lot of procedures are controlled by Tam2.
  695.             Memory will not be a problem either way since they are tiny.
  696.  
  697.           Of course the model file that  we provide, NET2108.MDL, contains all
  698.           the above,  highlighted so that you can easily incorporate  in  your
  699.           own models.   If  you use designer with our model, or yours with our
  700.           changes (which by the way are  very, very few), all you will have to
  701.           do to enable Tam2 checking for a procedure of any type is to include
  702.           the following line in the procedure's SETUP line:
  703.                 TAM2_PPP_CHK = 1 (or = TRUE)
  704.           That's ALL!!!, the model file contains the rest..., works great.
  705.  
  706.           The changes required to a model file to accomplish the above are:
  707.  
  708.                                                                 Tam2.Doc - Pg 12
  709.  
  710.             1. ADD  the following statements in the MAP section, following the
  711.                line "@MODULES" and before the line "@FILES"
  712.  
  713.  !$----------------------- TAM2 MAP CHANGES START HERE ----------------------
  714.              MODULE('\TAM2\UTILS\STARTAPP.218')      !TAM2 INITIALIZE
  715.                PROC(TAM2_START)                      ! GLOBAL VARIABLES
  716.                FUNC(SRCHPATH),STRING                 ! SEARCH FOR CFG
  717.              .                                       ! BOTH CALLED ONLY ONCE
  718.              MODULE('\TAM2\UTILS\PPPCHECK.CLA')      !TAM2 PROCESSING PROGRAM
  719.                FUNC(TAM2_PPP_OK),LONG                ! PROCEDURES ACCESS LEVEL
  720.              .                                       ! VALIDATION AGAINST USER
  721.              INCLUDE('\CLARION\EXAMPLE\DOS1.CPY')    !DOS LANGUAGE EXTENSION
  722.             .
  723.  !$----------------------- TAM2 MAP CHANGES END HERE ------------------------
  724.  
  725.  
  726.             2. Add  the following include  statement  before  the  first  CODE
  727.                statement:
  728.                           INCLUDE('\TAM2\CPY\TAM2_CHK.CPY')  !$ TAM2 GLOBALS
  729.             3. Add the following line after the first CODE statement:
  730.                           TAM2_START                         !$ INIT GLOBALS
  731.             4. For  every  model  procedure  within  you model  file  add  the
  732.                following:
  733.                - before the line @SETUP add:
  734.                           TAM2_PPP_CHK = 0                   !$ NO TAM2 CHK
  735.                - following the line @SETUP add:
  736.                           IF TAM2_PPP_CHK                    !$ IF TAM2 CHK
  737.                              IF  ~TAM2_PPP_OK('@PROCNAME   ')!$ AND IT FAILED
  738.                                  RETURN                      !$ RETURN TO
  739.                           .  .                               !$ CALLER
  740.                Doing this  for  ALL  your  model  procedures  is not very hard
  741.                regardless of how many you  may have, the clarion editor can do
  742.                this very quickly, other editors even quicker.
  743.             5. THAT'S ALL THERE IS TO IT!!! - To use it one  simply  uses  the
  744.                setup procedure  line  to  set  TAM2_PPP_CHK  =  1 only for the
  745.                procedures that should be PROTECTED.
  746.  
  747.                NOTE the use of "!$" at the beginning of every comment, this is
  748.                     useful to find our  changes  in  the  model  file.  Simply
  749.                     Search for   '!$'   and  you'll  find  each   modification
  750.                     described above in the model file we provide.
  751.  
  752.           The only  caveat with all this Protected Program Procedures stuff is
  753.           that neither the above modules  or model file are part of the freely
  754.           distributed TAM2 system. To receive the above you  either must be an
  755.           "extended registered  user",  see the registration section below, OR
  756.           you must license the source  code  to  the  entire  system,  see the
  757.           source code offer section.
  758.  
  759.  
  760.  8.  Legalities
  761.  
  762.     SOFTWARE LICENSE:
  763.  
  764.           Tam2.exe, Tam2_adm.exe,  Tam2_cfg.exe,  Tam2_ppp.exe,   collectively
  765.           referred as  Tam2  in  this document, and all other supporting files
  766.  
  767.                                                                 Tam2.Doc - Pg 13
  768.  
  769.           are Copyright (c) 1991 by GAFFT System Inc., Glenview, Il.  The Tam2
  770.           package is  released  into  the public domain as Shareware.  You are
  771.           encouraged to use, copy and distribute  this  product  freely and at
  772.           will provided  that (1) the distribution consists  of  the  original
  773.           archive containing  the programs and this documentation file, (2) no
  774.           fee of more than five US dollars  ($5)  is  charged for the copy and
  775.           (3) it is not modified in any way.
  776.  
  777.  
  778.     WARRANTY & LIABILITY:
  779.  
  780.           This software package has NO WARRANTY of any kind, or better yet:
  781.  
  782.            GAFFT Systems Inc. hereby disclaims all warranties  relating  to
  783.            this software,  whether  express  or  implied, including without
  784.            limitation any implied warranties  of merchantability or fitness
  785.            for a particular purpose. GAFFT Systems Inc.  will not be liable
  786.            for any  special, incidental, consequential, indirect or similar
  787.            damages due to loss of data  or  any other reason, even if GAFFT
  788.            Systems Inc. or an agent of GAFFT Systems Inc.  has been advised
  789.            of the  possibility  of  such  damages.  In no event shall GAFFT
  790.            Systems Inc. liability for  any  damages  ever  exceed the price
  791.            paid for the license to use software, regardless  of the form of
  792.            the claim.   The  person using the software bears all risk as to
  793.            the quality and performance of the software.
  794.  
  795.  
  796.  9.  Registration
  797.  
  798.           If you find TAM2 easy and convenient  to  use  a registration fee of
  799.           $25 is appreciated. In return, you will receive:
  800.             1. when  available,  a  free upgrade to the next  version  of  the
  801.                software (excludes  Tam2 Deluxe but includes upgrade to CLARION
  802.                3.0).
  803.             2. free technical support  via  mail  or  major BBS services (Will
  804.                attempt to return all phone calls as well but cannot commit) .
  805.             3. Notification of ALL further versions/releases and bug fixes
  806.  
  807.           If you  send  $45,  or  more for that matter,  you  will  become  an
  808.           "extended registered user" which will entitle you to receive:
  809.             1. The same items specified in #1 - #3 above
  810.             2. Priority  shipment and credit consideration when Tam2 Deluxe is
  811.                available. Details not yet worked out.
  812.             3. The  source  code necessary  to  utilize  Tam2  access  control
  813.                facilities for your own CLARION program procedures. See Section
  814.                7, Protected Programs Procedures (PPP), above for details. This
  815.                code will include at minimum:
  816.                  NET2108.MDL  - Revised network model file  that  includes the
  817.                                 changes to  use Tam2 via designer, changes are
  818.                                 all highlighted by "!$"
  819.                  TAM2_CHK.CPY - An include  file  that  defines all the global
  820.                                 variables required by the PPP facilities
  821.                  TAM2_PPP.CPY - File layout of the PROGPROC data file
  822.                  STARTAPP.218 -  Clarion  module  containing   the   procedure
  823.                                 TAM2_START and the function SRCHPATH. Both are
  824.                                 used at  the  very beginning of an application
  825.  
  826.                                                                 Tam2.Doc - Pg 14
  827.  
  828.                                 to initialize  the  global  memory required by
  829.                                 Tam2.   SRCHPATH   is   used   to   find   the
  830.                                 configuration file  along  the  DOS  path  and
  831.                                 obtain default settings.
  832.                  PPPCHECK.CLA -  Clarion  module  that  contains  the function
  833.                                 TAM2_PPP_OK. This function performs the actual
  834.                                 access control and optionally Logging.
  835.  
  836.           If you  are  a serious CLARION  developer/user,  and  have  not  yet
  837.           standardized your access control approach, I strongly recommend this
  838.           option or better yet consider licensing the entire  source code, see
  839.           below.
  840.  
  841.           To register  your  copy  of Tam2, or to license the full source code
  842.           complete the appropriate form  in  the  file  ORDER.FRM contained in
  843.           this archive or send the appropriate fee, along  with  your name and
  844.           address to:
  845.  
  846.                       GAFFT Systems Inc
  847.                       Att: TAM2 REGISTRATION
  848.                       619 Milwaukee Av, Suite 27
  849.                       Glenview, Il 60025
  850.  
  851.           If you  have  questions,  please  call  us  at 708-729-0990. We will
  852.           attempt to return all calls.
  853.  
  854.  
  855.  10  Custom Versions
  856.  
  857.           If you require any modifications  or  changes  to  the  software and
  858.           don't want to spend the time to do it yourself,  please  send  us  a
  859.           detailed document  describing  the changes you are interested in. If
  860.           your request is popular chances  are  we'll do it with no additional
  861.           fees. If they are unique, we'll provide you an estimate  of the cost
  862.           and delivery date within 2-4 working days (sometimes on the spot).
  863.  
  864.  
  865.  11.  Source Code Offer
  866.  
  867.           If you  like Tam2 and want to take full advantage of its features or
  868.           wish to improve/customize it  for  your own use, you can license the
  869.           full source code from us for the amount of $145.
  870.  
  871.           This license will allow you to distribute any  .exe  or  .pro  files
  872.           created with  this  source ROYALTY FREE as long as they are not part
  873.           of a product that directly or  indirectly  competes with Tam2 and/or
  874.           Tam2 DELUXE, currently in development.
  875.           It will not allow you to re-sell, in whole or in  parts,  any of the
  876.           actual source code without our written consent.
  877.  
  878.           Of course   joint  marketing/development  opportunities  are  always
  879.           welcomed, call us or drop us a note to discuss.
  880.  
  881.           Licensing the source code will  automatically  make  you an extended
  882.           registered users, see #9 above.
  883.  
  884.                        ****  THE END  ****
  885.                                                                 Tam2.Doc - Pg 15
  886.