Tims 1.1/README.DOC

25.1 KB bd466e9375c71416…
                   README.DOC for TIMS Version 1.1
                         Last Updated 2/1/93

                            INTRODUCTION

This file, README.DOC, serves to present information about the 
product which is not reflected in the TIMS manual.  This includes 
documentation errors, additions, and clarifications.  PLEASE TAKE 
THE TIME NOW TO READ THROUGH THIS FILE, or do so at your earliest 
convenience. 

                            SOFTWARE MODS

Even the best software has bugs when it is as complex as TIMS.  In 
order to keep your software current, eSoft distributes a program 
update system to fix any bugs which we find in the software.  You 
can use this system to protect your software investment.  Each fix 
(called a mod) is assigned a number.  This release includes all mods 
up to and including: 

      ┌───┐
      │ 0 │  <---  MOD LEVEL OF THE SOFTWARE ON THESE DISKETTES
      └───┘

The software update program (UPDATE.EXE) is on this diskette.  The 
latest software update data file (UPDATE.BIN) is always available at 
no charge for download from the eSoft, Inc. Support Board (for 
access information, see Chapter 12 of your TBBS manual).  If you are 
experiencing difficulty with the software, obtain and apply all 
newer mods before taking any other action. 


                             IMPORTANT!

TIMS 1.1 will NOT RUN without TBBS being current on mods.  Please 
make sure you are current on mods BEFORE continuing.  A current 
UPDATE.EXE program and UPDATE.BIN file are included on the TIMS 
release disk for your convenience.


                       UPGRADING FROM TIMS 1.0

You can perform a "quick upgrade" from TIMS 1.0 simply by copying 
the TIMS.EXE from the TIMS release disk into your TBBS directory on 
top of the old TIMS.EXE from Version 1.0.  If you are not using a 
TIMS.CTL file, you must copy or rename CONFIG.DOG to TIMS.CTL 
because TIMS 1.1 does not read CONFIG.DOG.  IF YOU DO THIS, TIMS 
WILL STILL BE A PASSIVE MAILER -- just like Version 1.0.  You must 
perform additional configuration before TIMS will dial out.  Refer 
to the TIMS 1.1 manual (and elsewhere in this README.DOC for details 
on dialing out).


               DOCUMENTATION ERRORS AND CLARIFICATIONS
                
The following are corrections to and clarification of information in 
the TIMS manual.  They are referenced by page number.

3-29

    The example RESTRICT block at the bottom of this page (shown in 
    a Courier typewritten font) is shown on two lines.  This is due 
    to space restrictions in the manual.  IT MUST BE ON A SINGLE 
    LINE OF TEXT WHEN YOU USE A RESTRICT BLOCK WITHIN THE TIMS.CTL 
    FILE!

5-14, WAIT statement

    The maximum value of the WAIT statement is 600 seconds.


                       DOCUMENTATION ADDITIONS

TIMS Control Panel

    TIMS is supplied with an integrated mail management control 
    panel.  This panel allows you to control various elements of 
    TIMS' operation, as well to make adjustments to outbound mail, 
    all from within TBBS.  The control panel is patterned after the 
    AMAX utility familiar to many BinkleyTerm users.

    To provide access to the control panel, add a TBBS menu entry 
    with the following elements: 

        Type = 202
        Opt Data = 

    Note that the Opt Data is blank.  

    When you logon to TBBS and activate this entry, the TIMS control 
    panel will load.  Most of its functions are self-explanatory, 
    however, we'll go over each one here.  The main menu on the 
    control panel has the following options: 

    V)iew Directory

        Allows you to view the contents of the currently selected 
        outbound area (which default to your primary outbound area).  
        This display shows a numbered list of items in the area, 
        including destination address, system name and location, 
        type of outbound mail, and the sending "flavor" of the mail.  
        There may be one or more screens of information depending on 
        how many items are in your outbound area.

        This function also allows you to delete any mail item from 
        the outbound area, reroute (readdress) items there, or 
        change the send flavor of an item.

    C)hange to an AKA

        This function allows you to select which "from" address is 
        active during the use of the control panel.  This starts out 
        being your primary address, and you can change it to any of 
        the AKA addresses you've configured.  This address is used 
        to ensure proper destination address determination of 
        compressed mail (ARCmail) in the outbound area (which is 
        "from" address dependent).

    P)oll a system

        This function allows to you create an empty "flow" (file 
        attach) file in the outbound area.  Generally, this causes 
        TIMS to dial a system (depending on the configuration of 
        TIMS itself).

    S)end a file to a system

        This function allows you to send a file to another system as 
        a "file attach."  

    R)equest a file from a system

        This function allows you to generate a file request of 
        another system.  Update requests can also be generated.

    F)ind a system in nodelist

        This function allows you to retrieve nodelist information 
        for a given node address.  You can also scan forward and 
        backward in the nodelist.  If you wanted to find a system, 
        you may for example start by viewing the host entry for that 
        net (<net>/0), then viewing nodes in that net one at a time. 

    Z)one change

        If you send mail to multiple zones, you will need to be 
        familiar with this function.  Since mail for zones other 
        than your own is held in separate outbound directories, 
        changing the zone with this command lets you perform 
        functions on the control panel in a zone other than your 
        own.

    D)isplay Scheduler Work List

        This function gives you a window to the TIMS scheduler, 
        which controls dialing.  The scheduler is the part of TIMS 
        that handles distribution of work to be done.  You can 
        invoke this function to see what work TIMS has "queued" at 
        the moment, and what the status of the work processing is. 

        All work pending is displayed as a list on one or more 
        screens.  What work is displayed is dependent on how TIMS is 
        configured.

        NOTE:  You will not necessarily see all mail TIMS has in 
        its outbound area reflected in the work list.  The reason 
        for this is that all mail may not be qualified for TIMS to 
        send at the moment, depending on how you have configured the 
        SEND commands and RESTRICT blocks in the TIMS configuration 
        (TIMS.CTL).
        
        The work screen(s) are automatically redisplayed every 5 
        seconds to reflect TIMS activity. 

