GAP Communications Guide To Operations Second Edition This manual is Copyright 1987-1991 by GAP Development Company. ALL RIGHTS RESERVED. No part of this manual shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from GAP Development Company. While every precaution has been taken in the preparation of this manual, GAP Development Company assumes no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained herein. The GAP logo is a trademark of GAP Development Company. GAP Communications, including but not limited to: GAPBBS.EXE, GAPSETUP.EXE, GAPUSER.EXE, GAPMENU.EXE, GAPPACK.EXE, GAPRELBD.EXE, GAPCALL.EXE, GAPDOOR.EXE, GAPCOMM.EXE, GAPREPRT.EXE, GAPFILE.EXE and any other program that is distributed under the GAP Communications logo is/are trademarked/copyrighted by GAP Development Company. Qmodem is copyrighted by The Forbin Project and John Friel. IBM and TopView are trademarks of International Business Machines Corporation. PC-SLAVE is a trademark of Alloy. DesqView is a trademark of Quarterdeck. Courier HST is a trademark of USRobotics, Inc. Hayes and Smartmodem are trademarks of Hayes Microcomputer Products, Inc. Contents 1 Introduction 1 Minimum Requirements 1 2 Setup 3 Directory Structure 3 File Locations 4 Forum File Locations 5 Installation 5 3 Configuration 7 Sysop Security Levels 8 File Names 9 Drive/Path Specifications 10 Modem Configuration 11 Main Menu Commands 13 File Menu Commands 14 Miscellaneous Information - One 14 Miscellaneous Information - Two 17 Miscellaneous Information - Three 19 File System Options 22 Events 24 Default Forums 25 Strings and Prompts 26 Function Key Macros 27 Forum Configuration 28 Sample Forum Configuration 31 Sysop Configuration 33 4 System Files 35 Default Directory 35 Help Directory 40 Main Directory 40 Gen Directory 42 Forum Files 45 5 Modem Configuration 49 General Information 49 Sample Configurations 50 6 Doors 55 7 Questionnaires 60 Description 60 Setup 61 Overview 61 Examples 67 Miscellaneous Information 69 8 Events 70 Description 70 Setup 70 Running the Events 72 Batch Files 73 Examples 73 9 Text Files 74 General Information 74 Security Files 75 Security Menus 76 Security News 76 UserInfo Files 77 AnsiCmds 79 Special AnsiCmds 81 Xcodes 81 Creating Xcodes 82 Old AnsiCmds 84 10 Error Codes 85 Remedies 86 11 Call Waiting 89 12 User Editor 91 13 System Operation 95 Main Menu Commands 95 View/Change Stats Commands 98 File System Commands 99 File Commands 99 Archive Commands 100 Sysop Commands 101 Function Keys 101 Sysop Functions 103 Message Read Functions 104 14 Caller Analyzer 105 Description 105 Configuring GAPCall 106 Running GAPCall 108 Normal Operation 110 Batch Operation 111 15 FileBase Editor 113 Description 113 Setup 113 Running Gapfile 117 Utilities 122 Selection List 125 Saving 126 CD-ROM Usage 126 Command Line Interface 134 16 External Protocols 137 General Information 137 Batch Downloads 138 17 GAPMaint 141 Description 141 Configuration 143 Forum Configuration 145 User Database Packing 146 Filebase Packing 146 Message Packing 146 Rebuilding Indexes 147 Tools 148 Setup 148 18 Questions & Answers 151 19 Index 155 Chapter 1 Introduction Welcome to GAP Communications! Because of the overwhelming response from System Operators around the world, GAP has become the standard in communications software. This manual was written to assist you, the new GAP Sysop, to install, run, and maintain the GAP Communications software. Our goal is to get you up and running in the shortest possible time and to answer any questions which you may have. Before beginning the installation process, please read this document carefully. Installing a BBS system can be complicated due to the many individual files involved. Note that the textual content of the Disk File version of the GAP Communications documentation is identical to the printed version.The difference is in page layout and graphic designs. Where appropriate, larger graphics have been replaced by the word ARTWORK. Minimum Requirements IBM AT or 100% compatible (386 required to run Multi User under a Multi Tasking system such as DesqView). 640K memory 1 360K floppy drive. 1 Hard Disk (20MB minimum). CGA, EGA, or VGA monitor. Hayes Smartmodem or 100% compatible DOS 3.1 or greater. ANSI.SYS which is loaded upon boot up. SHARE.EXE (if running under a network or other type of multiuser system). Multi-tasking programs are not recommended, although they may be used. GAP is both TopView and DesqView aware, Page 1 GAP Communications Introduction although it will not function under TopView since it does not tell that program when a screen has been updated. The Multi User versions of GAP are not Multi Tasking, meaning they require either a Network or some sort of Multi Tasker such as DesqView. (Multi Taskers are not recommended). GAP was designed to be run on a dedicated computer. As such, the sysop should keep his TSR programs down to a minimum (or not use them at all). A good disk cache program is an exception to this rule. A working knowledge of DOS is mandatory. The ability to create and/or understand batch files is needed. If you are using the multi-user version, you must already know how to set up your network before attempting to install GAP. We do not provide any setup information for networks since such information takes volumes and our main concern is with getting your GAP system installed as quickly as possible. Since GAP was designed for the professional, this document assumes the sysop has a great deal of knowledge concerning BBS operation and DOS essentials. You should have or create a CONFIG.SYS file with the following parameters : FILES=25 <<- IMPORTANT BUFFERS=40 Your AUTOEXEC.BAT file should contain a path statement that includes the GAP DEFAULT directory : PATH=C:\;C:\DOS;C:\GAP To run the program efficiently, you should be using some type of Disk Caching program with a minimum of 256k allocated to the cache in extended or expanded memory. If you are using an XT, allocate 128k of regular memory to the cache. With a cache program, lower the number of buffers in the CONFIG.SYS file to 3. Page 2 Chapter 2 Setup Directory Structure In order to insure correct operation of your BBS, the following directory structure should be used: Root Directory | | GAP | | --------------------------------------------------- | | | | | | | | | | | | MAIN GEN HELP FORUM DOWNLOAD UPLOADS | | --------------------- | | | | | | GEN DOWNLOAD UPLOADS The Forum DEFAULT directory is equivalent to the MAIN directory and the Forum GEN directory is equivalent to the GEN directory. Forums need not have a GEN directory nor do they need an UP directory unless you choose to keep all uploads inside the Forum. The Forum download directories are necessary only if you have additional file directories available in the Forum. Page 3 GAP Communications Setup File Locations The following is a list of the actual files which should be placed in their respective directories: DEFAULT MAIN GEN HELP DOOR.BAT ANSWERxx 7E1 All Help DOOR.SYS CALL.DAT BLT Files EVENTx.BAT CALLER BLTG EXTRx.BAT CHAT.1 BLTxx EXTSx.BAT DUMMYLOK.DAT COMMENT FILELST.DWN DWNLOAD.DAT DIR GAP.BAT DWNLOAD.IDX DIRG GAP.HLP FILEKEY.DAT DIRS GAP.NDX FILEKEY.IDX DOORM GAPBBS.CNF FILES.DAT DOORMG GAPBBS.EXE FILES.IDX DOORS.DAT GAPCALL.EXE FORUM.DAT ENEWS GAPDOOR.EXE MESSNO.DAT FILEM GAPFILE.CNF MSGS.DAT FILEMG GAPFILE.EXE MSGS.IDX FILES.DIR GAPMENU.EXE NETWORK.DAT FORUMM GAPPACK.EXE NEWQUEST FORUMMG GAPREBLD.EXE QUESTxx KEEPUP GAPREPRT.EXE REGIS LOCKOUT GAPSETUP.EXE SECLEV MAINM GAPSYS.DAT TCAN MAINMG GAPUSER.EXE USERS.DAT NEWS READBTCH.EXE USERS.IDX NEWSG REMOTE.BAT NEWSx NEWUSER NOUP PROTO QMENU QMENUG RESBAUD SMAINM SMAINMG TWIT UPHELP WELCOME Note that some of these files will be created by the setup program and are not included on the distribution diskettes. Also many of them are optional (they must be created if you wish to utilize them). Page 4 GAP Communications Setup Forum File Locations The following is a list of files which can be unique to each Forum: DEFAULT GEN UP DOWN ANSWERxx BLT Uploads Forum MSGS.DAT BLTG Specific MSGS.IDX BLTxx Downloads QUESTxx DIR DIRG DIRS DOORM DORMG DOORS.DAT FILEM FILEMG FILES.DIR MAINM MAINMG NEWS NEWSG QMENU QMENUG SMAINM A Forum does not have to have any GEN files as it can share the equivalent main board files. If you wish for a Forum to not have any specific file directories, you will not need the Upload or Download directories. At the very minimum, a Forum can have 2 files (MSGS.DAT and MSGS.IDX). Installation To install the GAP files, insert the GAP Distribution Disk #1 into your floppy drive and type: A:INSTALL (A:INSTALL) The installation program will create the necessary file directories and copy the GAP files to your hard disk. Page 5 Chapter 3 Configuration Before you can run any of the GAP programs you must create and/or verify that the start-up batch file is correct. A sample batch file was provided (GAP.BAT). The file should appear as follows: GAP.BAT -------------------------------------------------- echo off gapmenu if errorlevel 99 gap To insure proper operation of the BBS, GAP must be run from a batch file. If you are running multiple nodes, you may rename the file but its contents should remain the same. Each node must have its own copy of the batch file and the last line of the file must reflect the name of the individual file. Throughout this manual, the name GAP will be used when referring to the start-up batch file. This is the default name of the main node's file. When running secondary nodes, substitute the name of the start-up batch file for a particular node with the node's own start-up file. For instance: Node 1 GAP.BAT Node 2 NODE2.BAT Node 3 NODE3.BAT The only difference between the files should be the last line where the batch file invokes itself. This document will describe the configuration of a single node system only. If you are running a multiuser system, you will need to perform the configuration from each of your node's DEFAULT directories. It is not necessary to have multiple copies of any of the programs if you have a DOS path set to your main node's default directory. Page 7 GAP Communications Configuration NOTE: If you are using the Multi-User version of GAP, you must be sure to run SHARE.EXE prior to running any GAP program. This is best accomplished by installing the program from your AUTOEXEC.BAT file. To configure GAP for your particular installation, from your GAP DEFAULT directory, type GAP. If you used the installation program, you will automatically be taken into the configuration program. Since this is a first time installation, you will see the Call Waiting Screen and will be taken immediately to GAPSETUP where you may configure your individual options. Most of the configuration options are self explanatory. However any option which requires more explanation will be described here in more detail. Sysop Security Levels ARTWORK The Sysop's Name is the name that GAP uses at various points during the program's operation when referring to you. The Logon Password is the password required to log onto the system from the local console. Remember this password as it will be needed to log on locally as the sysop or to use one of the external editor programs. The various security levels are the levels required to perform their respective sysop functions. Page 8 GAP Communications Configuration File Names ARTWORK These are the names of various system files. It is suggested that you leave these names as they are. All of these files are shareable across a network. Any text file which is shown to the user can be either plain ASCII or ANSI color graphics. Color files have the same name as the plain version but with a G appended. Refer to the sample files provided. Please see the chapter System Files for further explanation of many of these files. The Message and User Files will be created when you save your configuration. The Caller File will be created by GAP when the first caller logs on. This file can grow quite rapidly so it is suggested that you archive it about once a week and then delete the old copy. Our Caller Analyzer has been designed to process these logs and delete them for you automatically. The Welcome File is displayed to callers when they first log on. The New User Welcome File is similar to the main welcome file. It is shown to all new users. Normally its purpose is to describe your board to new users and perhaps set forth a few house rules. After reading this file, the new user will be asked if he/she wishes to register. Page 9 GAP Communications Configuration The Time/Bytes File is a file which contains security levels, time allotments, maximum allowable download bytes and files per day, and ratios. The Trashcan File contains names that you consider to be distasteful. Any user who tries to log on with a name that is found in the trash will be denied access. You may specify the names of the main Questionnaire Answers File as well as the names of New User Questionnaire and Answer Files. The Questionnaire Files are described in more detail in the chapter Questionnaires. If the New User Questionnaire exists, all new users will be forced to fill it out before being allowed onto the system. The Doors Data File is a file which list the available doors on your BBS along with the security levels necessary to access them. The Exit News File will be shown to callers when they log off. The Remote Batch File is a batch file which GAP will run when the sysop exits to DOS from remote. The Forum Data File holds the Forum configurations. Drive/Path Specifications ARTWORK Each entry must begin with a drive designator and the entries must conform to valid DOS path specifications. Page 10 GAP Communications Configuration The Upload Directory Path is the disk directory where the main board uploads will be placed. The General Directory Path is the disk directory where most of the text files are placed. This may be a RAM Disk. The Main Directory Path is the disk directory where important data files are placed. The Help Directory Path is the disk directory where all the help files are located. The Loose Files Directories is the disk directory where any files not classified in the filebase are stored. If GAP cannot locate a requested file in the filebase, it will look in this directory for the file. Note that wild cards cannot be used on loose files. Modem Configuration ARTWORK Please see the chapter Modem Configuration for further details on setting up your modem. The Modem Reset String is the string to reset the modem. The Modem Init String is the string to initialize the modem. The Modem Off-Hook String is the string to take the modem off the hook. The Seconds To Wait For Carrier is the number of seconds GAP is to wait while trying to establish a connection with a Page 11 GAP Communications Configuration remote modem. This should match the S7= parameter in the Modem Init String. Seconds To Wait For Connect is a special field to deal with slow modems. If you find that your modem establishes a carrier and yet GAPMENU simply recycles or if a connection is made but at the wrong bps rate, try setting this field to some number of seconds (typically 1 second). You may configure up to 4 com ports. A port number of 0 tells GAP to not initialize or use a communications port. Ports 1 and 2 are preconfigured and will use the default values for IRQ and Base Address. GAP will ignore anything you enter in these two fields. If you set up ports other than 1 or 2, you must enter the appropriate IRQ and Base Address for that port. If you are unsure of what an IRQ or Base Address is, do not configure other than COM 1 or COM 2! The Initial BPS Rate is the bps rate in which to open the com port. This should be set to the highest speed at which your modem can operate. Lock BPS Rate is typically used with 9600 baud modems. It is used when you want the computer to modem rate to remain fixed. For instance with a 9600 baud modem, you normally would want the computer to modem link locked in at 19,200 bps. Setting this flag will keep GAPMENU from changing the baud rate of the serial port to match that of the caller. Answer On True Ring Detect tells GAP to answer the phone when the modem asserts the ring detect line. This should be set to Y. If your modem is incapable of asserting ring detect you should set this to N. This field should also be set to N if your modem cannot accept commands while it is sending them. Full Flow Zmodem Uploads is a flag just for Zmodem file transfers. If set, GAP will not tell the sending Zmodem program to honor a restricted buffer size. If you have a fast hard disk you should set this flag to Y. GAP allows you to restrict callers based on certain bps rates. If you wish to not allow certain bps rates on your board at all, set the Allow Restricted Callers field to N and then specify the bps rate to restrict. You need not give a start and end time. If you wish to allow restricted bps rates, set the Allow Restricted Callers field to Y, give the rate to restrict, and enter the start and end times. These times are the times that the bps rate is not restricted (i.e., the times they are allowed on). If you create a file called RESBAUD (GEN directory), it will be shown to any Page 12 GAP Communications Configuration restricted caller. This allows the sysop to customize the message that is displayed to callers who call at an undesirable baud rate. The message should be kept as short as possible. There is no color version of this file since GAPMENU does not know what the caller's color preference is. Main Menu Commands ARTWORK These are the security levels a user must have in order to access a particular function from the Main Menu. Note that CHAT and WHO are available only on multi-user systems. A new user is given the Level For New Users. All new callers to the system must register or they will be denied access. If you run a subscription board, when a user's subscription has expired, he/she will receive the Level For Users Who's Subscription Is Expired. This Subscription:Expiredlevel should not be the same as that for new users. Page 13 GAP Communications Configuration File Menu Commands ARTWORK File Menu Commands - These are the security levels necessary to access a particular command in the Files System. View/Change Stats Menu - These are the security levels necessary to access a particular command at the View/Change Stats Menu Miscellaneous Information - One ARTWORK Number Of Bulletins is the maximum number of main board bulletins you intend to post. Page 14 GAP Communications Configuration Number Of Directories is the maximum file directories. Note that the upload directory will be the highest numbered directory. Printer Port is the Line Printer port you wish to have the caller log written to. If the Enforce Time Limit is set to Y, users will not be allowed access if their time limit for the day has expired. They must wait until the following day before GAP will allow them back on. If set to N, GAP will allow any user to log on as many times as they wish in any given day. If you are running a closed board, set the Closed Board option to Y. A closed board is a board in which users will be allowed access ONLY if the Private User Flag (in the user record) is set to Yes. If the file NEWQUEST is present in the MAIN directory, new users will be asked to fill it out before being disconnected. If you run multi-nodes where some users may be members of a closed node and some may not, you should create a file called CLOSED and place the file in your GEN directory. Registered users who are not members of the closed node will be shown this file prior to being disconnected. If you set Prompt For Birthday to Y, GAP will ask all new callers for their date of birth. Note that even if this flag is set to N, all users will be able to update their birthday at the View/Change Stats Menu. In addition, GAP will not validate the birthday. In other words, callers may simply press [Enter] to bypass the birthday field. Forums may be set up to allow users to use a handle instead of their real name while they are in the Forum. If you wish to allow this handle feature, set the Allow Handles field to Y. Users may then give themselves a handle at the View/Change Stats Menu. If you wish to allow users to change their name while on line, set the Allow Name Changes field to Y. Force Registration will insure that new users enter the required information at registration. Phone numbers will be validated as to their content. If a user enters a number such as (555)555-5555 they will be allowed on but as soon as they arrive at the main command prompt, they will be locked out and disconnected. Force 2nd Phone number allows you to set your system up such that GAP will validate the first phone number field but not the second, if you so choose. Page 15 GAP Communications Configuration Experienced users will type Y Q NS or N Q NS at Log-on in order to avoid having to read the welcome and news files. If you wish to force users to view the news and welcome files, set the Allow Quick Log-on to N. The Disable Logon Override allows you to override the override command that some callers may use to bypass the mail check and forced bulletin viewing. If the Force BLT Menu At Log On is set to Y then your users will be forced to view the Bulletin Menu when they log on if any of your bulletins are newer than the user's last date on. GAP shows the name of the last caller on the Call Waiting Screen as well as on the User Stats Display. If you do not wish the last caller to be shown in either of these two places, set the Show Last Caller field to N If you do not wish for the User Statistics screen to be shown to callers when they first log on, set the Show User Stats field to No. You may define the Phone Number template that GAP will use when gathering phone number data. The default template is the one used in the U.S. and Canada. If you live in Europe or another country that uses different delimiters, you may change the appearance of the template. The template allows for 15 characters but the User file currently holds only 13. Keep this in mind when designing your template. Page 16 GAP Communications Configuration Miscellaneous Information - Two ARTWORK The Network Node Number must be set to the node number to which this particular configuration applies. Each node must be given a unique number. In a single user system, this number will remain at 0. If your system is multi-user, GAP has the ability to use NetBIOS for all chat functions. If your LAN supports NetBIOS and you set the NetBIOS Chat field to Y, GAP will create a direct link between two nodes and instead of writing to chat files (which is slow and cumbersome), any characters typed by your callers while chatting will appear instantly on the opposite node screen. In contrast, regular chat must constantly read and write to chat files and characters are not sent until the caller presses [Enter]. The Default Color is the color that is displayed at various points while a user is online: 1 - Blue 9 - Light Blue 2 - Green 10 - Light Green 3 - Cyan 11 - Light Cyan 4 - Red 12 - Light Red 5 - Magenta 13 - Light Magenta 6 - Brown 14 - Yellow 7 - Light Grey 15 - White Note that 8 will result in a non display condition on some monitors. Blank Monitor After allows you to specify the number of minutes to wait before blanking the Call Waiting Screen. Page 17 GAP Communications Configuration The Maximum Number Of Messages is the total number of messages that will be allowed in any one message file. The Maximum Number Of Message Lines is the total number of lines that will be allowed per message. Note that GAP may adjust this limit depending on how much free memory is available at the time of entering a message. Users may address a single message to up to 10 different people providing the message is private and the Allow Carbon Copy Messages flag is set to Y. If the Validate Messages field is set to Y a user will not be allowed to leave a message to anyone who is not a member of the BBS. If you do not wish to allow ANSI color graphics in a message, set the Allow Non ASCII Characters field to N. If a user subsequently tries to enter an ANSI message, GAP will abort the message and issue a notice to the user. If you do not wish to allow users to delete messages, set the Allow Killing Of Messages field to N. You have the option to force all main board mail to be private. To do so, set the Make All Mail Private field to Y. While replying to a message, it is possible to quote all or part of the message being replied to. The Message Quote Char allows you to specify the quote characters that will appear at the start of each line that contains the quoted text. GAP will add a space after the quote characters. If you enter an I as the first character in the quote field, GAP will use the initials of the person you are quoting as the quote characters. Leave this field blank if you wish to disable quoting altogether. You may give time credits for Entering Messages. If you enter a 0 in the Extend Time By Factor field, your callers will actually loose time while entering messages. If you enter any other number, then GAP will multiply the time used to enter a message by the factor you enter here, and credit the caller with that time. If you wish for the news file to be displayed to callers only if it is new, set the Show News Only If New field to Y. The news file will always be shown to new users. You can set the maximum amount of time a user may be idle at the keyboard. Enter the number of minutes of idle time in the Keyboard Time-out field. Page 18 GAP Communications Configuration Miscellaneous Information - Three ARTWORK You may configure GAP to run in a Local Area Network Environment. As such, you will not want your "local" users to perform Sysop Functions by using the Sysop Keys that are available only from the local keyboard. If you set Disable Local Sysop Keys to Yes then your local users will not be able to perform any Sysop Functions that are activated from the local keyboard. GAP any many of its external programs have the ability to shell to DOS or run other programs while at the same time "remembering" the exact point in the program you were at prior to the shell. When you return from DOS or another program, the screen will be restored exactly like it was and you will be returned to the same place in the program. In order to accomplish this, GAP will "move" itself from active memory to either EMS or a disk file. At the same time, all the memory GAP occupied (with the exception of about 8k) will be freed, leaving you with just about the same amount of memory you had prior to running GAP. The Use EMS For Swap field is provided so that you may prohibit GAP and its other programs from using EMS. If you do NOT have EMS memory, you do NOT need to set this flag as it cannot be used anyway. If you have EMS memory, the only reason you would ever want to set this flag to no is if, during a DOS shell, you intend to run a program which is not well behaved and whih allocates EMS for itself in non-standard ways. Page 19 GAP Communications Configuration In general, you should set this flag to Yes. You should set aside (that is, not use) at least 400k of EMS for use by GAP and its utility programs. The Swap Drive If EMS Unavailable field allows you to specify the drive GAP should use to swap to should EMS memory not be available. This field should be left blank unless, for some reason, swapping to the default drive is not acceptable. GAP will automatically Mark any new files it finds during a New Files Search so that callers may automatically download these new files with one simple command. If you wish to disable this feature, set the Allow Automatic File Marking field to No. If you enter Yes in the Use COMMAND.COM for F5 Shell, GAP will remain in memory while you are in a DOS shell. Otherwise, GAP will use EMS to swap itself out, thereby freeing up as much memory as possible. While in an F5 shell that uses COMMAND.COM, some programs may lock up the computer if GAP protects the status line. If you wish to prevent GAP from protecting the status line while in such a shell, set the Disable Status During Shell to Yes. Note that this has no effect if EMS memory is being used instead of COMMAND.COM since the status line will be removed anyway. If, during an External Protocol Shell, you experience problems with the Status Line, set the Disable Status During Ext Shell to Yes. When a caller logs on, GAP tries to determine if the caller has ANSI terminal emulation turned on. This can be either a quick process or a slow one, depending upon your modem or the caller's communications program. You may set the number of seconds GAP waits after it sends the proper ANSI sequences and then interrogates the modem for a reply. 4 seconds should be the minimum number of seconds to wait. To disable this feature, set this field to 0. If an event is scheduled, GAP will set a timer that expires when the event time occurs. There are times, such as when there are a lot of errors during downloading or uploading, that a file transfer could overrun an Event Time. You can tell GAP to abort the transfer if this situation occurs by answering Yes in the Stop Xfers If Event Timer Expires field. Page 20 GAP Communications Configuration You may now set the Upload Guard Time and the Door Guard Time in which GAP will prevent any uploads or door openings prior to an event. GAP can display a unique file intended for a specific user only. Its name is derived from the name of the User you want the file shown to. Because the file names are based upon User Names and there is a possibility that some of these files may duplicate some of your MAIN files, these files need to be placed in a directory called USERINFO which should be created off the MAIN directory: C:\GAP\MAIN\USERINFO The names of these files are derived by using the first 5 characters of the User's Last Name, and the first character of the User's First Name. If the User doesn't have 5 characters in his/her last name, then you would use the entire Last Name: File to Create User Name Mono ANSI ------------------------------------ KENNY GARDNER GARDNK GARDNKG DARIN MAY MAYD MAYDG GAP will show the User Specific File after the Security News and Birthday file. If you would like to have these user specific files deleted after they are shown to the user, set the Delete User Info File After Shown field to Yes. If you set Show Loose Downloads In GAPCALL BLT to No, then any files downloaded from one of your Loose Directories will not appear in the Download Bulletin created by GAPCALL. Enforce Subscription will cause all users whose subscription date has expired to assume the Expired Subscription Level and the Default Forums. Days In Subscrip Period is the length of the subscription period (30 to 365 days). You need to set this field even if you are not using the subscription feature since GAP uses it when registering new users. If the subscription period is less than 60 days, then the warn time for the user is 10 days. Otherwise the warn time is 30 days. When the user's subscription date approaches within the warn time, a file called EXPIRE will be shown to the user each time he/she logs on. This file goes in the GEN Page 21 GAP Communications Configuration dir and it should inform the users that their subscription is about to expire and tell them what they should do to extend their subscription. When a user logs on and his/her subscription date is past the current date, the user will revert back to the Default Forums and will receive the Expired Subscription Security Level. At this point, the EXPIRE file will no longer be shown to the user. It is advisable to create a security news file representing your expired security level to inform the users that they are at the expired level and will remain there until they rectify the subscription issue. You may also specify a security level that is exempt from the Expired Subscription process. File System Options ARTWORK If Enforce Download Count is set to Y, users will be limited to the maximum number of files you specified in SECLEV for their security level per day. If the Enforce Byte Count is set to Y, users will not be allowed to download any files on any particular day if they have already used up their allotted count. They must wait until the following day before they will be allowed to download any files. The number of bytes they are allowed to download during any single day is set up in the SECLEV file. If Extend Download Count is set to Y, then for every file callers upload, their maximum number of download files is increased by 1. However, the callers will never be able to download more files than the maximum number of files set up Page 22 GAP Communications Configuration in SECLEV for their security level. Basically this is a one for one upload/download credit. A caveat is that the uploads must come first! Extend Time By Factor allows you to specify a multiplier that will be used to give back the time spent uploading. GAP will multiply the time it took to upload a file by this factor and credit the caller with that time. Note that if you enter 0 in this field, the caller will actually loose time. Enforce Up/Down Ratio and Ratio By Bytes Or Files allow you to enforce upload/download ratios. By Files means the callers must maintain the ratio specified in SECLEV or GAP will not allow them to download any files. If you specify by Bytes, the callers must maintain the ratio specified, however, the number entered into SECLEV is the number of k- bytes that must be maintained. If a caller attempts to download a file and his/her ratio is greater than the ratio set up for the specific security level, GAP will display a file called RATIO and will not allow the download. The RATIO file should explain to the callers why they are unable to download and what they must do to regain download privileges. There may be a color version of the file, and of course, this would be a perfect place to use the Ansicmds. If Private Uploads is set to Y, all uploads will be given a security level of 110. This allows the sysop to review any uploads prior to making them available for downloading. Future versions of GAP will allow users to specify the subject they wish to have their uploads placed. The Allow Directory Uploads is currently ignored. The Minimum Free Upload Space is the amount of free space that must be left on the hard drive before GAP will accept an upload. If the Show Free Upload Space is set to Y, GAP will display the free upload space to the caller on the file transfer screen. The Default Filename Extension is the extension GAP will use whenever a caller is prompted for a filename and does not enter an extension to the name. You may install up to 8 External Protocols. To activate them, type Y in the External Protocols field and in the Protocol Letters field, type in the one character letter to represent the external protocol driver. Note that you will not be able to type in a character that represents an Page 23 GAP Communications Configuration internal protocol. Also note that the character D has a special meaning to GAP. Please see the chapter External Protocols for more information on how to configure external protocols. Check For Dupes Across Areas tells GAP to search ALL areas for a duplicate file during an upload. Using this option, if a file about to be uploaded exists anywhere in the filebase, then GAP will not allow the upload. You should not use this feature if you have files in a 'private' area that you would not want regular callers to know about should they attempt to upload a dupe. Events ARTWORK Please see the section Events for further information. Page 24 GAP Communications Configuration Default Forums ARTWORK This screen allows you to specify which, if any, Forums are to be Default Forums. New users are automatically registered in these Forums. Enter the total number of Forums you wish to set up in the first field. This number should represent the number of Forums you intend to set up at this time. Do not enter a number higher than the number you plan to run since all Forums must be properly configured and the configuration depends upon the number you enter here. If you are setting up for the first time, it is best to set this field to 0 and then configure your Forums at a later time when you are more comfortable with the system. GAPSETUP will not allow you to exit if you do not properly configure your forums. Set each of the default fields to Y or N depending on whether or not you wish the Forum to be a default Forum. Page 25 GAP Communications Configuration Strings and Prompts ARTWORK The Additional Board Name is any text that you wish to have displayed after your BBS name. The Twit String is displayed to the user when the sysop presses the F8 (TWIT) key to log a user off. The Lockout String is displayed to the user when the sysop presses the F2 (LOCKOUT) key to lock a user out and to log him/her off. The Comment Prompt is displayed to the user when he/she leaves a comment. There are 3 combinations for the TWIT, LOCKOUT, and COMMENT prompt strings. If TWIT and COMMENT are empty, then nothing will be displayed to the user. If the LOCKOUT string is empty, then the user will be displayed a standard prompt generated by GAP. If the strings do contain information, then whatever they contain will be displayed. If any of these 3 strings starts with a ? then a file will be displayed to the user. The filenames are called, respectively, TWIT, LOCKOUT, and COMMENT and they are located in the GEN directory. Of course, as with any GAP file, they may have a G appended to them for color displays. Any user locked out by the LOCKOUT key will be placed in the Trash Can. If a ? is used in the COMMENT field, you must still enter a comment prompt after the ?. The reason for this is that GAP Page 26 GAP Communications Configuration will show the file, but it will also need a prompt to display after showing it. The lockout text file will also be displayed to a locked out user trying to log on (if it exists). Function Key Macros ARTWORK The Shift Function Keys may be programmed to display any information you like. They are active only during certain times (i.e., during message entry or while chatting with a user. You may use the { character as much as you like for a single function key. For instance, you can program one function key to display as many separate lines of information as you can fit into the space allocated Page 27 GAP Communications Configuration Forum Configuration ARTWORK For each of your Forums, there will be a Forum configuration screen. Forum Name - This is the name that GAP will display to the users at various points while they are in the Forum. Forum Directory Path - This is the drive and path to the Forum DEFAULT directory. The MSGS.DAT and MSGS.IDX will be placed here. Gen Directory Path - This is the drive and path to the Forum GEN directory. If the Forum uses its own specific menus, they must be placed here. This path can be set equal to the DEFAULT directory path. See the file layout chart for more information as to which files go in this directory. Upload Directory Path - This is the drive and path to the Forum UPLOAD directory. If the Keep Uploads Inside flag is set to Y and a user uploads a file while inside the Forum, the file will be placed in this directory. Forum Sysop - Each Forum may have a dedicated sysop and assistant sysop. To activate this feature, type in the user's first and last names, separated by a space. The security level is the actual level you want the user to have when he/she joins the Forum. It is not an additional level, but the exact level. If the Forum is set up to give additional security, the Forum sysops will not be given the additional security. Number Of Bulletins - If the Forum is to have its own set of bulletins, enter the total number here. Don't forget to Page 28 GAP Communications Configuration create a BLT file to list the bulletins and place it in the GEN directory. Number Of Directories - If the Forum is to have any additional file directories, enter the number of additional directories here. Note that the Forum upload directory will be the highest directory number. Example: If the main board has 10 directories and the Forum has 2 additional directories, while a user is in this Forum, there will be a total of 12 directories. Subject 11 will be the main board upload directory and subject 12 will be the Forum's upload directory. Include Main Board Dirs - If set to N, the Forum directories will be completely isolated from the main board directories. This means the main board directories will not be available while inside the Forum. Instead of starting with the highest main board directory plus one, the Forum directories will start at 1. Additional Security - If you wish to increase a user's security level while he/she is in the Forum, enter the additional level to add to the user's normal level here. Additional Time - If you wish to grant your users any additional time while they are in the Forum, enter the number of minutes to add to their time here. Note that a user will be granted additional time once only. Also, they will not loose the additional time when they abandon the Forum. Allow Handles - If this Forum utilizes handles, enter Y in this field. While in a Forum that allows handles, a user's name will change to their handle. Subscription Date - It is possible for you to rent out a Forum to outside parties to run as they see fit. You may set a date that the Forum will expire. When that date arrives, no user save the sysop will be allowed to enter the Forum. If you do not wish to use this feature, be sure to set the Subscription Date to 01/01/01. Auto Rejoin Forum - If this field is set to Y and a user logs off from inside the Forum, he/she will automatically join the Forum on the next call. Private Uploads - If you want all the Forum uploads to be private (as in the main board) set this flag to Y. Page 29 GAP Communications Configuration Keep Uploads Inside - If you want all the Forum uploads to be kept in the Forum upload directory, set this flag to Y. Otherwise, the user will be asked if he/she wishes the upload to stay in the Forum. If the user answers Yes, the upload will be kept in the Forum upload directory. If the user answers No, the upload will be placed in the main board upload directory. Make All Mail Private - If you want all the messages to be private, set this flag to Y. Make All Mail Public - If you want all the messages to be public (with the exception of comments), set this flag to Y. Note that the sysop can override this setting and leave private mail. Net Mail Forum - If you want the messages in a Forum to be utilized in an Echo Mail system, set this flag to Y. GAP will ask a caller if a particular message should be echoed or not. NOTE: In order to activate file directories inside of a Forum, you will need a DIR file in the Forum GEN directory. The presense of this file tells GAP that the files system is avaiable while a caller is inside the Forum. If the file is missing, the caller will be told the Forum has no file directories. All other files are shared with the main board. If the Forum has its own set of menus, questionnaires, doors, etc., GAP will use those files instead of the main board versions. NOTE: Any time you wish to add new Forums, it is imperative that you add the new Forums to the end of the list. In other words, if you have 5 Forums and you wish to add a 6th, you must add the 6th Forum in the 6th slot! You must not attempt to insert a new Forum in the middle of a set of existing ones. Doing so will render your Forum message bases useless. There are a lot of configuration possibilities with the Forums. A Forum can be set up to have no Files System whatsoever or it can be set up to simply use the main board Page 30 GAP Communications Configuration file directories with no additional file directories of its own; or it can be set up to use the main board file directories along with its own directories which can be seen only while in the Forum. In addition, there are combinations of private/public uploads as well as the ability to keep all uploads in the Forum. Sample Forum Configuration When the configuration as shown in the Forum Configuration Screen is saved, the setup program will automatically create the Forum disk directories. Notice that this Forum has its own GEN directory,UPLOAD directory, and two DOWNLOAD directories. Because the Use Main Board Dirs is set to No, GAP will not look in the main board for a file. The Forum file directories are completely isolated from the main board. The subject numbers for this Forum will be 1 and 2. Subject 1 is the download directory and subject 2 is the upload directory (for this Forum). Subject numbers are discussed in more detail in the chapters System Files and FileBase Editor. Note that it is not necessary to have a Forum GEN directory. All files can be placed in the Forum DEFAULT directory if you prefer. The GEN directory field was provided so that you may use a ram disk for the static files. Included in the GEN directory are the two file menus DIR and DIRG. These are the same as the main board files but were modified to show the Forum subjects instead of the main board subjects. This Forum has its own questionnaire so the Forum GEN directory contains a QMENU and QMENUG. It also has a news file which is located in the GEN directory. All other GEN files as shown in the file layout chart are shared with the main board. The actual disk directories for this Forum contain the following files: Base Directory = C:\GAP\SUP DEFAULT GEN UP DIR1 Page 31 GAP Communications Configuration MSGS.DAT DIR Uploads Downloads MSGS.IDX DIRG QUEST1 DIRS FILES.DIR QMENU QMENUG NEWS NEWSG In contrast to the above Configuration, you could set up a simple Ads Forum whereby the Forum had no files unto itself other than MSGS.DAT and MSGS.IDX. It would simply share all files with the main board. The Forum specific directories (GEN and UPLOAD) would be the same path as the Forum Directory Path. There would be no Additional Download Directories. And since the Forum does not contain a DIR file, the user would not be allowed to access the Files System while in this Ads Forum. By simply copying over the main board DIR and DIRG files you would open up the Files System for your users while they were inside this Forum. As previously stated, there are a great many possibilities with the Forums. It will take some experimentation on your part to fine tune the various Forums to suit your needs. At this point, the configuration is nearly complete. Press [ESC] to end GAPSETUP. Answer Y to save changes. Page 32 GAP Communications Configuration Sysop Configuration ARTWORK After answering Yes to save your setup configuration, you will be taken into the user editor. During a first time installation, the sysop will automatically be placed as the first record in the user file. You must now edit that record and change any fields to suit your own preference. The first name, last name, and password are the names you must enter if you call from remote and wish to be recognized as the sysop. For security reasons, the first and last names should not be your real name. GAP will never refer to you by these names, their sole purpose is to get you into the system, as the sysop, from remote. Your GAP is now fully configured! If you used most of the default responses during the configuration and if you have installed the sample files you may jump right in and log on as the sysop to explore the system. You will still need to create a great many files and the rest of this documentation will help you do just that. Sample files are provided for most of the GAP system files. Study them carefully. In order to fully customize GAP you will need to modify the sample files or create your own set. Good Luck! And let us know how the setup and configuration worked for you. We are always eager to provide assistance and make things easier on the number one person: the Sysop! Page 33 Chapter 4 System Files The system files are the files GAP needs in order to run properly. Some of them are created automatically by the setup program while others must be created by the sysop. Most of them are provided as sample files on the distribution diskettes. Any file which is displayed to the user, from the time the user logs on to the time he/she logs off, can have an ANSI color equivalent. If the user chooses color at log on, the color equivalent of any file listed here will be displayed (if it is available) rather than the normal ASCII version. ANSI color files can be created with any of the shareware ANSI Editors available. Text files that are displayed to users may contain special flags. Placing an { as the first character in the file will suppress the more prompt. This is useful for long ANSI welcome files. Placing an @ as the first character will replace the more prompt with a pause prompt. This is useful when you want your callers to read a file in its entirety. Default Directory GAP.BAT - This file is the workhorse of the system. It is responsible for running GAP as well as making sure that all the individual GAP files function together as one unit. GAP.BAT -------------------------------------------------- echo off gapmenu if errorlevel 99 gap It is suggested that you leave this file as is. Since GAP always exits to DOS when it terminates, the last line in the batch file is an absolute necessity. When GAP wants to Page 35 Communications System Files recycle, it will issue an error level of 99 to DOS. The last line insures that GAPMENU will be run. If you are running multiple nodes, you will need a copy of this file in each of your nodes' DEFAULT directories. The name of the file should be unique for each node and the last line in the file should reflect the changed name. REMOTE.BAT - When a sysop exits to DOS from remote, GAP will run this file. It may contain any commands you wish, however it must load a secondary copy of COMMAND.COM if you wish to perform any dos functions and return to the file when you are finished. The example and explanation that follows describes operation for COM port 1 only. REMOTE(.BAT) -------------------------------------------------- echo off watchdg1 on ctty com1: echo **************************************** echo *** Sysop In Dos From Remote *** echo *** *** echo *** Type 'Exit' To Return To GAP *** echo **************************************** command c: cd\gap ctty con: watchdg1 off Watchdog is a public domain program which will monitor the com ports for a carrier. If it fails to find one, it will re-boot your computer. Such a program is necessary. If the person who has exited to DOS from remote drops carrier, your computer will be sitting idle waiting for input from the com port, and of course, there will be nobody there! The documentation for Watchdog gives further instructions on its use. Watchdog is not provided with the GAP distribution diskettes. The CTTY COM1: command redirects all input/output to the com port. Please refer to your DOS manual for explanation as to its use. The ECHO commands simply remind the sysop to type EXIT to return to the BBS. Don't forget the CTTY CON: command or all keyboard activity will be ignored and all output will be sent to the com port. Page 36 Communications System Files DOOR.BAT - When a user selects OPEN from the main GAP Command prompt and opens a valid door, GAP will run the associated batch file. Door setup and files are explained in more detail in a later chapter. The batch file that invokes the door program is a regular DOS batch file DOOR.BAT -------------------------------------------------- echo off cd\doors door c: cd\gap GAPBBS.CNF - This is the configuration file for GAP. It is created automatically by the setup program. DOOR.SYS This file is created when a user enters a Door. DOOR.SYS is a standard door interface which is used by many door authors. EVENTx.BAT This is the event batch file which you must create. Events are covered in more detail in a later chapter. EXTRx.BAT EXTSx.BAT These are the batch files that are used to invoke an external protocol. The first is for receiving files and the second is for sending files. Please see the chapter External Protocols for more information. FILELST.DWN During batch downloads, GAP creates this file. It stores vital information necessary to allow a caller to download as many files as the sysop allows. It is used internally by the system although a utility program is provided which allows you to utilize the information contained within so that external protocol programs can be set up to provide batch transfers. GAP.HLP GAP.NDX These are the Help files used by many of the Utility programs. GAPCALL.EXE - GAP's own Caller Analyzer! It is explained in more detail in the chapter Gapcall. Page 37 Communications System Files GAPFILE.EXE - This is the external FileBase Editor. It is used to maintain your database of files. Please see the chapter FileBase Editor for further information. GAPBBS.EXE - This is the main GAP Communications program. It consists of several overlays and as such, if used in a multi-user environment, it should be set to read-only if your networking system does not properly support shared reading of files. An alternative is to keep a copy of this file in the default directory of each of your nodes. Failure to observe this precaution may cause your system to freeze one day with the dreadfeal DOS prompt, Sharing Violation reading drive C. GAPMENU.EXE - This is the program that directs various functions. It is responsible for answering the phone, running events, allowing you to configure your system, etc. GAPSETUP.EXE - This is the program that allows you to configure your system. GAPUSER.EXE - This program is the offline user editor. GAPREBLD.EXE - This program rebuilds your message and user file indexes. It should be used whenever you receive an Error message that tells you to rebuild your index files. In addition, should you ever encounter a problem with GAP not being able to find a user or a message when you know that the user or message exists, this program should be run. NOTE: Indexed Sequential Access Method (ISAM) is a method to retrieve data records based on key information stored inside index files. Compared to sequential searches it is fast and efficient. However, indexes can be touchy and because of their nature you are urged to back up your ISAM data files at least twice a week. Using one of your events would be a perfect way to insure the integrity of your files. You can invoke GAPREBLD in a manner such that it will forceably rebuild all of your data and index files. To do so, type GAPREBLD F. In addition, if a particular message base is causing problems, you can delete the .IDX file for that base and run GAPREBLD. It will rebuild just that index file. Page 38 Communications System Files GAPPACK.EXE - Message and user files fill up with outdated information. This program will purge those files of unneeded data. It features a single pass purge routine for message files wherein messages can be stripped of refer to message numbers at the same time they are being purged. It is also used to purge corrupted records from the ISAM data files. The program may be run from the command line or interactively. To invoke the program, you must supply the full path to the file you wish to pack and specify if the file is a user file or a message file: GAPPACK C:\GAP\MAIN\MSGS.DAT M GAPPACK C:\GAP\MAIN\USERS.DAT U The M tells the program that you are packing a message file and the U specifies the user file. In addition, you may pass optional parameters that tell the program what to do with the file. When packing the user file, the options are: Y or N where Y means to delete locked out users and N means to keep locked out users. xxx represents a time frame (number of days) a user must have called within in order to be exempt from purging. xxx represents the security level that is exempt from purging. The following example would purge the user file, deleting all locked out users and any user that has not called within the past 120 days. Any user with a level of 90 or greater will be kept in the file even if they have not called within the past 120 days: GAPPACK C:\GAP\MAIN\USERS.DAT U Y 120 90 When packing the message files, the options are: xxx Purge any message older than xxx number of days. Y or N where Y means to delete private/received messages and N means to keep those messages. Page 39 Communications System Files The following example will pack the main board message file, deleting any message older than 120 days and any private message that has been received: GAPPACK C:\GAP\MAIN\MSGS.DAT M 120 Y It is good practice to pack all of your message files at least once a week. This keeps the message files clean and removes any deleted messages. GAPDOOR.EXE - This program will create the files necessary to run door programs for other BBS's. Help Directory All help files are placed here. Sample files are provided. Main Directory The MAIN directory should be backed up periodically. We suggest every other day as a minimum. QUESTxx NEWQUEST ANSWERxx REGIS These are the questionnaire files. ANSWERxx and REGIS are created automatically when a user fills out a questionnaire. Questionnaires are described in more detail in a later chapter. CALLER - This file is created automatically, the first time you run GAP. It contains detailed information about the caller's activities. Its structure is described in a later chapter. CALL.DAT DWNLOAD.DAT DWNLOAD.IDX The Caller Analyzer program will create these files the first time it is run. CALL.DAT holds all of the information contained in the caller logs. The DWNLOAD files are ISAM files which hold the name of every file that has been downloaded. Also maintained are the total times downloaded for each file. Page 40 Communications System Files DUMMYLOK.DAT - This file will appear only if the system is multi-user. It is created automatically by the setup program. This file allows us to overcome the DOS limitation of not being allowed to read a record in a file while it is locked by another process. FORUM.DAT - Contains configuration information for each of the Forums. SECLEV - This is the times/download byte file. When a user logs on, this file is scanned to determine the user's allowed time in minutes and the total bytes and files that are available for any single day. This file must exist or you and your users will have just 12 minutes per day and no download privileges! SECLEV -------------------------------------------------- 5 12 0 0 10 20 15 9 1 10 50 50 999 10 20 60 60 999 10 30 70 70 999 10 30 80 80 999 20 30 90 90 9999 99 0 100 120 9999 99 0 110 220 999 99 0 LEVEL MINUTES BYTES FILES RATIO All five fields must be used. Each field must be delimited with 1 space. The download bytes are the number of K bytes a user is allowed to download. GAP will multiply the number you enter in this field by 1000 to determine the user's allowable download bytes. The maximum files are the total number of files a user is allowed to download in any one day. The upload/download ratio that must be maintained. If a user's level cannot be found in this file, the user will receive the time and bytes associated with the next highest level. Even if you do not wish to enforce ratios, you must enter a number in the ratio field. A ratio of 0 will disable ratios for that security level. If a caller attempts to download a Page 41 Communications System Files file and his/her ratio is greater than the ratio allowed, a file called RATIO (GEN directory) will be displayed. This file should explain why the caller is unable to download and what must be done to rectify the problem. If you enforce ratios by Bytes, the number entered here is the number of k- bytes that must be maintained. If you enforce ratios by Files, the number is the number of files that can be downloaded per each file uploaded. Note that to prevent system errors, zero uploads is the same as one upload. TCAN - This file contains the undesirable names which you wish to prohibit your users from using. If a user tries to log on with a name that is found in this file, he/she will be denied access to the system. TCAN -------------------------------------------------- MARY POPPINS DOCTOR HELL MR. DEVIL EVIL MESSNO.DAT - This file is used internally by GAP. It is created automatically and must remain in the MAIN directory. MSGS.DAT MSGS.IDX These are the main board message files. They are created automatically and are maintained by the program. NETWORK.DAT - In a multi-user system, this file contains information that is shared across the network. It is created automatically by the setup program. USERS.DAT USERS.IDX These files contain the statistics on all of your users. Gen Directory The GEN directory can be a directory on a RAM disk or a hard disk. 7E1 - This file will be displayed to callers who use 7 E 1 communications parameters. It should be a text file written in upper case and perhaps 40 columns. Its use is to inform the caller that some of the screens may appear garbled, that Page 42 Communications System Files they will be limited to ASCII downloads, and that on subsequent calls they should use 8 N 1 parameters. BLT BLTG BLTxx These are your main board bulletin files. BLT is the menu which lists the bulletins and their numbers. There can be up to 999 bulletins. BLTG is an ANSI color version of the menu. Samples of these files are provided. COMMENT - This is the file that is displayed (if it exists) to your users whenever they attempt to enter a comment. Many sysops feel that a comment is just that and deserves no reply. Such a text file will allow you to express your thoughts to your users. DIR DIRG DIR is the menu that lists the available subjects (file categories) on your system. DIRG is an ANSI color version of the menu. DIRS This file lists the file subject numbers and their descriptions. It is not shown to callers at any time. Its purpose is to tell GAP the name of your subjects. It is used by both GAPBBS and GAPFILE. When the name of a particular subject needs to be known, this file will be scanned so that the subject description can be displayed. The chapter FileBase Editor contains details on the actual format of this file. DOORM DOORMG DOORS.DAT DOORM is the menu that lists the available doors. DOORMG is an ANSI color version of the menu. DOORS.DAT is the data file that holds the actual door information GAP needs in order to run the batch files that invoke the doors. Doors are explained in more detail in a later chapter. ENEWS ENEWSG These are the exit news files that are displayed (if they exist) when a user logs off. FILEM FILEMG These are the files system menus. They list the available file commands. Page 43 Communications System Files FILES.DIR - This file is used by GAPFILE when moving or locating stray files. Its format is described in the chapter FileBase Editor. FORUMM FORUMMG These are the Forum menus that list the available Forums. LOCKOUT - This file is optional. If it exists, it will be displayed to a user when you press the F2 (LOCKOUT) Key. It will also be displayed to any locked out user attempting to log on. MAINM MAINMG These are the main menus that list the available commands in the main section of the board. NEWS NEWSG NEWSx These are your news files. They will be displayed to the users after log on. The news file is displayed once per day. In addition, callers may review the news by using the Initial News And Welcome command. You can have up to 10 news files. If you wish to add additional files, append a number after the name. It is not necessary that the files be sequential. For instance, you may have a NEWS, NEWS1 and NEWS5. The only requirement for using supplemental news files is that the basic NEWS exists. NEWUSER - This is the new user welcome file. It is displayed to all new users. NOUP - Many sysops like to prevent callers from uploading files with certain extensions. The NOUP file allows you to do just that. The format is as follows: NOUP -------------------------------------------------- .TXT .DOC .COM .EXE PAGE PAGEG These files are optional. If they exist, they will be shown Page 44 Communications System Files to the user if you do not answer the page bell. You may use them to give your office hours or other information. PROTO - This file lists the available transfer protocols. It should be kept as short and simple as possible. In addition, any external protocols you add to the file should be labled as such so that callers know exactly what is involved. QMENU QMENUG These are the menus that list the available questionnaires. SMAINM SMAINMG These are similar to the main menus except they list the available sysop commands in addition to the regular commands. TWIT - If this file exists, it will be displayed to a user when you press the F8 (TWIT) Key to log the user off. UPHELP - This file is shown to callers prior to prompting them for an upload description. It explains how to enter keywords as well as leave private files. WELCOME WELCOMEG These are the welcome files that are displayed to users at log on. Forum Files Default Directory The default directory is the only directory that is required for a Forum. In addition, only two files are required (MSGS.DAT and MSGS.IDX). If you have a Forum called Ads, you could create a DOS subdirectory called \GAP\ADS. This directory would then become the Forum DEFAULT directory. In this directory, the configuration program will create two files called MSGS.DAT and MSGS.IDX. Page 45 Communications System Files You do not need to create the DEFAULT, GEN, or UPLOAD directory as they will be created automatically for you during configuration. Please see the file location chart for the names of the files you can create to cause a Forum to run as a mini BBS. NOTE: In order to activate file directories inside of a Forum, you will need a DIR file in the Forum GEN directory. The presense of this file tells GAP that the files system is avaiable while a caller is inside the Forum. If the file is missing, the caller will be told the Forum has no file directories. Except for the DIR menu, if GAP fails to find a unique Forum file, it will use the equivalent file from the main board. Gen Directory As with the main board GEN directory, the Forum GEN files may reside on a RAM disk. You may also use a hard disk GEN directory simply to keep the Forum GEN files separate from the DEFAULT files. Up Directory If you wish to keep Forum uploads inside the Forum, they will be placed in this directory. There are two additional files associated with the Forums: KEEPUP KEEPUPG If used, these files are placed in the main board's GEN directory. They are kept there so that they may be shared between all Forums. As explained previously, when a user attempts to upload a file while inside a Forum, and if that Forum has additional file directories, and if the sysop has specified that all uploads are not to be kept in the Forum, GAP will asked the user if he/she wishes to keep the file inside the Forum. The Page 46 Communications System Files above two files will help explain the reasoning prior to asking the question. One reason for keeping uploads inside the Forum is to prohibit the user from uploading Forum specific files to the main board. The sysop has the option to force all uploads inside of a Forum to remain in the Forum. If the sysop sets the Keep Uploads Inside flag to No and if the Forum has an upload directory, the user will be asked where to send the file. Page 47 Chapter 5 Modem Configuration The modem used with GAP must be of the smart modem variety where it is capable of sending verbose result codes (i.e., RING, CONNECT, CONNECT 2400). In addition, you must be able to configure the DTR and CD lines. If your modem does not meet any of these requirements, GAP will not run. The modem cable must have pin 22 (the Ring Indicator line) connected. If it does not you will have to configure GAP to not answer on True Ring Detect. The following modem conditions must be set: DTR false Send result codes Full result words sent Commands are not echoed back to computer Auto answer is off Carrier detect is off Normal phone jack configuration Enables modem to recognize commands Use normal AT command set You may have to do some experimenting with the modem INIT and RESET strings in order to fine tune it to gapIf your modem is incapable of asserting the Ring Indicator line or if for some reason your modem cable does not have pin 22 hooked up, be sure to set the flag for answering on true ring detect to N. General Information It is important that your modem be set to not automatically answer the phone. If a user disconnects while inside of a door and the modem subsequently answers a call while GAP is recycling, it is possible for a different user to gain access to the system as the person who disconnected. The disconnected user could have been YOU! Page 49 GAP Communications Modem Configuration A very common error in configuring the modem is leaving the factory default of carrier detect always on. GAP must have control over this signal. You will know if your modem is set for CD always true if you find that GAP is unable to hang up a caller. You may also see the modem off-hook string being displayed on the screen. On non-NRAM modems, CD is usually controlled by an external switch. For most NRAM modems, CD is controlled by the "&D2" command. Another common problem is that GAPMENU establishes a connection at the wrong bps rate or the program immediately recycles as soon as a connection is established. This occurs with modems which are slow in returning the CONNECT message. If you experience this problem, set the Seconds To Wait For Connect to 1 or 2 seconds. This will force GAPMENU to wait the specified amount of time before looking for the CONNECT message from the modem. If you find that GAPMENU simply does not recognize the fact that the phone is ringing, set Answer On True Ring Detect to No. When using high speed modems, certain guide lines must be followed in order to achieve the highest throughput possible. With these modems, it is necessary to configure both the modem and the software driving the modem to not autobaud. That is, you do not want the modem to change the computer to modem bps rate to match that of the caller. You want the DTE rate to stay locked in at the higher bps rate. By setting the Opening Baud rate to the highest speed at which your modem is capable and locking in that rate, you will achive the highest throughput possible with your modem. Sample Configurations Note that you must provide your own C/R (carriage return) and delays in your strings. A { represents a C/R and a ~ represents a 1/2 second pause. USRobotics VARModem Internal 2400 USRobotics Courier 2400 External RESET String : ATZ{~~ATZ{ INIT String : ATM0Q0E0H0V1X4S0=0S7=60{ Answer On True Ring Detect : YES Additional Information : These modems require two ATZ's in the reset string. Page 50 GAP Communications Modem Configuration VenTel halfcard internal 2400 bps RESET String : NONE INIT String : ATV1Q0E0X4S0=0S2=43{ Answer On True Ring Detect : NO Additional Information : Uses factory default settings other than those changed by the INIT string. USRobotics Courier HST - External RESET String : ATZ{~~ INIT String : ATH0{ Answer On True Ring Detect : YES Additional Information : To set up the NRAM for GAP, go in to your communications program, set the baud rate to the opening rate you set in GAPSETUP, then type the following: ATC1E0F1M0Q0V1X4B1S2=255 AT&A1&G0&H1&I0&M4&N0&P0&R2& AT&S1&Y1&B1&K1&W Packard Bell 2400 Internal RESET String : AT&F{~~ INIT String : AT&D2E0S7=45S10=50{ Answer On True Ring Detect : NO Everex EV940 2400 RESET String : ATZ{~~ATZ{~~ INIT String : ATE1V1X1&D2S7=60S11=70S0=0{ Answer On True Ring Detect : YES Quick Comm Internal RESET String : ATZ{ INIT String : ATE1S7=255S11=50V1X1S0=1{ Answer On True Ring Detect : No Page 51 GAP Communications Modem Configuration CTS Datacomm 2424ADH RESET String : ATZ{ INIT String : ATM0V1&C1&D2X4S7=30S10=50&W{ Answer On True Ring Detect : YES Additional Information : Configure to disconnect and return to command mode after loss of DTR and disable auto answer until DTR is reasserted. Anchor Lighting Internal F/1 2400 RESET String : ATZ{ INIT String : {AT&FX1V1Q0M0E0S7=60{ Answer on True Ring Detect : NO Additional Information : To configure use the above init string with an &W. Incomm Turbo 2400 External RESET String : ATZ{~~ INIT String : AT&C1&D2S0=0E0M0Q0V1X4{ Answer On True Ring Detect : NO Additional Information : Set all external switches down. Set the delay for Connect to 1 second. Telenetics Internal 2400 RESET String : ATZ{~~ATZ{~~ INITString : ATM0H0E0Q0V1S0=0S7=30{ Answer On True Ring Detect : YES Additional Information : Set the delay for Connect to 1 second. Avatex 2400 RESET String : ATZ{~~ INIT String : ATE0Q0M0X1V1S7=60S11=60 Answer On True Ring Detect : NO Page 52 GAP Communications Modem Configuration Multitech 224EH RESET String : ATZ{~~ INIT String : ATS2=255C1E0X1M0H0{ Answer On True Ring Detect : No Additional Information : Open Com Port at 9600 and lock baud rate. Go into Communications program and type the following: ATB1E0M0Q0V1X1&E1&E4&E7&E8 AT&E15&Q0$MB2400$SB9600$BA0 AT&A0$A1&B0&BS1&C1$D0$F1&G0 AT&I0&MI0$R1&S1&T5&V1&W0 Zoom RESET String : ATZ{~~ATZ{~~ INIT String : ATE0F1Q0V1X4S0=1H0{ Answer On True Ring Detect : NO Hayes 9600 V-Series RESET String : ATZ{~~ INIT String : ATH0{ Answer On True Ring Detect : NO Additional Information : Lock Com port at 19200. Go into Communications program, set baud rate to 19200 and type the following: ATM0L2Q0V1X4W1&C1&D2&S0&K3 AT&T5&L0&G0&J0&P0E0N1B1Y0 ATS0=0S36=1S37=0S38=2&W Set delay for Connect to 2 or more seconds. Page 53 Chapter 6 Doors GAP allows you to set up external programs to be run by your users. Such programs are called Doors. Door programs generally provide for their own communications routines. As such, you need not worry about a loss of carrier while a user is in the door. It is suggested that you not use any door program which depends upon CTTY or any other form of redirection and that you not use any program which requires the use of an external carrier detect monitor (WATCHDOG). To run doors, you will need to create a door menu. This menu will list the available doors on your system. The user will choose a door by typing its corresponding number. DOORM -------------------------------------------------- The Crow's Nest Doors 1 - Power Struggle 2 - Tourist 3 - Trade Wars To tell GAP how many doors you have and what their names are, you need to create a file called DOORS.DAT. This file contains the name of the batch file (without the extension) that runs the door and the security level the user must have in order to invoke it. DOORS.DAT -------------------------------------------------- ADV 50 C:\GAP\ADV.BAT POWER 50 C:\GAP\POWER.BAT TW 50 C:\GAP\TW.BAT MAX 50 C:\GAP\MAX.BAT BBSDB 50 C:\GAP\BBSDB.BAT The fields must be delimited by a space and the name must be 8 characters or less. Page 55 GAP Communications Doors The first field in each line is short description of the door (it MUST be one word only). You should enter the first part of the batch file name in this field (i.e., the name of the door batch file without the .BAT extension). The second field is the security level needed to open the door. The third field is the full path and name of the batch file that invokes the door. The batch file is placed in the directory you specify. Such a batch file might look like this: DOOR.BAT -------------------------------------------------- echo off cd\gap\doors ps power-1.cfg c: cd\gap When a caller selects a door to open, GAP will check the DOORS.DAT file to see if the caller has a high enough security to open the requested door. If so, GAP will swap itself out of memory and run the batch file specified. When the door program has completed GAP will regain control and return the caller to the Main Command prompt. GAP writes a file called DOOR.SYS. This is a standard door interface file, developed by a door programmer, which makes interfacing door programs with BBS programs a simple task. The file is ASCII and is left on the disk. This file allows us to modify GAP and not have to worry about obsoleting a door program. Upon return from a door, GAP will read the following fields from DOOR.SYS: Security Level Total Uploads Total Downloads Current Download K total Time Credits Current Download Files Total K bytes uploaded Total K bytes downloaded With regards to time credits, GAP will give the caller the time credits specified in DOOR.SYS. GAP doesn't care if the credits are the same as when DOOR.SYS was written. This means that a door program is free to give or take away time from a caller (negative time credits means the caller looses time). Of course, if the caller's time was adjusted because of an upcoming event, GAP will ignore the time credit field Page 56 GAP Communications Doors in DOOR.SYS. Time credits in DOOR.SYS are on line 42 of that file. A door program is also free to change the caller's security level by modifying line 15 of DOOR.SYS with the following restrictions (GAP will ignore the change): if the caller is the sysop if the caller's level is at or above 100 if the new level found in door.sys is at or above 105 This means the sysop will be unaffected by any security level changes a door may do. A "Trojan" door will be unable to give anyone (including the door author) a high enough level such that the caller will be able to perform true sysop functions. This of course depends upon how your sysop levels are configured but as a good guideline, Sysop 4 and Sysop 5 should have levels greater than 105. Basically, a door can give security levels only up to 104 and cannot modify any caller's level if the caller is at 100 or greater. An assistant sysop (between 100 and up) will be unaffected by any security level changes. A door program may bypass the reading of DOOR.SYS by returning an error level of 60 to GAPBBS. This is useful for those doors that do their own updating in the GAP USERS file and do not want GAP to "undo" the changes by reading DOOR.SYS. The Door Return Codes that GAP recognizes are: 60 - Do NOT read DOOR.SYS 61 - Force caller into a Comment 62 - Immediately Log the caller off the BBS If you write door programs to interface with GAP, and you would like to have GAP implement one of the above functions, simply make sure that your program is the last program to be run in the door batch file and that your program returns one of the 'exit' codes that GAP recognizes. There are a number of door programs available. They range from simple to complex in terms of configuration. When first setting up your doors system, it is best to start with the simplest door program first, and after getting a feel for how to configure these external programs, move on to the more complex. A program called Tourist is available on the Support board. It is probably the easiest of all doors to Page 57 GAP Communications Doors configure. It is also one of the most amusing doors available. Each door program will offer suggestions and examples on how they are set up. Page 58 Chapter 7 Questionnaires Description The GAP questionnaire system utilizes a powerful script processor which allows it to think the way a sysop thinks while GAP processes a questionnaire. The sysop is not limited to a simple set of display prompt, get answer scenarios. With a limited but very powerful script language, the sysop can set up his questionnaires and determine what to do with the answers. The sysop is no longer dependent on an external event program to analyze his/her questionnaire answers. The sysop is now completely in control of the questionnaires and their answers. Nothing is hard coded except for the actual script language. Yes/No answers, anything answers, required answers, multiple choice answers are among the few features. GAP even allows the sysop to direct the flow of a questionnaire to another area depending on the answer the user gave. Not only can the sysop upgrade a user's level based on the answers given, but the sysop can also register users in specific forums! There can be 99 main board questionnaires plus one questionnaire for new users. In addition, each Forum can have its own set of files (questionnaires, menus, and answer files). This allows a GAP BBS to have a total of 26,830 questionnaires! The sysop no longer need tell a new user that registration may take 2 or 3 days. GAP's questionnaire processor can take the drudgery out of new user registrations! New users can be registered immediately and automatically with no extra effort on the sysop's part other than to create a powerful questionnaire script! Page 60 GAP Communications Questionnaires Setup Menus = QMENU and QMENUG - Located in GEN Questions = QUESTxx and NEWQUEST - Located in MAIN Answers = Sysop specified - Located in MAIN In GAPSETUP, the sysop specifies the first 6 characters of the answer files. There are two files. One is for new user registration that the new user will be forced to complete if the file NEWQUEST exists, and the other is for the general questionnaires. There is one answer file for each questionnaire file. Each Forum can have its own set of questionnaires. The GEN directory is equivalent to the Forum GEN directory and the MAIN directory is equivalent to the Forum DEFAULT directory. Two menu files must be created. Their format is similar to the doors menu files. One file, QMENU, is a plain ASCII file. The other, QMENUG, is an ANSI color version of the same file. Examples of the actual questionnaires are given later in this chapter. The answer files will be created by GAP as needed. Overview GAP will not ask the user if he/she wishes to fill out the chosen questionnaire. It is up to each questionnaire to ask the user if he/she wishes to continue if the sysop wants to verify that the user has chosen the correct questionnaire. There is no predetermined header to a questionnaire file. The sysop is free to format the headers anyway he chooses. He may also choose to not have a header and simply begin right away with the questions. Anything the user is to see must be preceded with an *. All user input takes place on a separate line. Labels are 8 character (or less) names. They may not begin with one of the processor commands. There is no case distinction with labels. Lower case characters are converted to uppercase before any comparison takes place. Page 61 GAP Communications Questionnaires Gotos must reference a label. If a label is not found, the questionnaire is aborted and the user is told the questionnaire is not valid. A regular goto directs the flow forward in the questionnaire. A reverse goto directs the flow backwards toward the start of the questionnaire. In fact, the processor starts over from the beginning of the questionnaire looking for the label you specified. Caution must be used with gotos. It is very easy to become lost in your own questionnaire if there is an excessive number of gotos. The basic use for a goto is to redirect the flow back up to a prompt and question in case an incorrect answer was given (i.e., didn't answer Y or N, or didn't give one of the choices in a multiple choice). Another use might be for directing the flow to a label that will raise or lower the users security level. Raising security levels will not affect a user if he/she already has a level that is higher than the level specified. Lowering security levels should be used with caution. GAP will make sure that a person with a level of 100 or greater will not be affected by this command. Keep in mind that some of your better callers with higher levels than most may find that they are suddenly at a lower level! Y (yes/no) answers must be followed by 3 commands which can either be labels to do nothing, or gotos to other areas of the questionnaire. They can also be either the Abort or Exit commands. The third line is for a response that was neither a Y or an N. The basic format for the Y command is as follows : Y tells processor to accept a yes/no input x - processor does this if answer is Yes x - processor does this if answer is No x - processor does this if answer is not Y or N The x can be a Goto, a Label, Abort or Exit. If it is simply a label, then the flow will fall through to the next valid command. If the answer were a Yes, and the following line is a label, the next three lines would be skipped. For Yes/No responses, the user is allowed to type in the words as well as Y or N. Page 62 GAP Communications Questionnaires M (multiple choice) answers must be followed by an equal number of commands as there are choices plus 1 extra line for a response that was not one of the choices. Similar to the Y command, these lines can be either labels, or gotos to other areas. They may also be either the Abort or Exit commands. The M command must be followed by the number of choices (up to 9). For instance M9 means there are 9 choices. Following the Mx command, you would then have 10 lines to tell the processor what to do with the responses. The choices for multiple choice must be numeric. It is extremely important to adhere to the required format for the Y and M commands. For the Y command, there must be 3 additional commands following the Y. The M command must be followed by an equal number of commands after the M as there are choices (plus one extra command for a response that was not one of the choices). Failure to follow these guidelines will result in the processor becoming confused and not knowing how to deal with your questionnaire. If an Abort or an Exit command is found as one of the additional commands to the Y and M commands, the user will be displayed an appropriate message. For instance, if in a Yes/No command the user types NO, and the command you entered for a NO response was the Abort command, the user will be displayed a message that his/her answers are being discarded. It is not necessary for you to direct the flow to a different area with a goto so that you can tell the user his/her answers are unacceptable unless you want to do so! ? and R responses are limited to 60 characters. In addition, the text following an * is limited to 80 characters. The ??xx command is similar to the ? command except that you specify the maximum number of lines the user is allowed to enter. A C/R on a blank line will end the input. Your text should inform the user of the maximum number of lines and what to do to end their input: You will have up to xx lines. Press [Enter] on a blank line to end. For the Required command, you must specify the minimum number of characters that the user must enter. The user must enter the required number of characters. The only way for the user to leave this field is to either enter the required number of characters, or hang up. Page 63 GAP Communications Questionnaires For Date fields, the user will not be allowed to enter an invalid date. The caller must either enter a valid date or hang up. If the user returns out of a Phone field without entering all of the digits of the phone number, the processor will abort. If you would like to enter comments into the questionnaire, precede the comment with a . (i.e., .This is a comment). Comments are not written to the answer file. If you would like to enter a heading and have it written to the answer file, precede the text with a : (i.e., : AGE GROUP). The X command allows you to call GAP functions. There are currently four functions hooked up: show_file, pause, comment, and door. The X command takes various parameters depending on how you wish to utilize it. Note that the X is in upper case and the parameters are in lower case. The pause function gives the user the pause prompt. The show_file function is the routine that displays all of the text files on the system: Since you have no way of telling if the user is in expert mode, if you use the Xshow_file command you should also use the Xpause command to force a pause prompt (before and after showing a file). Xcomment allows you to force a user into the message system and automatically be lead into comment entry. When the user is finished entering the comment, he/she will be returned to the exact place in the questionnaire where they left off. Remember, although you may force the user to leave you a comment, you cannot force them to save it! Xdoor # (where # is the number of a door to run) allows you to force a user out through a door. The primary purpose of this command is to force a user into a call back verify door in the NEWQUEST. Note that using this command is the same as the user opening a door by him/her self. GAP will shut down and run the door, so it is not possible to return to the questionnaire. The user will return to GAP and be placed at the main command prompt. This command does not take affect until after the questionnaire is complete. Note that in using this command in a NEWQUEST, the security level to open doors as well as the level to open this specific door must be at least as low as the new user's level. For instance, if you give new users a level of 10, the level for OPEN must be Page 64 GAP Communications Questionnaires 10 and the level for the door you intend to open (in DOORS.DAT) must be 10. In addition, the door must be working properly. Failure to observe these simple rules will lead to a bit of embarrassment for you with your new users! The Fx command can be used with a range of numbers. For instance, if you would like to allow your callers to register themselves in Forums 5-9, you may use F5-9. Note that there can be no spaces between the -. All processor commands with the exception of labels, must be in upper case. All commands must begin flush left! The entire script of the questionnaire will be written to the answer file. This is done because if the answers were simply written to the file, and there were numerous flow changes, you would not know what answers went with what questions. Also, the use of the End command can cause a termination of the questionnaire without all questions having been answered. The questionnaire should end with the End command. Page 65 GAP Communications Questionnaires Processor Commands * - Print anything following. ? - Get an answer. Anything allowed. Answer not required. ??xx - Get an answer. Anything allowed. Get up to xx number of lines. Rxx - Get an answer. Required. Minimum of xx characters must be entered. Y - Yes / No Answer. Mx - Multiple choice. Up to 9 choices. D - Gets a formatted date. (99/99/99) P - Gets a formatted phone number in the form of ((999)999-9999) A - Abort questionnaire. Do not save answers. E - End questionnaire. Save answers. >aaaaaaaa - Goto Label. Label must exist. [0;1;33;40m to turn on Bright Yellow on a Black Background, you could use an Xcode of @X0E to accomplish the same thing. (note that the @ is your AnsiCmd character and is Sysop definable). When IBM designed the IBM PC, they devised a set of color attributes. There are 256 different combinations of attributes that you can set. There are 8 background and 16 foreground colors. This results in 128 different color combinations. In addition, each foreground color can 'blink'. This gives 256 different color combinations that can be displayed in text mode on a Monitor. When GAP displays one of your ANSI screens, it interprets the ANSI codes in the file (when it encounters an SGR ('m') code), such that 1 of the 256 possible color combinations is utilized. The Xcodes are basically a quicker way to set the color attributes. The ANSI Driver is not utilized when an Xcode is encountered. Sample files containing ANSI color codes and Xcodes are provided so that you may see the difference. Page 81 GAP Communications Text Files It should be noted that if you are in Local Mode, the Xcodes are faster than the equivalent ANSI strings. The reason being, GAP need only read 2 characters from the file and set the color. With ANSI files, GAP needs to send each character read from the file through the internal ANSI driver to determine the color code. If a remote caller is on, then GAP needs to take the color code that it received from the file, translate it to an ANSI string and send the string to the modem. This is still faster than going through the ANSI driver, but not much. Creating Xcodes Xcodes are a two character Hexadecimal number. They correspond to the 256 possible Video Attributes of the IBM PC. The first digit represents the Background Color (and/or Blink) and the second digit represents the Foreground Color. The following Table shows how to create an Xcode to produce the desired color: ------------------------------------------------------------ Background Foreground ------------------------------------------------------------ Color Normal Blink Normal Bold ------------------------------------------------------------ Black 0 8 0 8 Blue 1 9 1 9 Green 2 A 2 A Cyan 3 B 3 B Red 4 C 4 C Magenta 5 D 5 D Yellow 6 E 6 E White 7 F 7 F ------------------------------------------------------------ The 1st digit of the Color Code is the Background. If you want the character to blink, you add 8 to the Background Color. The 2nd digit of the Color code is the Foreground. If you want the character to be bold, you add 8 to the Foreground Color. Page 82 GAP Communications Text Files Examples: White On Black - X07 Blinking White On Black - x87 Bright White On Black - X0F Blinking Bright White On Black - X8F Page 83 GAP Communications Text Files Old AnsiCmds As an aid for converting the AnsiCmds that were used with previous versions of GAP, please consult the following table: ------------------------------------------------------------ Old New Description ------------------------------------------------------------ ANAME Area Name DATE Today's Date PAUSE Show "Press [Any Key] To Continue" prompt TIME Time of Day VER Version number of program @ USEPAUSE Use Pause instead of More prompt { NOMORE Disable More Prompt ^L CLS Clear the screen B BLTS Bulletins Read C CITY User's City/State D DOWN Total Downloads F FNAME User's First Name G BIRTH User's Birthday H HPHONE User's Home Phone Number I LNEW Last New File's Scan J MREAD Total Messages Read K MLEFT Total Messages Left L LNAME User's Last Name M SDATE User's Subscription Date N UNAME User's Name (first & last) O DOPEN Total Doors Opened P BPHONE User's Business/Data Phone Number S LEVEL User's Security Level T TON Total Times On U UP Total Uploads V FAVAIL Current Files Available for Download W BAVAIL Current Bytes Available for Download X BUP Total Bytes Uploaded Y BDOWN Total Bytes Downloaded ------------------------------------------------------------ Page 84 Chapter 10 Error Codes The caller file is maintained by GAP and details the caller activity. Not that this file is Binary and must not, under any circumstance, be edited with a text editor or word processor. The following is a list of the error and system codes: 2 - 200 Errors 202 File Not Found 212 Cant Allocate Memory 213 File Access Denied 224 Too Many Open Files 236 Locking Violation 299 Cant Open Stream 400 User Log In 508 Cant Allocate Memory 512 Cant Save Message 513 Cant Lock Record 514 Cant Update User Record 600 Log Off (normal) 601 Help! 602 Page Sysop 603 View / Change Stats 607 F1 608 F2 Lock Out 609 F3 610 F4 611 F5 Shell To Dos 612 F6 613 F7 614 F8 Twit 615 F9 Sysop Privilege 628 Lost Carrier 629 Keyboard Time-out 630 Expired Time 631 Saved Message (message #) Page 85 GAP Communications Error Codes 632 Sysop function 1 View Caller Log 633 Sysop function 2 View Users 634 Sysop function 3 View File 635 Sysop function 4 Maintain User File 636 Sysop function 5 Dos Functions 637 Sysop function 6 Other Nodes 638 Sysop function 7 Restore Message 640 Abandon Forum 642 Comment 643 Chat With Sysop 650 Join Forum (Forum #) 651 Not A Member Of Forum (Forum #) 652 Download (filename) 653 Upload (filename) 654 Door (doorname) 655 Back From Door 656 Sysop Remote Exit To Dos 657 New User Log On 658 Trash Can Match 659 Wrong Password (auto disconnect) 660 Bulletins 661 Security Violation 662 Download Violation 663 Questionnaire 664 Locked Out User Log On Attempt 665 Attempt To Log On Closed Board 666 Entered Into Node Chat 667 Viewed Other Members 670 Entered Files System 671 Entered Message System 672 Entered Bulletins Area 673 Entered Doors Area 674 Entered Questionnaire Area 675 Entered/Returned Main Area 676 Entered Scan Mail Area Remedies If the caller log shows an error 224, it means you have not properly configured enough file handles. This is done in your CONFIG.SYS file with the statement FILES=25. If you receive an error 212 or 508, it means you do not have sufficient memory to perform a requested function. Try eliminating any TSR programs. If you are running a multi- tasking system, try increasing the size of the partition. Error 202 simply means that a file could not be found. In most cases, this is just an informative error. For instance, Page 86 GAP Communications Error Codes it will be logged whenever a caller joins a Forum and that Forum has no news file. If you encounter this error in situations where you know the file exists, the caller log will tell you the exact location and name of the file. This is the exact name and disk directory for the file. You may have placed it in a different directory or given it a different name. An error 299 normally appears only in the files system and usually when a caller tries to download a file. If you find this error in the caller log, chances are good that the caller tried to download a file that was not where you configured it to be in GAPFILE. In this case, you should update the Where field for the file or run the Update function. In nearly all cases, an error 512 means that GAP had attempted to save a message with a message number that already exists in the message file. A utility program is available on the Support board that will allow you to fix your message numbers. However, to prevent this from occuring, you should never touch the MESSNO.DAT file. In addition, if you are using an echo mail system, you should contact its authors and inform them of the problem. There are over 200 errors that can be generated by the ISAM system. Most of them you will never see. Some of them are not written to the caller log because they are benign. Error 12 is the most common ISAM error. It means a file could not be found so that it can be opened. In nearly all cases, you will be given the name of the file. You need to determine why the file is missing. Either it was deleted, not initially created, or somehow moved to a location other than where it is supposed to be. The number one problem we have found with this error is during initial configuration, the sysop did not answer Yes to save in GAPSETUP. Errors 35, 36, and 37 indicate either a corrupted data file or the disk is full. If there is free space on the disk, it is suggested you pack the data file. Error 101 means that a search request could not be fulfilled. You will see this error when you first configure a Forum and the Forum has no messages. It occurs when GAP displays the message stats upon joining the Forum. It will go away when you enter the first message. When a data file is suspected to be corrupt, you should delete the associated index file (.IDX) and run GAPREBLD. If that does not clear up the problem, you should try packing Page 87 GAP Communications Error Codes the file. Often times, with badly corrupted files, you will find that GAPPACK bombs out at the end of the file. In these cases, if you look in the directory that contains the file, you will find a file with a .TMP extension. If you rename this file to FILENAME.DAT (where FILENAME is the base name of the file you were trying to pack), make sure the .IDX file is deleted, and run GAPREBLD, your data file will be intact and repaired. Page 88 Chapter 11 Call Waiting ARTWORK The Call Waiting screen is the director of the GAP activities. It allows you to configure your system, edit your users, run GAP as the sysop or as a local user, set quick options, run GAPCOMM and, of course, exit to DOS. Sysop In - This function allows you to enter the system as the sysop. It first takes the phone off the hook and then runs gappassword, you will be asked for that password before being permitted to logon as the sysop. Local In - This function allows you to enter the system as a local user. If you need to log on as a user, use this function. Dos (Phone Busy) - To exit to DOS, with the phone busy, use this function. Dos (Not Busy) - To exit to DOS, with the phone on the hook, use this function. Configuration - Use this function to configure your system. A password will be required if you installed it. Page 89 GAP Communications Call Waiting User Editor - To access the offline user editor, this is the function you would use. If you installed a password, you will be asked to enter it before being allowed to access the editor. Toggles - The Toggles command allows you to quickly turn printer logging on/off, turn the Alarm bell on/off, and turn the Page bell on/off. The alarm bell announces each caller as they log on. It also turns your bell on and alerts you anytime a caller makes a mistake. The Page bell alerts you anytime the caller tries to page you for a one on one chat. Filebase - This function allows you to access the FileBase Editor. Gapcomm - This is GAP's own Communications Program. Until GAPCOMM is completed, we have provided a function which will allow you to use this menu choice as a shell. You may hook up any communications program of your choice or any program for that matter. To install the shell, create a batch file called GAPCOMM.BAT. The file is basically the same as the event files. It can perform any DOS command or run any program. For instance, if you wish to hook Qmodem up to the GAPCOMM shell, a GAPCOMM batch file would look like this: GAPCOMM.BAT -------------------------------------------------- echo off cd \qmod qmodem cd \gap To use any of the Call Waiting functions, use the up or down arrow key to position the highlight. Press [Enter]. Or, you may simply type the first letter of each function and it will be carried out immediately. Page 90 Chapter 12 User Editor ARTWORK The User Editor is where you perform offline editing of your user file. Since most of the fields are self explanatory, we will detail only those fields that need additional explanation. Add will allow you to add a new user to the data base. By typing Edit you will be able to edit the record of the user currently displayed on the screen. The Subscription Date is the date the user's registration expires. If you do not run a subscription board, this date is meaningless. If you run a private board, you must register any user you wish to grant access. To do so, set the Private User flag to Y. To delete a user, first bring their record to the screen by using the Find function. Pres the [Del] key to delete the record. Note that this function is permanent! You will not be allowed to delete the sysop record. Page 91 GAP Communications User Editor If you wish to register a user in a forum, press Edit and then [PgDn] and the following screen will appear: ARTWORK A Y indicates that the user is registered in the Forum. Use the [Enter] key to move from field to field. The Last Message is the number of the last message read in each of the Forums. There will be as many of these screens as necessary to allow you to enter the Forum registration for each of your Forums. For instance, if you configured 270 Forums, there will be 9 of these screens. The following screen will appear when the cursor leaves the last field on the main screen. It is called the Stats Display. It shows the miscellaneous information about a user. You may also view this screen by using the Stats Command: ARTWORK Page 92 GAP Communications User Editor The following screen will appear if you press Find from the main screen: ARTWORK Locate will allow you to find a specific user by exact name. Search will search for a user by the text string you enter. ARTWORK Update allows you to register or unregister all users in a specific Forum or set the subscription date for users based on certain criteria. To register all users in a forum, type A. To unregister all users from a specific Forum, type U. If you have a number of Forums you would like to register users in, you may type in a range of numbers instead of processing one Forum at a time. For instance, if you need to register all users in Forums 1-9, when asked for a Forum number, type 1-9. Note that spaces between the "-" are not allowed. Page 93 GAP Communications User Editor Typing S from the Update User screen will provide you with a set of functions that will allow you to set a subscription date for all of your users, users registered in a specific forum, or users with a specific security level. ARTWORK Update All Users will set the expired subscription date for all of your users to the date you specify. You also have the options to set the expired subscription date for users based upon their security Level or their Forum registration. There is another command available that allows you to toggle the Index. Pressing I will activate the alternate User Index. That index is sorted according to security level and last name. By pressing I, then the Home key, the first user displayed will be the user with the highest security level. Pressing End will display the user with the lowest security level. Page 94 Chapter 13 System Operation This chapter will describe all of the GAP commands a user (or sysop) will see while logged onto the system. The help files give more detailed explanations. Main Menu Commands Abandon Forum - Allows a user to exit a Forum and return to the main board. Bulletins - Allows a user to view the main board bulletins or those bulletins that are specific to a Forum. Comment To Sysop - A user can use this command to quickly enter a comment to the sysop instead of going through the message system. Comments carry the subject COMMENT and are basically messages to the sysop. Enter A Message - This command allows a user to enter a message into whatever message base is active at the moment. Depending upon your configuration options, users may save carbon copy messages. To do so, the original message must be private. By typing SC instead of S at the message disposition prompt, a user may save carbon copies of a private message. They will be allowed to save up to 10 carbons. GAP provides a powerful interactive message editor. The Edit command at the message disposition prompt allows a user to position the cursor anywhere in the message to correct mistakes. GAP allows you to specify the maximum number of message lines per message. Since the message buffer area is dynamic, you may not always be allocated these maximum number of lines. Page 95 GAP Communications System Operation Files System - The Files System is a separate area on GAP. By using this command, the user will enter into a separate area that will cater to any file specific functions. Good-Bye - This is the command that will log a user off the system. Help - All of the menu commands have associated help files. This command will display any help the user needs. Initial News & Welcome - This command will allow your callers to review the News and Welcome files. Join A Forum - Users may join any one of the available Forums by using this command. Membership List - This command was designed specifically for the Forums but works in the main board as well. It will show the name, city, last date on and number of times on of any user that is a member of the current forum. In the case of the main board, it will display all of your users. This is one of GAP's slowest functions since it reads the user file from A to Z to determine if the user is a member. Note that if a user is in a Forum and the user is using a handle, the handle will be displayed and the city will not be shown. New Mail - This command will check the main board messages as well as all of the Forum messages for any new mail the user has. New mail is considered to be any mail that has not been read. If any new mail is found, their message numbers will be displayed. Depending on how active a user is in the various message areas, this function can be either fast or slow. In order to keep the user abreast of what is occurring, some darts will be displayed while the checking is going on. If the user specifies All as the second parameter, then only those new messages since the user's last read message will be displayed. Page Sysop - If a user needs to speak with you now, this function is available. If your Page Bell is turned on, you will be alerted to the fact. To answer the page, press [Ctrl F10] and you will enter into a chat with the user. To exit the chat, press [Esc]. If you do not answer the page, the user will be told that you are not in and will be asked to leave a comment. If you wish to never be paged at all, create a file called NOPAGE(g) and place it in the GEN directory. Whenever a caller attempts to page you, GAP will display this file (which should give your office hours, etc) and set a flag on the status line so that you can see if you have been paged or not. Page 96 GAP Communications System Operation Questionnaires - You may have up to 99 questionnaires in the main board plus 99 questionnaires in each of your Forums. This command will allow your users to fill out one of those questionnaires. Read Messages - This command places the user into the message subsystem. There are a great many additional commands while in that system. All of them are detailed in the help files. We will explain, here, the major functions. At the read mail subcommand prompt, the user may type * or S to read any new mail since the last time he/she read mail. If a user replies to a message, the message save prompt differs slightly from the regular message save prompt. The user will be allowed to review the original message while replying. In addition, if you have enabled the quoting feature, users may quote all or part of the message they are replying to. While reading threads the user's last message read pointer will not be updated. This is to allow the user to explore the various threads, and then return to normal reading. A thread in this case is any message with the same subject. Since GAP uses dynamic memory allocation with the messages, if any message cannot fit into the memory allocated for it, a Messaged Skipped prompt will be displayed instead of the actual message. This is to prevent memory allocation errors in case the sysop lowers the maximum available lines per message. Marked Messages are those messages that have been marked for reading by the Text Search Messages function. Marked messages remain marked until the user has either read them or has changed to a different area. By typing R M the user can read those messages which he/she had previously marked for reading. Scan Messages - This function will allow a user to view message subjects very quickly. The TO, FROM, and SUBJECT fields of the range of messages will be displayed. Text Search Messages - It is possible with GAP to mark certain messages for reading. This is the function that allows you to do just that. Text Search has two options: Full and Quick. The user specifies the text string to be used as the criteria. A quick search will scan just the message header for a match. A full search scans each message in its entirety for a match. Needless to say, the quick Page 97 GAP Communications System Operation search is much faster but the full search will always find a great many more matches than the quick search. If any match is found, GAP will mark the matched messages. To read those marked messages, the user must use the Marked command from the Read Messages subcommand. Marked messages are lost when a user joins a Forum or enters into the files system. View/Change Stats - The commands associated with this function allow the user to set preferences. Your Personal Mail - This command will show the message numbers corresponding to any mail (TO or FROM) a user in the current area. Chat Between Nodes - In a multi-user system, this command will allow users to chat with one another. If you have enabled NetBIOS Chat, characters are sent to the other node as soon as they are typed. Open A Door - This command allows a user to enter through one of your doors. Who Else Is On - In a multi-user system, this command displays the name and city for all the users that are online in the system. View/Change Stats Commands By entering V from the main command prompt, the user will enter into the View/Change Stats system. Color - This command will allow the user to toggle his/her color graphic displays. Lines Per Page - Allows the user to set his/her page length preference. A lines per page of 0 causes continuous scrolling (i.e., no more prompt). Forums - Allows callers to register or unregister themselves in public Forums. Name / Other Changes - This command allows the user to change his/her name, phone numbers, city, password, handle, and birthdate. Page 98 GAP Communications System Operation If you configured GAP to not allow name changes, the user will not be provided with an opportunity to change his/her name. If you allow handles on your system, the users will be able to input a handle, otherwise they will not see the handle prompt. Transfer Protocol - This command allows users to set their default transfer protocol. The file PROTO must be in the GEN directory or the user will not know what protocols are available. Please see the chapter External Protocols. Xpert Mode - Users can toggle their expert mode with this command. Note that some of these commands are available from the main command prompt while others are available by stacking (i.e., typing V C will toggle color). File System Commands File Commands Browse Text File - This command allows callers to view the contents of any text file on your system. The file must have the extension of .DOC or .TXT. Enhanced Directories - This command is similar to the regular File Directories command except that files are listed in enhanced format. File Directories - This command will display your file directory menu. It includes an expanded more prompt where the user may download a file directly without having to return to the Files System Menu. This command is the gateway for listing the files that are available on your system. Download A File - Users may download files with this command. If the user's default protocol is set to one of the batch protocols or if the user overrides the default by stacking the protocol with the filename (i.e., D FILE.ZIP X), GAP will allow the user to queue up to the maximum files you specified for their security level (in the SECLEV file) for batch downloading. Wile Cards are allowed. However, the first character in a file name may not contain a Wild Card character. In addition, the ? is ignored. Page 99 GAP Communications System Operation Locate A File - This command allows users to locate any file listed in your download directories. It consists of two subcommands that allow for finding a file by wild card name, or by a text string (where a match is if the search string is contained within any of the keywords). New Files - Users may search for new files uploaded to the system by using this command. Upload A File - This command allows users to upload a file. Archive Commands View An Archive File - This command allows users to view the contents of any archive file. Select An Archive File - Users may select an archive file to process with this command. Transfer A File - This command allows users to download any file contained within the archive. It is not necessary to download the entire archive file if the user simply needs a single file contained within the archive. The Archive submenu will also allow a user to download the complete archive without having to use a separate file function. Note that the Transfer command does not work with .ZIP files. When a caller requests a Transfer from an Archive, GAP will shell to a batch file called ARCTRANS.BAT. GAP will pass the following parameters to the batch file: %1 - Where to put the Extracted File (loose directory #1) %2 - Full Path/Name of the Archive File to process %3 - What kind of Archive it is, ARC, ZIP, LZH, ICE,etc %4 - Name of file to extract from the compressed file %5 - Name to use for the file, once it is extracted and recompressed. A sample ARCTRANS.BAT that deals with PKZIP/PKUNZIP is provided. GAP expects your batch file shell to unzip the file from the archive, re-zip it using the supplied name, and place the resultant file in your first loose directory. Page 100 GAP Communications System Operation Read A File From Archive - Users may read any doc or text file contained within the archive. Sysop Commands Function Keys F1 - This is the Exit to DOS toggle. If on, GAP will exit to DOS instead of recycling. A flashing D will display on the status line to remind you that it is on. F2 - This is the LOCKOUT key. Pressing it while a user is logged on will lock the user out and log him/her off the system. If the file LOCKOUT is available, it will be displayed to the user prior to logging him/her off. The name of any locked out user via the F2 key will be placed in the Trash Can. F3 - This is the Online User Update Key. Pressing it will take you into the Online User Editor where you may edit the user record of the caller. F4 - This is the Printer toggle. If on, the caller log will be routed to the printer. F5 - This key will allow you to locally shell to DOS. You must have enough memory to load a secondary copy of COMMAND.COM, otherwise the function will fail. To return to the system from DOS, type EXIT. You will be returned to the exact place you were prior to the shell. F6 - This will toggle the sysop page bell on/off. F7 - The caller alarm may be toggled on or off with this key. F8 - This is the TWIT key. You may use it to log a user off the system. If the file TWIT is available, it will be displayed to the user. F9 - This is the SYSOP key. While a user is online, it allows you to take full control of the system. You, or the user, will be allowed to perform any command. The users will remain at their level and will not see any commands other than those which correspond to their security level. It is important that while you use this function, you perform any Page 101 GAP Communications System Operation tasks at hand, and then toggle the function off by pressing the key a second time. F10 - To initiate a chat, press this key. Ctrl F10 - This key allows you to answer the page bell and chat with a user. The entire contents of a sysop chat with a user will be written to a file called SYSCHAT (located in the DEFAULT directory). There must be at least 4096 bytes of free memory or this feature will be bypassed. The file will be appended with each chat so you will not loose what was previously written. Shft Fxx - To display your function key macros, you may press the Shift Function Keys. Home - Displays the main user information on the status line. End - Displays the available status line keys. PgDn - Displays additional user information. Alt I - While entering a message, allows you to import text into the message. You will be asked for a file name. It is important that the text you wish to import be formatted to 72 columns. It is not necessary to have hard spaces for blank lines. Any line which is longer than 72 columns will be truncated. Alt F - This function will allow you to export messages to a file. The name of the file will be MSGS.TXT and will be located in the MAIN directory. While this function is toggled ON, any message you read will be written to the file. It will automatically be toggled off when you leave the Read Mail function. If you are in color mode while using this function, you will be automatically placed in noncolor mode. Up Arrow - Pressing this key will increase the user's time on the system by five minutes. Down Arrow - This key will decrease the user's time by five minutes. Right Arrow - Pressing this key will increase the user's security level by one. Left Arrow - This key will decrease the user's security level by one. Page 102 GAP Communications System Operation The left and right arrow keys will update the status line as your press the keys. The up and down arrow keys will give no indication as to what is occurring until the user issues a command at the main or files prompt. Use with caution since GAP does not care if you have a lead finger! Sysop Functions 1 - View Caller's Log - Allows you to view the current node's caller file, backwards. 2 - View Users - Displays statistics on each of your users. You may view the users either forwards or backwards. 3 - View A File - Allows you to view any text file. 4 - Maintain User's File - This function performs as a mini user editor. You may add users, delete users, find any user, and register/unregister users in any Forum. Some of the user fields will be unavailable with this function. You may register or unregister users in as many Forums as will fit on the command line. Simply separate the Forums with commas (i.e., 1,2,3,4,5,6,7,8,9). You may also type in a range of numbers such as 1-5. Remember that deleting a user is permanent. To scroll through the user file, simply press [Enter]. To change the direction of the scroll, use the [+] [-] keys. Note that when adding or editing a user, GAP will not allow you to give the user a security level higher than your own. This was done to prevent co-sysops from raising their own security level. 5 - Dos Functions - This function allows you to exit to DOS from remote, and to perform DOS commands. There are two security levels associated with this function. To perform DOS commands, the user will need at least the security level associated with exiting to DOS. In order to exit to DOS, you must have the remote batch file set up as described earlier. While performing DOS commands, it is important that you type your input very carefully. You will not see the command being executed. In addition, should you type a command that Page 103 GAP Communications System Operation requires input, your computer will seem to freeze. Use this command with caution. 6 - Other Nodes - In a multiuser system, this command will allow you to view the caller logs of other nodes and to log off a user on another node. There are two security levels associated with this function. To log off another node user, you must have at least the level associated with other node callers. This function is currently not implemented. 7 - Restore Messages - This command allows you to restore a deleted message. To see which messages are deleted, perform a message Scan. Any deleted messages will be marked. Note than only users who can restore messages will see these marked messages while performing a Scan. Message Read Functions There are additional sysop commands available within the message read functions. GAP builds the inner mail more prompt dynamically, which means that depending upon a users level and expert status, some of the following commands will appear in the prompt and some of them will not. Edit Message Headers - Allows for the editing of the TO, FROM, SUBJECT, and Echo Mail status of the message headers. Protect - If the message security is set to public, this command will set it to private. UnProtect - If the message security is set to private, this command will set it to public. Note that it may be a violation of the Electronic Communications Privacy Act Of 1986" for you to perform this function on certain messages. GAP Development Company provides this function for use at the sole discretion of the system provider and accepts no responsibility for its misuse. User File - Pressing F while reading messages will take you into the online user editor and will automatically bring up the user record of the person who wrote the message you were currently reading. Move - This command will move the current message into a Forum. If you are already in a Forum, you have the option of moving the message into the main board message base or into another Forum. Note that you will not be allowed to move the message to its own message base. Page 104 Chapter 14 Caller Analyzer Description GAPCall is a general purpose Caller Analyzer for GAP. ARTWORK The program maintains its own database of information derived from the caller logs. Since all information is stored in separate data files, the sysop does not have to keep archival copies of his/her caller logs in order to produce reports. GAPCall produces four separate reports based on the information it has read from the caller logs and the user file. These reports consist of the following : System Statistics Downloaded Files Usage Graph User Statistics GAPCall contains a built in editor. This allows the sysop to edit the output files or to add some of GAP's ANSICMDs. Page 105 GAP Communications Caller Analyzer Included in GAPCall is a statistic editor which allows the sysop to "tweak" the system statistics if they become corrupted. Also included is an option to prevent certain file names from showing in the downloaded files bulletin. GAPCall may also be run from the command line in an event or other batch file. On-line help is supported through the F1 key at any time. Configuring GAPCall When GAPCall is first executed, you will be presented with the setup screen. You may also configure GAPCall from the Setup Menu. --------------------------------------------------------- Path to GAPBBS.CNF D:\GAP Beeps & Bells No Total Nodes Included 1 Update Bulletins Yes Update BLT Date Stamp No Delete Caller Log Yes Backup Caller Log No Bulletins Board Statistics 1 Downloaded Files 2 Usage Graph 3 User Statistics 4 --------------------------------------------------------- Path to GAPBBS.CNF is the drive and directory where your GAP Configuration file is located. Beeps & Bells allows you to tell GAPCall to sound a beep on errors. It might be best to set this option to No if you plan to run GAPCall via an event in the middle of the night. GAPCall bases it's efficiency report on the number of active nodes your BBS has. In the Total Nodes Included, you should enter the number of nodes that are actually running full time and are considered "active" nodes. Update Bulletins allows you to specify whether or not GAPCall should update your actual main board bulletins. If Page 106 GAP Communications Caller Analyzer Yes is selected GAPCall will overwrite any existing bulletins or create new ones if none are present. If No is selected, GAPCall will create the bulletins in the current directory. Update BLT Date Stamp determines whether or not GAPCall should update the date stamp of the Bulletin Menu Files (BLT and BLTG). If Yes is selected, GAP will inform users that there are new bulletins whenever they call after you have run the reports. GAPCall will automatically delete the caller logs and store the needed information in it's own database, CALL.DAT. This helps to preserve disk space and prevents GAPCall from reading the same log entries more than once which would result in erroneous statistics. Select Yes in the Delete Caller Log field if you would like for GAPCall to automatically delete your caller logs after it reads them. Backup Caller Log works in conjunction with Delete Caller Log. If you want to keep copies of your caller logs rather than simply delete them, select Yes in this field. GAPCall will then copy your caller logs to a ".BAK" file rather than delete them. The next options determine which reports will be assigned to which bulletin numbers when GAPCall creates the reports. In each of the Bulletins fields, enter the number of the main board bulletin that you would like the associated report assigned to. If you enter a 0 in one of the fields, that particular bulletin will not be produced. GAPCall will produce four separate reports: Board Information - Statistics based on board usage Downloaded Files - Names of files that have been downloaded. Usage Graphs - Graph indicating hours of most usage. User Statistics - Statistics for each registered user. Board Information shows your system statistics as derived from the caller logs. The report was designed to fit on a single screen so only the more essential stats will be shown. Downloaded Files is a list of all the files downloaded from your BBS as derived from the caller logs. Each file will be listed in alphabetical order with the total number of downloads per file shown next to the name. Page 107 GAP Communications Caller Analyzer Usage Graphs display a picture of your boards usage, graphically showing the busiest hours. User Statistics shows pertinent data about each one of your users. This information is actually derived from the User database rather than the caller logs. Users are shown by their first name and first character of their last name. Once you have entered all of the required information, press Enter at the last field on the screen and save the configuration. Running GAPCall The About Menu displays copyright and version number information. The Logs Menu will read your caller log. If you have multiple nodes, it will read all of your caller logs. Select the Reports Menu to access the various reports that GAPCall can produce: ARTWORK All Reports will produce all the bulletin reports with no opportunity to view or edit the bulletins. All Reports is also used to update your main board BLT file as explained further on. User List will produce the bulletin detailing the statistics on each of your users. Board Stats will produce the BBS statistics bulletin. Graphs will produce the bulletin showing your boards busiest hours. Downloads will produce the bulletin showing all the files downloaded from your system excluding those listed in NOSHOW.DAT as explained later. In order to allow the sysop to "see" or edit the reports before any final decisions are made, the main board BLT file will not be updated when these reports are selected on an Page 108 GAP Communications Caller Analyzer individual basis. Selecting reports individually causes the Bulletin file to be updated but the time stamp on the BLT Menu file will not be updated with the current date and time (if you have that option turned on). The Files Menu provides the sysop with access to GAPCall's built in editor. Key assignments for this editor are defined in the on-line help via the F1 key. ARTWORK Bulletins or News shows a list of Bulletins or News files in the GEN directory. This allows you to quickly review and/or edit these files. Selecting NOSHOW.DAT will load, or create if not already present, the NOSHOW.DAT file. This file defines the exceptions that GAPCall will refer to while building a list of files downloaded from the system. Wild cards in a DOS sense are not allowed but there is a way to achieve the same results. GAPCall will compare a file name to the words in NOSHOW.DAT. For instance, if you entered "BETA" on one of the lines in NOSHOW.DAT, all files with the word "BETA" anywhere in the name would be excluded from the bulletin. As you can see, the longer the word, the more exacting GAPCall will be when excluding names. If you were to enter simply an "A" on one of the lines, any files with an "A" in the name would be excluded. Other allows you to edit any text file on any drive on the machine with one exception. There is a built in safety feature that will not allow the sysop to edit the caller logs. The caller logs may, however, be "viewed" using this option. Caller logs cannot be changed because they are binary files, even though they appear to contain only ASCII text. Page 109 GAP Communications Caller Analyzer The Setup Menu allows you to configure GAPCall: ARTWORK GAPCall will present the initial setup screen for updating or review. Configuring GAPCall is described in detail in the section Configuring GAPCall. CALL.DAT will allow you to "tweak" any system statistic that may have become erroneous due to a corrupted caller log. Basically, this selection will display the same information as the Board Statistics bulletin and allow the you to permanently change the results. Total Calls will "fix" the Total Number of Callers to your system. This is the number of callers that GAP displays when your users view their stats. Normal Operation The sysop can run GAPCall and select options according to his or her preference. This allows the sysop complete control over how the caller logs are read and what reports are generated and how these reports will appear. A normal manual session in GAPCall would most likely consist of the following steps being performed: Run GAPCall. Select Logs to read any caller logs. Select Reports to pull down the reports menu. Select All to generate the reports. The main board BLT file will be updated with the current date and time stamp (based on your preference) only when you select All to generate all reports. This is to allow you to generate individual reports before you make your final decision. Page 110 GAP Communications Caller Analyzer Batch Operation GAPCall may also be run from and event or other batch file by using command line options. When GAPCall is run in this mode, it uses the defaults you have defined in it's setup. The following command line options are available: /L - Read in caller logs and create CALL.DAT /A - Create ALL Reports /B - Caller/Board statistics report /D - Download Reports /G - Usage graph /U - User Listing There are a few things that should be considered when running GAPCall in batch mode. Naturally, if you are going to read in the caller logs with option "/L", it should be done first. All of the arguments are executed in the order they are entered on the command line. The options do not need to be in caps but they must be preceded by a separator such as the slash. Page 111 Chapter 15 FileBase Editor Description GAPFILE is an external editor to manage the ISAM files subsystem of GAP. It provides full support for listing directories, updating directories, moving files, viewing archive contents, adding/editing file descriptions, and much more. The GAP files subsystem consists of a set of ISAM files which allow the sysop to manage his file directories in a more orderly fashion. Rather than having several text files which contain a one line description of a file residing in a physical disk directory, the sysop has access to a powerful database which contains detailed information about a file including a keyword field and up to 10 lines of descriptive information. The FileBase also contains a keyword data file which allows sysops and users alike to perform quick and powerful searches for specific files. Setup The following files are needed: Name Directory ----------------------------- GAPFILE.EXE DEFAULT GAPFILE.CNF DEFAULT DIRS GEN FILES.DIR GEN Page 113 GAP Communications FileBase Editor The following files will be created in your MAIN directory: FILES.DAT FILES.IDX FILEKEY.DAT FILEKEY.IDX GAPFILE resides in the DEFAULT directory where it must have access to the GAP configuration file, GAPBBS.CNF. The sysop must create three files. These are DIRS, FILES.DIR, and GAPFILE.CNF. Sample files are provided. The format of DIRS is as follows: 1 Communications 2 Read MAC Pictures 3 Programmers 4 Utilities 5 Uploads Each file contained within the FileBase must belong to a specific subject. The DIRS file tells GAP and GAPFILE what those subjects are. This file will become a permanent part of your FileBase system. It is used by both GAPFILE and GAP. Basically it contains a list that gives a name to each of your directories. Directories are called Subjects in GAPFILE. As you can see, this file is similar to your DIR and DIRG files except this is an internal system file. GAP uses this file to display the name of the current subject a caller is viewing. For instance, if you ask for a listing of directory 1, GAP will first read line 1 from the DIRS file, display the subject number and name that it finds, and will then list the files in that directory. GAPFILE uses this file to build a list of available subjects which you may view anytime by pressing F10. GAPFILE also uses the DIRS file when creating a Master File listing and when displaying subject categories during various operations. The DIRS file must be complete! By complete, we mean that if you have 10 directories set up in config, you must have 10 entries in the DIRS file (no more and no less). Note that the format for the file is the same as the rest of GAP's system files. Field 1 is the directory number, followed by a single space, followed by field 2 which is a description of the subject. Page 114 GAP Communications FileBase Editor The format of FILES.DIR is as follows: C:\DL1 C:\DL2 C:\DL3 C:\DL4 D:\UP FILES.DIR is used by many of the Utility Functions of GAPFILE. The entries tell the program where the files for a specific subject belong on the disk drive. Each entry in the file must correspond to its respective entry in DIRS. If you have 5 subjects (directories) then there must be 5 entries in this file. If a Forum also has directories (directories in addition to the Main Board directories), it will need the following files which must be placed in the Forum GEN directory. If the Forum does not have a GEN directory, then the files must be placed in the Forum DEFAULT directory: Name Directory ----------------------------- DIRS FORUM GEN FILES.DIR FORUM GEN The FILES.DIR for the Forum should list only the additional paths associated with the additional directories (or the paths for the directories unique to that Forum). The DIRS file (which will be used by GAP) should list only the additional subjects for the Forum (or the subjects unique to that Forum). The following are sample files for a Forum that has two additional directories, where Use Main Dirs in the Forum configuration is set to Yes, and the main board has 10 file directories: FILES.DIR DIRS ----------------- ------------------------- C:\GAP\SUP\DIR11 11 Support Forum Files C:\GAP\SUP\UP 12 Support Forum Uploads Page 115 GAP Communications FileBase Editor If a Forum is set up to have unique directories, where Use Main Dirs in the Forum configuration is set to No, the following files might be used: FILES.DIR DIRS ---------------- ------------------------ C:\GAP\SUP\DIR1 1 Support Forum Files C:\GAP\SUP\UP 2 Support Forum Uploads GAPFILE.CNF is a configuration file for the FileBase Editor. You will need to initially create this file. After that, it will be maintained by GAPFILE. The format of the file is as follows: G,H,I,F,C The first line represents the drives you wish to have searched when locating a file. Notice that there are no colons after the drive letter. When a new file is entered into the FileBase, an existing file updated, or the global Update function used, GAPFILE will check the system drives for the existence of the file. It does this by starting with drive C, searches all of the directories on that drive, and if the file is not found, moves on to the next drive in the system. The reason for line one in GAPFILE.CNF is twofold. If you are running a network you do not want GAPFILE to search your non-networked drives, or perhaps, search the non-networked drives but do so after searching the shared drives. For instance, with Lantastic, if drive C is designated as networked drive G (so that workstations can share drive C), from the host it is possible to use either drive G or drive C. However, the workstations are permitted to use and have access to drive G. If left alone when locating a file, GAPFILE will search drive C first and if the file is found, will use that drive as part of the location of the file. This would be fine for the host, but the workstations would be unable to access the file. By specifying which drives to search, this problem is eliminated. The second reason for this configuration option is to be able to specify when, if ever, a CD-ROM drive is to be searched. Once the directories for a CD-ROM are configured, they are normally not changed. Searching a CD-ROM for a single file can take several minutes. Once configured, the CD-ROM drive can be removed from the list of drives to search. Page 116 GAP Communications FileBase Editor It is not necessary to have anything in line one of GAPFILE.CNF. A blank entry will cause GAPFILE to search all drives in the system (with the exception of the floppy drives). For non-networked, hard disk only systems, the time spent searching is minimal. After you run GAPFILE the first time, you will find that additional entries were placed in the file. This additional information is for internal use and should be left as is. If you need to change line 1 of the file, you may do so but remember to leave the other entries as they are. Running Gapfile When first invoked, GAPFILE will display the first file in Area 0 (main board), Subject 1. The screen will look similar to the following: ARTWORK The following Command Keys are available: F1 - Help F3 - Change Area F4 - Change Subject F5 - List Files F6 - Move File F7 - List ARC/ZIP F8 - Find Matching File F10 - List Subjects Home - Beginning Of File End - End Of File UpArrow - Previous Record DnArrow - Next Record PgUp - Back 10 Records PgDn - Forward 10 Records Del - Delete File Page 117 GAP Communications FileBase Editor By pressing F2, these Command Keys will be displayed. In addition to these keys, you may shell to DOS by pressing Alt-F5. The help is context sensitive, which means it changes depending upon what operation is being performed. The available keys are also context sensitive and their function will change depending upon which section of the editor you are in. If you wish to change areas (i.e., from the Main Board to a Forum), pressing F3 will allow you to do so. F4 will allow you to quickly change subjects. If you would like a familiar listing of the files contained in the current subject, or all files, use F5. F6 allows you to move the current file to any subject/area of your choice. The listing of ARC or ZIP files can be accomplished by using F7. To find a specific file, use F8. F10 allows you to view a list of subjects for the current area. Pressing Home will display the first file. Pressing End will display the last file. To scroll backwards in the file, you may use either PgUp or the UpArrow key. To scroll forwards in the file, you may use either PgDn or the DnArrow key. To delete the currently displayed file (physically as well as its entry in the FileBase) use the Del key. Note that deletion is permanent and it is impossible to recover the file once it is deleted. You will be asked to confirm the delete operation. Page 118 GAP Communications FileBase Editor Use the Edit Menu to Add, Edit, or Delete Files: ARTWORK Edit File allows you to edit the file that is currently displayed. Add File allows you to add a new file to the FileBase. When adding a file, GAPFILE will initially display certain defaults. You may either accept the defaults or type in your own parameters. Del File is the same as pressing the Del Key. The currently displayed file will be deleted from the disk and removed from the FileBase. While in Add or Edit mode, the available keys will change depending upon which part of the editor you are in. While in the top half of the screen, the following keys are available: F1 - Help F2 - This Screen F9 - Quit Edit - Save Esc - Quit Edit - Don't Save Home - Beginning Of Field End - End Of Field UpArrow - Previous Field DnArrow - Next Field PgDn - Edit Description The purpose of the various fields are as follows: Name - This is the name of the file. The name must follow standard DOS conventions and are limited to 13 characters. Where - This is the location of the file (The disk directory where the file can be found). It must represent a valid DOS disk directory. If the file cannot be found in the directory specified, you will be asked if you wish to locate the file. Length - This is the size of the file in bytes. This field will be filled in for you automatically so that it represents the actual size of the file. Date - This is the last modification date of the file. Note that this field is not automatically updated for you because many sysops need the freedom to manipulate the file date for various reasons. Page 119 GAP Communications FileBase Editor Last Access - This is the date the file was last downloaded. Ttl Accesses - The number of times the file was downloaded. Area - This is the Area the file belongs in. The main board is Area 0. Note that you may not select an Area (Forum) if that area has no file directories as specified in configuration. Subject - This is the subject number of the file. It is here that you will see one use of the DIRS file you had to create. When the cursor moves into this field, a selection list will pop up. This window will list all of the subjects you have available. The cursor will highlight the current subject. To select a subject you may either type in the subject number, or use the Home and End keys to move from subject to subject in the list. To accept the subject that is highlighted, press Enter. Note that you will not be allowed to enter a subject that is not in the list. For instance, if you have 10 subjects, your choices will be limited to subject numbers 1 - 10. Security - This is the security level needed in order to download this file. The file will never be shown to a user if his/her security level is not at least as high as the file security level. Private uploads to sysop are given a security level of 110. This field defaults to the level given in the File System Options screen of GAPSETUP. Uploaded By - This is the name of the person who uploaded the file. This field is set to Sysop by default. Password - If you wish to password protect a file, enter the password in this field. Even if a user has the security level necessary to download the file, if the file is password protected, the user will need to give the correct password in order to download the file. Free File - Set this field to Y if you wish to allow the users to download a file and not have the download time or bytes credited against them. Normal Log - Most files are considered Normal for the purpose of logging them to the caller log when a caller downloads. The Caller Analyzer will store the file in its own database for statistic purposes. Once such use is in the creation of the Download Bulletin of the most popular files. Only those files that have actually been downloaded will appear in this bulletin. You may have some files in your FileBase that you do not want to appear in this download bulletin. If so, set the Normal Log field for these files to Page 120 GAP Communications FileBase Editor No. The file name will still appear in the caller log, however, the Caller Analyzer will not store the file in its internal database. Key Words - The words entered into this field should be single entries separated by a single space. The words should be descriptive of the file's function. (i.e., COMMUNICATIONS GAP RBBS BBS MODEM DOORS). These words will be entered into the keyword index file and will be used as the basis of the file search routines in GAP. Although you may enter any words you please, common words such as THE, AN, OF, etc. will be filtered out and not placed in the keyword file. When the cursor leaves the Keywords field, you will be in what is called the File Description Editor. You may also enter this Editor by pressing PgDn while the cursor is in any of the above fields. The following keys are available while in this Editor: F1 - Help F9 - Quit Edit - Save Esc - Quit Edit - Don't Save UpArrow - Up One Line DnArrow - Down One Line LfArrow - Left One Space RtArrow - Right One Space PgUp - Previous Page PgDn - Next Page Home - Beginning Of Line End - End Of Line ^Home - Top Of Screen ^End - End Of Screen ^Y - Delete Line ^K - Delete To End Of Line The File Description Editor is a very basic, free form editor. You may enter up to 10 lines of descriptive text which will be shown to users when they do an Enhanced file listing (E from the Files Menu in GAPBBS). Page 121 GAP Communications FileBase Editor Utilities The following options are available on the Utilities Menu: ARTWORK Update is a means whereby GAPFILE will check the database against the files on the disk to see if the location, size, and date are correct. You have the option of checking only the current subject or all subjects. You may specify whether or not the file date should be updated and whether or not to delete the ISAM record or mark it as OFFLINE if the file cannot be found on the disk. This utility is also useful for those times when you add a batch of updated files to a directory. Instead of manually adjusting the file sizes and dates, this function will do that for you in one operation. It should be noted that this function can take several minutes to several hours to complete (you may press Esc at any time to stop the updating process). The slowness is not inherent in the function itself, but in the DOS process which is used. If you have a CD-ROM drive, the updating function can take well over 18 hours to complete. If the Update function cannot find a file in the directory where it is supposed to be located, it will search the drives in an attempt to find the file. If it finds the file, it will modify the Where field with the correct directory information. If it cannot find the file, it will either delete the FileBase entry for the file or mark the file as OFFLINE (depending upon the options you choose prior to running Update). The drives that are searched depend upon what you have setup on line one in the configuration file, GAPFILE.CNF. If this line is blank, then GAPFILE will search all drives in the system, excluding the floppy drives. Master List will generate a Master File Listing for you. You have the options of specifying a Condensed or Enhanced listing, whether or not to list the files in the Current area or All areas, whether to include Transfer Times at various baud rates, and the file name for the listing. Stray Files allows you to update your database with any loose files. Loose files are considered to be any files which are on the hard drive but which are not included in your database. You may specify the directory to check, the destination area and subject for any loose files found, and Page 122 GAP Communications FileBase Editor whether or not you wish to update the Keywords and File Description as each file is found. If you elect not to be prompted for a description, the files will be saved in the database with a Keyword and File Description of "UNCLASSIFIED". Import allows you to import files that are listed in an RBBS type of directory listing. The format of this listing is the same as that produced by the Master File Listing using condensed mode (i.e., 1 entry per line). Using Import, you tell GAPFILE where the files are located, the name of the text file that provides the descriptions for each of the files, and the Area and Subject numbers to classify the files in. Import will then read the text file and add the description, date, and file size that it obtains from the List File to the FileBase Import is normally used when adding files from a CD-ROM. Most of the newer CD-Discs for BBS use have List Files which contain a 1 line entry for each file on the disc. Move Files is a global version of the regular Move File function (F6). It will display a list of files for the subject specified and will allow you to type in a new subject for each of the files. You may also specify a new area. If you wish to delete a file, type 0 for its subject number. If you wish to leave the file where it is, leave its subject and area numbers the same (i.e., don't change them). Move Files is useful for moving newly uploaded files to their appropriate subject category. You may move up and down the two columns by using the Up and Down Arrow keys, or back and forth between the two fields by using the Enter key. Page 123 GAP Communications FileBase Editor Global Change allows you to globally change many of the fields in the FileBase. The changes you make can be performed either on a specific Area, a specific Subject, All Areas, All Subjects, or a combination of both. ------------------------------------------------------------ Global Field Change Change Old Value New Value ------------------------------------------------------------ N File Exten : . . . . N Where : N Ttl Accesses : 0 0 N Area : 0 0 N Subject : 0 0 N Security : 0 0 N Uploaded By : N Password : N Free File : Y Y N Normal Log : Y Y Area To Change : Area # or ALL for All Areas Subject To Change : Sub # or ALL for ALL Subjects ------------------------------------------------------------ Enter a Y or N in the Change field to change the data in the FileBase that corresponds to the particular topic. If you answer Yes in the Change field, press Enter to move to the next two fields to fill in the appropriate information. The Old Value is the data in the FileBase that you wish to change to the New Value. The Where field contains some hidden uses that may be of benefit to you. If you have not yet moved the files from the Old directory to the New directory, then GAPFILE will move them for you when the Global Change executes. For instance, if you have a private upload directory in D:\PRIVATE and an upload directory in D:\UP, where you screen your uploads prior to posting, you can use these Where fields to move your private uploads to the public upload directory. If your private uploads are in Area 0, Subject 11, and your public uploads are in Area 0, Subject 10, you can change the Where field from D:\PRIVATE to D:\UP and change the Subject field from 11 to 10. Page 124 GAP Communications FileBase Editor GAPFILE will change the subject field for each file in the private upload directory and will change the where field as well. In addition, GAPFILE will physically move the files from D:\PRIVATE to D:\UP. If you use a scheme such as suggested above, be sure that you also enter 0 in the Area To Change field, and 11 in the Subject To Change field. Otherwise, in addition to changing the Where field, GAPFILE will also change any file that has a Subject field of 11 to a new subject of 10, and this could include some of your Forums. Be specific when changing fields. If you enter an * as the only character in the Old Value field, and enter just a drive designation in the New Value field, GAPFILE will modify just the drive designation, leaving the directory the same. For instance, if you enter * in the Old Value field and F: in the New Value field, and the Where field for a file is D:\DL1, GAPFILE will change the Where field to F:\DL1. When using this feature, the file will not be physically moved. Fix Keywords allows you to rebuild your Keyword Data and Index files. Normally you would fix your Keyword files only if they become damaged. Depending upon how many files you have in the FileBase, this utility can take up to 4 hours or more to complete. Selection List The Selection List for the Subject field works as follows: At start-up, GAPFILE reads your DIRS file in the GEN directory to build the list that you select from. The windowing routines take the information in this list and build what is called a "selection set". When the cursor enters the Subject Field, the selection set "pops" up. To make a selection, use the Home and End keys to move through the list. You may also simply type in the subject number directly. When an Area specifies a Forum, the building of the selection set for the Forum is similar to the above, but the list is not built until the cursor moves from the Area field to the Subject field. This allows us to use two selection Page 125 GAP Communications FileBase Editor lists where the second list is shared between each of the Forums (if they have file directories). The first time you move from Area to Subject, you may notice a slight delay as GAPFILE reads your DIRS file for the specified Area (if an Area other than 0 is specified). Note that GAPFILE will refuse to run if it encounters a bad DIRS file. For the main board, this refusal will occur at start up. For a Forum, you will be notified that the Forum DIRS file is invalid when the cursor moves from the Area to the Subject field. If this occurs, you will need to create a proper DIRS file for whatever Area is indicated. Remember that GAP will assume everything is set up correctly. A proper DIRS file is one that has an entry for each directory you have set up. A one for one correlation (no more and no less). Saving While in the top or bottom half of the editor, pressing Esc means you wish to abort the process and not save. In order to save any changes made, you must press F9. You may press F9 at any time to quit the editing process and save your work. If you press Esc, and have made changes, GAPFILE will ask you to confirm that you indeed wish to abort the changes. CD-ROM Usage CD-Discs present a special problem to BBS programs. Because of the massive amount of information they hold and their slow disk access times (CD-ROMS are typically much slower than a floppy drive), it is imperative that the system know where all the files are on the disc. GAPFILE plays an important role in managing a CD-Disc in that it allows you to create a database of the thousands of files on the disc. This database, by its very nature, holds the directory path to the files. When a caller attempts to download a file that is on a CD-Disc, GAP need only look the file up in the FileBase to determine which directory the file is in. This "look-up" takes less than 1/2 second. Compare this to the minutes it can take to physically search the CD-Disc for the file. Page 126 GAP Communications FileBase Editor These benefits do not come without a price. Depending upon which CD-Disc you purchase, the amount of time that you must spend setting up the FileBase can range from 2 hours to over 24 hours! Here are some things to consider when purchasing a CD-Disc: Is it well organized? Are its files in separate directories grouped according to subject matter? How many duplicate files does it have? If over 1% of the files are duplicates, then you may want to consider a different disc. How many files and/or bytes does it contain? A CD- Disc can hold well over 600 megs of files. How many directories does it contain? If it contains over 40 directories you will need to devise a way to display those directory names to your users. A Directory Menu with 50 to 100 categories is difficult to read and comprehend. Does it have its own FileBase which you can simply copy to your MAIN directory and use "as is"? There is at least one CD-Disc which comes with a pre- configured FileBase. Does it have separate text files which you can Import into your existing Filebase? This is the most common method of interfacing a new CD-Disc with your Filebase. If the disc does not have these directory listings do not even consider purchasing it. Even if it does have the listings, be sure they are of the proper format. If you purchase a CD-Disc that contains a GAPFILE FileBase which you can simply copy over to your MAIN directory, you are already 90% complete in your set-up. The files that make up the FileBase are: FILES.DAT, FILES.IDX, FILEKEY.DAT, and FILEKEY.IDX. In addition, you will need the FILES.DIR and DIRS files. If you already have a pre-existing FileBase and you wish to use the one contained on the CD-Disc, you have two choices. Hope that all the files on your hard drive are contained on the CD-Disc and simply copy the new FileBase files on top of your existing files, or make a Condensed Master File Listing of your existing files, edit the list and remove any headers and footers, and break the list up into separate files where Page 127 GAP Communications FileBase Editor each file contains only those listings appropriate for the file. After creating your Master List, you may then copy the FileBase files from the CD-Disc to your MAIN directory, thereby replacing your FileBase with the one on the CD-Disc. Lets assume that you've made a Master List of your existing files and have just copied the FileBase files from the CD- Disc to your MAIN directory. The next step is to inspect the DIRS and FILES.DIR files (if the CD-Disc included these files) and make sure they are correct. First determine how many subject categories the disc has. If the disc is properly organized, it will have one physical directory for each subject category. Some discs have 2 or 3 physical directories for each category of files but this does not present that much of a problem. Normally, the disc will include a DIR type of menu file that visually shows the categories. Lets assume that the disc is configured for 34 subject categories. Create or edit your DIR and DIRG files to show these subjects. You can then use the DIR file as a reference for creating the DIRS file that GAPFILE needs. After creating your Menu Files (DIR and DIRG), create or edit the DIRS file so that it properly shows the various categories. For instance, if subject 1 is Communications and subject 2 is Games, the first two lines of your DIRS file would look like this: 1 Communications 2 Games You would then add the other 32 categories as well as the 35th which would be your Upload directory. You will then need to create or edit your FILES.DIR file. If the files in subject 1, Communications, are in directory F:\001 on the CD-Disc, line 1 of your FILES.DIR would be: F:\001 Line 35 of this file would be the path to your Upload directory. If the CD-Disc uses multiple directories for a single subject category, simply enter the first directory path that applies. For instance, if the Communications files are in F:\001, F:\001A, and F:\001B, enter F:\001 on the appropriate line of FILES.DIR. Page 128 GAP Communications FileBase Editor Next you need to go into GAPSETUP and enter the number of directories you now have. In this case, that number would be 35. You are now ready to fire up GAPFILE and see what you've got! The first thing you will probably need to do is change the Drive Designator and possibly the Security Level on each of the CD-Disc files. Lets assume the CD-Disc came configured as drive D and the files all have a security level of 50, and that your CD-ROM is actually drive F and you have a download security level of 40. From the Utilities Menu select Global Change. Use the DnArrow key and move the cursor in front of the Where field. Enter a Y and press Enter. For the Old Value, enter an *. For the New Value field, enter F:. Do not enter a slash, just the drive and colon. Now move the cursor in front of the Security field and enter a Y. Enter 50 in the Old Value field and a 40 in the New Value field. Move the cursor all the way down to Area To Change and type ALL. Also type ALL in the Subject To Change field. GAPFILE will now ask you to confirm that you wish to run the Global Change. If you answer Yes, it will then proceed to make the changes you specified. The process should take about 5 minutes. If you had pre-existing files that you "saved" by creating a Master File listing, you may now import those files back into the FileBase. First, determine how many additional subjects you need to add to configuration, DIRS and FILES.DIR. Tell GAPSETUP your new number of subjects and enter the new subjects and their directory paths into DIRS and FILES.DIR respectfully. Be sure to make your Upload directory the highest numbered subject. Lets say you previously had 10 subjects including the Upload directory. The CD-Disc gave you 34 new subjects so that makes a total of 44 subject categories. The 44th is your Upload directory. You will need to edit the Master Listing you produced (hopefully you created a simple condensed listing with no file times or other frivolous information), and remove the header at the top of the file and the statistics at the bottom. Each category of files will have a heading describing what the files in that category are all about. You need to take all the files in that category and save that group to a file of its own. Call the file LIST1.TXT or perhaps LIST35.TXT since, if you are following the example so far, category 35 is the next available subject that has no files in it yet. Page 129 GAP Communications FileBase Editor Use an editor that allows you to mark a block of text and save that block to a file. Do not save the category description, just the actual listings themselves. Do this with each of the categories in your Master Listing. Using our ongoing example, you should end up with 10 separate text files. Go into GAPFILE and from the Utilities Menu, select Import. Type in the directory where the files from your first listing are physically located. Next type the name of the text file which you will be importing. In this case, the first file is called LIST35.TXT. Type in the destination area that these files came from. And finally, type in the distination subject that these files are to be placed into. In this case, the Subject Number will be 35. Select Start and your old files will magically re-appear into your FileBase. Repeat this proceedure for each of the list files you created from your Master Listing. Keep in mind that there is a good chance the CD-Disc contains many of the same files that you previously had. While importing, if the file currently being imported already exists, the file will be skipped. If there were any such duplicate files, they will be listed in a file called IMPORT.LOG. Its a good idea to examine this file since you should be able to safely delete the files contained in it from your hard drive. If you would like to assure yourself that the file actually does exist on the CD-ROM, you may use F8 in GAPFILE and locate the file. Check the file sizes and dates since you could very well have a newer version of the file than the one on the CD-Disc. If such is the case, simple change the Where field for the file to reflect your hard drive directory instead of the directory on the CD- Disc. Press Enter a couple of times to automatically change the date and filesize. Believe it or not, it takes longer to write about how to set up a CD-disc that contains a pre-configured FileBase than it does to actually do it! If your CD-Disc does not contain a pre-built FileBase your only choice is to use the Import Utility and import the text listings that came with the disc. If the Disc did not come with any such listings, or if the listings are of the wrong format, you will save yourself many hours of frustration by simply returning the disc for a refund and purchasing one that contains correctly formatted listings. Page 130 GAP Communications FileBase Editor A correctly formatted listing appears as follows: ------------------------------------------------------------ 16550A.ZIP 5044 10/14/88 16550 UART FIFO BUFFER BOYAN40A.ZIP 160561 02/05/89 Boyan Comm Program - #1 BOYAN40B.ZIP 131354 02/05/89 Boyan Comm Program - #2 GAP.SLT 2885 01/11/88 Telix script for GAP GAPASP.ZIP 686 08/17/88 Procomm script for GAP There should be one such List File for each subject category of files. For instance, if the CD-Disc is categorized into 30 different subjects, there should be 30 of these List Files. Most of the popular CD-Discs designed for BBS usage provide these files. Be aware that there are some CD-Discs in sheeps clothing that will cause you to have nightmares when trying to set them up. They advertise and actually do come with these List Files, however the listings may contain such oddities as showing a file size of 1048 bytes as 1K or a date of 06/28/91 as 06/91, or have no file description whatsoever. All 4 fields as shown in the above listing need to be present and they all need to be of the proper format. The date field, however, can use either a slash or a dash as the delimiter. There is nothing unusual about the file listing. It is the same format that is currently used by many popular BBS programs. It is the same format that GAP uses when it displays files on the screen or creates a Master Listing, in Condensed mode. If a CD-Disc targeted for BBS Sysops does not provide such listings you should not purchase the disc. In order to get these thousands of files into your FileBase you will use the Import and Update functions in GAPFILE. The Import process itself will take about 4 hours. The Update process will take about 18 hours. You need to take an active part in the Import process, but the Update process can be run while you are tucked in bed for the night. Before starting, be sure to have your DIRS, FILES.DIR, DIR and DIRG files already built. The guidelines that were presented for these files for installing a CD-Disc that provides a ready made FileBase apply here as well. If you print out the DIR or the DIRS file and keep it next to you, it will serve as a handy reference when importing the files. Be sure that you have already told GAPSETUP how many File Directories you will ultimately have. You do this by going into the Configuration Editor, select the Go To Menu, and select Miscellaneous Info 1. Page 131 GAP Communications FileBase Editor From the Utilities Menu in GAPFILE, select Import. For the Source Directory, type the drive and directory where the files that belong to your first List File belong. If you are Importing listing #1, then the files for this list should be in the first subdirectory on the CD-Disc. It might be helpful to issue a Directory listing of your CD-Rom drive and redirect this listing to your printer.You will then have a physical map of the subdirectories on your CD-Disc. For the Source File, type the name of the List File that you are currently importing. For the Destination Area, type the Area number where you want these files to be classified in. Area 0 is the Main Board, any other number represents a Forum. For the Destination Subject, type the Subject number that these files will be classified under. The subject number corresponds to the numbers you gave each category in your DIRS file and the number a caller must type (as shown to your callers in your DIR and DIRG files) to view the files in this particular subject. Select Start to begin the Import process. For each file that is imported, the file will be given the Keywords, Description, File Size, and Date that are contained in the List File. You will need to repeat the above process for each List File that you have to Import. It can take several hours to Import the 6000 plus files that are contained on a CD-Disc, so plan your time accordingly. You only need to be around to provide the actual input to the Import Menu Choices. Because there is no direct correlation with with the List Files and the files actually contained in the directory that you specified as the Source Directory, you will now need to run Update. Makers of CD-Discs provide us with wonderful Categories of files, but we have yet to see a CD-Disc where 100% of the files in a specified Category are actually in the corresponding disc directory. If you think you have just spent a great deal of time in getting all of these files into your FileBase, imagine the amount of time it takes to actually create a CD-Disc! In order to actually check each of the new files you just Imported into your FileBase, GAPFILE now needs to check the directory that is contained in the Where field for each file to see if the file is actually in that directory. If a file is not in that directory, your callers will be unable to download it. In order to do this, GAPFILE needs to seach all Page 132 GAP Communications FileBase Editor of your disk drives to try and locate the file (providing the file isn't where it is supposed to be). Before running Update, make sure that line 1 of your GAPFILE.CNF file contains only the drive letter for your CD-ROM. This will force GAPFILE to search just the CD-ROM. Be sure to change this back after the Update is finished so that the only drives that will ever be searched are your actual hard disk drives. Once the Update of a CD-ROM is complete, there will never be a need to search it again. Before beginning the Update, we need to go to the hardware level and make sure the hardware is working for us instead of against us. If you do not have expanded memory the following advice does not apply to you. MSCDEX, the software program that oversees the CD-ROM, allows you to set the Cache buffer size. Normally, entering /M:32 is sufficient (or even using the default buffer size is sufficient). Since GAP itself never has to physically search for a file (you are doing all that drudgery right now), having a large buffer serves no useful purpose. However, right now, in performing the Update, we need a pretty large CD-ROM Disc Cache. If you have over 1 meg of expanded memory, we suggest you set your Cache buffer to 512. This will set the Cache buffer to 1 meg. The MSCDEX parameters for implementing this are : /E /M:512 This will set up a 1 megabyte CD-Disc cache in expanded memory. The reason you need such a large cache is to keep MSCDEX from physically searching the CD-Disc for a file (should the Update not be able to find the file in the directory the Import Utility said it is in). Once the entire disc is searched for a file, all of the directory structure for the CD-Disc will be in MSCDEX's Cache buffer. This will speed up the Update process tremendously, since MSCDEX no longer needs to access the CD-Disc; all the information that it needs to locate a file will already be in fast RAM. Note that versions of MSCDEX prior to 2.2 have a severe bug whereby if you try to allocate a Cache buffer greater than 63k, the cache will corrupt itself. You will see this problem manifesting itself as "file not found" or if you do a DIR of the CD-Disc, you may only see some of the directories displayed. If you need to set a Cache buffer greater than 63k and you are using a version of MSCDEX prior to 2.2, call Microsoft now and obtain an update to the program. Page 133 GAP Communications FileBase Editor Now that the hardware is taken care of, we are ready to run our much needed Update. From the Utilties Menu of GAPFILE, select Update. Move the cursor down to All Subjects and press Enter. This will cause a check mark to be displayed in front of All Subjects. Make sure File Date has a check mark in front of it. You toggle individual options on or off by pressing Enter while the bar is highlighting the Menu Item. For Delete File and/or Offline File (both of them are mutually exclusive) the decision is yours. If Update cannot locate a particular file it will either delete the FileBase listing for the file or mark the file as OFFLINE. As long as you have everything configured correctly, if the file cannot be located, it simply does not exist. You may choose at this point to simply OFFLINE files that cannot be found. By marking non-existent files as OFFLINE, you keep the FileBase Entry for the file, but if a caller requests the file for download, it will be up to you to locate it and make it available. By now it is probably 10:00 pm and you are ready for bed. Select Start from the sub-Menu and go to sleep. The entire process will take a minimum of 8 hours. If you do not have at least a 1 megabyte expanded memory cache that MSCDEX can use, it will take over 18 hours to complete the Update process. Keep in mind that you are dealing with a device that is probably 10 times slower than your 1.4 meg floppy drive. Also keep in mind that your callers will think you have the best BBS in town because you have all these neat files that nobody else has. Little do they know what you had to go thru to provide them! The Update process will insure that each file in your FileBase can be located by GAPBBS. The time spent initially installing your CD-Disc is time well spent since you will never have to do it again (CD-ROMS do not change). Command Line Interface You may run GAPFILE in batch mode to produce a Master File Listing. The Master File Utility Menu must already be configured so that GAPFILE knows the name of the Master File list, the Area(s) to utilize, whether or not to produce a Condensed or Enhanced list, etc. Page 134 GAP Communications FileBase Editor The commands to accomplish this are as follows: GAPFILE 5 U M S Q R Which corresponds to: Run GAPFILE Select the Utility Menu Select the Master File List Start the Listing Process Select the Quit Menu Return To GAPMENU The spaces in the command line and the ordering of the pa- rameters are required. GAPFILE will also accept a command line parameter of: UPDATE 5 FILENAME Where FILENAME is the name of a file to Update. You would probably want to use this command after producing a Master File Listing so that if you ZIP the listing and place it in your Upload Directory, GAP will always show the file as new whenever you update it. Since Update cannot be intermixed with the previous com- mands, you will need to run GAPFILE twice if you wish to produce a Master File Listing and Update the date and size of the resultant ZIP file that your batch file will create/update. The following is an example of how to produce a Master File Listing, ZIP the listing, then update the FileBase: MASTER.BAT ------------------------------------ GAPFILE 5 U M S Q R PKZIP H:\UP\CROWLIST.ZIP MASTER.LST GAPFILE 5 UPDATE CROWLIST.ZIP Note that in using the above example, you should make sure to have only one (1) CROWLIST.ZIP in the Filebase since GAP- FILE will search for and accept the first instance of the file it finds (same as what occurs when you use F8 to find a file in All Subjects). Page 135 GAP Communications FileBase Editor Unlike the commands to create the Master List where you must specify the commands to cause GAPFILE to Quit to GAPMENU, after performing the Update on the file, GAPFILE will automatically Quit. Page 136 Chapter 16 External Protocols General Information GAP allows the sysop to define up to 8 external protocols. To implement these protocols, you will need an external protocol driver. In configuration set the External Protocols option to Yes and in the field below, enter the letters which will represent the external protocol. You will need to edit your PROTO file to show the external protocols you have added. It is a good idea to keep them separate from the internal protocols and perhaps label them as external so the users know what they are dealing with: PROTO -------------------------------------------------- File Transfer Protocols [A]scii [Y]modem [X]modem [F]Xmodem 1K (ECC) [C]rc Xmodem [G]Ymodem-G (ECC) [1]K Xmodem [Z]modem [N]one External Protocols [D]sz (Zmodem) [J]modem In order for GAP to call up the external driver, you will need to create two batch files for each external you wish to support. The download batch files are called EXTSx.BAT and the upload batch files are called EXTRx.BAT, where the X is the protocol letter for your external protocol. These files go in your GAP DEFAULT directory. The actual driver may be placed in any directory that is in the DOS path. If you were to add Jmodem as an external protocol, the batch files would appear as EXTSJ.BAT (send) and EXTRJ.BAT Page 137 GAP Communications External Protocols (receive). Remember that send is the same as download and receive is the same as upload. When GAP shells to the external driver, it will pass 3 parameters in the following order: PORT, DTE BPS RATE, PATH\FILENAME A sample batch file used to send a file with Jmodem would appear as follows: EXTSJ.BAT -------------------------------------------------- echo off cls jmodem S1 %3 The external driver must return an exit code to the operating system. This exit code is returned to GAP by COMMAND.COM. An exit code of 0 means the transfer was successful. Any other code means an unsuccessful transfer. The sysop status line will remain on the screen during the external shell. Note that you must have enough free memory to accomodate both GAP and the external driver. You should be aware that when executing the external protocol, if the batch file cannot be found, COMMAND.COM will issue an error message to the console but it will return an exit code of 0 to GAP. This means the user will be credited with the download (or upload) even if the attempt to shell to the protocol was unsuccessful. Note that many protocol drivers do not restore the com port exactly as they found it. You should not use any external program which is so poorly written that it does not follow good programming practices. It should also be noted that Jmodem writes directly to the screen. This precludes it from operating under a multi-tasking system and it also means that if given the opportunity, it will overwrite GAP's status line (the reason for the CLS in the batch file). Batch Downloads Because GAP allows callers to conceptually download an unlimited number of files at one time (the limit is defined in the SECLEV file by the sysop), GAP must have some method of keeping track of the requested files, their disk directory location, and their size. For batch protocols, GAP writes this information to a file called FILELST.DWN. When it comes time to do the actual file transfer, GAP reads this Page 138 GAP Communications External Protocols file one record at a time (the file is binary) and passes the appropriate information to the protocol routines. There is a utility program called READBTCH that will read this file and create a text file suitable for DSZ or any protocol that utilizes the DSZ convention of passing the name of a text file that contains the names of the files to transfer. The External Protocol letter of D is reserved for DSZ. You are free to assign any protocol to this letter but you should be certain you understand the manner in which GAP recognizes the D and assumes it is DSZ. If the caller's protocol is set to D, GAP will allow the caller to enter into batch mode. This means the caller will be able to grab all the files at one time that he/she wishes (up to the sysop imposed limit). Batch downloads are not possible with other external protocols. During a D type of external download, GAP will shell out to the external in the normal fashion. However, because the D is considered to be a batch protocol, GAP knows absolutely nothing about the files the user has downloaded. In other words, when the caller returns from the external shell, GAP will not know anything about what occurred. In order to update the filebase as well as the user record, GAP needs to know what files were transfered along with their size. It is for this reason that we have dedicate D to DSZ. When GAP regains control, it will read the DSZLOG (or whatever name you gave to the DSZ environment variable DSZLOG). This log provides all the information GAP needs to know in order to properly credit the caller with the downloads and to update the filebase. You must make certain that DSZ is configured to produce this log. If it does not exist, your callers will be able to download as many files as they wish without being credited with the download counts. Page 139 Chapter 17 GAPMaint Description GAPMaint is a full featured Menu Interface for GAPPACK and GAPREBLD. The low level Pack and Rebuild programs can be difficult to use if you do not understand all the command line parameters required to make them work the way you need for them to work. ARTWORK With GAPMaint you can define default packing parameters for all of GAP's ISAM Database files. GAPMaint allows you to setup a primary set of default values which are used as starting points in all of the pack and rebuild operations. With these defaults you may then "fine tune" each forum with it's own set of default parameters. Based on these parameters you may then pack main or forum message bases either one by one or all at once. If you prefer to run packing in an event, GAPMaint will even create a batch file from the defaults which will be suitable for running on it's own or may be added into an existing event batch file. Page 141 GAP Communications GAPMaint GAPMaint has a context sensitive, cross referenced help system to guide you through the basic operations and setups. Also, GAPMaint may be used with a mouse throughout most of it's menus. GAPMaint uses GAPPACK.EXE and GAPREBLD.EXE for its pack and rebuild operations. This will allow for most updates to either program without requiring GAPMaint to be re- configured. All errors generated by either of these programs are checked and GAPMaint will halt the operation, displaying an error message should a problem arise. GAPMaint stores it's default parameters in two files: GAPMAINT.CNF - Contains parameters defined in the config. GMFORUM.CNF - Contains special parameters for each forum. During execution, GAPMaint will need to have access to the following files in addition to it's own configuration files described above: GAPBBS.CNF - To obtain the primary path setup of the BBS. FORUM.DAT - To obtain the paths for each of the forums. GAPPACK.EXE - For all packing activities. GAPREBLD.EXE - For all packing and rebuilding utilities. GAPSYS.DAT - GAPBBS Registration file. Page 142 GAP Communications GAPMaint Configuration When GAPMaint is run for the first time, or if it cannot locate it's configuration file, you will be taken into the configuration screen. ------------------------------------------------------------ Path to GAPBBS.CNF D:\GAP Beeps & Bells No Output Batch Name MAINT Safe Mode No Batch BAK Delete No Delete Forum BAK No Delete Main BAK No User Defaults Message Defaults Number of Days 0 Number of Days Exempt Level 0 Purge Private Received No Keep Locked Out 0 Max Number of Messages 0 ------------------------------------------------------------ Here you enter all the default packing options and the configuration options GAPMaint needs in order to run. Path to GAPBBS.CNF is the path to GAPBBS.CNF. This file is GAP's configuration file and is located in the default GAP directory. This path should be entered without a trailing backslash. Beeps & Bells tells GAPMaint whether or not to beep when an error occurs. Safe Mode if set to Yes, will cause the Pack Batch file to give you the opportunity to abort the pack process after it displays the parameters. Delete Forum BAK tells GAPMaint if you want it to delete the Forum MSGS.BAK files. These files are your backup message files that are created when GAPMaint packs your messages. If you do not delete these files, you will always have a backup should an irrecoverable error occur. Output Batch Name is the file name you would like to use when GAPMaint creates a packing batch file. No extension is required as GAPMaint will attach the extension ".BAT" on it's own. Do not use GAPMaint as the name of your batch file because DOS always runs COM and EXE files before BAT files Page 143 GAP Communications GAPMaint and if you give the batch file the same name as the executable program, your batch file will never run! Delete Main BAK when set to Yes, causes GAPMaint to delete your Main Board messages backup file once it is finished packing. Number of Days for User Defaults is the number of days a user must have called within in order to be exempt from purging. For instance, if you set this field to 30 and a particular user hasn't called for 40 days, that user will be purged from the User File. Exempt Level should be set to the level at which you wish to start exempting users from being packed out if they have not called within the number of days you set in the Number of Days field. Any user with a security level equal to or higher than this level will be exempt from packing. Keep Locked Out allows you to keep locked out users in the database. When such a locked out user calls, GAP will tell the user that he/she is locked out and hang up. Alternatively, you can set this field to No and then enter the user's name in the TCAN file. Number of Days for Message Defaults will force a purge of messages that are older than the number of days you enter in this field. For instance, if you enter 30 here, any message that is older than 30 days will be removed from the message file. Purge Private Received if set to Yes, will remove all messages that are marked as private and which have been read by the recipient. Max Number of Messages allows you to define a limit on the number of message that will be retained in your message database. This setting is handy in Echo Mail forums which generate a lot of mail daily. All messages over this limit will be purged with no regard as to whether or not they have been read or how old they are. NOTE: The Maximum Number of Messages option has not yet been added to GAPPACK and is only included here for future compatibility. Once all of the configuration items are set, the configuration file may be saved by either pressing Enter at the last item or by pressing Esc at any point in the screen. You will then be given a choice as to whether or not GAPMaint should save the options to a file. If the options Page 144 GAP Communications GAPMaint are not saved they will remain in effect only during the current session. Forum Configuration The forum defaults may be set through the Forum Management Option on the SetUp Menu. Within the forum manager many of the same parameters that were configured in the primary setup may be fine tuned for each individual forum. Forums are listed in the manager by number. The manager itself only displays five forums at a time but may be scrolled up or down by using either the Up and Down Arrow keys or with a mouse on the scroll bar. ------------------------------------------------------- Number Name Days MaxMsgs KillPvt DelBak 1 Quick Basic 2 0 Yes Yes 2 BBS Doors 2 0 Yes Yes 3 Love 30 0 Yes Yes 4 GAP Q&A 45 0 Yes Yes 5 GAP Support 45 0 Yes Yes ------------------------------------------------------- Moving through the fields in the manager may be done with the mouse or by pressing Tab or Enter to move to the next field and Shift-Tab to move back a field. To save a forum default configuration press Esc then answer Yes at the confirmation prompt. NOTE: GAPMaint stores your configuration options in a file called GAPMAINT.CNF. Whenever you start the program, it will check your main GAP configuration to see if you have made any changes to your Forums. If there is a mis-match between the way you have your Forums configured for GAP and the way they are configured for GAPMAINT, a warning box will appear telling you so. If this occurs, you need to select GAPMAINT from the SetUp Menu and make whatever changes are necessary and then save the new configuration. This will update the Forum count. At this point, you will need to exit the program, delete the GMFORUM.CNF file, run the program again and re-configure your Forums. Page 145 GAP Communications GAPMaint User Database Packing To pack the User File select Users from the Main Menu. The following options screen will appear allowing you to change your default User options prior to packing the file: ------------------------------------------- Do you wish to KEEP all locked out users? No How many days since last call to purge? 30 Exempt security levels above and including? 50 ------------------------------------------- Filebase Packing Use the Files Menu to pack your FileBase files. ARTWORK Data Files allows you to pack the main FileBase data file. This is the file that contains the main records for each file. Key Files allows you to pack just the Keyword data file. This is the file that stores the individual keywords which GAP uses whenever a keyword search is issued. Note that it is seldom necessary to pack your FileBase files. Also, this process can be quite time consuming if you have over 1000 files in your FileBase. Message Packing Use the Messages Menu to pack your message bases. ARTWORK Selecting Main Board will pack only the main board message base. Page 146 GAP Communications GAPMaint Pick Forum allows you to choose a Forum to pack, from a list of available Forums. If you select All Areas then GAPMaint will pack the main board message base as well as the message bases for all of your Forums. When packing all areas, the defaults you set up in configuration will be used and you will not be given the opportunity to override any of the packing options. The following screen will appear if you choose Main Board or Pick Forum from the Messages Menu. This screen provides you with the opportunity to override your default settings if you so choose: ----------------------------------------------- Do you wish to purge all Private/Received mail? Yes Purge any messages older than how many days? 30 Maximum number of messages to keep in database? 50 ----------------------------------------------- Rebuilding Indexes It is sometimes necessary to rebuild index files. Corrupt indexes can occur if there is a power surge of if the computer is turned off during an ISAM update. To rebuild your indexes, select the Rebuild Menu. ARTWORK As Needed will rebuild only the index files which require rebuilding. If you suspect that a certain index is corrupt, delete that IDX file and use As Needed to create a new index. Forced will rebuild all of the index files whether they need it or not. This will include the user, message and files databases, as well as message databases in each forum. Page 147 GAP Communications GAPMaint Tools The Tools Menu provides you with several utilities to aid in fixing corrupted files as well as a Questionnaire answer file stripper. ARTWORK Selecting Fix Sysop will repair a corrupted Sysop record. GAP stores the Sysop record in the user file in the very first record position. For one reason or another, this record may become corrupted. GAPMaint offers an easy means of restoring that record to it's original default values. After fixing the Sysop record, you must enter into the User Editor to update this record with the correct Sysop information. MSGS Numbers allows you to adjust the high message number for the main board and each of the Forums. Normally you would want to change the high number for a particular message base only if the message numbers become out of sync with the actual number of message or if, for some reason, the MESSNO.DAT file becomes corrupt. When asked to enter a new high number, if you wish to skip an area or leave the high message number the same, simply press Enter when prompted for a new number. Strip Quest allows you to remove the questions from a specific Questionnaire Answer file so that the answer file contains only the responses to the questions. Setup The Setup Menu allows you to configure GAPMaint as well as create a batch file that can be used to run GAPMaint automatically. ARTWORK Selecting GAPMaint from the Setup Menu allows you to configure the default packing parameters that GAPMaint will use. Please see the section Configuration for detailed information on how to configure GAPMaint to your needs. Page 148 GAP Communications GAPMaint Forums allows you to set default packing parameters for each of your Forums and is described in detail in the section Forum Configuration. Batch will create a batch file which utilizes all of the default configuration information to automate the packing process. Such a batch file can be used as is or added to another batch file such as one of your Events. Page 149 Chapter 18 Questions & Answers Question: I have number of news files that I want my callers to read, however most of them either answer No at the more prompt or type CTRL-K to abort the files. How can I force them to read these files in their entirety? Answer: Place an "@" as the very first character in the file(s). When GAP encounters this character it will issue the pause prompt instead of the more prompt and will disable the CTRL-K and CTRL-X keys. Question: When a caller logs off, my modem will not hang up. Answer: You probably have your modem configured such that carrier detect is always on. The modem needs to be set so that GAP has complete control over this signal. For modems that do not have NRAM this is usually controlled by an external switch. For NRAM modems, this is normally controlled by the &D2 command. Question: I am trying to configure my system for the first time. However, when I go into the user editor, the program hangs for a number of minutes, then when I try to edit and save my sysop record, it gives me an error message and the record does not get saved. Answer: The multi-user version requires that SHARE.EXE be run prior to running any of the GAP programs. Page 151 GAP Communications Questions & Answers Question: I am using a 9600 baud modem and have my com port locked in at that rate, yet when callers download using Ymodem-G or Zmodem, they get less than 1000 cps. Answer: In order to achieve better than 9600 cps with a high speed modem, you need to set and lock the com port at 19200 (or 38400). In addition, your callers need to call in at 19200, not 9600. Setting the MNP to level 5 also speeds up throughput. Question: I have my com port set to 19200 but when a caller logs on at that speed, the status line says 9600. Answer: The 9600 baud modems do not return a CONNECT 19200 message, they return CONNECT 9600. That is the speed that GAP displays on the status line. Question: When using Ymodem, the system seems to hang after sending a file. About a minute later, it will come back with a timeout message. Answer: The caller is not using Ymodem. Ymodem is a batch protocol and the hang you see is GAP waiting for the receiver to acknowledge the end of batch signal. The caller is no doubt using Xmodem 1k. Question: Whenever a user tries to upload a file, GAP gives them a Sorry, insufficient free space and will not allow the upload. I've got more than 4 megs of free disk space! Answer: One of two possibilities. The first is you have the Minimum Free Upload Space set too high. The second and most likely, you did not enter a drive designator in front of the upload directory path in configuration. GAP needs to know which disk drives the uploads are going to. If you do not enter a disk drive in front of the path, GAP has no idea what drive to check for free space. Page 152 GAP Communications Questions & Answers Question: There is a serious problem with text files. Whenever I change one of my files such as the NEWS, the changes are not shown to callers. GAP still shows the old version of the file. Answer: First, it is physically impossible for GAP to show an old copy of a news file. If you modified the NEWS file in the GEN directory, that is the file GAP displays. Chances are, you are not updating the color version of the file and your callers who enable color mode are seeing the old version. Question: Why does GAP keeps changing my security level? Sometimes it increases it and sometimes it decreases it. Answer: You are using the left and right arrow keys and changing your own security level! GAP does not automatically adjust levels. When entering messages, remember that the arrow keys are sysop functions, not cursor movement keys. Question: The status line at the bottom of the screen scrolls up and wont stay put. Answer: You are using an ANSI driver or video speed up TSR that writes directly to the screen. GAP cannot protect the status line if another program is intercepting DOS and sending video output directly to the screen. Question: Every once in awhile when using Sysop function 1 to view the caller log, the log displays all over the screen instead of nice rows and columns. Also, GAPCALL produces very strange efficiency ratings. Answer: You are either editing the caller logs or allowing a door program to write to them. The logs are binary and as such cannot be edited. Page 153 Index ANSI 9, 18, 35, 153 Handles 15 Ansicmds 23 Security 28 ASCII 9, 18, 35, 43, 56 Subscription 29 Batch downloads 37, 139 Handles 15 Batch file 37 ISAM 38, 39, 40, 87 Batch files 2, 37, 43, Keyboard Inactivity 18 73, 137 Last caller 16 Bulletins 14, 16, 28, 43, Locked Out Users 15, 26, 95 27, 39, 44, 69, 101 Forcing 16 Log-on Maximum 14 Quick 16 Caller Analyzer 9, 37, Messages 40 Carbon Copy 18 Caller File 9, 85 Deleting 18 Callers Exporting 102 Restricting 12 Importing 102 Closed board 15, 69 Lines 18 Color Maximum 18 Default 17 Private 18, 30, 95, 104 Files 9, 35 Quoting 18 Comments 30, 95 Validating 18 Corrupted Files 39, 87 News Files 44 Directories Protocols 137 Number 15 Quoting 18 Disk cache 2 Disabling 18 Doors 10, 30, 43, 55, Ratios 10, 23, 41 57, 61, 64, 98 Registration Configuring 55 Forcing 15 Menu 55 Remote 10, 33, 36 Error Seclev 22, 41, 69, 99, ISAM 85, 87 138 Sharing 8 Security Levels 8, 10, Events 70, 72, 73 13, 14, 22, 23, 28, Expired Subscription 13 39, 41, 55, 62, 94, External protocol 37, 45, 99, 101, 102, 103, 104 137, 138, 139 SHARE 1, 8 External Protocols 23 Subscription Forum Date 22 Configuration 28, 29, Enforcing 21 30, 31 Expired 13, 22 Directories 3 Forum 29 Files 5 Period 21 Page 155 GAP Communications Index Supplemental News 44 Sysop Configuration 33 Forum 28 Levels 8 Paging 45, 96 Text Search 97 Time Additional 29 Enforcing 15 Extending 23 Upload Credit 22 Directory 11, 15, 28 Preventing 44 Private 23, 29 Uploads Forum 3 Welcome File 16 New User 9 Welcome File 9 Page 156