
                          T.A.G. BBS
                      Originally released as TAG 1.3
                      by Patrick E. Huges
                          -----------------
                       Released as TAG 2.01
                          by Chuck Maier

          |---------------------------------------------------------|
          | UPGRADE INFORMATION IS FOUND AT THE BOTTOM OF THIS TEXT |
          |---------------------------------------------------------|


*note: Lines in this manual starting with '*' are updates from Chuck
       Maier and define changes and his notes!!


         TAG-BBS is an online message and file handling system written
    by Patrick E. Hughes specially  for  the  Amiga personal computer.
    This manual  describes  the  installation  and  operation  of  the
    software.

*   The TAG system source that was released was full of holes and
*   just plain errors. It would not compile! I am using the Lattice
*   4.0 system but the errors had nothing to do with my choice of
*   compilers except for the 'scanf' function. For that reason, I've
*   spent several MONTHS and countless hours straightening out the
*   code, adding feature after feature and generally making it into a
*   BBS you, as a potential sysop, could be proud of!

         Speaking  generically,  a  Bulletin  Board  System  (BBS)  is
    nothing more than a program  that  organizes  a series of notes to
    make them easier to read.  Specifically,  TAG-BBS is this and much
    much more. Not only are messages  neatly  organized and maintained
    by TAG-BBS,  but people may send private mail and access files for
    transfer and reading.  In  addition,  each  of  these abilities is
    protected with a flexible security.


*        I have no visions of fortune! But I will guarentee updates
*   for as long as there is interest in this program and I am capapable!
*   All you need do is give my BBS a call... and download the updates.

*
*                  Chuck Maier
*                  C.A.B. of Delaware 302-764-3186
*                  Wilmington, De
*
*    If you like the 2.xx ... Say nice things and send good thoughts and
*    keep your money if it means THAT much to you! Amiga and its powers
*    keep me interrested and I look forward to keeping the BBS and Amiga
*    together and progressive!
*
*    The BBS number above can be reached to gain access to the continuing
*    upgrades from my desk! The BBS route may be long distance but
*    new revs are sure to be forthcomming... why spend a dollar to save a
*    quarter!!???
 
*        At present, the code is VERY WORDY!! You may not understand this
*    phrase... but I have NOT tried to cut down the SIZE of the T.A.G.
*    system and its memory hungry structures... although I have mastered
*    them. It is apparent that I will, in future updates, be able to
*    cut 30% of the executable size with not too much trouble! All I have
*    been concentrating on  has been packing T.A.G. with features!!



    o    Messages  may be separated  into  an  unlimited  number  of 
         bases, or "sub-boards" as they are usually called. Each has 
         it's own  security,  and each  may be  of a different size.

    o    Files are much  the same as messages, the only limitation 
         being  the amount  of disk  space  available. You may use 
         as many subdirectories as you want, and each has it's own 
         security.  At present Xmodem-Checksum and  Xmodem-CRC are 
         supported  protocols,  and  the  software  automatically 
         responds to the caller's settings.
     
    o    Security is flexible and based on the individual account 
         rather than the entire system. 
     
    o    Automatic support for all modems via their result codes. 
         All serial I/O routines have been optimised and are 
         fully buffered for top speed, this includes protocol 
         transfers too, where the increases really show.
     
    o    Sysop is given as much power as is practical. Increase and 
         decrease time limits instantly, edit accounts quickly online,
         force instant logoff, control of I/O streams (serial in/out, 
         screen & keyboard on/off), send all output to printer 
         and disk file (singly or simultaneously).
     
    o    TAG-BBS was designed with two criterion in mind, speed 
         and reliability. Using efficient programming techniques has 
         resulted in both a system unburdened by unrealistic limits 
         and one ideally suited for a multi-tasking system. The 
         software was written and tested fully on an Amiga system, 
         and verified on a fully expanded hardware setup, not ported
         from some other brand of computer..
     
    o    Multi-tasking is not hampered! You can do whatever you 
         like since TAG runs as a separate process by design, and 
         follows all programming guidelines; assuming memory is 
         available for the other tasks, naturally.
     
*   o    A complete statistics package is included for keeping
*        track of the users, uploads(with optional time compensation),
*        downloads, and per-call statistics.
*        Also included is a simple automatic sysop validation package
*        to allow library validation... hands off if you wish.
*
*   o    A TRIVIAL pursuit database has been moulded right into the BBS
*        since it seemed a VERY simple but enjoyable means of BBS-user
*        gaming. A stats package is included for this along with a
*        HALL-OF-FAME feature!! My co-SYSOP (Dennis Budzitowski) is
*        responsible for the present content of my trivia database!
     
                          Hardware Requirements 
     
    Amiga Personal Computer: 
         1 MEG RAM (more recommended)
         2 disk drives (hard drive heavily recommended)
         Modem (must support DTR pin, almost all do..)
               (can use from keyboard alone for testing)

                            Hardware Supported 
     
    All extra memory improves performance and sizes allowed
    All AmigaDOS compatible hard drives of any capacity 
    All printers. Used for online "hard copy"
 
 
 
                         Configuring Your System 