Menu Invocable TIMS Commands

    There are several TIMS functions which can be invoked through a 
    TBBS menu entry (some of which are not accessible in any other 
    way).  By allowing their invocation via a menu entry, any of 
    these commands can be executed:

         - Interactively.  A user (presumably a sysop) can trigger 
           the menu entry online manually.

         - Ghost event.  A ghost event can be setup in CEDIT to 
           trigger the menu entry on a scheduled basis.

         - DOTBBS configuration command in the TIMS.CTL file.  This 
           allows a command to be executed on a routine basis within 
           TIMS itself. 

    All of the TIMS commands which can be executed this way use a 
    TYPE=202.  Only the Opt Data for the menu entry changes to 
    indicate which function should be executed.  The commands 
    available are:

    GET

        Syntax:   TYPE=202 
                  OPT DATA=GET <node> <file> [<flavor>] [UPDATE]

        Example:  TYPE=202
                  OPT DATA=GET 1:104/36 FOOBAR.ZIP CRASH

        This command allows you to generate an outbound file 
        request.  The <node> is the node address of the destination, 
        the <file> is the name of the file you want to request.

        The optional <flavor> parameter is the keyword CRASH, HOLD 
        or NORMAL and designates the send flavor for the request.  
        NORMAL is the default.  The optional UPDATE keyword 
        designated that this is an update request.  (For UPDATE 
        requests, the entire drive, path and filename of the file 
        must be provided as the <file> parameter.) 

    SEND

        Syntax:   TYPE=202
                  OPT DATA=SEND <node> <file> [<flavor>]

        Example:  TYPE=202
                  OPT DATA=SEND 1:104/36 C:\TBBS\COFFEE.ZIP 

        This command allows you to send a file to a remote system.  
        The <node> is the node address of the destination, the 
        <file> is the drive, path and filename of the file to send.

        The optional <flavor> parameter is the keyword CRASH, HOLD 
        or NORMAL and designates the send flavor for the file.  
        NORMAL is the default.  

    POLL

        Syntax:   TYPE=202
                  OPT DATA=POLL <node> [<flavor>]

        Example:  TYPE=202
                  OPT DATA=POLL 1:104/36 CRASH

        This command allows you to have TIMS poll a remote system.  
        This is accomplished through the creation of an empty file 
        attach (flow) file.  Depending on the TIMS configuration of 
        SEND commands, the poll may or may not take place 
        immediately.

        The optional <flavor> parameter is the keyword CRASH, HOLD 
        or NORMAL and designates which type of empty file attach 
        (flow) file will be created.  NORMAL is the default.  
        
        NOTE:  A flavor of HOLD for a poll will be a "no-op" meaning 
        that it will NOT cause TIMS to poll a system.  

    CHANGE

        Syntax:   TYPE=202
                  OPT DATA=CHANGE <node> <old_flavor> <new_flavor>

        Example:  TYPE=202
                  OPT DATA=CHANGE 1:104/36 HOLD CRASH

        This command allows you to change the send flavor for a 
        particular node to another flavor.

        The most common use of this command would be to change mail 
        from NORMAL or CRASH to HOLD, or vice-versa, to provide a 
        method to unconditionally HOLD or un-HOLD mail for a 
        particular system.

    TOSS

        Syntax:   TYPE=202
                  OPT DATA=TOSS [<path>] [<zone>] [/H]

        Example:  TYPE=202
                  OPT DATA=TOSS C:\TBBS\TPKT 

        NOTE:  Full information about the tossing of mail is in the 
        section "Tossing and Scanning Mail" later in this file!
        
        The command instructs TIMS to toss (import) mail into the 
        TBBS message base from pending inbound packets (.PKT files).  
        The optional <path> designates which directory to look at 
        for pending packets; if omitted, TIMS looks in the directory 
        designated by the PACKET statement in the TIMS.CTL file.
        
        The optional <zone> parameter instructs TIMS to override 
        your zone in special cases.  If you have more than one AKA 
        with the same net/node (differing only by zone) then cases 
        may arise where TIMS cannot tell which one to use.  By 
        default, it will use the first one it finds in your AKA 
        list.  If you use the optional <zone> parameter, TIMS will 
        use it during tossing in these cases, instead of the first 
        one it finds in the AKA list. 

        The optional /H switch tells TIMS to put the PATH and SEEN-
        BY lines of messages into the MSGHIST.BBS file instead of 
        the TBBS message base for compatibility with the TMAIL mail 
        processor.

    SCAN

        Syntax:   TYPE=202
                  OPT DATA=SCAN

        Example:  TYPE=202
                  OPT DATA=SCAN

        NOTE:  Full information about the tossing of mail is in the 
        section "Tossing and Scanning Mail" later in this file!
        
        The command instructs TIMS to scan (export) NetMail from the 
        TBBS message base to outbound packets (mail bundles).  
        
        NOTE:  ONLY NETMAIL IS SCANNED -- ECHOMAIL SCANNING CANNOT 
        BE ACCOMPLISHED IN REAL-TIME DUE TO ITS EXTREMELY HIGH 
        AMOUNT OF OVERHEAD! 

