TAG-BBS 1.02 Introduction 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. 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. This is a Share-Ware program. This implies that you may make As Many Copies As Desired and are Encouraged To Pass It Around to as many people as possible (including electronically..). This also implies that I wrote it entirely in my own time and received precious little help getting it done. If you use TAG-BBS regularly or in a serious (business, profit) fashion I request that you send in a contribution to aid further development to the program and its utilities. Send the suggested $25.00 dollar contribution to: Sands and Cie. attn: Patrick E. Hughes 419 N. Larchmont, Suite #218 Los Angeles, CA 90004 Check or money order payable to Patrick E. Hughes For your contribution you get the following: o The latest program update o A Manual including recent Question & Answer excerpts direct from AmigaBoard!, with further commentary o Access to the AmigaBoard! "TAG-BBS Sysop" Message Base for guaranteed answers to important questions o The satisfaction of knowing that you are helping in the development and improvement of TAG-BBS So much for the hype and explanations, now comes the list of features available with TAG-BBS. You will find this list handy for comparisons with other software: 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 Xmodem checksum and CRC automatically "chop" incoming files to proper size, there is no sysop maintenance required to render files executable as on other systems. This means that file sizes reported are also always accurate. 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 hand 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 instantly online, force instant logoff, control of I/O streams (serial in/out, screen & keyboard on/off), send all output to printer and disk file. 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; I assume memory is available for the other tasks, naturally. Hardware Requirements Amiga 1000 Personal Computer: 512K RAM recommended 1 disk drive (2nd drive heavily recommended) Modem (must support DTR pin, almost all do..) (can use locally without modem 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" as well as account and system reports (in future) Configuring Your System 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. To make things easier for you, I also include blanks all ready to be filled in and heavily annotated examples to show you how it's done; these files are named exactly as above, but have ".blank" and ".example" endings. Tag_System Contains all the pertinent information on the system itself, the default securities for accounts, modem control strings, and the very small mail definition. 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. A WALK-THROUGH First you should go through the example files and using their guidelines fill in the blanks to define a system configuration. I leave the details of this step up to the Tag_xxx.Example files and 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. 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. 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 "Run TAG-BBS". 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. 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_xxx.Example : Demonstration configure files to help show a working system, should help you get set up Tag_xxx.Blank : Templates to fill in. These are the files you copy into the S: directory of the WorkBench disk to get things going. Do not use comments as are shown in the .Example files, they are only there to explain what is represented. Tag.Stat : Created automatically when you first run the program. 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. 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 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) P>rivate-Mail, letters (Sec_Status) T>ime, including remaining for user (all) ?>Help 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 sequentially/non-stop D>ownload L>ist, one by one Q>uit, to Libraries above, or next in sequence R>emove, delete (Sec_Status >= 150) U>pload Between (during List) D>ownload Q>uit, to Prompt above R>emove, (Sec_Status >=150) S>tatistics, size and transfer time 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 Awaiting Logon: A> Account editor $> Sysop immediate logon 'space'> Local normal logon 0> Exit to CLI ?> Show Options 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.