*      An icon is included with the data necessary to fire-up the BBS
*      once the files are in order (see below). This is NOT a simple
*      icon but it is an EXICON program in itself! Please be sure to
*      edit the associated files as I have included MY actual file
*      contents and many of them will not EXACTLY work on yours!!!
*         Note... The stack should be set to 20000 or you will be
*      visited from the GURU!!

         Defining your system  means  filling  in  a set of text files 
    with the required information, nothing  more nothing less. You can 
    use any standard text editor for this purpose: Ed, MicroEmacs, vi; 
    all  come  to  mind.  The  files  involved  in  this  are  called: 
    Tag_System, Tag_Boards, Tag_Bulletins,  and Tag_Libraries.
     
     
         Tag_System 
    Contains all the pertinent  information  on the system itself, the 
    default securities for  accounts,  modem  control strings, and the 
*   mail and trivia definition.
*   This also includes a parameter for EXPRESS mail! The Express mail
*   parameter is to allow a user to cause the actual mail to pop in
*   the addressees eyes when the addressee signs on!
    
         Tag_Boards 
    Location, size, and security of the message bases on your system. 
     
         Tag_Bulletins 
    Each bulletin is a text file, which  can be read by anyone who has 
    the appropriate security.  Each  may  be  located anywhere, on any 
    disk as long as it is described here. 
     
         Tag_Libraries 
    As with  the  message  bases,  each  library  defines  a  separate 
    subdirectory. Other than that,  your  only worry is  what security 
    each section deserves to worry about.

*        *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
*
*             an ODD number of sublibs is NICE!!!!