Executing Multiple TIMS Commands

    You can "gang" the following TIMS commands:

        GET
        SEND
        CHANGE
        POLL
        TOSS
        SCAN

    This is accomplished by invoking a TYPE=202 menu command with 
    OPT DATA=@<filename>.  The <filename> parameter is the drive, 
    path and filename of a text file, like so:

        OPT DATA=@C:\TBBS\TIMSCMDS.TXT

    The file is assumed to contain valid TIMS command Opt Data 
    lines, one per line of the text file.  An example of the 
    contents of such a file might be:

        GET 1:104/36 FILES
        GET 1:104/23 PRODLIST.ZIP
        POLL 1:104/501
        SEND 1:104/23 E:\FILE\IN\FOOBAR.ARC
        SEND 1:104/89 D:\MYSTUFF\PIZZA.ARJ
    
Additional TIMS.CTL Statements

    The following TIMS.CTL statements were added after the manual 
    was written:

    DOTBBS [TYPE <type>] <minutes> <line> <optdata>

        Example:  DOTBBS 10 254 SCAN
                  DOTBBS TYPE 200 30 254 D:\TDBS\WINKO /Q

        This command allows you to have the TIMS scheduler activate 
        specific TIMS console (or other) commands.  In combination 
        with RESTRICT blocks, DOTBBS allows you to have either one-
        shot or regularly occurring events under TIMS scheduler 
        control.

        The optional TYPE <type> parameter designates the menu 
        command type to execute.  TYPE 202 is the default (for 
        executing TIMS functions).  The <minutes> parameter 
        designates the "repeat interval" for this command in 
        minutes.  An interval of 0 (zero) means that the DOTBBS 
        command will only occur ONE TIME when its RESTRICT block 
        becomes active.  

        The <line> parameter can accept a specific line on which to 
        run, 254, or 255 as a value.  A value of zero (0) is 
        illegal.  The value of 254 means to run on the first 
        available ghost line; a value of 255 means to run on the 
        first available modem line.

        One of the most common applications of a recurring command 
        (the <minutes> parameter is non-zero) will be to have TIMS 
        periodically execute the SCAN or TOSS commands.  One of the 
        most common applications of a "one-shot" command (the 
        <minutes> parameter is zero) will be to invoke POLL, GET, 
        SEND or CHANGE. 

        There are fifteen (15) DOTBBS command "slots" which can be 
        filled at any one given time.  These "slots" form a list of 
        "active" DOTBBS commands.  Any DOTBBS command which is in 
        scope (a RESTRICT block it's inside of qualifies, etc.) will 
        fill one of the "slots" on the list.  The slots are filled 
        in order (as TIMS encounters the DOTBBS commands which 
        qualify) and when the list is full, other DOTBBS commands 
        will be ignored. 

        The DOTBBS command work as follows:

            1.  The TIMS scheduler builds a list of DOTBBS commands 
                upon its first activation when TIMS loads.

            2.  On each following minute, the TIMS scheduler will 
                attempt to activate each DOTBBS command it finds in 
                its list.  If the designated line is not available, 
                TIMS will try again every minute until it's 
                executed.

            3.  When a given DOTBBS command activates, the scheduler 
                will use the <minutes> value to schedule its next 
                activation time.  If the <minutes> value is zero, 
                the command will never activate again, but the does 
                remain in the internal DOTBBS list until its 
                RESTRICT block is no longer in scope (or forever if 
                the DOTBBS command is not within a RESTRICT block).

            4.  When the <minutes> interval expires, the TIMS 
                scheduler will do the above three steps again for 
                that DOTBBS command.

        When any RESTRICT start or end time is passed, the TIMS 
        scheduler rebuilds its DOTBBS list, discarding any entries 
        which don't qualify under the new RESTRICT conditions.  Any 
        entries that qualified before and which are still active 
        remain in the list untouched (i.e., their repeat timers are 
        not altered).  Any newly added DOTBBS commands are activated 
        immediately to step 1 above.

    INCLUDE <filename>

        Example:  INCLUDE ADDL.CTL

        This statement allows you to "include" another text file 
        with additional TIMS.CTL commands.  When TIMS loads, and it 
        read the TIMS.CTL configuration file, it will temporarily 
        read an alternate file when the INCLUDE statement is 
        encountered.  After the reading of the alternate file is 
        complete, it will continue reading the TIMS.CTL file from 
        the point at which it left off.  INCLUDEs cannot be nested, 
        i.e., INCLUDEd files cannot contain INCLUDE statements.

    HOLD <node> [<node> <node> ...]

        Example:  HOLD 1:104/36 1:1052/101
                  HOLD 1:104/ALL

        This statement allows you to designate an address (or with 
        the ALL keyword, a group of addresses) that you do not want 
        TIMS to send mail to.  Any mail for referenced address(es) 
        will not be sent.  (It will of course be available for pick-
        up should such a node call into your TIMS.)

        Up to 40 addresses can be provided on a single HOLD 
        statement, and up to 450 HOLD addresses can be active at any 
        single time.  NOTE:  The ALL keyword counts as a single 
        address toward these totals.

    MSGAREA <areaname> <tbbsname>

        Example:  MSGAREA  TBBS   TBBS
                  MSGAREA  TECH   "FidoNet Tech"
                  MSGAREA  SYSOP  "Echoes/My Stuff/Sysop Conference"

        NOTE:  Full information about the tossing of mail is in the 
        section "Tossing and Scanning Mail" later in this file!
        
        This statement allows you to configure message areas for use 
        by the TIMS internal EchoMail tosser function.  

        The <areaname> parameter is the "EchoTag" (EchoMail area 
        identifier) for an EchoMail area.  The <tbbsname> is the 
        TBBS board name (as defined in CEDIT) to which messages for 
        that Echo should be tossed.  Topic boards are supported, in 
        which case the <tbbsname> refers to a topic path where the 
        messages should be tossed.

        If the <tbbsname> is a single word (no embedded spaces) then 
        quotes are optional.  If the board name in CEDIT has 
        embedded space(s), or you are designating a topic path, the 
        the <tbbsname> parameter should be enclosed in quotation 
        marks.

Monitoring Lines TIMS is Using

    From the TBBS local console, you can monitor the activity on the 
    lines on your system.  TIMS will report various status 
    information when you monitor its scheduler or a line on which a 
    TIMS session is occurring.

    The information displayed should be self-explanatory.

Tossing and Scanning Mail in Real-Time

    One of TIMS 1.1's most exciting and useful new features is an 
    ability to scan and toss mail in real-time.  This vastly 
    increases the amount of time TBBS can stay online, instead of 
    coming offline for these tasks.

    NOTE:  NetMail is SCANNED and TOSSED.  EchoMail is TOSSED ONLY!  
    EchoMail scanning is a very intensive task requiring extensive 
    disk resources.  For this reason, TIMS DOES NOT support real-
    time scanning!  The ECHOSCAN functionality must still be 
    performed OFFLINE as an external event!

    NOTE:  Tossing can occur ONLY from packets (.PKT files).  TIMS 
    will *NOT* uncompress (un-ZIP, un-ARC, etc.) *ANY* inbound mail.  
    This must be handled offline.  You may wish to instruct systems 
    which supply you with mail to send it UNCOMPRESSED so that TIMS 
    can toss it without coming offline!

    Setting up TIMS to perform real-time scanning and tossing 
    consists of several steps.  They are:

    1.  Configure EchoMail areas in the TIMS.CTL file.  This is 
        accomplished with the MSGAREA statement discussed earlier.  
        All EchoMail areas must be defined here in order to be 
        tossed!  NOTE:  THE NETMAIL MESSAGE AREA *DOES NOT* NEED TO 
        BE DEFINED, since it always has the same name (NET MAIL) in 
        CEDIT.  

    2.  Configure the SCAN and TOSS commands to invoke the actual 
        SCAN and TOSS operations.  These commands are discussed 
        earlier.

        Conceptually, you can (and should) configure the TOSS 
        command with a DOTBBS statement in the TIMS.CTL file to 
        occur at regular intervals.  If you wish it to happen all 
        the time, a TIMS.CTL line like the following will suffice:

            DOTBBS 10 254 TOSS

        This command will cause TIMS to look for mail to toss every 
        ten (10) minutes.  (If something is found, TIMS will toss 
        it.) 
        
        Since scanning can only occur for NetMail messages, you may 
        wish to make that automatic each time a NetMail message is 
        entered online.  The best way to accomplish this is with 
        auto-executing menu entries.  Here is some SDL menu source 
        code to illustrate this:

        ;
        ; Put this on any menu
        ;
        Entry:
        <E>nter NetMail Message
        Key=E  Type=5  Opt Data=NMEN

        ;
        ; This is a new menu of its own
        ;
        Menu: NMEN
        ;
        ; Enter a NET MAIL message
        ;
        Entry:
        Key=^@  Type=7  Opt Data=NET MAIL
        ;
        Entry:
        Key=^@  Type=202  Opt Data=SCAN
        ;
        Entry:
        Key=^@  Type=12  Opt Data=1
        ;
        EndMenu:


        When a user presses the key to enter a NetMail message, it 
        issues a "menu goto" call to the NMEN menu.  This newly 
        defined menu consists of three auto-executing entries which 
        do the following in order:

            1.  Allow the user to enter a message onto the 
                NET MAIL message board.

            2.  Trigger the SCAN command to scan out the newly 
                entered message.

            3.  Return to the calling menu.

        This will all occur TRANSPARENTLY to the user, the net 
        effect being that NetMail messages are scanned (and 
        depending on the TIMS configuration are sent) immediately 
        for rapid mail turn-around.

    3.  Remove references to POSTMAIL and PREMAIL from batch files.  
        If your system was previously setup to run the POSTMAIL and 
        PREMAIL utilities as external events, you can simply comment 
        these out of your batch file (or remove them) since the 
        functions will now be performed internally.

    Notes on Real-Time Scanning and Tossing

    1.  The SCAN command DOES NOT support EchoMail.

    2.  The TOSS command will only toss .PKT files (packets) that 
        are addressed to either your primary node address or one of 
        your AKA addresses.  Other .PKT files will NOT be tossed and 
        will remain in your inbound directory untouched. 

        It is possible to have a .PKT file which is addressed to 
        your system, but which contains messages within it that are 
        addresses to another system.  TOSS cannot detect this 
        condition until it starts to disassemble the packet and toss 
        messages.  It will only toss those messages which are 
        addressed to your primary node or one of your AKA addresses.  
        It will create a special packet named BAD00BAD.PKT if it 
        encounters messages which aren't addressed to you, and will 
        place those messages (which are not to you) into that 
        packet.

    3.  The TOSS command will always create a busy flag file named 
        TIMS.BSY in your PACKET directory when it is running.  This 
        ensures that there will never be two copies of TOSS running 
        at the same time.  The TIMS.BSY file should also be set and 
        tested by any "nanny machine" (the second PC in a Dual-CPU 
        hub environment; refer to the TIMS manual) to assure that 
        TOSS doesn't run while .PKT files are being generated.  TOSS 
        will automatically avoid conflicts in cases where TIMS is 
        still receiving a packet but isn't complete yet.

    4.  The TOSS command DOES NOT USE AREAS FILES (such as 
        AREAS.BBS)!  The message area(s) for EchoMail must be 
        defined with MSGAREA statements in the TIMS.CTL file.  See 
        above.