*   SubLibs were added to furthur differentiate the mass of files that
*   you get as a BBS. There is NO limit to the number of SubLibs but
*   the number must be ODD! Provision in the Tag_Libraries allows
*   you to name as many as you wish. These are named in the Tag_Libraries
*   file PRECEEDED with a V: which is preceeded with an OPTIONAL number.
*   This number is ONLY to help count the number of entries as the
*   file parsting routine looks for 'V:' to find a sub-dir name!
*   UploadcCompensation was also added. There are an unlimited number of
*   settings for this variable. If you don't want to give back time to the
*   user the time he spent uploading... put (-1) in the variable.
*   Any positive setting will give back upload time and optionally
*   a premium based on the formula... [n=parameter]
*   (#K of upload * n) + (upload time)
*   Therefore... if you set it to .22 and the user uploaded a 30K file
*   which took 6 minutes... he would get 13 minutes credited to his
*   allowable online time. (6 mins upload + 6.6mins Premium).
*   If the upload goes bad (because of line problems etc...) he ONLY gets
*   his upload time back.
*   To ONLY give back upload time... put ZERO in the variable!
 
     
                              A WALK-THROUGH 
     
         First you should go through the TAG_xxx  files and using their
    guidelines, change them to define  your system configuration. I
    leave the details of this step up to you!
     
         After you finish filling out  the  Tag_xxxx  files, copy them 
    into the S: directory of your WorkBench disk. AmigaDOS uses the S: 
    directory for its startup  files,  and  so does TAG-BBS. I do this 
    for two reasons: one being that  no  matter what directory TAG-BBS 
    is run from it can always  find  its  configuration,  the   second 
    being that TAG-BBS can be run  from  anywhere, there is no need to 
    change directories or have a 'root directory' to deal with.
    All sections must be in a SEPARATE directory.
     
         Next  you  must  create   all   the   directories  that  your 
    configuration requires. The only thing to worry about here is that 
    you get all the names spelled  correctly, and  that  each  section
    must be in a SEPARATE directory.
     
         The next to last step in  the  walk-through,  making  all the 
    data files required. Run  the  Generate  utility  and  watch it go 
    through its gyrations. If there will  be any problems running what 
    you wrote into the configuration files Generate will abort and let 
    you know where it couldn't  continue.  Using this information will 
    allow you to rewrite your  configuration  and  try again.
       If there are any errors that you can't figure out pay close
    attention to the amount of disk space left. TAG-BBS  creates all the
    data files needed in their full size. You can never run out of disk
    space (file libraries notwithstanding)  with  TAG-BBS, and Generate will
    not let you use a configuration  too  large for the amount of disk 
    storage available. 
     
         At last, the final step! After all  is written and data files 
    generated CLICK on the ICON!!. You'll  see  the windows open, and you'll
    see it waiting for a caller. By typing in "A" followed by [return] 
    you activate the  account  editor.  Edit  account #1, which is the 
    Sysop by default, and set all  information.  You'll need to make a 
    name, password, and change all security levels to 255. Don't forget
    to validate yourself as sysop!

*   Please note... In the Tag_system file is a USERS parameter. You can
*   feel free to pick a really LARGE number to enter here as long as
*   you have enough DISK space. All the other units.. Libraries,
*   Bulletins etc are kept in RAM and therefore take up RAM!

         Voila, vous etes finis.






                            SECURITY NUMBERS


        Security is separate for each major section of TAG-BBS, Messages
    Libraries, Bulletins, and Status. I'll discuss each of these in turn
    to make matters clear.

        Sec_Status:
    This is the major security you need to know. There are several
    default values, all of which mean very special things.

    =    0 Guest. A first time caller, 0 is the suggested value.

    =    1 New. Just after Joining the board, 1 is suggested.

    =    2 Valid. Set when you edit accounts and Validate.

               The above are set from your Tag_System file, and
               represent standard values as defined in the system.
               It is entirely possible for you to give New
               accounts full powers and give everyone
               Sysop status immediately..

    >= 100 BoardOp. Can do the message base functions D>elete,
           +>Lock, and ->Unlock to the bases they can visit as
           determined by Sec_Board. A sort of controlled power most
           useful for delegating maintenance.

    >= 150 LibOp. Allows the library directory operations R>emove
           on accessible directories. Another semi-powerful maintenance
           delegation feature.

    =  255 Sysop. Anyone with 255 Sec_Status can do all sysop functions.
           This includes message base E>xtract, MainMenu E>dit-Accounts,
           and Private Mail $>Read and D>elete. The most powerful online
           capabilities available.

        All the other securities are set from 0..255 and are independent of
    status. Therefore a BoardOp can not delete messages from a base which
    is inaccessible because their Sec_Board security won't let them visit.
    One further note, except in the Bulletins, if a section is restricted
    due to security a person will not even see it listed.







                            FILES ON YOUR DISK 
     
     
    TAG-BBS : The program itself, this is what you run. 
     
    Generate : Utility to generate your system once it is 
               described in the configure files. 
     
    xxx.Help : Example help menus displayed at various times 
               which show available commands and what they do. 
     
    xxx.Text : Files read out for specific events, such as 
               a guest joining the board; these provide information 
               and help customize the look of your board. 
     
 
    Tag.Stat : Created automatically when you first run the program. 
               May be deleted if a new First Day Online is wished,
               perhaps after you are finished with tests and officially
               open your doors for business.

*   Tag_User_Log : This is created and maintained by the statistical
               unit of the T.A.G.. Every time a user calls and he signs
               on and off... an entry is placed in this file describing
               the time he signed on, how long he was on and his name.

*  Tag_Upload_Log : This file was an afterthought. It is my opinion that
               this file should be unaltered and frequently backed up
               by the SYSOP. This is created and maintained  also by the
               statistical manager totally automatically. It lists all
               files uploaded by ANYONE and includes all the information
               as to what file, from where... when... in case a virus
               or some other malichious crap is uploaded to your board
               and causes problems! You will always know where any file
               originated from on your board!!




                     CALCULATING SPACE REQUIRED

    When running, TAG occupies both disk space and RAM. This dual
nature is the reason for the speed which surpasses all other Amiga
bulletin board programs and some terminal packages as well. Designing
a system that pushes the limits would be trial and error if I were
negligent and didn't tell you how to calculate the space required
without actually generating the data files.

*please note... with TAG-201... these figures are ONLY aproximate! I have
* added MANY new features and many of these structures are affected. If
* you are THAT tight on space... shoot LOW and try it!! The code is
* self-protecting. If it Generates.... it is ok! Please know... there
* is no way that a system designer can know how to reserve space on
* disk based on the UNKNOWN size of your library files. For this...
* you MUST EXPERIMENT!!!

Accounts:
    Disk = 386x
     RAM = 0

Messages:
    Disk = (136+2500)x
     RAM = 136x + 136

Libraries:
    Disk = 216x + File_Sizes (an unknown)
     RAM = 216x + 215

Mail:
    Disk = (136+2500)x
     RAM = 136x + 136

Bulletins:
    Disk = Text_Sizes (an unknown)
     RAM = 188x

    As an example, consider the following small setup-

20 Accounts                    (a very private system)
1 Message Base @ 20 messages   (full of illiterate people)
1 Library Directory @ 10 files (who like to download a lot of pictures)
20 Letters                     (and use mail for text pictures)
10 Bulletins                   (They need a lot of online help pictures)

Accounts:
    Disk = 386 * 20            (7720  bytes)
     RAM = 0                   (0     bytes)
Messages:
    Disk = 2636 * 20           (52720 bytes)
     RAM = (136 * 20) + 136    (2856  bytes)
Libraries:
    Disk = 216 * 10            (2160  bytes)
     RAM = (216 * 10) + 215    (2375  bytes)
Mail:
    Disk = 2636 * 20           (52720 bytes)
     RAM = (136 * 20) + 136    (2856  bytes)
Bulletins:
    Disk = unknown
     RAM = 188 * 10            (1880  bytes)

Altogether: 115,310 bytes of disk storage, and 9,949 bytes RAM when running.







                COMMANDS AVAILABLE

Awaiting Logon:
  followed by a RETURN--

    C       =  Connect to User on modem (You may have gone VOICE to a user)
    A       =  Account editor
    $       =  Sysop immediate logon
    'space' =  Local normal logon
    0       =  Exit to CLI (KILL TAG BBS)
    ?       =  Show Options (a HELP key!)

Main Menu:

    A>ccount, shows pertinent information (all may use except Guest)
    B>ulletins, text files for reading (governed by Sec_Bulletin)
    C>hat, page sysop to chat (all may use)
    E>dit-Accounts, online editing of users' accounts (255 sysop)
    F>eedback, direct mail to #1 Sysop (all)
    G>oodbye, logoff (all may use)
    I>nfo, system information (all)
    J>oin, become a permanent account, start at New status (only Guest)
    L>ibrary, directories (Sec_Library)
    M>essages, bases (Sec_Board)
*   V> Trivia database access!
    P>rivate-Mail, letters (Sec_Status)
    T>ime, including remaining for user (all)
    ?>Help

*   IF you hacve SYSOP access there will be more options under the main
*   menu. As of REV 2.01...
*   E = Edit accounts. This is particularly nice if you want to keep
*       track of your board from a remote location! PROTECT YOUR PASSWORD!
*   S = This gives you the system Statistics package. I have more work to
*       do on this item... but it is functional and pretty straight-forward!
*   X = Shows the 2 log files to you. One log has your USER log with
*       'who was on when for how long' and the other shows you an
*        upload diary of who uploaded what file when! With the advent of
*        this VIRUS business... you know who gave it to you or your user!! 


Bulletins:

    #>number, to read (Sec_Bulletin)
    L>ist, shows all files available with +- security
    Q>uit, go to MainMenu
    ?>Help

Libraries:

    N>ew, visit all directories with new files
    S>elect, answer Y/N to visit or bypass directories
    A>ll, go through all directories
    L>ist, show directories available
    Q>uit, MainMenu

    Prompt:

*       C>atalog, show all files numbered with file sizes and 80 character
*         descriptions. The program automatically formats the lines for you
*         to not 'wrap in mid-word'. It should be noted that the NUMBER of
*         the file is ARBITRARY and only valid for that callers visit. This
*         is done because files are DOUBLE SORTED first by NAME and then
*         by Sub-Directory. This has no impact as files can be accessed
*         by NAME (with wild-cards) and the number is only a 'convience'
*         item!

*       L>ist/Download .. You must enter the LIST mode to DOWNLOAD. This
*         may seem awkward at first but I added a LOT of POWER to this
*         command and didn'T want to duplicate it in a separate command!

        Q>uit, to Libraries above, or next in sequence
        R>emove, delete (Sec_Status >= 150)
        U>pload, if done from keyboard will bypass Xmodem and save
        the file's entry directly
*       The DIRECT upload for the sysop is NOW totally un-necessary! The
*       sysop upload is now TOTALLY automated in the EDIT option below!!


*    IF you have SYSOP status.... the following entries become evident
*    and available...
*    R = Removal... This option will prompt for a RANGE of files to
*        delete. This option was preserved but it is better to go to List
*        above and find the file with LIST and remove it with THAT menu.
*        The reason I mention this is... <1>You will NEVER want to delete
*        a RANGE of files! <2>as I mentioned...the file NUMBERS will change
*        and you may do damage!
*        Also of note... you are ONLY deleteing the file's description
*        and HEADER information. The file remains! You will have to enter
*        CLI and delete the file from the directory to free the space!
*
*    E = Edit... This will allow a SYSOP status person to EDIT a library
*        header entry to change its description, access priority etc! You
*        will get a mini-menu with LOTS of options including ways of
*        locating a file you want to edit. Experiment a little.. you
*        don't have to work very hard to be a SYSOP!!
*
*    A = This is a SYSOP's dream!! IT has several AUTOMATIC operations.
*        <1> Searches through the library directory for headers to which
*            there is NO accompanying file. This should not happen!
*        <2> Searches through the lib dir for files that have NO HEADERS!
*            As you may see.. all you have to do to load a new file for
*            your users... is copy it to the physical library directory
*            and fire off the AutoEditor!!
*            If you accept the prompt..you will be prompted for which
*            SubDirectory to direct it to, its description and the ACCESS
*            will be automatically set to '2'! (You have VALIDATED it
*            for your users!)
*        <3> Checks for ACCESS > 2. It will list files that are set to 
*            255 (USER uploads) and then prompt you to ask if you want
*            to set ALL of them to '2'... If you say no... you can
*            use the MANUAL editor (E) (above) to selectively set anything
*            you wish!
*
*


Messages:

    N>ew, visit all bases with new messages
    S>elect, answer Y/N to visit or bypass bases individually
    A>ll, go through all bases
    L>ist, show bases available
    Q>uit, MainMenu

    Prompt:

        D>elete, (Sec_Status >=100)
        I>ndividual, select single numbers
        N>ew, read new messages since last logoff
        Q>uit, to Messages above
        R>ead, select numbered range
        W>rite, edit a message

        Between (during reading)

            A>gain, go back and read it again
            D>elete, (Sec_Status >=100)
            E>xtract, save into a separate text file (Sec_Status ==255)
            L>ast, go backwards by one and read that message
            N>ext, continue the reading
            P>rivate-Reply, send a letter to the author
            Q>uit, to Prompt above
            R>eply-Regular, write a message in response
            +>Lock, protect from RollOver (Sec_Status >=100)
            ->Unlock, allow to RollOver (Sec_Status >=100)

During Chat:

    Ctrl-V> Version number
    Ctrl-E Ctrl-E> Edit Online User, must be pressed in quick succession

Editor:

    During Text Entry

        Ctrl-X = Delete the entire current line
        Ctrl-W = Delete the last word entered
        Empty Line = Stop text entry, and start edit options

    At Prompt

        A>bort and do NOT save the message
        C>ontinue entering more text
        D>elete a line
        E>dit a line already entered
        F>ree space, report how much space is left to use
        H>elp, give detailed help on the editor
        L>ist all text entered so far
        R>etype last line entered to make a quick correction
        S>ave text





                        FUNCTION KEYS


F1 = Chat On/Off. Only the local keyboard can enter or leave Chat

F2 = Time+10min. Increase temporarily the user's time limit online

F3 = Time-10min. Remove 10 minutes temporarily from the user

F4 = Force Instant Logoff. Immediately jumps to logoff

TAG allows you to control all the I/O streams, which can be a very
useful power. There are input and output options, and all choices
will be displayed in the Status Pane

F5 = Keyboard Input on/off. In case you don't want any accidental
     key-presses to affect the online user.

F6 = Serial Input on/off. This is the most powerful function, since
     you can instantly make the online user unable to enter input!
     Especially handy for taking them for a walk around the system,
     or in Chat when you want to speak uninterrupted.

F7 = File Output on/off. Automatically opens and adds to the end
     of a file called TRANSCRIPT.TEXT which is kept in the directory
     indicated by your configure file, Tag_System LOCAT entry.
     All output will be mirrored into this file until turned off.

F8 = Printer Output on/off. Make instant hard-copy through the
     printer, mirrors all output until turned off. Useful for
     recording information during Chat, or for keeping a log of
     some action.

F9 = Screen Output on/off. If you don't need to see what's going
     on with the system, you can turn this off. It will freeze
     the local screen, but the Status Pane will continue to monitor
     system activity. Will moderately speed up serial output
     since it doesn't stop to send to the local screen.

F10= Serial Output on/off. If you don't want an online user to see
     what you're up to, perhaps editing the account during Chat,
     this is the best. Will not send any output to serial until
     turned on again.


                       EXPANDED TOPICS



                        MODEM CONTROL

        TAG-BBS expects certain things of the modem, the example
setup string provided handles all the requirements, but I have not
made it clear just what is needed.

        First, and most important, is that the modem should NOT
automatically answer the phone. This is unlike any other BBS that I
have run across and is a point to be aware of.

        The modem MUST send result codes, but should NOT echo command
sequences. You should use VERBOSE results since they send an extra CR-LF
which TAG expects. The EXTENDED result codes must be selected, they
correctly show what speed the caller is using and TAG automatically
handles any speed from 300 up to 9600 in this way.

        Disable any "escape code character" to avoid mishaps and false
commands going out to your modem. This is a safety precaution.


        The suggested OPEN: codes for the following are known and
personally tested.

*    PackardBell wanted the folowing....
*                AT E0 M0 Q0 X1 V1 S0=0 S2=255 S7=20 S12=255 &d1
*    before I did this... the examples below would not work! The
*    '&d1' was the KEY change that enabled the hangup sequence
*
*  chuck...

     Hayes 1200: ATE0F1M0Q0V1X1S0=0S2=255S7=20S12=255
USRobotics 2400: ATE0F1M0Q0V1X6S0=0S2=255S7=20S12=255


        The "RESET:" code is NOT the same as the modem Reset command.
Therefore, do NOT use the ATZ command; instead I suggest ATH0 which
ensures the modem is ready for the next caller when it should be.

        If anyone has successfully used an AVATEX modem with TAG please
write me a letter containing your modem settings and all TAG MODEM:
control texts. I do not have an Avatex to test on, and people have reported
problems with other BBS programs so I want to fix any problems before
they happen. Or even better, if someone works for Avatex and wishes to
send me an engineering sample I'll make sure that I work out a solution
if the problem exists!





                    LIBRARY DIRECTORY TECHNIQUES


        Once an online (by modem) account uploads a file into a library
it is immediately available for others to download, all governed by
the securities you've set, of course. Ordinarily this makes things very
easy on a sysop since there is no maintenance involved. However, people
cannot be trusted sometimes and might upload files you do not want.
If you are worried about problems like this I have a solution:

Give one directory a very high Download security (255,255) so that only
someone with that very high Sec_Library can access it.
Set the Upload security to what you want, I'd suggest 0,255 so that
even a guest account may send in a file.
Then you must copy the file itself into a regular directory and do a
"local upload" to make it available to everyone else.



                      MESSAGE BASE TECHNIQUES

        "One Liners": since old messages will automatically roll over
once a base is full to make room for new, you can exploit this fact and
create a base where there is only one message. All anyone can read and
respond to will be the very last.

        If you +>Lock that single message so it doesn't roll over you
have made a bulletin inside the message base that will show up when
an account does a N>ew read of all bases.




                     GENERATE AND HOW TO USE IT

        TAG-BBS needs many disparate files to store data and keep
track of the data stored. Since each system has different sizes I can't
give you already existing files, so I give you Generate. Once you have
set up all your configuration you run Generate. The display shows its
progress and any problems that might arise. Generate will not re-create
any data files that already exist.

        Since Generate does not re-create existing files you may add
new bases and directories as often as you like, running Generate after
each change to the configure files. You do not need to run Generate if
you are just making changes to s:Tag_Bulletins.

        Note that any errors creating a file will cause the generic
"Previous KEYS exist" message to appear; if you know that a file
should have been created this is a signal : you you should check
for errors and correct them.

        THIS EXAMPLE should only be read by those confident with
AmigaDOS and CLI commands. In order to increase the size of an already
existing directory or base without destroying all previously existing
data you must do as the following example for messages shows:

Change the number in s:Tag_Boards to be the difference between the
old number of messages and the new. If you HAVE 100 messages and WANT
to have 150, the number is 50.

   change the s:Tag_Boards temporarily by using the above example to 50
   cd board-directory
   rename Board.Data Old.Data
   rename Board.Keys Old.Keys
   Generate (and if everything goes well continue, else fix the problem)
   rename Board.Data New.Data
   rename Board.Keys New.Keys
   join Old.Data New.Data AS Board.Data
   join Old.Keys New.Keys AS Board.Keys
   change the s:Tag_Boards to the full number you wanted, ie 150 here

I told you it was complicated..



                         TIME LIMITS

        There are three important pieces of information kept with each
account on the system: Time_Last_On, Time_Limit, and Time_Used.
Time_Last_On is something you cannot normally change, it is what keeps
N>ew readings in order. Limit and Used are the two we are concerned with.
Each time a person calls, Time_Last_On is checked and if it is over 12 hrs
ago they get the their full Time_Limit and Time_Used is set back to 0.
If not, then the time they've already used is subtracted from their limit
and if there is any time left they get to the Main Menu. If all their time
has been used they are sent the Logon24hrs.Text and disconnected. This
12 hour limit is based on the time they last called, NOT the calendar day.




                       FUNCTION KEY HINTS

        Though I have previously described the use of the function keys
it often helps to show them in actual use. Running AmigaBoard we've
come across some interesting side-effects and techniques:

        To generate a report of all library files available, turn on
the Transcript.Text file (F7) and visit each library in turn doing a
complete L>ist, or C>atalog for quick summaries. You may also send this
directly to printer using the (F8) function key so you get both a text
and "hard copy" version without having to print it later.

        The same technique can be used to generate a report of all
active accounts by using the U>ser_Listings command.

        While not actively watching the board it helps to turn off
the screen output (F9). You'll still get Status Pane reports, but the
main display will be frozen; this will speed online activities by a
small degree.




                  CREATING A "CLOSED" SYSTEM

        For those of you who wish an exclusive bulletin board, where
members can not Join but must be entered manually by the sysop for
security reasons, here is a technique:

        In the Tag_System file, edit the GUEST entries to have a
time limit of 0. When someone who does NOT have an account calls in
and tries to enter as a Guest they will instantly be read the file
"Logon24Hrs.Text" and the connection terminated. You may edit the
file to contain a No-Admittance message instead of an overtime message
to get the point across. Any members who exceed their limits will also
be read this text, so you should tell them about it before that happens.


************************************************************************
The following is ALL from CHUCK and the FUTURE is BRIGHT!!! I am sorry
if this documentation is not all up to date. I am in a rush to get this
package out as a true PLATEAU is here and as is normal; documentation
always lags a product. If you are a T.A.G. user now... It should be
apparrent... This represents a MAJOR upgrade with much, much, MUCH more to
come!!!


                    THE TRIVIA SUBSYSTEM
   This little diversion is still under construction but it is functional
at its present state. There are only 4 keys in the trivia subsystem..

User: A=answer a question  S=Look at the hall of fame
SYSOP: I=import a trivia file to the board  E=Edit a trivia question

   There is not much to say about this part of C.A.B. except that all
questions are editable in the import file as well as in the live system
file. The import file is made up of sets of 5 line records. The first
is the question (max 80 chars), the next 4 are potential answers with
the CORRECT choice having an ASTERIK in the FIRST column!!
   The import file must be put in the S: directory and named 'TRIVIA-IN'.
It is sudgested that you keep this source file and edit it to add more
questions. The TAG_System file has a Trivia parameter to set the MAXIMUM
number of questions. This only affects DISK space.. not memory!
   The only thing that seems to go wrong with this is the data length
is too long of either the question or answers. Remember.. Questions=80
and answers=40 characters MAXIMUM!! If any one is beyond that you will see
questions and answers mixed in weird disarray!!
   As I mentioned... this is still CRUDE! Much more is planned and patience
is the keyword!!
---------------------------------------------------------------------------
                        S  O  U  N  D
    There is a sound file called tag-sound. It is an IFF soundfile. I put a
sound-player into T.A.G. to play any sound file you substitute for this
file. The sound is played to the SYSOP when 'PAGE THE SYSOP' is hit by
a user. You may substitute whatever you wish for this file but it must be
named 'tag-sound' and must be in the same directory as 'tag' the
executable!!
-------------------------------------------------------------------------

   All comments, suggestions, critisism is WELCOMED!!! I don't have much EGO
and I do want to help! I originally patterned this for my OWN use but
I want to make it useable for as many as possible. If you experience
problems with this version of T.A.G. .... take the time to let me know...
please ... EVERYONE will benefit!!


Keep in mind... what you see as a USER is only a FRACTION of what there is
to the T.A.G. that this has become. The real power of T.A.G. is in the SYSOP
interfaces provided!

    In upcomming versions will be....
Multiple protocols...
Smaller executable....
PLUS.... Whatever YOU can suggest that I can impliment!!!!


Remember... for the best and latest in home grown software .....
Chucks C.A.B. BBS .... 302-764-3186 !!

When you call the BBS... BE ABSOLUTELY SURE TO IDENTIFY YOURSELF
as a T.A.G. USER!!! And what Rev you are running on!!

             ====    END of REV 2.01   ====



                       TAG BBS rev 2.02

    Sorry users... Some holes surfaces the other day while tinkering
around with the SYSOP interface. This upgrade is ONLY the TAG executable.
All you must do to use the upgrade is install the file 'tag' in place
of the copy you are now useing!
    Also, a last minute bug surfaced in the Library generate utility. Use
this new generate utility if you generate a new or upgrade system. If your
system is already set-up to your liking... no new generate is necessary.
    You may not have noticed the problems as they were small but they are
FIXED in this module.

                       TAG BBS rev 2.03

   Several users contacted me and expressed a wish to have a T.A.G. BBS
operate with no Library functions as they didn't have a hard drive
or even a second floppy. I think I made the necessary changes to the
Generate utility and the TAG system itself to make it work with the
NLIBS: parameter set to '0'!!! Try it and let me know what you think!!

                    *********************
                    *  TAG BBS rev 2.04 *
                    *********************

    The LIBRARY has been changed and new features added. This upgrade
will NOT affect the present files or thier descriptions (if you already
have a BBS operating).
    The change is evident and is described in the Tag_Libraries as well
as being presented here. After you set up the Tag_Libraries file as
presented... you can delete the comments in these files!!


   A protection mode is provided at the sub-lib level to keep certain eyes
out of certain files. If this mode is used... a sub-lib's contents
(in all libraries of your bbs) will not appear to a user with less than a
'3' access level.
    You may note that a new security level is now available for GENERAL
use in security. But when specifying "sub-lib" security.. it has very
special applications.
    The new parameter is 'SUBPROT:'  and the mechanism works like this...
You enter the sub-lib's number that appears in the sub-lib list after the
SUBPROT: and that sub-lib will be protected from access by any user with
a security level LESS THAN 3!! But... MORE than that... they will not
even be able to see what data is in them. List and Catalog will not
list thier contents unless the user is a level 3!!
    So understand... you could turn off the SUBPROT: and set the security
on an entire library to '3'!  The user wont be able to upload/download
in this area either... but he CAN read the descriptions!! See the
difference???
   If you wish to not use this security avenue, simply set this parameter
to a number higher than the highest sub-lib in existance on your
board ('SUBPROT:9999' is a good choice)!

   Please note: the NUMBER of the file you put in this parameter matches
the position in the list of sub-libs in the Tag_Libraries file and it
is not the actual sub-dir number that appears when the board is up and
running. This is because the FIRST sub-lib is 'ALL' and must be 'ALL'
for the library program to work!...and causes this  parameter named
to be offset by one!

                     ******************
                     *    TAG 2.08    *
                     ******************

LOTS AND LOTS OF STUFF was added !!!  Read on McDuff.... Many of the new-
found users comments (as promised above) have been brought to this level.

1. TAG has been put on its own SCREEN. But it is a 1-bit screen!
    <A> It uses only HALF as much memory as before.
    <B> If you have the memory... it helps the BBS to multi-task with
        other things you, as SYSOP, may want to do with your machine
        while the board is running!
    <C> Allows you to push the screen and its windows to the bottom
        or, using the BACK gadget, pop the BBS system completely
        BEHIND the workbench screen. You can actually FORGET its
        running there!! 

2. A 'Logoff.text' file is provided for and must be edited into the
   system enviornment. This will be broadcast at the time of a normal
   logoff of your user.

3. Private mail has a number of changes.
   <A> You can now pause the display when listing a letter you are editing.
       The only key valid (at this rev) is the space bar. The letter will
       pause on its own at 20 lines... and hitting any key will allow it to
       go on.
   <B> In the editor.. an extra prompt has been provided and a 'CHANGE
       STRING' option is added. If you choose <C>hange.. the line to edit
       will be listed.. and you are prompted for 'string to change' and
       if its found in the line... prompted for 'string to change it TO'!
       MORE POWER TO THE PEOPLE!!
   <C> EXPRESS MAIL is now implimented in all facets of mail.
         <1> All mail to SYSOP is automatically given EXPRESS mail
             status.
         <2> Express mail is handled exactly the same as normal E-mail
             except...  when a user (who HAS express mail E-mail) signs on...
             he is presented with the E-mail immediatly. If he chooses not to
             delete it... it becomes just simple E-mail upon subsequent calls
             to your board.

4. A new item was added to the Main Menu. The <N>ew point setting!! This
   will affect all menus NEW option. You are presented with your
   present setting... which is normally the LAST time you were on the
   BBS and logged off... and you may advance/retard this point by any
   number of HOURS.

5. Many new stats items have been added/modified for the convenience
   and support of the sysop. Most of these are apparent to the SYSOP
   and won't be individually listed.
      <A> The one major change is in the SYSOP menu under Library
          support. Under the library menu.. there is now only <M>ain-
          tenance. This, if invoked, brings up another menu.
              <E>dit.. this allows editing of library entries which are
                       selected in a number of ways with its own sub-menu.
                       Simple experimentation will make these
                       aparrent to you.
              <A>uto-Edit.. This is described earlier in the documentation
                       and is what you should run if you copy many new files
                       into the library for your users. It makes SIMPLE the
                       work of adding many files to the user library.
              <V>alidate.. is what you will probably run MOST often.
                       This function searches the headers and displays files
                       your users have uploaded. It displays them and
                       their information for you to validate for the
                       rest of your users (give it an ACCESS value [2 or3]).

6. The title bars of BOTH the screen and the windows are used for information
   display. If a user is on and requests a CHAT and you were out-of-the
   room and missed the call bell... for the remaining time of his call..
   The title bars of all the windows will show the *** CHAT REQUESTED ***
   status. Once you answer the chat or he hangs up... the display will go
   away.
   During normal communication.. the windows' bars will show the caller's
   stats. Make use of this however you see fit. It helps me know if he's
   calling long distance of if they are an assett or an ass while I am
   monitoring the board operation. The display will toggle every few
   seconds setting new information!!

              =========== END of REV 2.08 ===========

REV 2.09
    A minor oversight was fixed. Reply to mail now supports the EXPRESS MAIL
option and SYSOP forced EXPRESS MAIL (if ExpressMAil is allowed via the
Tag-System parameter)

              =========== END of REV 2.09 ===========

REV 2.10
   The Tag_System file is expanded to include configurable HOT-KEYS for
when you are in CHAT mode. The earlier TAGs had these glib phrases locked
from your manipulation except with a good sector editor. So now...
you enter a number of keys encoded in a parameter called CHATCOM: and
after this.. enter the key # (a=1... z=26) in following data lines
and the associated data to be put out when these keys (along with CONTROL
key) are pressed!



              =============== END OF REV 2.10 ================

Thoughts for the  future...
        AND I mean the NEAR future.....
                         MAYBE tomorrow.....

WX-modem... Y-modem.... Z-modem... Off disk libraries (request files)....
Voting booth.... Change password.... Comprehensive (possibly graphic)
statistic package.....

 Problems... Questions... Sugestions...

          Call my board

          Chucks C.A.B. of Delaware
          302-764-3186
          302-764-6079 (voice)

 
