home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
MISC
/
GAPDEMO3.ZIP
/
GAPMAN6.TXT
< prev
next >
Wrap
Text File
|
1995-01-03
|
527KB
|
12,322 lines
***************************************************************
* *
* GAP *
* Communications *
* *
* *
* *
* *
* *
* Guide To Operations *
* *
* Third Edition *
* *
***************************************************************
This manual is (C) Copyrighted 1987-1992 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 Communications logos (including the following slogan) are
trademarks of GAP Development Company:
The Future in Electronic Information Systems
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, GAPMAINT and any other program that is
distributed under the GAP Communications logo is/are
trademarked/copyrighted by GAP Development Company.
IBM and TopView are trademarks of International Business Machines
Corporation.
DesqView is a trademark of Quarterdeck.
Courier HST is a trademark of USRobotics, Inc.
Hayes and Smartmodem are trademarks of Hayes Microcomputer
Products, Inc.
LANtastic is a trademark of Artisoft, Inc.
Novell and NetWare are trademarks of Novell, Inc.
Contents
Introduction 1
Minimum Requirements 3
Setup 5
Directory Structure 5
File Locations 7
Forum File Locations 9
Installation 9
Configuration 11
Sysop Security Levels 13
File Names 15
Drive/Path Specifications 17
Modem Configuration 18
BPS Rate Restriction 21
Main Menu Commands 22
File Menu Commands 24
View/Change Stats Commands 25
Miscellaneous Information - One 26
Miscellaneous Information - Two 29
Miscellaneous Information - Three 32
Subscription Configuration 35
File System Options 37
Events.i.Events 40
Strings and Prompts 40
Function Key Macros 42
Forum Configuration.i.Forum 43
Files Menu Options 48
Sysop Configuration 49
Page iii
GAP Communications Contents
System Files 51
Default Directory 51
Help Directory 57
Main Directory 57
SECLEV Editor 60
Gen Directory 62
Forum Files 67
Default Directory 67
Gen Directory 68
Upload Directory 68
Special Batch Files 68
ARCTRANS.BAT 69
UPCHECK.BAT 69
LOGON.BAT 73
QWK/REP Sub-System 74
Description 74
Setting Up 74
Modem Configuration 79
General Information 79
Sample Configurations 81
Doors 87
Doors Data File Editor 88
Questionnaires 93
Description 93
Setup 94
Overview 94
Processor Commands 103
Examples 103
Miscellaneous Information 106
Events 107
Description 107
Setup 107
Page iv
GAP Communications Contents
Running the Events 110
Batch Files 111
Examples 111
Text Files 113
General Information 113
Security Files 114
Security Menus 115
Security News 115
UserInfo Files 116
AnsiCmds 117
Special AnsiCmds 119
XCodes 119
Creating XCodes 120
Caller Log 123
Errors 125
Call Waiting 127
Sysop Defined Screens 135
Sysop Mail 138
User Editor 139
Command Keys 144
Special Fields 145
System Operation 147
Main Menu Commands 147
Enter Mail Sub-Commands 150
Read Mail Sub-Commands 150
View/Change Stats Sub-Commands 152
File System Commands 153
File Commands 154
Archive Commands 155
Miscellaneous Commands 156
Page v
GAP Communications Contents
Sysop Commands 156
Function Keys 156
Sysop Functions 158
FileBase Editor 161
Description 161
Setup 161
Running Gapfile 166
Utilities 172
Selection List 177
Saving 177
CD-ROM Usage 178
Command Line Interface 186
Indirection Files 188
External Protocols 189
General Information 189
Questions & Answers 195
Index 205
Page vi
Chapter 1
Introduction
Welcome to GAP Communications!
Because of the overwhelming response from System Operators around
the world, GAP has become the standard in on-line communications
software.
Remote communications, or Bulletin Board Systems (BBS), have
become the wave of the future. Bulletin boards are no longer the
private domain of the hobbyist. Companies throughout the world
are using GAP Communications to provide on-line information,
technical support, as well as local and remote E-Mail services
for their staff.
Whether you are a private user who needs fully powered remote
access to your home computer system, a person who simply wants to
open his computer up to anyone who wishes to call in and utilize
the benefits you provide, a small business, or a large
corporation, GAP Communications is your software of choice.
With GAP Communications, you are always open for business.
Customers and your staff can access your office or home computer
24 hours a day to transfer data or leave important memos,
reports or sales orders. On a local area network, GAP provides E-
Mail capabilities far surpassing those of dedicated mail systems.
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
manual carefully. Installing a BBS system can be complicated due
to the many individual files involved.
Page 1
GAP Communications Introduction
The Installation program contained on the Master Distribution
diskette number 1 together with the Setup program (which will
automatically be invoked after the install process) will provide
you with a basic BBS system in minimal time.
GAP is basically made up of 3 types of files - "executable",
"system" and "text". The executable files are those programs that
are required to make your BBS system operate. The system files
are those files that are either created by GAP as needed, or are
initially created by you if you wish to use a feature associated
with the file. System files are generally placed in your MAIN
directory, however some of them are unique to each node and are
therefore placed in your DEFAULT directory. Files in the MAIN
directory are shareable between nodes. Files in the DEFAULT
directory are specific to each node and are not shared. Text
files are those files that are displayed to your users. These
include Menu, Help, Bulletin, News, and Welcome files. These
files are created by you using a Text Editor and an ANSI Editor
(if you wish to provide color versions of these files). Text
files are also shareable between nodes. However, because sending
files through a network can be time consuming, instead of placing
these files in the shareable MAIN directory, they are placed in
the static GEN directory which can be either a directory shared
by all nodes or a directory that is on the local hard disk of
each node. Since the Text files are static in nature (their
contents do not change or change only on a pre-determined basis),
these files may be placed on a RAM disk to speed up access time.
GAP comes with default system and text files which will be
installed for you automatically. You are encouraged to look at
and modify these files to suit your own tastes. You may not like
the way we have laid out the Menus or you may not like the colors
we have chosen. Please feel free to change any and all of these
files to reflect the type of user interface you would like to
convey to your callers.
The basic user interface that your callers will see when they
dial in comes from your Main and File Menus. You are responsible
for providing the menus since GAP will only provide a "command
prompt" when it is waiting for user input. Because you design the
menus yourself, your BBS will look and feel the way you want it
to.
Each of the chapters in this manual will lead you step by step
into the configuration and design of your own personal BBS
Page 2
GAP Communications Introduction
system. The largest and most important chapter is Configuration.
Most of the configuration for GAP is performed through GAPSETUP.
This program provides extensive on-line help, so if a
configuration option is confusing or you need further
explanation, it is available by pressing the F1-Help key.
Although our installation program will have you up and running
with a fully configured BBS in under 10 minutes, in order to
provide the user interface you wish to convey to your callers,
you will need to go through the configuration one step at a time.
It is perfectly normal to make mistakes or to change your mind
about something. If you make a mistake about a configuration
option and things just don't seem to work quite right, don't
worry about it. We've all been there. Just try again.
Minimum Requirements
+ IBM AT or 100% compatible (386 required to run Multi User
under a Multi Tasking system such as DesqView).
+ 640K memory (2 megabytes or more if Multi Tasking).
+ 1 360K floppy drive.
+ 1 Hard Disk (40 MB minimum).
+ CGA, EGA, or VGA monitor.
+ Hayes AT Command set compatible modem.
+ DOS 3.3 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 since GAP is fully DESQview aware.
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.
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 will provide
Page 3
GAP Communications Introduction
information on how to configure GAP for LANtastic and NetWare
Lite, however it is impossible for us to give detailed
information on Network setup 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 some knowledge of 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 expanded memory. If you are using an XT, allocate 128k
of regular memory to the cache. When using a disk cache, you
should lower the number of buffers in the CONFIG.SYS file to 3.
If you are running the Multi Node version of GAP, you should have
received, in addition to this manual, a supplemental booklet
called Multi Node Operation. This booklet provides information on
configuring your network or multi tasker for GAP.
Page 4
Chapter 2
Setup
Directory Structure
In order to insure correct operation of your BBS, we recommend
that you use a directory structure that is consistent and easy to
manage.
The Install program creates the necessary GAP directories for
you, however you may want to use the chart on the following page
as a guideline should you need to create a directory structure
for other nodes or as a visual means to understanding the general
layout of GAP.
Page 5
GAP Communications Setup
GAP Directory Structure
*****************************************************************
* *
* Root Directory *
* | *
* +-- GAP DEFAULT Directory *
* | *
* +-- Download Directories *
* | *
* +-- Forum DEFAULT Directory *
* | | *
* | +-- Download Directories *
* | | *
* | +-- GEN Directory *
* | | *
* | +-- UPLOAD Directory *
* | *
* +-- GEN Directory *
* | *
* +-- HELP Directory *
* | *
* +-- MAIN Directory *
* | | *
* | +-- UserInfo Files *
* | *
* +-- UPLOAD Directory *
* | *
* +-- QWK/REP Directory *
* *
*****************************************************************
The DEFAULT Directory is the home directory for the BBS and in
the case of a Forum, it is the base directory for that Forum.
The MAIN Directory is where the dynamic files are placed. These
include the User and Main Message database, the Filebase,
Questionnaires and their answer files, as well as other files
that contain sensitive information.
The GEN Directory is where the static files are placed. Since
these files rarely change while a caller is on-line the GEN
directory may be placed on a RAM disk to speed up access to its
Page 6
GAP Communications Setup
files. In this directory you will find the Menus, Bulletins, and
other informational files.
It is not necessary to place your Download and Upload Directories
as subdirectories under the GAP Default Directory. In fact, many
Sysops use a separate disk for these directories. Since the files
in the download directories do not grow or change position on the
hard disk, your disk optimizing chores will be easier if these
files are placed on their own hard disk.
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 unless you want the Forum to
have its own specific menus or informational files; nor do they
need an UP directory unless you choose to keep uploads inside the
Forum.
The Forum Download Directories are necessary only if you have
additional file directories available in the Forum.
File Locations
The following is a list of the actual files which should be
placed in their respective directories:
Page 7
GAP Communications Setup
+----------------------------------------------------------------+
DEFAULT MAIN GEN HELP | |
|----------------------------------------------------------------|
Door Batch Files ANSWERxx 7E1 All Help Files | |
DOOR.SYS CALL.DAT BIRTH(g) | |
EVENTS.DAT CALLERx BLT(g) | |
EVENTx.BAT CHAT.1 BLTxx(g) | |
EXTRx.BAT DUMMYLOK.DAT CLOSED(g) | |
EXTSx.BAT DWNLOAD.DAT COMMENT(g) | |
FILELST.DWN DWNLOAD.IDX DIR(g) | |
GAP.BAT FILEKEY.DAT DIRS | |
GAP.HLP FILEKEY.IDX DOORM(g) | |
GAP.NDX FILES.DAT DOORS.DAT | |
GAPBBS.CNF FILES.IDX ENEWS(g) | |
GAPBBS.EXE FORUM.DAT EVENT(g) | |
GAPCALL.CNF MEMBER.DAT EXPIRE(g) | |
GAPCALL.EXE MEMBER.IDX FILEM(g) | |
GAPCALL.HLP MESSNO.DAT FILES.DIR | |
GAPDOOR.EXE MSGS.DAT FORUMM(g) | |
GAPFILE.CNF MSGS.IDX KEEPUP(g) | |
GAPFILE.EXE NETWORK.DAT LOCKOUT(g) | |
GAPMAINT.CNF NEWQUEST LOGON | |
GAPMAINT.EXE QUESTxx MAINM(g) | |
GAPMAINT.HLP REGIS NEWS(g) | |
GAPMENU.CNF SECLEV.xxx NEWSx(g) | |
GAPMENU.EXE TCAN NEWUSER(g) | |
GAPMENU.MNU USERINFO NOPAGE(g) | |
GAPMENUx.SCR USERS.DAT NOTIME(g) | |
GAPPACK.EXE USERS.IDX NOUP | |
GAPREBLD.EXE PAGE(g) | |
GAPREPRT.EXE PROTO(g) | |
GAPSETUP.EXE QMENU(g) | |
GAPSYS.DAT RATIO(g) | |
GAPUSER.EXE REGINFO(g) | |
GAPUSER.HLP RESBAUD | |
GAPUSER.NDX SMAINM(g) | |
GMFORUM.CNF TWIT(g) | |
READBTCH.EXE UPHELP(g) | |
REMOTE.BAT UPLOAD(g) | |
WELC(g) | |
WELCx(g) | |
+----------------------------------------------------------------+
Note that some of those files will be created by the setup
program and are not included on the distribution diskettes. Also
Page 8
GAP Communications Setup
many of them are optional (they must be created if you wish to
utilize them).
Forum File Locations
The following is a list of files which can be unique to each
Forum:
+----------------------------------------------------------------+
DEFAULT GEN UP DOWN | |
|----------------------------------------------------------------|
ANSWERxx BLT(g) Forum Up Forum Down | |
MSGS.DAT BLTxx(g) | |
MSGS.IDX DIR(g) | |
QUESTxx DIRS | |
DOORM(g) | |
DOORS.DAT | |
FILEM(g) | |
FILES.DIR | |
MAINM(g) | |
NEWS(g) | |
QMENU(g) | |
SMAINM(g) | |
+----------------------------------------------------------------+
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
The installation program will create the necessary file
directories and copy the GAP files to your hard disk.
The initial configuration of GAP will assume a default hard disk
of Drive C:. If this is the drive that you installed to, then
your GAP system will be ready to run after the installation
process is finished. After the installation program has finished
Page 9
GAP Communications Setup
installing the GAP files, you will automatically be taken into
the Configuration Editor. If you are satisfied with the defaults
provided, exit out of the program (Select the Quit Menu and
choose the Save option). Next you will be taken into the User
Editor. The record you will see is your sysop record. You need to
change the First, Last, and Password fields to names of your own
choosing. Do not use your real name and do not use a password
that you use to call other systems.
After making the changes to your sysop record in the User Editor,
press Esc (press Y to save changes when asked) and then select
Quit from the Menu.
Using the defaults provided, your GAP Communications system is
ready to go. If you like, you may now log on as the sysop.
Page 10
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. 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 manual will describe the configuration of a single node
system only. If you are running a multi user system, you will
need to perform the configuration from each of your node's
DEFAULT directories. This is most easily accomplished by copying
the GAPBBS.CNF file from the DEFAULT directory of your main node
(after you have fully configured it) to the DEFAULT directory of
Page 11
GAP Communications Configuration
the secondary node, then invoke the Configuration Editor from the
secondary node's Call Waiting screen, change the node number and
any other configuration parameters specific to that node, and
save.
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.
+------------------------------------------------------+
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.
If 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 and they
all have help available by pressing the F1-Help key. However any
option which requires more explanation will be described here in
more detail.
Page 12
GAP Communications Configuration
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.
In the Sysop's Country field, you should enter the name of the
country in which your BBS operates. For instance, in the United
States you would enter USA. In Canada, you would enter CANADA.
This field is used as the default country for new users.
Read Private Mail is the level that a user must have in order to
read any private messages that were left via the Enter Mail
command or the Reply to Message command.
Read Comments is the level that a user must have in order to read
any comments that were left to the sysop.
Note that the sysop will not be able to read private mail or
comments if he/she does not have at least the security level
assigned to these commands.
Protect/UnProtect Messages is the level that a user must have in
order to make a private message public or a public message
private.
Page 13
GAP Communications Configuration
Read Without Updating Read Flag is the level that a user must
have in order to read messages without GAP flagging any message
that is to the user as having been read.
Edit Message Headers is the level that a user must have in order
to edit the header portion of a message.
Attach Files To Messages is the level that a user must have in
order to attach an uploaded file to a message.
Note that all of the above Message System commands will be
explained in detail in the chapter System Operation. The security
level for these commands are configured here because these
commands are generally regarded as sysop level commands, and not
commands that you would normally want your users to be able to
utilize.
Overwrite Files is the level a user must have in order to
overwrite a file that already exists in one of the file
directories. Note that if a user uploads a file with the same
name as a file that the user has previously uploaded, the user
will be able to overwrite that file if he/she so chooses. The
Overwrite Files security level is the level that is needed to
overwrite a file that the user did not upload.
The security levels associated with the sysop functions 1 - 7 are
the levels that are needed in order to perform one of the
associated sysop functions. These functions are available from
the Main Sysop Menu (the Menu that is shown to anyone with a
security level of 100 or greater).
Page 14
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. The reason you are given the
opportunity to change their names is because you may not want
some of the files shared and instead would like for each node to
use a different version of a particular file (DOORS.DAT is one
such file that you may not want to share between nodes).
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 chapter
Text Files for more information on creating the text files your
callers see.
Please see the chapter System Files for further explanation of
many of these files.
The Main Message File will be created the first time you save
your configuration in GAPSETUP. This is the base name of the file
that contains your Main Board messages. It will always have a
.DAT extension and will be accompanied by an index file with the
same base name, but with a .IDX extension.
The User File will be created the first time you enter into the
User Editor. This is the base name of the file that contains a
record for each of your users. It will always have a .DAT
Page 15
GAP Communications Configuration
extension and will be accompanied by an index file with the same
base name, but with a .IDX extension.
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
use the Caller Analyzer to read the file into the GAPCALL
database on a daily basis and delete the old copy.
The Welcome File is displayed to callers when they first log on.
You may have up to 10 of these files.
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.
The Time/Bytes File is a file which contains security levels,
time allotments, maximum allowable download bytes, maximum
allowable files per day, file ratios, and whether or not GAP
should randomly verify certain callers' registration information.
You may have 24 of these files for each hour of the day grouped
according to baud rates. These time/baud specific SECLEV files
allow you to restrict callers based upon the time of day and/or
their baud rate.
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. When you press F2 to
lock a user out, the user's name will automatically be added to
the TCAN file.
You may specify the names of the main Questionnaire Answers File
as well as the names of the 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
and the full path and name of the door file to run.
The Entry News File will be shown to callers when they log on. It
is displayed after GAP has logged the caller onto the system.
Page 16
GAP Communications Configuration
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.
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 Directory Path 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
Page 17
GAP Communications Configuration
directory for the file. Note that wild cards cannot be used on
loose files. You may designate two such directories.
The Indirection Files Directory Path is the disk directory where
you place text files that GAP will read if a file in the FileBase
contains an '@' as the first character in the Password field for
the file. The Indirection file provides GAP with a list of users
who are authorized to download the file. Please see the chapter
FileBase Editor for further information on indirection files.
The Attached Files Directory Path is the disk directory where GAP
will place all files that are attached to messages.
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 remote
modem. This should match the "S7=" parameter in the Modem Init
String.
Page 18
GAP Communications Configuration
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 2 seconds).
You may configure up to 4 Communications Ports. A port number of
0 tells GAP to not initialize or use a communications port. Ports
1 and 2 are pre-configured 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 to use in opening the COM
Port. This should be set to the highest speed at which your modem
can operate.
Lock BPS Rate is typically used with modems that are capable of
operating at speeds greater than 2400 bps. It is used when you
want the computer to modem (DTE) 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 or 38,400 bps.
Setting this flag will keep GAPMENU from changing the baud rate
of the serial port to match that of the caller. Note that if your
modem automatically changes its baud rate to match the rate of an
incoming call you must not set this field to Yes. Otherwise,
GAPBBS will communicate with your modem at the Initial BBS Rate
instead of the rate of the call. The end result will be that your
callers will see garbage on their screen and will be unable to
type anything intelligible. Most 9600 baud modems which utilize
the MNP protocol, if they do automatically change the baud rate
to match that of the caller, will also provide a software switch
which you can use in your Init String to prevent the modem from
doing this.
Answer On True Ring Detect tells GAP to answer the phone when the
modem asserts the ring detect line. This should be set to Yes. If
your modem is incapable of asserting ring detect you should set
this to No. This field should also be set to No if your modem
cannot accept commands while it is sending them.
Page 19
GAP Communications Configuration
Answer On Ring # tells GAP to answer the phone on the specified
number of rings. Normally this field should be set to 1. If you
have a specific need for GAP to answer on other than the first
ring, you can set this field to any number from 1 to 9.
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 Yes.
Send BREAK to Clear Buffer tells GAP whether or not to send a
BREAK signal to the modem to clear the modem buffer. A break
signal normally tells a modem to empty its internal buffer.
If a caller presses CTRL-K, CTRL-X, or <space> while viewing
files (or at anytime when in Non-Stop mode), GAP will send a
"break" to the modem. What affect this has on the caller depends
on your modem. If sending this "break" signal to the modem causes
problems, then you should set this field to No.
If you use a USR modem and have the break setting (&Y) set to 1,
the modem will empty its buffer when it receives the "break"
signal. If a caller is at less than your maximum speed, this
means the abort takes effect almost immediately. If GAP did not
send the "break" to the modem, the abort would take place only
after your modem emptied its buffer.
Use Inter Character Delay allows you to tell GAPMENU, if set to
Yes, to pause 1/18th of a second between each character of your
RESET and INIT strings when sending these strings to the modem.
Unless you use an off brand 2400 baud modem, you should set this
field to No.
RTS Off During Disk Write allows you to tell GAP to turn the
Request To Send signal off when GAP writes a block of data to the
disk drive (during an upload). If you have a slow hard drive or a
slow network and you see CRC errors every time GAP writes to the
hard drive during an upload (which is at 1k intervals), you
probably need to set this option to Yes. Note that this flag will
have no effect if your modem does not support hardware
handshaking (CTS/RTS Flow Control).
The Caller Connect BPS Rate is a special field for some modems
that absolutely refuse to return the caller's CONNECT rate. Some
of the newer high speed modems insist on returning the DTE rate
Page 20
GAP Communications Configuration
in the CONNECT string instead of the caller's speed. GAP uses the
caller's actual connect speed (modem to modem) to determine how
many files the caller can download, calculate file transfer
efficiency times, etc. This field takes one of two responses.
Either the word CONNECT or the actual BPS Rate you want GAPMENU
to pass along to GAPBBS. Most sysops will use the word
CONNECT, since this means that GAPMENU will determine the Connect
speed from the string returned by the modem. If you have one of
these modems that insists on returning the DTE rate instead of
the Connect rate, you should enter a bps rate that you want GAP
to use whenever it needs to know the caller's connect rate. For
instance, if you lock your port at 38400, you would probably want
to enter 9600 or 4800 in this field (depending upon how fair you
want to be to your high speed callers or how generous you want to
be to your 2400 baud and less callers).
BPS Rate Restriction
ARTWORK
GAP allows you to restrict callers based on certain bps rates.
The Highest BPS Rate Not Allowed allows you to prohibit any
caller that attempts to log on to your system using the rate you
specify from gaining access to your system. For instance, if you
wish to prohibit 300 baud callers from gaining access, you would
enter 300 in this field. If you do not wish to prohibit callers
based upon their baud rate, then leave this field blank.
Note that you may use this option, along with the Highest BPS
Rate To Restrict option to prohibit some baud rates and yet allow
Page 21
GAP Communications Configuration
other baud rates during certain times of the day. This option
takes precedence over the other, meaning that if you prohibit 300
baud callers and yet enter 300 as the Highest BPS Rate to
Restrict and a 300 baud caller calls during a time when you would
like to allow them on, the 300 baud caller will not be allowed on
at all. If you would rather restrict certain baud rates to
certain hours of the day then leave this field blank.
If you wish to restrict certain baud rates during certain times
of the day, set the Allow Restricted Callers field to Yes, 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 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.
All of these functions are described in detail in the chapter
System Operation.
Note that CHAT and WHO are available only on multi user systems.
Page 22
GAP Communications Configuration
The levels for REP and QWK are the security levels needed to
invoke the QWK/REP modules.
A new user is given the New User Level.
If your SECLEV file tells GAP to verify users with a specific
security level, GAP will randomly ask a caller to verify his/her
Home Phone Number or Birth Date. If the user can not provide GAP
with his/her phone number or birth date, GAP will display a file
called FAILED and will then set the user to the Failed Check
Level. This level should be less than your New User Level and you
should have Security Menus set up for this level that allow the
user to do nothing but enter a Comment and Goodbye. If a user
fails the registration verification check, you basically want to
cut off all privileges to the user and force the user into a
Comment so the user can either tell you why he/she does not
remember his/her phone number or birthday.
The Failed Check Level is described in full detail in the chapter
System Files.
The two Sysop Defined menu items allow you to configure two
custom menu choices. To define a Custom Menu Item, you first
enter the name for the Menu Item (2 to 5 characters), then the
security level required to utilize that Menu Item. You will then
need to create a batch file (which goes in your GAP DEFAULT
directory) to carry out the commands associated with that Menu
Item. The batch file has the same name as the name you give the
Menu Item (with a .BAT extension). In GAPBBS, when a caller types
one of your Custom Menu Items, GAP will shell to the batch file,
execute the file, then return.
An example of a Custom Menu Item which you could add would be to
add a Mail Door (which you may have previously utilized as a door
program). You would use the same batch file that was used for the
door (except that its name must be changed to match the name of
the Menu Item).
Page 23
GAP Communications Configuration
File Menu Commands
ARTWORK
File Commands - These are the security levels necessary to access
a particular command in the Files System.
Archive Commands - These are the security levels necessary to
access a particular archive function from within the Files
System. GAP handles both ARC and ZIP files internally, with the
exception of Transfer A File.
Because of the complications involved in transferring a
particular file from within an archive, GAP handles this function
externally via a batch file. When a caller requests Transfer A
File from an archive, GAP will shell to a batch file called
ARCTRANS.BAT.
The following parameters will be passed 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 the file to extract from the compressed file | |
%5 - Name to use for the file, once extracted and recompressed | |
+----------------------------------------------------------------+
A sample ARCTRANS.BAT file is included with GAP.
Page 24
GAP Communications Configuration
GAP expects your batch file shell to unpack the file from the
archive, re-pack it using the supplied name, and place the
resultant file in your first loose directory.
Note that there are also two Sysop Defined menu choices available
in the Files System.
View/Change Stats Menu
ARTWORK
These are the security levels necessary to access a particular
command at the View/Change Stats Menu.
The Stats command allows callers to edit portions of their user
record. Other configuration options allow you to control what
fields the callers may edit.
Page 25
GAP Communications Configuration
Miscellaneous Information - One
ARTWORK
Number Of Bulletins is the maximum number of main board bulletins
you intend to post.
Force BLT Menu At Logon allows you to force new callers to view
the Bulletin Menu when they first log on.
If the Force New Bulletins is set to Yes 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. If this field
is set to No, callers will still be told there are new bulletins,
but they will not be forced to view the Bulletin Menu.
GAP maintains mini statistics on the activity of your system.
These statistics are reset each day when the first caller after
midnight logs off. These are the same statistics you see
displayed in a window on the Call Waiting Screen. If you would
like for GAP to create a Bulletin containing these statistics,
enter the bulletin number to use in the Yesterday's Stats Blt #
and Monthly Stats Blt # fields. If you do not want GAP to create
these bulletins, enter a 0 in these fields. If you would like for
both sets of statistics to appear in the same file, enter the
same number in both fields.
If you would like to have the bulletins created but do not want
them to appear as a regular bulletin (where your callers can view
them), simply give them numbers greater than the highest bulletin
you have configured. For instance, if you normally carry 14
Page 26
GAP Communications Configuration
bulletins, you can give these bulletins the numbers 15 & 16. Or
just simply 15 for a combined bulletin.
Note that the bulletins are created using XCodes. You may view
them inside of GAPBBS either as a bulletin or by using Sysop
Function 3 (Type File).
Also note that if you run multi nodes, GAP will write only the
Network wide portion of the stats. In other words, the bulletin
will not contain the statistics for any particular node. In
addition, if you maintain separate GEN directories, the bulletins
will be written to the GEN directory of which ever node logs the
first caller off after midnight (the first node that does the
actual re-setting of the stats). You will need to devise some
means of making sure the bulletins are consistent between nodes.
Printer Port is the Line Printer port you wish to have the caller
log written to.
If the Enforce Time Limit is set to Yes, 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 No, GAP will allow any user to log on as many times
as they wish in any given day.
If you want GAP to ask new users for their birth date, set the
Prompt For Birthday field to Yes. Note that if you intend to use
the Registration Verification feature (which randomly prompts
certain users to verify their home phone number and/or birth
date), you must set this field to Yes.
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 Yes. Users
may then give themselves a handle at the View/Change Stats Menu
or when they join a Forum that allows handles.
Normally when a caller exists through a door, GAP writes the
caller's real name to the DOOR.SYS file. If you want GAP to write
the caller's handle (if the caller is using a handle at the time)
to the file, enter a Yes in the Use Handle In DOOR.SYS field.
If you wish to allow users to change their address, phone numbers
and birth date, while on line, set the Allow Address Changes
field to Yes.
Page 27
GAP Communications Configuration
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. If you
set this field to Yes and find that you have a lot of locked out
users in your user file, chances are very good that the users
entered a fake phone number. New sysops tend to not like this
feature and we suggest that you set Force Registration to No if
having GAP automatically lock out users who give fake information
bothers you. Old time sysops appreciate GAP watching over their
board in the sense that they feel that if a new user cannot give
correct information at registration, they don't want the user on
their system.
Force 2nd Phone Number allows you to set your system up such that
GAP will enforce registration by validating the Home Phone Number
field, and if you answer No in this field, will allow new users
to skip the Business/Data Phone Number prompt or enter erroneous
information.
Experienced users will type Y Q NS or N Q NS at Logon 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 Logon to No.
The Level To Override Logon is the security level a caller must
have in order to bypass forced bulletin viewing and the new mail
check. The Override command is an 'O' typed after the Quick Logon
command.
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 No.
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. The User Statistics screen is the screen that displays the
number of files downloaded and uploaded, number of messages left
and read, protocol preference, etc.
You may define the Phone Number Template that GAP will use when
gathering phone number data. The default template is the one used
Page 28
GAP Communications Configuration
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.
What you enter into this field are "special" characters that the
cursor will "skip over" when data is being input. The special
characters are "( ) -". Actual data entry takes place wherever
there is a '9' in the template. As an example, in Switzerland,
you could use the following template:
999-99-99-9-99
If you will never accept international calls, you could eliminate
the country code and use the following template:
99-99-9-99
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 Yes, GAP will create a direct link
between two nodes and instead of writing to chat files (which is
Page 29
GAP Communications Configuration
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 on-line:
+------------------------------------------------------+
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.
If you would like for the Main Board messages to be echoable, set
the Echo Main Board Msgs field to Yes. Note that it is not
recommended that you echo the Main Board messages since their
topic is generally of a local nature. This feature is provided
for those boards that have remote nodes attached to them.
The Maximum Number Of Messages is the total number of messages
that will be allowed in any one message file. If a user tries to
enter a message when the message file already contains the
maximum number of messages, the user will be displayed a message
saying that the Message File Is Full, and the message will not be
allowed.
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.
Page 30
GAP Communications Configuration
Users may address a single message to up to 99 different people
providing the message is private and the Allow Carbon Copy
Messages flag is set to Yes.
If the Validate Messages field is set to Yes 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 No. If a user
subsequently tries to enter an ANSI message, GAP will strip all
the ANSI codes from the message and the resultant message will be
quite unsightly.
If you do not wish to allow users to delete messages, set the
Allow Deleting Of Messages field to No.
You have the option to force all main board mail to be private.
To do so, set the Make All Mail Private field to Yes.
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. If you enter a G
as the first character in the quote field, GAP will surround the
quoted text with a graphic box. The top border of the box will
contain the name of the person that is being quoted. 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 Yes. The news
file will always be shown to new users.
Page 31
GAP Communications Configuration
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.
The AnsiCmd Character is the single character that is used to
precede the special commands that GAP processes in text files. We
suggest that you use the AT character '@'. If you need to
actually use the AnsiCmd character in your files, then use two of
them. For instance, if your Ansicmd is '@', and you wish to use
an '@' in your text, then you would use @@.
Miscellaneous Information - Three
ARTWORK
Number Of Forums Available is where you specify how many Forums
you would like to have. Enter the total number of Forums you wish
to configure. 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 you will not be allowed to exit the configuration
program until are Forums are configured.
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.
Page 32
GAP Communications Configuration
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 where it was 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 which allocates
EMS for itself in non-standard ways.
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.
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.
When a caller logs on, GAP tries to determine if the caller has
ANSI terminal emulation turned on. This can be either a quick
Page 33
GAP Communications Configuration
process or a slow one, depending upon your modem or the caller's
communications program. Seconds To Wait For Auto ANSI allows you
to 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.
You may set the Upload Guard Time and the Door Guard Time in
which GAP will prevent any uploads or door openings prior to an
event. 30 minutes for the Upload Guard Time and 15 minutes for
the Door Guard Time have proven to be successful in keeping
events from being missed.
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 | |
|--------------------------------------------|
DARIN MAY MAYD MAYDG | |
KENNY GARDNER GARDNK GARDNKG | |
+--------------------------------------------+
Page 34
GAP Communications Configuration
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.
A special User Info file called ALL will be displayed to all
users (if it exists) and will not be deleted even if you set the
above field to Yes. This file will be shown (to all except the
sysop) even if a caller uses the Override Command at logon (the
regular User Info files are not displayed if a caller uses the
Override Command).
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.
Subscription Configuration
ARTWORK
If you are running a closed board, set the Closed Board option to
Yes. 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
Page 35
GAP Communications Configuration
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.
Even if your board is closed, GAP will still enter new users into
the User File. This makes it easy for you make the user a member
of your closed board since all you have to do is set the Private
User Flag for that user.
Enforce Subscription, if set to Yes, will cause all users whose
subscription date has expired to assume the Expired Subscription
Level as set up in their user record. In addition, GAP will
remove the user from any private Forums, if the user's record is
so flagged.
Days In Subscrip Period is the length of the subscription period
(7 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 14 days, then your
callers will receive no warning that their subscription is about
to expire. If the subscription period is greater than 14 days but
less than 30, then GAP will begin issuing warnings to callers 5
days prior to the date their subscription expires. If the
subscription period is greater than 30 days but less than 60,
then GAP will begin issuing warnings to callers 10 days prior to
the date their subscription expires. The warn time for periods
greater than 60 days 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 directory 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 be given the Expired Subscription
Level as set up in the user's record. In addition, if the user's
record so specifies, GAP will remove the user from any private
Forums. 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.
Page 36
GAP Communications Configuration
The Expired Subscription Level is the default level that will be
given to new users when they register. Each user may be given a
different Expired Level.
You may also specify an Exempt Security Level From Expired
Subscription. If a user is at or above this level and his/her
subscription date expires, the user will not be set back to the
Expired Security Level and public Forums.
If you do not want an expired user to gain access to any private
nodes you may have set up, you should enter Yes in the Set
Private User Flag Back To No field.
File System Options
ARTWORK
Number of Directories is the number of Main Board File
Directories you would like to have.
If Enforce Download Count is set to Yes, 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 Yes, 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.
Page 37
GAP Communications Configuration
If Extend Download Count is set to Yes, 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 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 Upload 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.
The format of the SECLEV file is explained in detail in the
chapter System Files.
If Make All Uploads Private is set to Yes, all uploads will be
given the Level For Private Uploads. 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.
You enter the number of k-bytes in this field.
Page 38
GAP Communications Configuration
If the Show Free Upload Space is set to Yes, 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 20 External Protocols. To activate them,
enter Yes in the Use External Protocols field and in the Ext
Protocol File Name field, type in the name of the file (which
will reside in your GEN directory) that holds the external
protocol information. You may edit this file by selecting Ext
Protocols from the Files Menu.
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.
The Security Level For Uploads is the level GAP gives to uploaded
files. It is also the default level used in the FileBase editor
when new files are added.
The Level For Private Uploads is the level GAP gives to uploaded
files that the user has elected to make private.
Page 39
GAP Communications Configuration
Events
ARTWORK
GAP allows for 24 timed events. Events are external programs
and/or batch files that you may run at pre-determined days and
times.
Please see the chapter Events for further information.
Strings and Prompts
ARTWORK
The Additional Board Name is any text that you wish to have
displayed after your BBS name.
Page 40
GAP Communications Configuration
The Comment Prompt is displayed to the user when he/she attempts
to leave a comment.
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. Note that when pressing the LOCKOUT key, if you
actually intend to lock the user out, you will be prompted to
press the key again.
There are 3 combinations for the COMMENT, TWIT, and LOCKOUT
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 file names are called, respectively,
COMMENT, TWIT, and LOCKOUT 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 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).
Page 41
GAP Communications Configuration
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 42
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 Yes
and a user uploads a file while inside the Forum, the file will
be placed in this directory.
Name of Messages File -This is the base name of the file that
contains your Forum messages. It will always have a .DAT
extension and will be accompanied by an index file with the same
base name, but with a .IDX extension.
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
Page 43
GAP Communications Configuration
the Forum will expire. When that date arrives, no user except 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.
Public Forum - and Level To Join - If this Forum is a Public
Forum, then set the Public Forum field to Yes and in the Level To
Join field, enter the security level that a user will need in
order for the user to join the Forum.
If the Forum is Private, enter No in the Public Forum field. The
only way for a user to join a Private Forum is if the Sysop
manually adds the user to the Forum Membership record.
Forum Sysop Level and Forum Assistant Level - Each Forum may have
its own set of sysops and assistant sysops. You declare a user to
be a sysop or assistant sysop of a Forum in the User Editor. The
security level that is defined here 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.
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. You may enter a negative
number if you wish.
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. If you wish to decrease the time left,
enter a negative number. Note that a user will be granted
additional time once only. Also, they will not loose the
additional time when they abandon the Forum.
Level For Pub Uploads - This is the security level that will be
given to public uploads that are kept in the Forum.
Level For Priv Uploads - This is the security level that will be
given to private uploads that are kept in the Forum.
Level To Read Priv Mail - This is the security level needed to
read the Forum's Private Messages.
Page 44
GAP Communications Configuration
Level To Read Comments - This is the security level need to read
any Comments that are left in the Forum.
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 No, 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.
Private Uploads - If you want all the Forum uploads to be private
(as in the main board) set this flag to Yes.
Keep Uploads Inside - If you want all the Forum uploads to be
kept in the Forum upload directory, set this flag to Yes.
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.
Number Of Bulletins - If the Forum is to have its own set of
bulletins, enter the total number here. Don't forget to create a
BLT Menu file to list the bulletins and place it in the GEN
directory.
Message Quote Chars - Each Forum may have its own Quote
Characters or disable quoting altogether.
Maximum Lines Per Message - 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.
Extend Msg Time By Factor - You may give time credits for leaving
messages (not comments). To do so, set this field to a number
Page 45
GAP Communications Configuration
from 1 to 9. After entering a message and saving it, GAP will
multiply the amount of time it took to enter the message by the
factor you enter here. A factor of 1 means the caller will not
loose any time. Note that if you enter a 0 here, a caller will
not be given any time credits and will actually loose time while
entering the message.
Allow Carbon Copy Msgs - Private messages may be sent to up to 99
users if this field is set to Yes.
Validate Messages To - If you want GAP to check the user file to
see if the person to whom a message is being left is an actual
user of the BBS, set this field to Yes. Note that Echo Mail
Forums and Forums that allow Handles can not take advantage of
this feature and it will automatically be disabled in those
Forums.
Allow Esc Codes In Msgs - Callers will often times "upload" ANSI
text files into their messages. This is fine if the person
reading the message has ANSI color enabled, but callers with B&W
monitors will see nothing but garbage. If you wish to prevent
callers from entering ANSI escape sequences in their messages,
set this field to No.
Allow Deleting Of Msgs - You can prevent callers from deleting
their messages by setting this field to No. Veteran sysops will
tell you the tale of the caller who logged on one day and deleted
all the messages to and from him, simply because of a bad day at
the office or school. If this occurs in a Forum that depends upon
the exchange of ideas between callers, this could have a
devastating effect on the Forum atmosphere, not to mention the
time and energy taken from the sysop in trying to restore those
messages.
Make All Mail Private - If you want all the messages to be
private, set this flag to Yes.
Make All Mail Public - If you want all the messages to be public
(with the exception of comments), set this flag to Yes. Note that
the sysop can override this setting and leave private mail.
The above two flags are mutually exclusive. You cannot set them
both to Yes.
Page 46
GAP Communications Configuration
Comments To Main Board - If you want all Comments that are
entered while a user is inside of this Forum to be sent to the
Main Board, set this field to Yes.
Show News Only If New - If you want the News to be displayed to
callers only if it is new, set this field to Yes. The News will
always be shown to new users.
Auto Rejoin Forum - If this field is set to Yes and a user logs
off from inside the Forum, he/she will automatically join the
Forum on the next call.
Days In Subscrip Period - If this Forum is Private and you wish
to make it a Subscription Forum, enter the number of days in the
Subscription Period. Your subscription period can be any number
of days from 7 to 365. If you do not wish to make the Forum a
subscription Forum, leave this field set to 0.
Del Member When Expired - If this Forum is a Subscription Forum
and a user's subscription has expired, GAP will remove the user
from the Forum by deleting his/her Member Record (the user will
then not be allowed to join until the Sysop adds the user to the
Forum's Membership). If you do not want GAP to automatically
remove the user from the Forum, answer No in this field.
Allow Handles - If this Forum utilizes handles, enter Yes in this
field. While in a Forum that allows handles, a user's name will
change to their handle.
Net Mail Forum - If you want the messages in a Forum to be
utilized in an Echo Mail system, set this flag to Yes. GAP will
ask a caller if a particular message should be echoed or not.
Page 47
GAP Communications Configuration
+----------------------------------------------------------------+
In order to activate file directories inside of a Forum, you | |
will need a DIR file in the Forum GEN directory. The presence | |
of this file tells GAP that the files system is available while | |
a caller is inside the Forum. If the file is missing, the | |
caller will be told that the Forum has no file directories. | |
| |
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 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.
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.
Files Menu Options
The Configuration Editor contains a Files Menu that allows you to
edit certain system files:
Files
+----------------+
Seclev | |
Doors | |
Ext Protocols | |
+----------------+
Seclev allows you to edit your SECLEV file(s). The SECLEV file is
the file that assigns Time, Bytes, Files, and other parameters to
users with a specific Security Level.
Page 48
GAP Communications Configuration
Doors allows you to edit the data file(s) that contains
information about the external programs you have available on
your system.
Ext Protocols allows you to edit the file that contains
information about the external protocols you have available.
These files are described in full detail in the chapter System
Files.
Sysop Configuration
ARTWORK
If you are configuring GAP for the first time, then after
Quitting (and saving changes) you will be taken into the User
Editor.
The sysop is automatically placed as the first record in the user
file. You must 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.
Page 49
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. Text files are
described in detail in the chapter Text Files.
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 | |
c: | |
cd \GAP | |
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 recycle, it will
issue an error level of 99 to DOS. The last line insures that
GAPMENU will be run.
Page 51
GAP Communications System Files
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.
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 | |
+------------------------+
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 and other BBS Systems.
EVENTx.BAT - This is the event batch file which you must create
if you wish to run events.
EVENTS.DAT - This file holds your event configuration. It is
maintained by GAPSETUP. Events are described in more detail in
the chapter Events.
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. The chapter External Protocols describes these
files in full detail.
FILELST.DWN - GAP creates this file during batch downloads. 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.
Page 52
GAP Communications System Files
Please see the chapter External Protocols for further
information.
GAP.HLP
GAP.NDX
These are the Help files used by many of the Utility programs.
GAPBBS.CNF - This is the configuration file for GAP. It is
created automatically by the setup program.
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.
GAPCALL.EXE - GAP's own Caller Analyzer! It is explained in more
detail in the supplementary documentation.
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.
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.HLP
GAPUSER.NDX
These are help files for the User Editor.
GAPUSER.EXE - This program is the off-line User Editor.
GAPREBLD.EXE - This program rebuilds your Message, User, Member,
and Filebase 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.
Page 53
GAP Communications System Files
+----------------------------------------------------------------+
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 forcibly
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.
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 certain parameters to tell it
which file to work with:
+-----------------------------------------------------------------+
GAPPACK M Area Options - Packs a Message file. | |
GAPPACK C:\GAP\MAIN\USERS.DAT U Options - Packs the User file. | |
GAPPACK C:\GAP\MAIN\FILES.DAT F - Packs the FileBase. | |
GAPPACK C:\GAP\MAIN\MEMBER.DAT R - Packs the Member file. | |
+-----------------------------------------------------------------+
To pack a Message file, you pass an 'M' as the first parameter to
GAPPACK. The second parameter is the Message base to pack. It is
a number that tells GAPPACK what Area the message is in, where a
0 is the Main Board, a 1 is Forum 1, etc. The third and fourth
optional parameters are:
Page 54
GAP Communications System Files
Message Base Parameters
+------------------------------------------------------+
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. | |
+------------------------------------------------------+
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 M 0 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.
To pack the User file, you pass the full path and name of the
User file as the first parameter. The second parameter is a 'U',
which tells GAPPACK you are packing the User file. The third,
fourth, and fifth optional parameters are:
User File Parameters
+------------------------------------------------------+
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
Page 55
GAP Communications System Files
To pack the FileBase, you pass the full path and name of the data
file as the first parameter. There are two FileBase data files
called FILES.DAT and FILEKEY.DAT. The second parameter is an 'F',
which tells GAPPACK you are packing the FileBase. The following
example will pack the main FileBase data file:
GAPPACK C:\GAP\MAIN\FILES.DAT F
To pack the Member file, you pass the full path and name of the
data file as the first parameter. The second parameter is an 'R',
which tells GAPPACK you are packing the Member file:
GAPPACK C:\GAP\MAIN\MEMBER.DAT R
GAPMAINT is a GAPPACK shell program that automates the packing
and rebuilding of your ISAM data files. It relieves you of the
burden of having to remember all the various command line
parameters.
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.
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
Page 56
GAP Communications System Files
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.
There are other, more powerful, programs available that will
allow you to run programs remotely. They also provide better
carrier detect monitoring. One such program is shareware and is
used by many GAP sysops to run GAPFILE from a remote location.
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.
DUMMYLOK.DAT - This file will appear only if the system is multi
user. It is created automatically by the setup program. This file
Page 57
GAP Communications System Files
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.
FILEKEY.DAT
FILEKEY.IDX
FILES.DAT
FILES.IDX
These are the FileBase ISAM files. They are created and
maintained by the FileBase editor.
FORUM.DAT - Contains configuration information for each of the
Forums.
MEMBER.DAT
MEMBER.IDX
These files hold the Forum membership information. The Member
file contains one record for each User for each Forum the user is
a member of.
MESSNO.DAT - This file is used internally by GAP. It contains the
high message numbers for each of your message files.
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.
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! This file is
created and maintained in the Configuration Editor.
Page 58
GAP Communications System Files
In GAPSETUP, select Seclev from the Files Menu:
Files
+----------------+
Seclev | |
Doors | |
Ext Protocols | |
+----------------+
A pick list will appear asking you to select a SECLEV file to
edit. SECLEV files with an extension are special files that are
applicable to callers with a certain baud rate or who call during
a certain time of day. The first two characters of the extension
represent the time of day, and the last character is the baud
code where:
+--------------------------------+
1 - 300 baud | |
2 - 1200 baud | |
3 - 2400 baud | |
4 - 9600 and greater baud | |
+--------------------------------+
The time is in 24 hour format, and a time of '00' means ignore
the time checking.
SECLEV Examples
+------------------------------------------------+
SECLEV - Regular | |
SECLEV.170 - Use at 5:00 pm, any baud | |
SECLEV.181 - Use at 6:00 pm, 300 baud | |
SECLEV.193 - Use at 7:00 pm, 2400 baud | |
SECLEV.001 - Use at any time, 300 baud | |
SECLEV.002 - Use at any time, 1200 baud | |
SECLEV.003 - Use at any time, 2400 baud | |
SECLEV.004 - Use at any time, 9600 baud | |
+------------------------------------------------+
If you wanted to severely restrict 300 baud callers at 6:00 pm,
but only mildly restrict all other baud rates at the same time,
you could have two SECLEV files such as:
+----------------------------------+
SECLEV.181 and SECLEV.180 | |
+----------------------------------+
Page 59
GAP Communications System Files
This works because GAP looks for the files in the following
order:
+------------------------+
Time / Baud file | |
Time / No Baud file | |
No Time / Baud file | |
SECLEV | |
+------------------------+
After selecting a SECLEV file to work with, the Editor will
appear and you will then be able to configure your SECLEV file.
SECLEV Editor
ARTWORK
Level is the security level that a user must have in order to
receive the allotments specified in the other fields. When a user
logs on, GAP will scan the SECLEV file and look up the user's
security level. The Minutes, Bytes, Files, Ratio and other fields
in this file will be assigned to this user. If a user's level
cannot be found in this file, the user will receive the
allotments associated with the next highest level.
Minutes is the number of minutes that a user with the associated
security level is given for on-line time during the current
session.
Page 60
GAP Communications System Files
Bytes is the number of bytes that a user with the associated
security level is allowed to download during the current session.
This number is the number of "K" Bytes. GAP will multiply this
number by 1000 to determine the user's allowable download bytes.
Files is the number of files that a user with the associated
security level is allowed to download during the current session.
Ratio is the Upload/Download Ratio that a user with the
associated security level must maintain. If you do not wish to
enforce Ratios, enter 0 in this field. If a caller attempts to
download a file and his/her ratio is greater than the ratio
allowed, a file called RATIO will be displayed. This file would
explain why the caller is unable to download and what must be
done to rectify the problem.
If you enforce ratios by Bytes, then the number entered in this
field is the number of "K" bytes that must be maintained. If you
enforce ratios by Files, then this number is the number of files
that can be downloaded per each file uploaded. Note that 0
uploads is the same as 1 upload.
Ask is a Yes/No field where you specify whether or not GAP should
do random checking to determine if a user with the associated
security level entered a valid Birth Date and Home Phone Number.
In order to use this feature of GAP, you must have Prompt for
Birthday set to Yes.
Normally, you would answer Yes in this field only for those
security levels that are at or below your New User level. You
would not want to burden your registered callers with this random
checking of Dates and Phone Numbers.
The bottom status line shows the Editor Keys. Context sensitive
help is available for each field by pressing the F1 Help key.
Page 61
GAP Communications System Files
Editor Keys
+--------------------------------------------+
Alt-D - Delete Line | |
Alt-I - Insert Line | |
F9 - Save File | |
F10 - Save File As | |
Esc - Quit | |
UpArrow - Up Column | |
DnArrow - Down Column | |
Home - Beginning of File | |
End - End of File | |
Ctrl-Home - Previous Field | |
+--------------------------------------------+
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 | |
+------------------------+
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. Most of these files can have an ANSI color version by
colorizing the file in an Ansi Editor and saving it with the same
base name but with a 'G' appended.
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
Page 62
GAP Communications System Files
caller that some of the screens may appear garbled, that they
will be limited to ASCII downloads, and that on subsequent calls
they should use 8 N 1 parameters.
BIRTH - This file is displayed if the day a user calls is the
user's birthday.
BLT
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.
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.
CLOSED - If you run a closed board, GAP will display this file to
any caller who attempts to log on and that caller is not a member
of the board. Whether or not a caller is a member is determined
by the Private User flag in the user record. If you wish to
prevent new users from gaining access to your system you can use
the @DISCON AnsiCmd in your NEWUSER file. This will cause GAP to
disconnect the line after the potential new user has read the
file, and will prevent GAP from adding the user to the user file.
DIR - This is the menu that lists the available subjects (file
categories) on your system.
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 - This is the Menu that lists the available doors.
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. This file is created and maintained in the
Configuration Editor and is described in detail in the chapter
Doors.
Page 63
GAP Communications System Files
ENEWS - This is the exit news file that is displayed when a user
logs off.
EVENT - This file is displayed to callers if their time has been
adjusted due to an upcoming Event.
EXPIRE - If you run a subscription board and a user's
subscription is about to expire, GAP will display this file. It
basically tells the user that his/her subscription is coming due
and what can be done to renew the subscription. Note that this
file is displayed only if the subscription is still current. It
is suggested that you set up a Security Menu and/or News file for
the Expired Subscription Level so that your expired users will
always be reminded that their subscription has expired.
FILEM - This is the Files System Menu. It lists the available
file commands.
FILES.DIR - This file is used by GAPFILE when moving or locating
stray files. Its format is described in the chapter FileBase
Editor.
FORUMM - This is the Forum Menu that lists the available Forums.
KEEPUP - This file is displayed to users after they have uploaded
a file in a Forum and the sysop has the Forum configured to not
keep uploads inside.
LOCKOUT - This file 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.
LOGON - This file is displayed to callers when they request Help
at the Log On prompt. Since GAP does not yet know the caller's
color preference, there cannot be a color version of this file.
MAINM -This is the Main Menu that lists the available commands in
the main section of the board.
NEWS - This is your news file. It will be displayed to callers
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
Page 64
GAP Communications System Files
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 file exists.
NEWUSER - This is the new user welcome file. It is displayed to
all new users.
NOPAGE - The presence of this file tells GAP that you do not want
to be paged for chat. If it exists, GAP will display it and will
then set the Page flag on the status line to let the sysop know
that the caller issued the Page Sysop command. If you prefer that
GAP go through the 30 second Page Sysop routine then remove this
file from your GEN directory.
NOTIME - If you use time/baud specific SECLEV files and a caller
receives zero minutes at log on because the time allotment for
his/her security level is 0, GAP will display this file to inform
the user why he/she does not have any time. After displaying the
file, GAP will then disconnect the user. If this file does not
exist, the user will simply be logged off with an "Expired Time"
message.
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 - This file will be shown to a user if you do not answer the
Sysop Page bell. You may use it 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.
PROTO.DAT - This is a binary file that lists and describes your
External Protocols. It is created and maintained by the
Page 65
GAP Communications System Files
Configuration Editor and is explained in detail in the chapter
External Protocols.
QMENU - This is the Menu that lists the available Questionnaires.
RATIO - If you enforce Upload/Download ratios, GAP will display
this file if a user attempts to download a file and his/her ratio
is above the allowed ratio as defined in the SECLEV file for that
user's security level.
REGINFO - This file is displayed after the NEWUSER file and the
new user has answered Yes to join the BBS. Its purpose is to
inform the user that they will be asked a series of questions,
that they must answer truthfully, and perhaps explain how to
answer the questions correctly.
RESBAUD - If you have configured restricted baud rates and a
caller attempts to log on using the restricted rate, this file
will be displayed to inform the caller that you do not allow the
baud rate or that the caller is calling during a restricted
access time.
SMAINM - This file is similar to the Main Menus except that it
lists the available sysop commands in addition to the regular
commands.
TWIT - This file 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.
UPLOAD - This file is displayed immediately after a user presses
the 'U' key to upload a file. Its purpose it to tell users what
your Upload rules are, types of files you accept or will not
accept, etc.
WELC - This is your Welcome file that is displayed to callers
when they first log on. You can have up to 10 Welcome 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 WELC, WELC1 and WELC5. The only requirement for
using supplemental Welcome files is that the basic WELC file
exists.
Page 66
GAP Communications System Files
Forum Files
Forums are separate areas of the board. They contain their own
message bases and may, optionally, have their own files. Forums
can be likened to a business where there is a main administrative
area (the Main Board) and separate departments such as Accounting
(Forum 1), Sales (Forum 2), and Board of Directors (Forum 3).
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 (You may give these files a
different name).
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 (Chapter Two) for the names of
the files you can create to cause a Forum to run as a mini BBS.
In order to activate file directories inside of a Forum, you will
need a DIR file in the Forum GEN directory. The presence of this
file tells GAP that the files system is available 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.
Page 67
GAP Communications System Files
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
if you wish to keep the Forum GEN files separate from the DEFAULT
files.
Upload Directory
If you wish to keep Forum uploads inside the Forum, they will be
placed in this directory.
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 KEEPUP file (that
is placed in the Main Board GEN directory so that all the Forums
may share it) 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.
Special Batch Files
GAP uses external batch files to perform some of its internal
functions. These files are required for proper system operation
and they are placed in your DEFAULT directory.
Page 68
GAP Communications System Files
ARCTRANS.BAT
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 is included on the distribution disks.
GAP expects your batch file shell to unarc the file from the
archive, re-arc it using the supplied name, and place the
resultant file in your first Loose Directory.
Upon return from the shell, GAP will then display the resultant
archive and allow the user to download it. When the download is
complete, GAP will delete the file from your Loose Directory.
UPCHECK.BAT
For each file that GAP processes after an upload, GAP will shell
to a batch file called UPCHECK.BAT. If the UPCHECK.BAT file is
not present, then GAP will not shell and the upload processing
will continue as usual.
After receiving an upload GAP will shell to this batch file. In
batch mode, GAP will shell to the UPCHECK batch file after each
file that it processes. In this batch file, you may add a ZIP
Comment, check for a Virus, or do whatever it is you need to do
with an upload.
Upon return from the UPCHECK shell, GAP will check to see if the
file is still in the directory. If, your batch file or the
program that your batch file ran, deleted the file, and GAP
cannot find the file in the Upload or Work directory, then GAP
Page 69
GAP Communications System Files
will check to see if the filename extension is the same as your
default extension you configured in GAPSETUP. If not, then GAP
will substitute your extension for the one in the Upload file and
try to find the file using the new extension. If at this point,
GAP still cannot find the file, it will skip that file (batch
mode) and go on to the next.
If, on the other hand, GAP now finds the file with the new
extension, it will tell the caller that the file was renamed
per sysop conventions and proceed as usual, using the new
filename.
Basically, this means that if you run a virus check program on
the uploaded file and your check finds that the uploaded file has
a virus, if either your batch file or the program you use to
check for viruses deletes the file, GAP will not add the file to
the FileBase. Also, if a caller uploads an .ARC file and you
prefer to keep .ZIP files, you can UnArc the file and ZIP it back
up, giving it a .ZIP extension in the process and GAP will
accommodate your change and process the file with the .ZIP
extension instead of the .ARC extension.
When processing an Uploaded File, GAP will shell to UPCHECK.BAT,
passing the following parameters:
+----------------------------------------------------------------+
%1 - Full path and name of file | |
%2 - Upload Directory path | |
%3 - Filename | |
%4 - Filename without the extension | |
%5 - Extension without the filename | |
%6 - 0 = Remote Caller On, 1 = Sysop On Locally, | |
2 = Local User | |
+----------------------------------------------------------------+
The first parameter is the full path and name of the file to
check. This parameter is the fully qualified path name to the
file that is being processed by GAP. You may then pass %1 on to
the program(s) you use to check/verify or add comments.
As an example:
After receiving an upload in non-batch mode or when
processing a batch of uploads in batch mode, GAP will run
UPCHECK.BAT as follows:
Page 70
GAP Communications System Files
UPCHECK path\filename
where path\filename is the full path to the file.
All your UPCHECK.BAT need do is pass %1 to the program it is
running (a virus checker, PKZIP to add a ZIP Comment, etc).
If you run a Virus Checker and the Virus program or your batch
file deletes the file, then upon return from the shell, GAP will
simply skip that file and move on to the next (after displaying a
message that the upload file being processed "...failed the
integrity check").
You should use the sixth parameter to test whether or not it is
"OK" to echo text to the COM port. You should only echo text to
the COM port if the sixth parameter is 0. In addition, this
parameter will let you know whether or not GAPFILE is the program
invoking your UPCHECK.
Even if you do not wish to check the integrity of uploaded files,
the UPCHECK file serves another purpose. That is to extract file
description files out of an archive so that GAP can use the file
as automatic input for the file description. A description file
is a text file (usually formatted to 10 or less lines with 45 or
less characters per line), that describes the uploaded file. This
description file is called either DESC.SDI or FILE_ID.DIZ and is
included inside of the archive. Including such a file allows the
author of the program (rather than the uploader) to describe what
the archive is all about.
GAP will process these description files only when a user uploads
more than 1 file at a time (or at least tells GAP that he will be
uploading more than one file). They are not utilized during
single file uploads for the simple reason that when a user
uploads a single file, he/she has already entered a file
description and GAP cannot check for the description files until
after the upload. Even if GAP found a description file in the
archive, it would be rather rude for GAP to simply replace the
description the user gave with the one found in the archive,
especially if the user spent lot of time and effort entering the
description.
Page 71
GAP Communications System Files
GAP will accept 10 lines of description, however the length of
the lines can be 72 characters long (with the first line being
only 45 characters since it will be used as the keywords).
These files are growing in popularity and are being used more
often than not. The DESC.SDI was the first such description file
and it tends to be just a single line description. The
FILE_ID.DIZ is a newer description file and it tends to be 10
lines or less. If you would like to include description files
with archives you upload (providing the archive doesn't already
have one), we suggest that you name the file FILE_ID.DIZ (since
it is not clear as to whether or not programs that support
DESC.SDI can handle more than one line of description). We would
also suggest a format as follows:
+----------------------------------------------------------------+
Line 1 - 45 or less characters of KEYWORD information | |
Lines 2-10 - 45 or less characters of descriptive information | |
+----------------------------------------------------------------+
If you will only be uploading these files to a GAP system, then
lines 2-10 can be up to 72 characters. Line 1 will also be
included in GAP's enhanced description (in addition to being used
in the keyword field). Line 1 can be 72 characters in length, but
only the first 45 characters will be used in the keywords.
To maintain compatibility with other BBS systems, it is suggested
that you keep the lengths of the lines to 45 characters or less.
Your UPCHECK.BAT file is responsible for extracting the
description file out of the archive and placing it in the work
directory. Basically, after your UPCHECK has determined that the
file is sound (no viruses, passes integrity, etc), it should then
try and extract a DESC.SDI or FILE_ID.DIZ (but NOT both, if both
formats are included in the archive). The extracted file is
placed in the work directory.
Upon return from the UPCHECK shell, GAP will check to see if
either DESC.SDI or FILE_ID.DIZ is present in the work directory.
If not, then everything goes along as usual. If one of those
files is in the work directory, then GAP will read the first line
of the file and place it in the keyword field. GAP will then
prompt the uploader for the keywords. In this case, however, the
keywords will already be filled in, and the cursor will be at the
Page 72
GAP Communications System Files
end of the line. The Uploader can either accept the keywords as
is, or backspace over them and enter his own keyword list.
GAP will then go into the Message Editor to gather the enhanced
file description. However, in the case of a description file
being present, the Message Editor will automatically go into File
Import mode and will import the entire description file into the
message buffer. The uploader will see the description being
imported and will then be presented with the disposition prompt.
He/she may then either edit the description or press 'S' to save
it.
Basically what you have with a file that uses a description file
is that all the user need do is press 'S' to save the description
after GAP comes back from an UPCHECK shell.
GAP will delete any DESC.SDI or FILE_ID.DIZ files that it finds
in the work directory after it has processed the current file.
Your UPCHECK.BAT file is only responsible for getting that
description file out of the archive (if it exists). GAP will
handle all the details of utilizing the file if it finds it.
Note that your UPCHECK should be designed so that it extracts
only ONE of the description files, not both of them, should
someone include a DESC.SDI and a FILE_ID.DIZ in the same archive.
GAP always looks for DESC.SDI first. If it finds that file in the
work directory and yet your UPCHECK extracted both a DESC.SDI and
a FILE_ID.DIZ, only the DESC.SDI will be deleted and if the next
file in the batch doesn't contain a description file, there will
be a left over FILE_ID.DIZ that will get attached to the next
file! Or worse yet, if there are no more files in the batch, your
user could get prompted to enter a description for FILE_ID.DIZ!
LOGON.BAT
When logging on, if this batch file exists in the Default
directory, GAP will shell out and run the file. This will occur
after the Welcome and News files are displayed, after pending
events are checked, and just before any UserInfo files are
displayed. GAP will go through the doors system so a DOOR.SYS
file will be written (which allows you to return the special
codes that GAP recognizes if you wish).
Page 73
GAP Communications System Files
Note that if an event is scheduled and the caller's time
remaining is less than the Door Guard Time, the LOGON.BAT file
will not be run. If the caller is out of time, GAP will also not
run the file, but will instead disconnect the caller at that
point with a "Time Expired" message.
QWK/REP Sub-System
Description
The QWK/REP sub-system is a method that allows your callers to
download QWK packets containing all new messages in Forums the
callers have selected. It also allows callers to upload messages
that were created with an off-line mail reader.
Setting Up
Setting up the QWK/REP sub-system is very similar to setting up a
Door for use with GAP. The only basic difference is that this is
not a door and must not be configured as part of your doors
system since the commands to activate the modules are built in
commands and the initial prompts are a part of GAPBBS.
Create a directory off of your DEFAULT directory called QWKREP:
C:\GAP\QWKREP
This directory will contain the following files:
+----------------+
REPIMPRT.EXE | |
QWKEXPRT.EXE | |
QWKREPx.CNF | |
QWKH | |
QWKMENU | |
QWKMENUG | |
SEND.BAT | |
RECV.BAT | |
+----------------+
Page 74
GAP Communications System Files
The QWKREPx.CNF is a configuration file that supplies the modules
with the necessary information they need in order to run. The 'x'
is the Node Number that the configuration applies to. If you run
single node GAP software, you may leave the node number off and
simply name the file QWKREP.CNF.
QWKH is a help file that is utilized by the QWK Module.
QWKMENU and QWKMENUG are Menus that are utilized by the QWK
Module.
SEND.BAT and RECV.BAT are batch files that the QWK modules will
invoke to send a QWK packet and receive a REP packet.
The configuration file consists of the following lines:
QWKREP.CNF
+------------------------+
Default Directory | |
Name of BBS | |
IRQ | |
Base Address | |
QWK/REP ID | |
SEND.BAT | |
RECV.BAT | |
NODOSWIN (or blank) | |
SYSOP NAME | |
+------------------------+
The Default Directory is the directory where your GAPBBS.CNF and
DOOR.SYS files reside.
The Name of BBS is your BBS Name.
The IRQ is the Interrupt Request Number for the port. This
applies only if you are using ports other than COM 1 and COM 2.
If you are using standard COM ports, enter a 0 on this line.
The Base Address is the Port address (in hexadecimal). This line
also only applies if you are using non-standard COM ports. If you
are using standard COM ports, enter a 0 on this line.
The QWK/REP ID is a unique Identifier for your BBS. It must be 8
characters or less in length and entered in all upper case.
Page 75
GAP Communications System Files
The SEND.BAT file line can be given any DOS batch file name of
your choice. When a caller requests a QWK packet, the QWK module
will shell to this batch file to invoke DSZ or any other Zmodem
protocol program.
The following parameters will be passed to this batch file:
SEND.BAT
+------------------------------------------------------+
%1 - COM Port Number | |
%2 - COM Port Speed (DTE bps rate) | |
%3 - Caller's bps rate | |
%4 - Directory where QWK packet is located. | |
+------------------------------------------------------+
The RECV.BAT file line can be given any DOS batch file name of
your choice. When a caller requests a REP packet, the REP or QWK
module will shell to this batch file to invoke DSZ or any other
Zmodem protocol program.
The following parameters will be passed to this batch file:
RECV.BAT
+------------------------------------------------------+
%1 - COM Port Number | |
%2 - COM Port Speed (DTE bps rate) | |
%3 - Caller's bps rate | |
%4 - Directory where the Protocol should place | |
the REP packet. | |
+------------------------------------------------------+
Line 8 of the configuration file can either be NODOSWIN or the
end of the configuration file. When shelling to PKZIP or DSZ, the
QWK/REP modules create a "DOS Window" into which all output will
be re-directed. If you use a full screen version of DSZ or have
other reasons for not using the DOS Window, you may enter
NODOSWIN on this line and the modules will not attempt to
redirect all DOS output to a window.
Line 9 of the configuration file is the Sysop's Real Name. When
importing messages, any message that is to the Sysop's real name
will be changed to SYSOP.
Page 76
GAP Communications System Files
A sample configuration file would look like this:
QWKREP.CNF
+------------------------+
C:\GAP | |
The Crow's Nest BBS | |
0 | |
0 | |
CROWNEST | |
SEND.BAT | |
RECV.BAT | |
USE DOS WINDOW | |
GARY ARAKI | |
+------------------------+
If you run multi nodes, you will need a separate configuration
file for each node.
Next you will need to create two batch files that GAP will invoke
when a caller types the appropriate QWK/REP command from the Main
Menu (the commands are also available from the Files Menu). These
batch files are placed in your DEFAULT directory.
The first is called QWK.BAT. It is associated with the QWK
command. This file will invoke the QWKEXPRT.EXE module, passing
to it the name of the configuration file for the appropriate
node. Such a file would look like this:
QWK.BAT
+------------------------+
@echo off | |
c: | |
cd \gap\qwkrep | |
qwkexprt qwkrep1.cnf | |
c: | |
cd \gap | |
+------------------------+
Notice that the file changes into the QWKREP directory and
invokes the QWKEXPRT module, passing it the name of the
configuration file for Node 1. If you run multiple nodes, you
will need a QWK.BAT file for each node. The only difference
between the files would be the drive and directory designators,
and the line that calls up the QWKEXPRT module. Each node must
Page 77
GAP Communications System Files
use a different configuration file and pass the name of this file
to the QWKEXPRT module.
The second batch file is called REP.BAT. It is associated with
the REP command. This file will invoke the REPIMPRT.EXE module,
passing to it the name of the configuration file for the
appropriate node. Such a file would look like this:
REP.BAT
+------------------------+
@echo off | |
c: | |
cd \gap\qwkrep | |
repimprt qwkrep1.cnf | |
c: | |
cd \gap | |
+------------------------+
Notice that the file changes into the QWKREP directory and
invokes the REPIMPRT module, passing it the name of the
configuration file for Node 1. If you run multiple nodes, you
will need a REP.BAT file for each node. The only difference
between the files would be the drive and directory designators,
and the line that calls up the REPIMPRT module. Each node must
use a different configuration file and pass the name of this file
to the REPIMPRT module.
Both QWK/REP modules can share the same configuration file.
In Configuration, on the Main Menu Commands screen, you enter the
security level a user must have in order to use the QWK and REP
commands.
Page 78
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 as a remote
communications system.
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 is off
+ 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
+ Enable 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 gap. If 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
Page 79
GAP Communications Modem Configuration
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!
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 achieve the highest throughput possible with your
modem.
If your high speed modem does not return the true CONNECT rate of
the caller but instead returns the Computer to Modem (DTE) rate,
you will need to set the Caller Connect BPS Rate to a rate of
your choosing. GAP will then use this sysop supplied CONNECT rate
when calculating file transfer efficiency ratings and the amount
of files a user can download.
If during uploads you see that GAP is displaying a CRC error
every time it writes a block of data to the hard drive, you
Page 80
GAP Communications Modem Configuration
probably need to turn the RTS Off During Disk Write option On.
Note that this is only applicable to modems that support hardware
handshaking.
Probably the most common mistake that sysops make when
configuring their modems is that they fail to use a carriage
return and a delay after their Reset and Init strings. You need
one carriage return and at least a one second pause after both of
these strings.
Many modems absolutely require that an H0 (go On Hook command) be
issued in the Init string.
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 2400
USRobotics Courier 2400
USRobotics Sportster 2400
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.
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
Page 81
GAP Communications Modem Configuration
USRobotics Courier HST Dual Standard- 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:
ATB0F1M0X7&A3&B1&G0&H1&I0&J0
AT&K3&L0&M4&N0&P0&R2&S1&X0
AT&Y1S2=255&W
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.
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 82
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 2
seconds.
Avatex 2400
RESET String : ATZ{~~
INIT String : ATH0E0Q0M0X1V1S7=60S11=60{~~
Answer On True Ring Detect : NO
Page 83
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 4 or
more seconds.
Page 84
GAP Communications Modem Configuration
Microcom AX9624C
RESET String : ATZ{~~
INIT String : ATH0{~~
Answer On True Ring Detect : YES
Additional Information : Go into Communications program,
set the baud rate, and type the
following:
AT\G0\N3S0=0Q3X0K5E0Q0V1\V1\J1
AT\E0\T0%E1%C1%P2%M0\A3\C2%A13
AT\H0S8=2S2=255&D2&C1\D0\R1M0
AT&L0&M0&T5X1&P0&G0B1&W
LightCom 96/V.32/V.42bis
LightCom 14.4/V.32/V.42bis
RESET String : ~ATZ{~~
INIT String : AT&F&C1&D2&Q5Q0E0V1X4S0=0S7=60
S95=47{~~
Answer On True Ring Detect : YES
Page 85
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 at the Door Menu or by
typing its name at the Main Command prompt.
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, a
DOORS data file is used. This file contains the name of the batch
files that run the doors and the security levels a user must have
in order to invoke a door.
Page 87
GAP Communications Doors
In GAPSETUP, select Doors from the Files Menu:
Files
+----------------+
Seclev | |
Doors | |
Ext Protocols | |
+----------------+
A pick list will appear asking you to select a DOORS.DAT file to
edit. Normally there will be only one file to choose from,
however some multi node systems may have separate door files for
each of their nodes. After selecting a file to work with, the
Editor will appear and you will then be able to configure your
Doors Data file.
Doors Data File Editor
ARTWORK
Name is the name you wish to give this particular Door. Names may
be up to 15 characters in length, contain any combination of
upper and lower case letters but may not contain any spaces.
If a user attempts to open a door by simply typing its name at
the Command Prompt, the name you enter here is the name GAP will
look for to see if there is a match with the name the user typed.
Level is the Security Level a user must have in order to Open
this particular Door.
Page 88
GAP Communications Doors
Path is the full Path and Name to this particular Door Batch file
(or program). When GAP opens this door, it will use the
information you type in this field to find and run 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 | |
tourist tourist.cnf | |
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.
The bottom status line shows the Editor Keys. Context sensitive
help is available for each field by pressing the F1 Help key.
Editor Keys
+--------------------------------------------+
Alt-D - Delete Line | |
Alt-I - Insert Line | |
F9 - Save File | |
F10 - Save File As | |
Esc - Quit | |
UpArrow - Up Column | |
DnArrow - Down Column | |
Home - Beginning of File | |
End - End of File | |
Ctrl-Home - Previous Field | |
+--------------------------------------------+
When a caller exits through a door, 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
Page 89
GAP Communications Doors
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 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
+ the caller's level is at or above 100
+ 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.
Page 90
GAP Communications Doors
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 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.
Note that a great many Door programs can not support high speed
communications. If you have a high speed modem and you lock your
COM port at 19,200, 38,400 or a higher bps setting, you will find
that many external programs will display garbage on the caller's
screen because the program can not open the COM port at the rate
you use for GAP. In cases such as this, you can either not use
the program, not lock your COM port at a speed greater than 9600
bps, or use an "UnLocker" program that will modify your DOOR.SYS
file so that the Door program "thinks" the COM port is locked at
9600 bps.
Page 91
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).
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
Page 93
GAP Communications Questionnaires
registered immediately and automatically with no extra effort on
the sysop's part other than to create a powerful questionnaire
script!
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 '*'.
Everything appearing after the asterisk will be displayed to the
user and written to the answer file. If you would rather have the
Page 94
GAP Communications Questionnaires
text displayed to the user and not written to the answer file,
use an ampersand '&' character instead.
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.
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.
Page 95
GAP Communications Questionnaires
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 | |
+------------------------------------------------------+
Notice that there are 3 possible responses to the Y command. 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.
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
99). For instance M10 means there are 10 choices. Following the
Mx command, you would then have 11 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
Page 96
GAP Communications Questionnaires
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.
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.
Page 97
GAP Communications Questionnaires
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:
+----------------------------------------------------------------+
Xpause - will issue the pause prompt. | |
Xshow_file C:\GAP\GEN\BLT1 - will display the main board | |
bulletin #1. | |
+----------------------------------------------------------------+
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 takes affect immediately so if there are other
questions in the questionnaire, they will not be asked. 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 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 '-'.
Page 98
GAP Communications Questionnaires
The CheckLevel command (case is not important) allows you to
check a user's security level and make a decision as to what to
do next based upon the result. The format of CheckLevel is as
follows:
+----------------------------------------------------------------+
CheckLevel Level - Check user's security level | |
| |
x - processor does this if user's level is same as level | |
x - processor does this if user's level is less than level | |
x - processor does this if user's level is greater than | |
level | |
+----------------------------------------------------------------+
The x can be a Goto, a Label, Abort or Exit. You must provide 3
additional commands after the CheckLevel command. The form and
function of CheckLevel is identical to the Y command.
The DEL_USER command deletes the user filling out the
questionnaire from the User File. The user is not actually
deleted until after the questionnaire is completed. After GAP
deletes the user it will recycle back to GAPMENU.
The STOPCLOCK command turns off the clock so that the user does
not loose any time while filling out the questionnaire.
The CCARD command allows the questionnaire script to process
credit cards. The syntax of the command is:
CCARD XXXX
where "XXXX" is 'A', 'D', 'M', or 'V' for American Express,
Discover, MasterCard, or VISA
Page 99
GAP Communications Questionnaires
The command is similar to the Yes/No command in that it must be
followed by 3 commands which will take action based upon the
return value from the Credit Card processor:
+----------------------------------------------------------------+
CCARD VM | |
| |
x - do this if the Credit Card processing was successful | |
x - do this if the user aborted the Credit Card processing | |
x - do this if there is a problem with the Questionnaire | |
processing | |
+----------------------------------------------------------------+
An example of the command would be:
CCARD VM
>thankyou
<getord
>problem
The above example tells the Credit Card processor that
only VISA and MasterCard are accepted. If you accept
all 4 card types you can use: CCARD ADVM.
The 1st line after the command sends the processor to
the label 'thankyou', where the script will thank the
caller for the order.
The 2nd line after the command sends the processor back
to the order menu, since the caller failed to complete
all the questions asked of him/her.
The 3rd line after the command sends the processor to
problem section of the script so it can tell the user
that there was a problem with the questionnaire and to
"try again later".
Most of the ordering process is performed using regular
questionnaire commands. The Credit Card processor insures that
the user enters a valid Credit Card Number, that the Expiration
Date on the card is current, and that the user's address info is
correct. The user will be given a chance to enter a different
Name/Address, however these changes will not be written back to
the user file.
Page 100
GAP Communications Questionnaires
A sample Questionnaire Script is included on the distribution
disks and you may use it as a guideline if you wish to use the
Credit Card processor. The best way to get a feel for how it
works is to set it up as a questionnaire, fill it out several
times and study the resultant answer file.
Since the processor validates Credit Cards, you must have a
legitimate credit card number or you will not be able to complete
the script.
The PRIVUSER command allows you to set the Private User flag for
the user to Yes. This command would normally be used in a
NEWQUEST after you have determined that the user qualifies for
membership to your private board.
The JOIN command allows you to register a user in a Forum and
automatically "put" that user in the Forum after the
Questionnaire is completed. In the case of a New User
Questionnaire (NEWQUEST) the command will not take place until
after the user arrives at the Main Board.
The syntax for the command is:
JOIN X
where 'X' is the Forum number to join.
Note that if this command is used in the NEWQUEST file, the
security news, BIRTH, and USERINFO files will not be shown.
After filling out a NEWQUEST that utilizes the JOIN X command,
GAP will continue to process the questionnaire and not actually
put the user in the Forum until after the user reaches the Main
Board (after log in). The user will be placed in the Forum even
if he or she doesn't have the security level that the Forum
requires to join.
When used in a regular questionnaire, the JOIN command takes
effect as soon as the questionnaire is completed, however in this
case, the user must have the security level necessary to join the
Forum or he/she will remain at in the Main Area.
The reason for the difference between a regular questionnaire and
a NEWQUEST is that you may have some users who you do not want to
be a part of your regular BBS operation. You may set up different
Page 101
GAP Communications Questionnaires
Forums to segregate different groups of people. Your NEWQUEST can
force certain groups into a specific Forum, and by setting the
level to Abandon and Join higher than the users' level, once a
user is forced into this Forum, he/she will not be able to leave
it. If the Forum is set for AutoJoin, the user will be forced
into the Forum on subsequent calls.
The NEWQUEST use of the JOIN command is a bit specialized. Most
of us would probably use the command in a regular questionnaire
such as a Sysop or Adult Forum admittance questionnaire, where
after determining if the user is fit for the Forum, you can ask
if they want to Join now, and then use the JOIN command to
accomplish that.
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 102
GAP Communications Questionnaires
+----------------------------------------------------------------+
Processor Commands | |
|----------------------------------------------------------------|
* - Print anything following. | |
& - Print anything following, do not write text | |
to answer file. | |
? - 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 99 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. | |
<aaaaaaaa - Reverse Goto. Label must exist. | |
aaaaaaaa - Label. 8 chars maximum | |
Fxx - Register in Forum xx. | |
+xxx - Raise security level to xxx level. If user is | |
already above this level does nothing. | |
-xxx - Lower security level to xxx level. Does not | |
affect users who have a level of 100 or | |
greater. | |
Xfunction - Execute an internal GAP function. | |
CheckLevel - Check user's security level. | |
Del_User - Delete user from user file. | |
StopClock - Give time credit for answering questionnaire. | |
CCARD - Process Credit Card orders. | |
PrivUser - Set Private user flag to Yes. | |
JOIN X - Force User into a Forum. | |
. - Comment prefix. Line not written. | |
: - Comment prefix. Line written. | |
+----------------------------------------------------------------+
Examples
The actual questionnaire will appear as follows. Please note that
the comments (beginning with '//') are for explanation purposes
and should not appear in the actual file.
Page 103
GAP Communications Questionnaires
+----------------------------------------------------------------+
* // equivalent to a blank line | |
************************************************************ | |
** Love Forum Registration Questionnaire | |
************************************************************ | |
*Do you wish to be registered in the Love Forum (Y/N)? | |
Y // get a Yes/No response | |
>quest2 // yes answer, goto 'quest2' | |
A // no answer. Abort ?aire | |
A // not Y or N. Abort | |
quest2 // this is a label | |
* | |
*The Love Forum is an adult Forum and requires that you be | |
*over the age of 18. Are you 18 years of age or older (Y/N)? | |
Y | |
>quest3 | |
A | |
A | |
quest3 | |
* | |
*Now that we know you are old enough, please leave your voice | |
*phone number. You will not be called but it is required for | |
*registration. | |
P // Get a formatted phone # | |
* | |
*Since you stated that you are over the age of 18 and left | |
*your phone number, you may now have access to the Love | |
*Forum. Your responses to this questionnaire will be kept on | |
*file. | |
* | |
*Did you lie about your age (Y/N)? | |
Y // get a yes/no response | |
A // Yes is not acceptable, abort | |
>end // yep, this is the one we want | |
A // sorry charlie, Y or N only | |
end // notice this begins with 'E' | |
* | |
*You may now join the Love Forum. Thank you for completing | |
*this questionnaire. | |
F3 // register user in Forum 3 | |
E // end and save answers | |
+----------------------------------------------------------------+
Page 104
GAP Communications Questionnaires
If the sysop chooses to not use the default abort message that is
shown with the Y or M commands, a goto could be used for a non
acceptable command instead of the A to direct the flow to the end
of the questionnaire where a message can be displayed telling the
user why the questionnaire was aborted. The A command can then be
used to abort the message.
Remember, the default abort message is displayed only when the A
command is found as one of the subcommands to the Y or M
commands. If you use a goto, display a message, and then use the
A command, the user will see only what you show him and not the
processor's default.
The resultant answer file looks like this:
+----------------------------------------------------------------+
06/26/92 16:37:37 MICHAEL PART | |
| |
*************************************************************** | |
* Love Forum Registration Questionnaire | |
*************************************************************** | |
Do you wish to be registered in the Love Forum (Y/N)? | |
A: YES | |
| |
The Love Forum is an adult Forum and requires that you be over | |
the age of 18. Are you 18 years of age or older (Y/N)? | |
A: YES | |
| |
Now that we know you are old enough, please leave your voice | |
phone number. You will not be called but it is required for | |
registration. | |
A: (714)493-3819 | |
| |
Since you stated that you are over the age of 18 and left your | |
phone number, you may now have access to the Love Forum. Your | |
responses to this questionnaire will be kept on file. | |
| |
Did you lie about your age (Y/N)? | |
A: NO | |
| |
You may now join the Love Forum. Thank you for completing this | |
questionnaire. | |
+----------------------------------------------------------------+
Page 105
GAP Communications Questionnaires
Miscellaneous Information
If the file NEWQUEST is present in the MAIN directory, then all
new users will be forced to fill out that questionnaire.
NEWQUEST is displayed after the welcome and the new user welcome
and before the news.
If the board is closed and the file NEWQUEST is present, the user
will be forced to fill out the questionnaire and then GAP will
hang up. It is the sysop's responsibility to inform the users why
the BBS is hanging up on them. GAP gives no warning messages. The
new user welcome can be used for this as can the questionnaire
itself.
The power of the questionnaire processor can also allow the sysop
of an open board the ability to raise the level of a user and
register the user in a particular Forum if he/she answers the
NEWQUEST questions according to the sysop requirements.
Since NEWQUEST is presented to the users before GAP looks up
their level in the SECLEV file, they will receive the full time
allotment associated with the level you give them in the
questionnaire.
In all questionnaires, if the command -0 is given, GAP will hang
up on the user after the questionnaire is finished. GAP will give
no warning messages so your questionnaire should inform the user
why they are being locked out. Note that if you issue the -0
command and then use the A command to abort the questionnaire,
the user will be unaffected. A good idea would be to direct the
flow to a part of the questionnaire that displays messages to the
user as to why his/her security is being lowered to 0 and then
use the E command to exit the questionnaire. At that point GAP
will notice that their level is 0 and hang up.
Page 106
Chapter 8
Events
Description
The GAP Events allow a sysop to set up 24 times in which GAP will
exit to DOS to run external programs. GAP will continuously
monitor the time to be sure that the scheduled events take place.
Events can be configured to run every day or on a particular day
of the week. They can be run at any hour you choose. Individual
events can be toggled on or off, as necessary.
Setup
To activate events, select Configuration from the GAPMENU
Commands Main Menu. Once in GAPSETUP, select Event Configuration
from the Go To Main Menu. You will be taken to the Event
Configuration screen where you may globally activate the events,
toggle an individual event on or off, and specify the program or
batch file to be run for each event.
Page 107
GAP Communications Events
GAPSETUP will provide two configuration screens for the Events,
depending upon how many you activate.
ARTWORK
Answer Yes to the Timed Events prompt.
You may flag an individual event as Active or Not Active.
The event times must be entered in 24 hour format.
An event may be scheduled to run every day (ALL), or on a
particular day of the week.
You must specify the batch file to run in order to execute the
event. The file can be any valid program so you are not
restricted to running just batch files. You may execute any
program directly if you wish. You also need to enter the full
path to the file.
GAPMENU determines which event to run by reading the list of
events from first to last and comparing the event times. If event
#1 is scheduled to run on Sundays at 07:00 and event #2 is
scheduled to run every day at 07:00, and today is Sunday, event
#1 will be the event that is executed. Event #2 will not run on
this day.
For this reason and many others, we strongly suggest that no two
events share the same event time. In addition, it is suggested
that successive events not be scheduled within less than 5
Page 108
GAP Communications Events
minutes of each other (i.e., event #1 at 00:01 and event #2 at
00:02).
GAPBBS will set an event timer that will expire when an event is
scheduled to run. This timer should never expire (it should never
reach 0). If it does, this means that an upload, door, or some
other occurrence has caused the caller to stay on longer than
he/she should and the event will be missed by GAPMENU. The event
timer should never go below 5 minutes (the event guard time).
When a caller logs off or GAP logs a caller of for whatever
reason, GAP will check the event timer. If it is 0, then GAP
knows the caller was on past the event time and GAP will tell
GAPMENU to run the event, irregardless if GAPMENU thinks it
should be run or not.
This method of watching for missed events is not foolproof. The
event that GAPMENU had scheduled to run prior to logging a caller
into GAPBBS is the event that will automatically run should the
caller overstay his or her time. If you have events scheduled
back to back, depending upon how long the caller overstayed and
how closely your events are scheduled to one another, some of
your events may not run.
For instance, if the scheduled event is at 00:01 and the next
event to run is at 00:02, if a caller logs into GAP and stays on
until 00:03, GAPMENU will run the scheduled event (the one at
00:01), but the next event at 00:02 will be missed completely. If
the next event were scheduled at 00:06 instead of 00:02, it would
run normally.
To help you deal with the problem of missed events there are
several steps you can take.
First, it is possible to schedule a successive event that
simply checks to see if the prior event ran successfully. The
prior event, could, perhaps create a dummy file that
indicates that it went off. The second event could then look
for this file and if found, delete it. If not found, run the
intended event.
Page 109
GAP Communications Events
Second, the following configuration options are at your
disposal:
+------------------------------------+
Stop Xfers If Event Timer Expires | |
Upload Guard Time Prior To Event | |
Door Guard Time Prior To Event | |
+------------------------------------+
The first option allows you to stop any Upload or Download
that is in progress if the Event Timer expires (indicating
the transfer is taking longer than expected and the caller is
about to overrun the Event Time). If your events are critical
and MUST run, it is suggested that you set this option to
yes.
The second option allows you to specify the number of
minutes prior to an event to stop any Uploads.
The third option allows you to prevent your callers from
entering a door within the number of minutes you specify
prior to an event.
If GAPBBS determines that an Event is pending and adjusts the
caller's time available, you may have GAP display a file instead
of the standard message of "Your time has been adjusted...". The
name of the file is EVENT and goes in your GEN directory.
Running the Events
Within 5 minutes of the event time, GAPMENU will enter into a
holding period. At 5 minutes before the event, GAPMENU will take
the phone off the hook and wait for the event to occur. The 5
minute guard time was chosen so that NO event will be missed.
If a user logs onto GAP before the 5 minute holding period, his
or her time will be adjusted accordingly and the user will be
given a message as to why their time during the current session
was decreased.
If a user has had his/her time adjusted because an event is
scheduled to occur, then the user will not receive any extra time
when joining a Forum that gives more time.
Page 110
GAP Communications Events
When a user first logs on, GAP will check to see if the time the
user has is more than the time remaining until the next event. If
it is, then GAP will give the user the time remaining until the
event, less five minutes. The "decrease" in time is not counted
against the user and after the event has run, the user may call
back and reclaim the lost time.
Batch Files
An event is basically a batch file that is executed when GAP
exits to DOS at the specified time. If the batch file does not
exist, GAP will simply recycle and bring up GAPMENU and await the
next caller.
To set up the batch files, you must create the files you
specified in the Event Configuration.
The event batch files are free to perform any DOS task within the
limitations of DOS batch files.
Examples
If the sysop wishes to archive his caller log once a day, he/she
could set up an event to perform the archiving and the deletion
of the old caller log. Let us assume that this event is scheduled
as event 1. The EVENT1.BAT file could look like this:
+----------------------------+
echo off | |
cd \gap\main | |
pkzip caller.zip caller | |
del caller | |
cd \gap | |
+----------------------------+
Of course, this event is very basic and if the sysop does not
copy the CALLER.ZIP file off to another directory or floppy disk,
each event will cause the CALLER.ZIP to be updated with the new
caller log and all previous information will be lost.
Page 111
Chapter 9
Text Files
General Information
To create text files for GAP, simply use your favorite text
editor. If you use a word processor, be sure to save the file in
ASCII format.
GAP allows for two types of regular text files, color and non-
color (or plain ASCII). In general, the non-color files should
only contain ASCII characters below 127 so that those using non-
IBM computers can view them.
In order to provide color equivalents, you will need to create a
file of the same name but with a "G" appended. The file can be
created using any of the shareware ANSI editors. If you change
the ASCII version of a file, you must also change the ANSI
version if you wish for callers who enable color to see the
changes.
As a general guideline, try to keep text files under 23 lines or
provide for natural page breaks at 23 line intervals. The reason
for this is that most callers have their page length set to 23
and will receive a More Prompt every 23 lines of text output.
Page 113
GAP Communications Text Files
Here is a list of Menu and Informational Files which GAP can
display:
+----------------------------------------------------------------+
Menu Files Informational Files | |
|----------------------------------------------------------------|
BLT(g) DIR(g) 7E1 BIRTH(g)* | |
DOORM(g) FILEM(g) BLTxx(g) CLOSED(g)* | |
FORUMM(g) MAINM(g) COMMENT(g)* ENEWS(g) | |
PROTO(g) QMENU(g) EVENT(g)* EXPIRE(g)* | |
SMAINM(g) KEEPUP(g)* LOCKOUT(g)* | |
LOGON NEWS(g) | |
NEWSx(g)* NEWUSER(g) | |
NOPAGE(g)* NOTIME(g)* | |
PAGE(g)* RATIO(g) | |
RESBAUD TWIT(g)* | |
UPHELP(g) UPLOAD(g) | |
USERINFO* WELC(g) | |
WELCx(g)* | |
+----------------------------------------------------------------+
(g) indicates that there may be a color version of the file.
* indicates that the file is optional (not required for
proper system operation.
Each of these files are fully described in the chapter System
Files.
All text files may be aborted by typing CTRL-K, CTRL-X, or a
space. Files with an @USEPAUSE at the beginning may not be
aborted.
Security Files
All text files which GAP displays can be security level specific.
That is, a security specific file will be shown (if it exists)
instead of the regular file. To create such files, simply add an
extension with the desired security level. For instance, if you
would prefer to display a special File Directory Menu to your
level 100 callers, you can create a DIR.100 and DIRG.100 in
addition to the regular DIR and DIRG files.
You can have as many security files as you have user levels.
Page 114
GAP Communications Text Files
Security Menus
When designing Security Menus for the Main Board (MAINM(g) and
SMAINM(g)), keep in mind that Sysop levels range from 100 to 255.
Therefore your MAINM menus can have levels 1 - 99 attached to
them, and your SMAINM menus can have levels 100 - 255 attached to
them.
The security menus are basically identical to their normal
equivalents except that they may not include certain commands.
For instance, if you do not wish to allow new users to access the
files system, you can create a security menu that does not have
the Files System command on it. The new user will never know that
you have a files system until you update his/her security level.
The following is an example of some of the various Security Files
you may configure:
+----------------------------------------------------------------+
Menu Files Informational Files | |
|----------------------------------------------------------------|
BLT(g).10 BLT(g).100 BLT1(g).50 ENEWS(g).50 | |
DOORM(g).10 DOORM(g).100 EXPIRE(g).50 KEEPUP(g).50 | |
FILEM(g).10 FILEM(g).100 NEWS(G).50 NEWS1(g).50 | |
FORUMM(g).10 FORUMM(g).100 PAGE(g).50 RATIO(g).50 | |
MAINM(g).10 MAINM(g).99 UPHELP(g).50 UPLOAD(g).50 | |
SMAINM(g).100 SMAINM(g).110 | |
+----------------------------------------------------------------+
Examples of some security menus are included on the distribution
diskettes.
Notice that it is possible to create Security Specific
Informational files such that the file will only be shown to
callers with the specific level. For instance, you can create a
NEWS1(g).50 file such that if the caller does not have a security
level of 50, then the NEWS1 file will not be displayed; only
level 50 callers will see the file.
Security News
Security News Files are special files that are used to display
specific information to callers with a specific security level.
Page 115
GAP Communications Text Files
These files are similar to the regular News Files except that
they are displayed only to a user if his/her security level is
the same as the name of the file. For instance, if you have a
file that you wish to make available only to those users with a
security level of 90, you can create a Security News File that
might tell your special users what the name of the file is, or
what the password is to download it. The name of the Security
News File would be 90 (no extension).
These files are displayed all the time and are not subject to the
"Display News Only If New" Configuration option. They are placed
in the MAIN directory to keep them confidential, and are
displayed after the regular news file.
UserInfo Files
A special form of Security Specific files are those which are
displayed to a single User only. We call these UserInfo files.
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
GAPSETUP will create this directory for you or you may create it
yourself.
The names of these files are derived by using the 1st 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 | |
|--------------------------------------------|
DARIN MAY MAYD MAYDG | |
KENNY GARDNER GARDNK GARDNKG | |
+--------------------------------------------+
Page 116
GAP Communications Text Files
GAP will show the User Specific File after the Security News and
Birthday file.
On the Third Miscellaneous Screen in Configuration, there is an
option that you may set to have GAP delete the User Specific File
after it is shown to the user. GAP will delete both the regular
and ANSI files if you so choose.
Some possible uses for these files are :
+ If you know a certain person will be logging on to your
board as a new user, you can leave him a special
greeting.
+ If you have an incorrigible user who refuses to read
the message you left for him, you can create a file
just for this user and GAP will insure that he sees it.
If its a long file, you can disable the More Prompt so
he cannot answer No and stop the file display.
+ You can create a file for each of your new callers that
will be shown to them on their next call. Such a file
could thank them for joining your system.
A special UserInfo file called ALL can be created. This file will
be shown to all of your users when they call. In addition, GAP
will not automatically delete this file. The ALL UserInfo file
will be displayed even if the caller uses the Override Log On
command. This is not so for the other UserInfo files.
AnsiCmds
It is possible to use replaceable parameters in all of your text
files. These parameters, or AnsiCmds, allow you to personalize
your text files so that they appear to have been written
exclusively for the caller viewing them. We call these AnsiCmds
because they are more suited for ANSI files than plain text
files, although they can be used equally well in non-ANSI files.
To use a command, it must be prefixed with the AnsiCmd character
that you set up on Miscellaneous Information Screen 2 in the
Configuration Editor. The default is an AT sign (@).
Page 117
GAP Communications Text Files
For instance:
+--------------------------------------------+
@UNAME - Display User's Name | |
@LEVEL - Display User's Security Level | |
+--------------------------------------------+
When GAP encounters one of the Ansicmds, it will remove the
command and substitute the appropriate parameter. GAP will eat or
pad the file as necessary so that the replacement text will "fill
in" the space taken by the AnsiCmd. For instance, if you use
ANAME and are in the Main Board, GAP will display "Main Board"
and will then "eat" 4 characters from the file. In most cases
(providing you leave enough room for the replacement text) this
will allow you to have borders and other fancy graphics (even in
non-color files). Note that GAP will stop eating the file if it
encounters an Esc (if it is a 'g' file) or a Carriage Return or
Line Feed; or you may force a stop by placing the AnsiCmd
Character where you want GAP to stop eating the file.
To create an ANSI screen with replaceable parameters, you design
your screen in the normal fashion. Wherever you want an AnsiCmd
to appear, type the AnsiCmd character you configured and then the
command itself. Be sure to leave enough room for the replacement
text. For instance, if you wish to show the caller's first name
on a screen that has a border, you need to leave enough room for
GAP to insert the name so that the border remains intact:
+--------------------------------------------+
Welcome to the BBS, @FNAME | |
+--------------------------------------------+
This will work just fine.
+----------------------------+
Welcome to the BBS, @FNAME | |
+----------------------------+
This will not work if the
caller's first name is longer
than 8 characters, as the
border will be 'eaten'.
Page 118
GAP Communications Text Files
Special AnsiCmds
@CLS, @NOMORE, and @USEPAUSE are considered special commands as
they are normally placed at the beginning of a file. @NOMORE
tells GAP to disable the More Prompt such that the screen will
display uninterrupted. This command is useful for very long
screens which use ANSI Animation where you do not want the More
Prompt to appear. @USEPAUSE tells GAP to substitute the Pause
Prompt ("Press Any Key To Continue"), in place of the More
Prompt. This keeps callers from interrupting the file; they must
view the file in its entirety.
XCodes
To maintain compatibility with other programs, GAP can process
XCodes. To use text files from other programs that contain XCodes
your AnsiCmd character must be defined as the AT (@) symbol.
XCodes are a way to change the color attribute of a character
that is sent to the screen. Instead of using the ANSI sequence of
<Esc>[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 Color 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 119
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 120
GAP Communications Text Files
Examples:
+------------------------------------------------------+
White On Black - <AnsiCmd>X07 | |
Blinking White On Black - <AnsiCmd>X87 | |
Bright White On Black - <AnsiCmd>X0F | |
Blinking Bright White On Black - <AnsiCmd>X8F | |
+------------------------------------------------------+
+----------------------------------------------------------------+
AnsiCmd Description | |
|----------------------------------------------------------------|
ADD1 User's Address 1 | |
ADD2 User's Address 2 | |
AGE User's Age | |
ANAME Area Name | |
BAVAIL Current Bytes Available for Download | |
BDOWN Total Bytes Downloaded | |
BIRTH User's Birthday | |
BLTS Bulletins Read | |
BPHONE User's Business/Data Phone Number | |
BUP Total Bytes Uploaded | |
CITY User's City | |
CLS Clear the Screen | |
CNUMB Caller Number | |
COMMENT Force into a Comment | |
COUNTRY User's Country | |
DATE Today's Date | |
DISCON Drop Caller | |
DOPEN Total Doors Opened | |
DOWN Total Downloads | |
DROPC Total number of dropped Carriers | |
EVTIME Event Time | |
FAVAIL Current Files Available for Download | |
FJOIN Total Forums Joined | |
FNAME User's First Name | |
HPHONE User's Home Phone Number | |
+----------------------------------------------------------------+
Page 121
GAP Communications Text Files
+----------------------------------------------------------------+
AnsiCmd Description | |
|----------------------------------------------------------------|
LCALL Date of Last CAll | |
LEVEL User's Security Level | |
LNAME User's Last Name | |
LNEW Last New File's Scan | |
MLEFT Total Messages Left | |
MORE More Prompt | |
MREAD Total Messages Read | |
NDNUMB Node Number | |
NOMORE Disable the More prompt | |
PAUSE Show "Press [Any Key] To Continue" prompt | |
RATIO Up/Down File Ratio | |
READMAIL Force a R T S | |
SDATE User's Subscription Date | |
SLOWxx Delay xx clock tics between characters | |
STATE User's State | |
TIME Time of Day | |
TON Total Times On | |
UBAUD Caller's baud rate | |
UNAME User's Name (first & last) | |
UP Total Uploads | |
USEPAUSE Use Pause Prompt instead of More Prompt | |
VER Version number of program | |
XCode Color Codes | |
YESNO Get a Yes/No Answer | |
ZIP User's Zip Code | |
+----------------------------------------------------------------+
Page 122
Chapter 10
Caller Log
The caller file is maintained by GAP and details the caller
activity. Note that this file is Binary and must not, under any
circumstance, be edited with a text editor or word processor.
The caller file can grow in size quite rapidly. It is suggested
that you use GAPCALL on a daily basis and make sure GAPCALL
deletes the caller logs after it has finished reading them.
The following is a list of the error and system codes:
2 - 200 ISAM Errors
202 File Not Found
212 Can't Allocate Memory
213 File Access Denied
224 Too Many Open Files
236 Locking Violation
299 Cant Open Text File
400 User Log In
508 Can't Allocate Memory
512 Can't Save Message
513 Can't Lock Record
514 Cant Update User Record
600 Log Off (normal)
601 Help
602 Page Sysop
603 View / Change Stats
607 F1 DOS Exit after call
608 F2 Lock Out
609 F3 On-line Update
610 F4 Printer Toggle
Page 123
GAP Communications Caller Log
611 F5 Shell To Dos
612 F6 Sysop Page Toggle
613 F7 Caller Alarm Toggle
614 F8 Twit
615 F9 Sysop Privilege
628 Lost Carrier
629 Keyboard Time-out
630 Expired Time
631 Saved Message (message #)
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
Page 124
GAP Communications Caller Log
Errors
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, 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 where the file should be. 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. On the Tools Menu of GAPMAINT you will find a Menu
Item called MSG Numbers. this utility function will allow you to
fix your message numbers. However, to prevent this from
occurring, 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
Page 125
GAP Communications Caller Log
be. The number one problem we have found with this error is
during initial configuration, the sysop did not Quit GAPSETUP
properly (by answering Yes to save changes).
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 using GAPPACK.
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.
Fatal ISAM errors are always apparent because they are
accompanied by a series of beeps and the program will either exit
to DOS, or in the case of GAPBBS, recycle back to GAPMENU. Fatal
errors means an index file is corrupted.
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 the file. Often
times, with badly corrupted files, you will find that GAPPACK
quits with an error message 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 126
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 external
programs and, of course, Answer The Phone.
Use the Left and Right Arrow Keys to select any of the Main Menu
items. Press [Enter] to display the Pulldown Menu for the
selected item. Use the Up and Down Arrow Keys to select any of
the Menu Items on the Pulldown Menu. Press [Enter] to carry out
the highlighted selection.
You may also type the first character of the Menu Item and that
Item will become highlighted and selected. For instance, to log
in to the BBS as Sysop, you may press C and S.
The About Menu displays Copyright and Version information.
Page 127
GAP Communications Call Waiting
The Toggles Menu allows you to turn the Printer, Page, and Caller
Alarm toggles on or off.
Toggles
+--------------+
Printer | |
Page | |
Alarm | |
|--------------|
Save | |
+--------------+
The Toggles Menu 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.
The Commands Menu allows you to run the GAP Utility programs.
Commands
+--------------------+
Sysop In | |
Sysop In Quick | |
Local In | |
Configuration | |
User Editor | |
Filebase | |
|--------------------|
GAPComm | |
+--------------------+
Sysop In - This function allows you to enter the system as the
sysop. It first takes the phone off the hook and then runs
GAPBBS. If you set up a local password, you will be asked for
that password before being permitted to logon as the Sysop.
Sysop In Quick - This is the same as Sysop In except that there
will be no New Mail check.
Local In - This function allows you to enter the system as a
local user.
Page 128
GAP Communications Call Waiting
Configuration - Use this function to configure your system. A
password will be required if you installed it.
User Editor - To access the off-line 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.
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
QCom up to the GAPCOMM shell, a GAPCOMM batch file would look
like this:
GAPCOMM.BAT
+------------------------+
@echo off | |
cd \qmod | |
qcom | |
cd \gap | |
+------------------------+
The Files Menu allows you to view the Caller Log, the Offline
Files Log or any Text file of your choosing.
Files
+----------------------------+
View Caller Log | |
View Offline Files Log | |
View Any Text File | |
+----------------------------+
In a multi user system, the Files Menu will contain one
additional Menu Item called View Network Activity. This option
will display a Network Monitor window which will show each of
your nodes and what activity the caller on that node is engaged
Page 129
GAP Communications Call Waiting
in. This window reads the NETWORK.DAT file once per second and
updates the window with any changes in network activity.
The Windows Menu allows you to move and color the various windows
you see on the desktop. You may also prevent the Free Disk Space
and Statistics windows from displaying, and toggle whether or not
to show Network wide or local statistics in the Statistics
window.
Windows
+------------------------------------+
Move Registration Window | |
Move Last Caller Window | |
Move Free Disk Space Window | |
Move Statistics Window | |
|------------------------------------|
Registration Window Colors | |
Last Caller Window Colors | |
Free Space Window Colors | |
Statistics Window colors | |
|------------------------------------|
Show Free Disk Space Window | |
Show Statistics Window | |
Show Network Stats In Window | |
|------------------------------------|
Save | |
+------------------------------------+
You may move the various windows to any location on the screen,
and color them to your own preference.
The Statistics Window displays caller statistics since midnight.
If you run multi nodes, you can set this window so that it shows
Network statistics instead of Node statistics. For instance on
the Server you can set this window to show Network statistics
(all nodes included) and on each of your nodes you can set the
window to show only the local stats.
At midnight, when the first caller after midnight logs off, GAP
will reset the Caller Stats. The default window will show only
the current day's statistics, however, if you press the F9 key,
your Caller Stats window will toggle between three sets of stats
(Today, Yesterday, and Monthly). If you have the Show Network
Stats In Window toggled on, the three sets of stats that will be
displayed will be network wide instead of local.
Page 130
GAP Communications Call Waiting
GAPMENU will remember which set of the three sets of statistics
you have displayed and will continue to display that set.
If you press the F10 key, the stats window will be updated with
the current stats (multi user only).
The Other Menu allows you to Shell to DOS or run any program of
your choosing. This Menu is user definable.
Other
+----------------+
DOS Shell | |
GAPMaint | |
GAPCALL | |
+----------------+
To activate this Menu, you need to create a file called
GAPMENU.MNU (a sample file is included on the distribution
disks). If this file is not found, then nothing will happen if
you try to select the Other Menu.
The GAPMENU.MNU file is a Menu Definition file that tells GAPMENU
what program you wish to execute. Its format is as follows:
GAPMENU.DEF
+------------------------------------------------------+
DOS Shell | |
D | |
Shell To DOS | |
PASSWORD | |
| |
GAPMaint | |
M | |
Run GAPMaint Program | |
PASSWORD | |
GAPMAINT.EXE | |
GAPCALL | |
C Run GAP's Caller Analyzer | |
NOPASS | |
GAPCALL.EXE | |
+------------------------------------------------------+
Page 131
GAP Communications Call Waiting
The same file, with line numbers and comments added:
GAPMENU.DEF
+----------------------------------------------------------------+
1 DOS Shell <- Menu Item | |
2 D <- keyboard command | |
3 Shell To DOS <- display prompt | |
4 PASSWORD <- password IS required | |
5 <- program to execute | |
6 GAPMaint <- Menu Item | |
7 M <- keyboard command | |
8 Run GAPMaint Program <- display prompt | |
9 PASSWORD <- password IS required | |
10 GAPMAINT.EXE <- program to execute | |
11 GAPCALL <- Menu Item | |
12 C <- keyboard command | |
13 Run GAP's Caller Analyzer <- display prompt | |
14 NOPASS <- password NOT required | |
15 GAPCALL.EXE <- program to execute | |
+----------------------------------------------------------------+
There are five records to each Menu Definition in the GAPMENU.DEF
file. Each record is on a line all by itself.
The first record (Line 1) is the text that will appear in the
menu box. Note that there is a space in front of the text on line
1. There is also a space following this text. The reason for this
is that your Menu Item string will appear in the Menu Box exactly
as you specify it. If there is no space before and after the
text, your Menu Item Choice will bunt up next to the Menu Box.
The second record (Line 2) is the keyboard character that must be
typed to execute this menu selection. The first character of the
Menu Item Choice also activates the Menu Selection, so you may
have two keyboard characters activate the single Menu Choice. You
must type a character on this line, even if it is the same as the
first character in the Menu Item Choice text.
The third record (Line 3) is the text that is displayed on the
Status Line of GAPMENU. It tells you what this Menu selection
does.
The fourth record (Line 4) is either PASSWORD or NOPASS. This
tells GAPMENU that when a user selects this Menu Item, a password
is either required or not. You should always put PASSWORD here
Page 132
GAP Communications Call Waiting
unless you use Passwords and you do not want this Menu Item
protected. In such a case, you would place NOPASS in this field.
Your system is protected by a password if you have the second
field in the Sysop Configuration Screen set to anything other
than spaces. If you password protect your system, and you have
PASSWORD in this field, GAP will ask the user for the system
password. If you have NOPASS in this field, then GAP will not ask
for a password. Note that if your system is not password
protected, then GAP won't ask no matter what you type in this
field!
The fifth record (Line 5) is the actual program that is executed
when this Menu item is selected.
Please note in the example above that Line 5 is blank. That is,
it consists of a solitary CR/LF combination. If Line 5 is blank,
GAPMENU will execute a DOS shell. This is the same thing as
pressing F5 in GAP. You will shell to DOS where you must type
'EXIT' to return.
Continuing with the second Menu Item in the above GAPMENU.MNU
file:
+----------------------------------------------------------------+
6 GAPMaint <- Menu Item | |
7 M <- keyboard command | |
8 Run GAPMaint Program <- display prompt | |
9 PASSWORD <- password required | |
10 GAPMAINT.EXE <- program to execute | |
+----------------------------------------------------------------+
The first record of the Menu Definition (Line 6) is the Menu Item
that will appear in the Menu Box. Note that it has spaces on the
left and the right.
The second record (Line 7) is the keyboard character that is to
be typed to execute this Menu Choice. In this example, you may
type either 'G' or 'M' to execute this Menu Choice.
The third record (Line 8) is the text that appears at the bottom
of the screen telling you what this Menu Item does.
The fourth record (Line 9) means that a password is required to
execute this Menu Item Choice. If this instead said NOPASS, then
Page 133
GAP Communications Call Waiting
a user could execute this Menu Item without having to enter a
password.
The fifth record (Line 10) is the actual program to execute.
If the Menu Item String contains a '-' in the first character
position then it tells GAPMENU that there should be a "separator"
between the last line read and the next line:
+----------------------------------------------------------------+
DOS Shell | |
D | |
Shell To DOS | |
PASSWORD | |
| |
- - - - - - - - - - This is a Menu Separator | |
GAPMaint | |
M | |
Run GAPMaint Program | |
PASSWORD | |
GAPMAINT.EXE | |
GAPCALL | |
C | |
Run GAP's Caller Analyzer | |
NOPASS | |
GAPCALL.EXE | |
+----------------------------------------------------------------+
The separator allows you to separate various Menu Choices from
one another.
Note that if you use the separator, then you must not provide the
other four lines for this Menu Definition record. In other words,
if you want a separator in your Menu, then you simply use a dash
(-) for the Menu Item Choice line. Your next Menu Item Choice
will come after the separator line.
Page 134
GAP Communications Call Waiting
The Quit Menu allows you to Exit to DOS. You may exit with the
Phone either busy or not busy.
Quit
+--------------+
Busy | |
Not Busy | |
+--------------+
Busy - This selection Quits GAPMENU and leaves the phone off the
hook. The phone will be busy.
Not Busy - This selection Quits GAPMENU and leaves the phone on
the hook. The phone will ring.
Sysop Defined Screens
GAPMENU has the capability to display Sysop defined screens.
These screens take the place of the built in windows that are
normally displayed.
These screens are named GAPMENU.SCR and GAPMENUx.SCR (where the x
is a number from 1 to 9). The basic screen, GAPMENU.SCR, must
exist in order for the other screens to display. In addition, the
numbered screens must be sequential (i.e., you can not have a
GAPMENU1.SCR and a GAPMENU3.SCR, since only the screen numbered 1
(in addition to the basic screen) will display).
Page 135
GAP Communications Call Waiting
GAPMENU contains an AnsiCmd parser. The AnsiCmds that GAPMENU
will recognize are as follows:
+----------------------------------------------------------------+
BNAME - Board Name | |
CLS - Clear window | |
DISKx - Free space on Drive x (x = C, D, E, etc) | |
LCALLER - Name of Last Caller | |
LICENSE - Licensee Name | |
LOFF - Last Caller Off Time | |
LON - Last Caller On Time | |
LBAUD - Last Caller Baud Rate | |
SBLT - Total Bulletins read in period | |
SCALLS - Total Calls in period | |
SCLEFT - Total Comments left in period | |
SDOOR - Total Doors opened in period | |
SDOWN - Total Downloads in period | |
SMINS - Total Minutes used in period | |
SMLEFT - Total Messages left in period | |
SQUEST - Total Questionnaires answered in period | |
SUP - Total Uploads in period | |
XCode - Change color attribute | |
TODAY - Use Today's Statistics | |
YESTERDAY - Use Yesterday's Statistics | |
MONTHLY - Use Monthly Statistics | |
NETWORK - If multi-node, use Network Wide Statistics | |
+----------------------------------------------------------------+
Each of these commands are preceded by your defined AnsiCmd
character:
@BNAME, @X0F, @LCALLER, etc
Your screens may be 80 columns wide and 22 lines in length. The
window that your file will be displayed in occupies the area
between the Menu Bar and the Status line. The window contains
extra lines and 1 extra column (which you cannot see) to
accommodate the CR/LF at the end of each line, and any spurious
lines which may inadvertently be left at the end of the file.
If you elect to design your own screens, keep in mind that the
Windows Menu will be unavailable (you will not be able to select
it). Since GAPMENU will be displaying your screen instead of its
own Windows, the commands on the Window Menu are irrelevant.
Page 136
GAP Communications Call Waiting
In addition, the F9 (toggle stats display) and F10 (update stats
display) keys will behave differently.
F9 will cycle through each of your screens, displaying
them sequentially.
F10 will update the New Mail flag as well as save the
number of the screen that is currently displayed so
that the next time GAPMENU runs, the currently
displayed screen will be the default screen that is
initially displayed.
When using the following commands:
+------------------------+
TODAY | |
YESTERDAY | |
MONTHLY | |
NETWORK | |
+------------------------+
you will probably have to add them at the top of the file after
you save your screen (assuming you use an editor that produces X
Codes). The reason for this is if you place these commands on a
line by themselves, GAPMENU will correctly interpret the command
but there will be a CR/LF after the command which GAPMENU will
read and display. The end result will be a blank line with
nothing on it.
If you do not use any of the above four commands, the statistics
will default to Today's Stats for the current node.
If you would like for a particular screen to display Network Wide
Statistics for Today, you would use the following commands:
@TODAY@NETWORK
And of course, the commands would have to appear before any stats
are displayed. The best place for them is on the first line of
the file.
Keep in mind that GAPMENU is a Window oriented program. It does
not utilize nor have need for an Ansi Driver. For this reason,
your screens may not contain any ANSI sequences. Use a text
Page 137
GAP Communications Call Waiting
editor or an X Code Editor to create your screens. Do not use an
Ansi Editor!
Sysop Mail
Whenever a user leaves a message to the Sysop, either while
logged onto the BBS, via the QWK/REP system, or via Echo Mail
using the UTI drivers, GAPMENU will display the number of new
messages for the Sysop in the right hand corner of the status
line.
Page 138
Chapter 12
User Editor
ARTWORK
The User Editor is where you perform off-line editing of your
user file.
The About Menu displays Copyright and Version information.
The Edit Menu allows you to Edit the currently displayed user
record, Add a new user, Delete the currently displayed user
record, Toggle the active Index, Lock the currently displayed
user out of a Forum and make the currently displayed user a Sysop
of a Forum.
Page 139
GAP Communications User Editor
Edit
+------------------------+
Edit User | |
Add User | |
Del User Del | |
Toggle Index I | |
|------------------------|
Forum Lock Out | |
Forum Sysop | |
+------------------------+
Edit allows you to edit the record of the user currently
displayed on the screen.
Add will allow you to add a new user to the data base.
Del User allows you to delete the currently displayed user. To
delete a user, first bring their record to the screen by using
the Find function. Press the Del key to delete the record. Note
that this function is permanent! You will not be allowed to
delete the sysop record.
Toggle Index changes the active index. The user records are
normally displayed in Name order. By selecting Toggle Index you
can change the index that is used such that records are displayed
by Security Level/Name order. This means that users with the
highest security level will be shown first.
Forum Lockout will lock the currently displayed user out of a
Forum or a range of Forums. You may need to do this if a certain
user needs to be prevented from joining a Public Forum.
Forum Sysop makes the currently displayed user the Sysop or
Assistant Sysop of a Forum or a range of Forums.
The Find Menu allows you to locate a specific user by Name or
Handle.
Find
+--------------------+
Search For User | |
Locate User | |
Find Handle | |
+--------------------+
Page 140
GAP Communications User Editor
Search For User allows you to search for a user by Last Name
using a full or partial search string.
Locate User allows you to find a user by exact name. You will be
asked for the First and Last Names to locate.
Find Handle will find a user who is using a specific Handle. You
will be asked to supply the text string to locate.
The Utilities Menu allows you to perform various Subscription,
Forum Registration, and Security level updating functions.
Utilities
+----------------------------+
Register Users | |
UnRegister Users | |
Registers Users By Level | |
|----------------------------|
Update All Users | |
Update Users In Forum | |
Update Users By Level | |
Change Expired Level | |
|----------------------------|
Reset Pointers | |
Security level | |
Level By Uploads | |
Level by Messages | |
|----------------------------|
Remove Dupes | |
Sort | |
+----------------------------+
Register Users allows you to register all of your users in a
specific Forum or a group of Forums.
UnRegister Users allows you to Unregister all of your Users in a
specific Forum or a group of forums.
Register Users By Level allows you to Register users that have a
specific security level in a Forum or a group of Forums. It is
used mostly to register certain users in a Private Forum.
Update All Users changes the Subscription Date for all of your
users. If you just set up a Subscription Board and would like to
Page 141
GAP Communications User Editor
set all of your users to the same Subscription Expiration Date,
you would use this utility.
Update Users In Forum is similar to Update All Users except that
it works with users who are a member of a specific Forum.
Update Users By Level is similar to the previous two functions
except that it works with users who have a specific Security
Level.
Change Expired Level allows you to change the Expired
Subscription Level for all Users who have the Expired Level you
provide. If you change your default Expired Subscription Level in
the Configuration Editor, you may need to use this utility to
change the Expired Level of your current Userbase.
Reset Pointers will set the Last Read Message numbers for all
Users in all Areas to 0. If you need to reset Last Read pointers
for all users in a specific Forum, simply unregister all of your
users from that specific Forum. If the Forum is public, that is
all you need do. If the Forum is private, you will then need to
re-register the users in that Forum.
Security Level will change the Security Level for users that have
the specified Level that you provide. You may need to use this
utility if you change the Level For New Users in the
Configuration Editor.
Level By Uploads will change the Security Level of any user that
has uploaded a specified number of files.
Level By Messages will change the Security Level of any user that
has left a specified number of messages.
Remove Dupes allows you to remove duplicate records from the
MEMBER data file. If you receive a message while rebuilding your
MEMBER file that says "Duplicate Key rejected for record at
offset xxxx", where 'xxxx' is a numeric value, then there are
duplicate records in your MEMBER file and only one of them could
be indexed. With this utility, you may remove the duplicate
records.
Sort will perform a physical sort of the user file, arranging
users by Security Level and Name. This function is rarely need
but is provided for those that like to have things "in order".
Page 142
GAP Communications User Editor
The Reports Menu allows you to create various reports about your
users.
Reports
+------------------------+
User Listing | |
Expired Subscription | |
Subscription By Days | |
+------------------------+
User Listing will produce a report on all of your users.
Expired Subscription will produce a report listing any user who's
subscription has expired or is about to expire.
Subscription By Days will produce a report listing any user who's
subscription will expire in a specified number of days.
Note that the two Subscription Reports will be available for
selection only if you have Enforce Subscription enabled in
Configuration.
The Quit Menu returns you back to the Call Waiting screen.
Page 143
GAP Communications User Editor
Command Keys
In addition to the items available on the menus, certain keys
will perform various other functions. Pressing F2 will display
the Command Keys available:
+--------------------------------------------+
F1 - Help | |
F2 - This Window | |
F3 - Register User | |
F4 - UnRegister User | |
F5 - DOS Shell | |
F6 - View Membership | |
F7 - Reset Last Read # | |
Home - Beginning Of File | |
End - End of File | |
UpArrow - Previous Record | |
DnArrow - Next Record | |
Del - Delete User | |
I - Change Index | |
S - Scroll Window | |
+--------------------------------------------+
Register User (F3) allows you to register the currently displayed
user in a Forum or a group of Forums.
UnRegister User (F4) allows you to Unregister the currently
displayed user in a Forum or a group of Forums.
DOS Shell (F5) will exit to DOS, leaving GAPUSER in memory. To
return to the program, type "EXIT" at the DOS Command prompt.
View Membership (F6) displays the Forum Registration screen for
the currently displayed user. This screen tells you if the user
is a member of a specific Forum, the Last Read Message number for
each Forum the user is a member of, and whether or not the user
is Locked Out of the Forum or is a Sysop of a Forum.
Reset Last Read # (F7) will change the Last Read Message number
in a specific Forum for the currently displayed user to a number
of your choosing. After entering the Forum number, the highest
message number in that Forum will be displayed along with the
highest message number that the user has read. You may then enter
a new Last Read Message number.
Page 144
GAP Communications User Editor
Because the user record contains more fields than can be seen in
the window at one time, the Scroll Window key (S) allows you to
view all of the user fields without having to edit the record and
moving the cursor manually.
Special Fields
Most of the user record fields such as Name, Address, Phone
Number, etc, are self explanatory. Some of them however need a
bit of explanation to fully understand them.
The Regis Date is the date the user first logged onto your
system.
The Sub Date is the date the user's registration expires. If you
do not run a subscription board, this date is meaningless.
When adding a New User or when a new user logs onto your board,
the Country field defaults to what you defined on the Sysop
screen in the Configuration Editor.
The Private User flag specifies if the user is a member of your
private board or not. If you run a private board, the only users
that will be allowed access are those that have this flag set to
Yes.
Enf Time Limit overrides the default flag in Configuration for
this particular user. Time limits per session and/or day are
configured in your SECLEV file. Whether or not you allow users to
call back an unlimited number of times per day is set by a flag
in Configuration. If you generally do not allow users to call
back after their time has expired, you may override that function
for any particular user by setting this field to No. Note that
time limits per session are still enforced. In other words, if
you give a user 50 minutes per session, the user will still be
limited to 50 minutes but you may allow a particular user to call
back an unlimited number of times and receive the full 50 minute
time allotment by setting this field to No.
Default Editor determines which Message Editor the user uses. For
new users this field defaults to Ask. Your users may change their
default editor to either Visual or Line at the View/Change Stats
Menu.
Page 145
GAP Communications User Editor
Chat Avail determines whether or not the user is available for
Chat with another user. This flag is only effective in multi user
systems.
Clear Screen allows the user to have GAP clear the screen between
each message that is read.
If you run a Subscription board and a user's subscription has
expired, the user is set back to the Expired Level. This level
defaults to the level you have set up in Configuration but you
may override the default on an individual user basis.
If you run a subscription board and a user's subscription has
expired, the user is normally removed from all the Forums such
that the user will only be able to join the Public Forums. If you
do not want this to happen to this particular user, you may set
the Public Forums field to No.
Disconnects is the number of times the user has dropped carrier.
Many users simply tell their modem to hang up the line instead of
being considerate and using the normal Goodbye to log off. This
field tells you how many times a user has dropped carrier on your
system.
Page 146
Chapter 13
System Operation
This chapter will describe all of the GAP commands a user (or
sysop) will see while logged onto the system.
Main Menu Commands
+----------------------------------------------------------------+
Abandon Forum Initial News & Wel Scan Messages | |
Bulletins Join A Forum Text Search Messages | |
Comment To Sysop Membership List View/Change Stats | |
Enter A Message New Mail Xpert Mode | |
Files System Page Sysop Your Personal Mail | |
GoodBye Questionnaires QWK - Dwnld QWK Mail | |
Help Read Messages REP - Upload REP Mail | |
CHAT Between Nodes OPEN A Door WHO Else is On | |
+----------------------------------------------------------------+
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.
Page 147
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.
GoodBye - 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. Note that if a user is in a
Forum that allows Handles, GAP will display user's Handles
instead of their name, 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.
It is identical to the New Mail check when callers first log on.
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 a file called
PAGE exists in your GEN directory, GAP will display this file
instead of telling the user that you are not available. If you
wish to never be paged at all, create a file called NOPAGE 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 that you have been paged.
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.
Page 148
GAP Communications System Operation
Read Messages - This command places the user into the message
subsystem. There are a great many additional commands while in
that system.
Scan Messages - This function will allow a user to view message
subjects very quickly. The TO, FROM, and SUBJECT fields of the
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 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 a user has in the current area. Any
unread messages will be marked with an asterisk after the message
number.
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 on-line in the
system.
Page 149
GAP Communications System Operation
REP - This command invokes the REPIMPRT module so that a user may
upload messages created with an off-line QWK/REP Mail Reader.
QWK - This command invokes the QWKEXPRT module so that a user may
download messages for off-line reading.
The QWK/REP modules are described in detail in the
chapter System Files.
Enter Mail Sub-Commands
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 99 carbons.
If the message is to an individual person, a user may attach a
file to the message. Only the recipient of the message will be
able to download the file. GAP stores attached files in your
Attached Files Directory. The files are given a unique name while
being stored. When the recipient of the message downloads the
file, GAP will remove the attached file from its holding
directory.
If a user replies to a message, the message disposition 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. In the
visual editor the commands to quote or view the original message
are part of the editor's internal commands.
Read Mail Sub-Commands
The following commands are available at the Read Mail prompt:
Read Mail : [2090-3295] From, To, Since, +-, Marked, Update :
A user may type a message number to read. If the message is
private and it is not To or From the user, GAP will display an
appropriate message. If a '+' or '-' is appended after the
Page 150
GAP Communications System Operation
message number, GAP will skip any private messages that the user
cannot read.
From displays all messages From the user.
To displays all messages To the user.
Since displays all new messages starting with the last message
the user has read.
Marked allows the user to read any messages that were marked with
the Text Search command.
Update is basically a sysop function that allows the sysop to
read messages without having GAP mark any messages To the sysop
as having been read. To read all new messages without updating
them, the sysop can issue the following at the Main Command
prompt:
R S U
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.
After displaying a message, GAP will issue the following prompt:
More: Yes, No, Cont, Orig, Thread, #, +-, Reply, Del, Edit,
Protect, File, Move
GAP builds this prompt dynamically, which means that depending
upon a user's level and expert status, some of the commands will
appear in the prompt and some of them will not.
If the message has a Refer To number, Original will display the
message the current message refers to.
Thread allows the user to read messages according to their
subject.
Reply allows the user to reply to the current message.
Page 151
GAP Communications System Operation
Delete allows the user to delete the current message. Whether or
not users can delete messages depends upon your configuration
options.
Edit allows the user to edit a message after saving it. Users can
edit only their own messages. If the user has the Edit Message
Headers security level, the user will also be able to edit the
message headers of all messages and will be able to edit the text
of all messages.
If the message is public, the Protect command will set it to
private. If the message is private, the word UnProtect will
appear instead and it will allow the user to make the message
public.
+------------------------------------------------------+
It may be a violation of the Electronic | |
Communications Privacy Act Of 1986 for you to make a | |
private message public. GAP Development Company | |
provides this function for use at the sole discretion | |
of the system provider and accepts no responsibility | |
for its misuse. | |
+------------------------------------------------------+
File will take you into the on-line user editor and will
automatically bring up the record of the person who wrote the
message you were currently reading.
Move 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. You will
be asked if you wish to delete the original message. If you
answer No, the Move command is equivalent to a Copy command.
View/Change Stats Sub-Commands
By entering V from the main command prompt, the user will enter
into the View/Change Stats system. GAP will display the user's
statistics and issue the following prompt:
View : Color, Forums, Stats, Transfer, Xpert, Help :
Color - This command will allow the user to toggle his/her color
graphic displays. Users can toggle their color mode and bypass
Page 152
GAP Communications System Operation
the View/Change Stats Menu by typing V C at the Main Command
prompt.
Forums - Allows users to Register and Unregister themselves in
public Forums.
Stats - This command allows the user to change his/her Address,
Phone numbers, Password, Handle, Birth date and other fields.
If you configured GAP to not allow Address changes, the user
will not be allowed to change his/her Address information,
Phone numbers, or Birth date. If you allow handles on your
system, the users will be able to give themselves a handle,
otherwise they will not be allowed to change this field.
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 for further information
about the PROTO file. This command is also available at the Files
Command prompt as Protocol Change.
Xpert Mode - Users can toggle their expert mode with this
command. Xpert Mode is also available at the Main Command prompt.
File System Commands
+----------------------------------------------------------------+
Archive Commands File Commands | |
| |
Enhanced Directories | |
View An Archive File File Directories | |
Select An Archive File Download A File | |
Transfer A File From Archive Locate A File | |
Read File From Archive New Files | |
Upload A File | |
| |
Miscellaneous Commands | |
| |
Browse Text File GoodBye | |
Help Protocol Change | |
Quit To Main Menu Xpert Mode | |
+----------------------------------------------------------------+
Page 153
GAP Communications System Operation
File Commands
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 Y), 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.
Locate A File - This command allows users to locate any file
listed in your FileBase. 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. After
selecting the Upload command, GAP will display a file called
UPLOAD (if it exists). This file should inform your users what
your upload policy is. If the user's Transfer Protocol is set to
a Batch protocol, GAP will ask the user if he/she wishes to send
more than one file. If the user answers Yes, GAP will immediately
begin receiving the files. The user will be prompted for the file
descriptions after all of the files have been received. If the
user answers No, GAP will first prompt the user for a description
of the file and after saving the description, will then begin
receiving the file.
Page 154
GAP Communications System Operation
For each file uploaded, GAP will shell to your UPCHECK.BAT file.
This file is described in detail in the chapter System Files.
Processing a file through the UPCHECK.BAT serves two purposes.
The first is to check the integrity of the file and the second is
to extract a description file out of the archive. A description
file is a text file (usually formatted to 10 or less lines with
45 or less characters per line), that describes the uploaded
file. This description file is called either DESC.SDI or
FILE_ID.DIZ and is included inside of an archive. Including such
a file allows the author of the program (rather than the
uploader) to describe what the archive is all about. GAP will
process a description file only if the user opted to upload a
batch of files. If GAP finds a description file in the work
directory, it will import the file into the File Description and
the user will be given the opportunity to either keep the file
description or change it. Description files are described in more
detail in the Special Batch Files section of System Files.
Archive Commands
View An Archive File - This command allows users to view the
contents of any ARC or ZIP 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. When a callers requests a Transfer, GAP
will shell to your ARCTRANS.BAT file which is responsible for
extracting the requested file out of the archive and placing the
resultant file in your Loose File Directory. The ARCTRANS.BAT
file is described in detail in the chapter System Files.
Read A File From Archive - Users may read any doc or text file
contained within an ARC or ZIP file.
Page 155
GAP Communications System Operation
Miscellaneous 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.
GoodBye - Caller's may log off the system from within the Files
Area.
Help - Allows callers to obtain help for the File Menu commands.
Protocol Change - This command allows your callers to change
their default Protocol without having to Quit back to the Main
Menu and issue the View/Change Stats command.
Quit To Main Menu - Returns the caller to the Main Menu.
Xpert Mode - This command allows your callers to change their
Expert status.
Users may also Join a Forum from within the Files System. When
issuing the Join command from the Files System, the user will be
placed at the Main Board command prompt and not the Files System
command prompt.
Sysop Commands
Function Keys
The Sysop Keys can be disabled if you are running under a LAN. To
disable these keys set the Disable Local Sysop Keys in
Configuration to Yes.
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.
Page 156
GAP Communications System Operation
F3 - This is the On-line User Update Key. Pressing it will take
you into the On-line 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. 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 on-line, 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 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). 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.
Alt F1 - Displays the main user information on the status line.
Alt F2 - Displays the available status line keys.
Alt F3 - Displays additional user information.
Page 157
GAP Communications System Operation
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 the same base name as your
Messages file but with a .TXT extension. 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.
Alt F7 - This key will decrease the user's time available by five
minutes.
Alt F8 - Pressing this key will give the user an extra five
minutes of time available.
Alt F9 - This key will decrease the user's security level by one.
Alt F10 - Pressing this key will increase the user's security
level by one.
Note that changing a user's security level will update the status
line as you press the keys, however increasing or decreasing the
user's time 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. Unlike the
Files System Browse command, this command accepts path names.
4 Maintain Users File - This function performs as a mini user
editor. You may add users, delete users, find any user, and
Page 158
GAP Communications System Operation
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 is
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 in the chapter System Files.
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 requires
local keyboard input, your computer will seem to freeze because
there will be nobody at the local keyboard to type the response
that DOS is expecting. Use this command with caution.
6 Other Node Users - In a multi user system, this command will
allow you to view the caller logs of other nodes.
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.
Page 159
Chapter 14
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 161
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 Communication Programs | |
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.
Page 162
GAP Communications FileBase Editor
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.
The format of FILES.DIR is as follows:
+------------------------+
C:\DL1 | |
C:\DL2 | |
D:\DL3 | |
D:\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).
Page 163
GAP Communications FileBase Editor
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
+----------------------------------+
C:\GAP\SUP\DIR11 | |
C:\GAP\SUP\UP | |
+----------------------------------+
DIRS
+----------------------------------+
11 Support Forum Files | |
12 Support Forum Uploads | |
+----------------------------------+
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
+----------------------------------+
C:\GAP\SUP\DIR1 | |
C:\GAP\SUP\UP | |
+----------------------------------+
DIRS
+----------------------------------+
1 Support Forum Files | |
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.
Page 164
GAP Communications FileBase Editor
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.
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.
Page 165
GAP Communications FileBase Editor
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 | |
+--------------------------------------------+
By pressing F2, these Command Keys will be displayed.
Page 166
GAP Communications FileBase Editor
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 167
GAP Communications FileBase Editor
Use the Edit Menu to Add, Edit, or Delete Files:
Edit
+------------------------+
Edit File | |
Add File | |
Del File Del | |
+------------------------+
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
Page 168
GAP Communications FileBase Editor
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.
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
Page 169
GAP Communications FileBase Editor
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 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.
Page 170
GAP Communications FileBase Editor
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 171
GAP Communications FileBase Editor
Utilities
The following options are available on the Utilities Menu:
Utilities
+--------------------+
Update | |
Master List | |
Stray Files | |
Import | |
Move Files | |
|--------------------|
Global Change | |
Fix Keywords | |
Remove Dupes | |
Mass Delete | |
+--------------------+
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
Page 172
GAP Communications FileBase Editor
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 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".
For each file found, GAPFILE will shell to a batch file (the
default is UPCHECK.BAT but you can change this to any batch file
name you wish). The purpose of the shell is to extract any
description files (FILE_ID.DIZ or DESC.SDI) from the archive so
that the description file can be used as the keywords and file
description. You can use your UPCHECK.BAT file for this purpose,
or you can give the batch file a different name and include only
the commands you want to have executed while importing stray
files. The parameters that are passed to the batch file are
identical to those passed by GAP to UPCHECK.BAT. The sixth
parameter will be a '1'.
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
one line entry for each file on the disc.
Page 173
GAP Communications FileBase Editor
GAPFILE will also import files that contain multi-line
descriptions. The format of the import file is pretty much the
same except that a description of a file may be up to 10 lines.
The format would be something similar to the following:
+----------------------------------------------------------------+
FILENAME.ZIP 123456 07/01/92 This is line 1 of the descrip | |
This is line 2 of the descrip | |
This is line 3 of the descrip | |
+----------------------------------------------------------------+
The first description entry will be saved in the keyword field as
well as the first line of the Enhanced Description. The next nine
lines will be saved as lines two through ten of the Enhanced
Description. The only requirement to importing more than one line
of description is that the second and subsequent lines be
preceded with at least one space.
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 174
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 : Subject # of 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.
Page 175
GAP Communications FileBase Editor
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.
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.
Remove Dupes allows you to remove duplicate records from the
FileBase. If you receive a message while rebuilding your data
files that says "Duplicate Key rejected for record at offset
xxxx", where 'xxxx' is a numeric value, then there are duplicate
records in your FileBase that need to be removed. In order to
delete the duplicate record you must supply the numeric offset
that GAPREBLD displayed in its warning message. You must supply
the exact number or you may inadvertently delete the wrong
Page 176
GAP Communications FileBase Editor
record. If you received a duplicate record warning for the same
offset value, you need only remove the duplicate record once.
Mass Delete allows you to remove all of the files in a specific
subject. It can be used if you need to quickly remove a group of
files.
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 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
Page 177
GAP Communications FileBase Editor
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.
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.
Page 178
GAP Communications FileBase Editor
+ 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 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
Page 179
GAP Communications FileBase Editor
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.
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.
Page 180
GAP Communications FileBase Editor
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.
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 destination 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 procedure for each of the
list files you created from your Master Listing.
Page 181
GAP Communications FileBase Editor
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 file size.
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.
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 - Part 1 | |
BOYAN40B.ZIP 131354 02/05/89 Boyan Comm Program - Part 2 | |
GAP.SLT 2885 01/11/88 Telix script for a GAP BBS | |
GAPASP.ZIP 686 08/17/88 Procomm script for a GAP BBS | |
+----------------------------------------------------------------+
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 sheep's 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
Page 182
GAP Communications FileBase Editor
size of 1048 bytes as 1K or a date of 06/28/92 as 06/92, 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 File
System Options.
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.
Page 183
GAP Communications FileBase Editor
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 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 search all 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.
Page 184
GAP Communications FileBase Editor
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.
Now that the hardware is taken care of, we are ready to run our
much needed Update. From the Utilities 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
Page 185
GAP Communications FileBase Editor
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.
The commands to accomplish this are as follows:
+------------------------+
GAPFILE 6 U M S Q R | |
+------------------------+
Page 186
GAP Communications FileBase Editor
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 parameters
are required.
GAPFILE will also accept a command line parameter of:
+------------------------+
UPDATE 6 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 commands, 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 6 U M S Q R | |
PKZIP H:\UP\CROWLIST.ZIP MASTER.LST | |
GAPFILE 6 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 GAPFILE will
search for and accept the first instance of the file it finds
Page 187
GAP Communications FileBase Editor
(same as what occurs when you use F8 to find a file in All
Subjects).
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.
Indirection Files
An Indirection File is a file that holds the names of users who
are authorized to download the file to which the indirection file
is attached. You attach an indirection file to a file in the
FileBase by placing the name of the indirection file (preceded by
an AT (@) sign) in the password field.
Lets say you have a file called FILE.ZIP and you wish to allow
only Bob Jones and Betty Smith to have access to this file
(because for whatever reason, you don't want to give out
passwords and perhaps all of your users have the same level), you
can create an indirection file called FILE.PRO (or something
similar that you can associate with the FILE.ZIP), and place this
file in your Indirection Directory.
The file would be formatted as follows:
FILE.PRO
+------------------------+
Bob Jones | |
Betty Smith | |
+------------------------+
In the Password field for FILE.ZIP, enter @FILE.PRO as the
password. When a user attempts to download FILE.ZIP, GAP will see
that it is protected by an indirection file and will read the
file to see if the user's name is contained within it. GAP will
not allow the download if it cannot locate the user's name in the
file.
Indirection files must be given a name that is 9 characters or
less in length. In addition, the '@' character cannot be used as
the first character of a password (unless of course, you intend
to use an Indirection file).
Page 188
Chapter 15
External Protocols
General Information
GAP allows the sysop to define up to 20 external protocols. To
implement these protocols, you will need an external protocol
driver.
The first thing you must do is edit your PROTO file so that it
shows the external protocols you wish to make available to your
users:
PROTO
+------------------------------------------------------+
| |
File Transfer Protocols | |
| |
Ascii Ymodem | |
Xmodem F-Xmodem 1K (MNP) | |
Crc Xmodem G-Ymodem-G (MNP) | |
1K Xmodem Zmodem | |
None | |
| |
External Protocols | |
| |
Dsz (Zmodem) Hs-Link | |
| |
+------------------------------------------------------+
Next, you need to go into the Configuration Editor, select the
Files Systems Options from the Goto Menu, set the Use External
Protocols field to Yes and in the Ext Protocol File Name field,
type in the name of the data file that holds the external
protocol information. The default name is PROTO.DAT. This file is
placed in the GEN directory. Next, press F9 to save the changes
Page 189
GAP Communications External Protocols
and then select Ext Protocols from the Files Menu. After
selecting the data file to edit, you will be presented with a
screen similar to the following:
ARTWORK
Here you configure each of the external protocols so that they
will run properly with GAP.
Ltr - This is the character the user must type in order to select
the protocol. It can be any character of your choosing but it may
not contain the letter of one of the internal protocols (i.e.,
1ACFGNXYZ). This letter also forms one of the characters in the
batch files used to invoke this protocol.
Batch - If the protocol is capable of sending and receiving
multiple files in one invocation, then you would set this field
to Yes. In order to qualify as a Batch protocol, the driver must
be able to produce a DSZ type of log file. Nearly all protocols
that support batch transfers will produce this log. The DSZLOG is
a text file that lists the success or failure of each of the
files the user has downloaded. Upon return from the shell, GAP
will read this log to determine which files the user downloaded
and will update the user record and the FileBase accordingly.
In order for GAP to know where to find the DSZLOG, you must set
an environment variable in your AUTOEXEC.BAT that tells the
protocol where to write the file and GAP where to read it. You
may name the file anything you like, but for simplicity, it is
best to name it DSZLOG. In your AUTOEXEC.BAT you would enter
something similar to:
Page 190
GAP Communications External Protocols
SET DSZLOG=C:\GAP
Besides being able to write a DSZLOG, the batch protocol must
also be able to read an indirection file. An indirection file is
a text file that lists the full path and name of the files the
user wants to download. The name of this file is then passed to
the protocol on the command line. The protocol will read this
file and send each of the files listed in it to the caller.
If the external protocol is designated as a batch protocol, then
GAP will allow the user to download as many files at one time as
his security level allows. In order to accomplish this, GAP keeps
track of the files the user has selected in a binary file called
FILELST.DWN. GAP uses this file with its own internal batch
protocols. On your distribution disks, you will find a program
called READBTCH.EXE. This program will read the FILELST.DWN file
and create a text file called FILELST.TXT. This text file may
then be passed as the indirection file to the protocol driver.
BiDir - If the protocol is capable of sending files as well as
receiving them at the same time, then you would answer Yes in
this field. Bi-Directional capability only works when a user
begins a download of file(s) from the BBS and instead of
instructing his communications program to Download, he tells the
program to upload, and supplies a list of files to send. The Bi-
Directional protocol will take care of the sending and receiving
of the files.
When a protocol is configured as Bi-Directional, then when the
user returns from the shell, GAP will update the user record and
the FileBase with the file(s) the user has downloaded and will
then check the upload work directory to see if any files were
also uploaded. If so, GAP will then prompt the user for a
description of each one of the files it finds in the work
directory.
MNP - If the protocol depends upon an Error Correcting Connection
between the two modems then you would answer Yes in this field.
If a user selects an MNP designated protocol and yet does not
have an MNP connection, GAP will issue a warning message.
Pro - tells GAP whether or not to protect the Sysop status line
(the bottom two lines on the screen). If a protocol makes a mess
of the screen, then the presence of the sysop status line is
Page 191
GAP Communications External Protocols
probably causing it. If so, you would want to set this field to
No.
Name - is a descriptive name to give the protocol. It will be
displayed to the user during various activities.
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.
When uploading, GAP will pass the following 4 parameters to the
external driver (EXTRx.BAT):
+--------------------------------------------+
%1 Port Number | |
%2 Computer to Modem BPS Rate | |
%3 Path and/or name of file | |
%4 Modem to Caller BPS Rate | |
+--------------------------------------------+
When downloading, GAP will pass the above 4 parameters along with
the following two (EXTSx.BAT):
+--------------------------------------------+
%5 Upload Directory | |
%6 0 or 1 if Uploads are allowed | |
+--------------------------------------------+
The following are sample batch files for DSZ:
EXTSD.BAT
+----------------------------------------------------------------+
@echo off | |
del dszlog | |
del filelst.txt | |
readbtch | |
dsz ha on z pB4096 estimate 0 %4 sz -y-m @c:\gap\filelst.txt | |
+----------------------------------------------------------------+
Page 192
GAP Communications External Protocols
EXTRD.BAT
+----------------------------------------------------------------+
@echo off | |
del dszlog | |
dsz ha on z pB4096 estimate 0 %4 rz -y-m %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.
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 if you use DSZ as an external protocol, your copy of
the program must be registered. Otherwise, during an upload, DSZ
will place the files in the current directory instead of the
directory GAP specifies.
Page 193
Chapter 16
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 @USEPAUSE as the very first AnsiCmd in the
file(s). When GAP encounters this AnsiCmd 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 run a Network and notice that sometimes when I bring
up the Call Waiting program on one of the client nodes,
there is a long delay after the screen comes up and
before the Main Menu appears.
Answer: All of the GAP programs include a Critical Error
Handler. Probably what is occurring is that the Network
connection was lost (either because the server logged
the node off the network or because the server was re-
booted), and the delay you are experiencing is GAPMENU
trying to re-establish the network connection. This
delay should not last more than 5 seconds.
Page 195
GAP Communications Questions & Answers
Question: In a similar vain, sometimes I notice that the Free
Disk Space shown in the Drive Window is either some
abnormally large number or a string of asterisks. What
causes this?
Answer: If GAPMENU cannot re-establish the connection with the
server, it will be unable to obtain the free disk space
information. The abnormally large number or the
asterisks is a visual clue that the network is not
operating correctly. If you try to log into the system
you will receive an Error 12 which means GAP is unable
to open any files.
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 the highest speed your modem is capable of
operating at). In addition, your callers need to set
their modem to operate at its highest speed. 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: Your modem does not return a CONNECT 19200 message. It
is returning CONNECT 9600. That is the speed that GAP
displays on the status line. Some older Dual Standard
modems are able to establish connections with a remote
modem at 14,400 bps but they return CONNECT 9600 back
to GAP. GAP can only display and utilize the CONNECT
message that the modem returns.
Page 196
GAP Communications Questions & Answers
Question: When using Ymodem, the system seems to hang after
sending a file. About a minute later, it will come back
with a time-out 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.
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.
Page 197
GAP Communications Questions & Answers
Question: Every once in a while 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.
Question: When I log on as the sysop, I only have 12 minutes of
time.
Answer: GAP cannot find your security level in the SECLEV file.
Since the sysop usually has the highest security level
available, GAP read to the end of the SECLEV file
without finding your level (or a higher level) and you
are ending up with the default level of 12 minutes. Go
into the Configuration Editor, select the Files Menu
and edit your SECLEV file so that it includes your
sysop security level.
Question: I have my F5 (Shell To DOS) set to use COMMAND.COM.
However, whenever I press the F5 key inside of GAP
there is a brief flash and I'm returned to the Command
Prompt.
Answer: When you have GAP configured to use COMMAND.COM instead
of swapping, GAP remains in memory while you are in the
DOS shell. If there is not enough memory to load a
secondary copy of COMMAND.COM you will experience this
problem. Try removing unnecessary TSR programs to free
up some extra DOS memory. If you are running under a
multi tasker, increase the size of the GAP window.
Page 198
GAP Communications Questions & Answers
Question: I set up a Forum with 2 File Directories. When I log on
and try to access the Files Menu GAP tells me there are
no file directories. What's going on?
Answer: It is possible for a Forum to share the Main Board file
directories and have no directories of its own, share
the directories and have its own special directories,
not share the directories and have its own directories,
or not have any files at all. In order to accommodate
the last option where the sysop does not want a Forum
to have any files available at all, GAP uses the
presence of the DIR file (the file that lists the
available File Subjects) to tell it if the Forum has
files available. You may have either neglected to
include the DIR file in the Forum GEN directory or you
created a color version of the file (DIRG) and not a
regular non-color version.
Question: Sometimes while reading messages I see a red "Message
Skipped" instead of a message.
Answer: When reading messages, GAP allocates memory to hold the
largest possible message as determined by the Maximum
Number Of Message Lines that you have configured. If
the message that is about to be read from disk is
larger than will fit in the memory that GAP has
allocated, you will see this message displayed. This
occurs because you lowered the Maximum Number Of
Message Lines and there are messages in the file that
were left when the maximum lines was set to a higher
value.
Page 199
GAP Communications Questions & Answers
Question: I was told that it is not necessary to have two
versions of each of the text files and that you can
eliminate the 'G' version of the file and the regular
file (NEWS for instance) can contain ANSI color and if
the caller is in non color mode, GAP will just strip
the color codes out of the file. I tried this by
deleting my NEWS file and renaming the NEWSG to NEWS.
It doesn't work! The caller doesn't receive any color
but the NEWS is a total mess on his screen!
Answer: It is true that you do not need two versions of a file
- Color and Non Color. The basic file (NEWS in your
example) can contain ANSI color codes. But that is all
that it can contain. GAP strips only the color
sequences out of the file if the caller is in non color
mode. Any other ANSI sequences are sent to the caller.
If the NEWS file appears "jumbled" on the caller's
screen, it is because the file contains other ANSI
sequences besides color codes. TheDraw, for instance,
saves screens using space compression codes. For
instance, if you have a screen that has 20 spaces
between one word and another, the program will save the
file using an ANSI sequence that moves the cursor over
20 spaces instead of using 20 actual hard spaces. Your
caller, because he or she does not have ANSI emulation
turned on, will see the ANSI codes instead of the 10
spaces. It is suggested that if you are going to use a
single basic file that contains color codes that you
use an XCode Editor instead of an ANSI editor. These
programs write only XCodes to the file and no ANSI
sequences. As an alternative, you can edit the file
with a Text Editor and replace all of the cursor
movement sequences with actual hard spaces.
Page 200
GAP Communications Questions & Answers
Question: When users upload files they seem to receive a lot of
CRC errors. What is a CRC error and what can I do to
prevent this? I'm using a 9600 baud modem.
Answer: A CRC error means that the last block of data GAP
received from the modem was incorrect. This can be
caused by many things but if it happens with regularity
it is due to a hardware problem with your computer.
Either your phone lines are excessively noisy, you are
using an internal modem and need to clean the edge
connectors on the modem card, you are using Extended
Memory for a Disk Cache, or your serial port card is
not using a 16550 UART. High speed communications
require that your serial port be able to keep up with
the modem. Most computers and serial port cards come
equipped with older, outdated, UART chips. These UART
chips simply cannot keep up and will loose data. There
is also the possibility that the problem lies on the
other end of the connection or that your board is
situated in a calling area where all phone connections
are routed through an antiquated switching system.
Question: I want to upgrade from single user to multi user. Will
GAP allow me to run more than one node on a single
computer?
Answer: GAP itself is not a multi tasking program. To run more
than one node you will need either a LAN or a multi
tasking program such as DESQview. If you intend to run
more than one node on a single computer, DESQview is a
good choice if the computer is a 386 or better and you
have at least 4 megabytes of memory. You will be able
to run at least 4 nodes and a private "local only"
node. Of course you will also need 4 phone lines and 4
modems! We recommend using a LAN if you want to run
multiple nodes, but if you do not mind a performance
penalty, then multi tasking will work as well.
Page 201
GAP Communications Questions & Answers
Question: I run a closed board that is dedicated to "in house"
support of our sales people and do not want GAP placing
uninvited callers into the user file. Why does the
program do this and is there some way I can prevent
it?
Answer: GAP places new users in the user file (but with the
Private User flag set to No) to make it easier on the
sysop to update the records of new users after they
have been verified and paid their subscription. For
truly closed boards where new users are not wanted, in
your NEWUSER file, explain to the caller that your
board is closed, that no new users are allowed onto the
system, and at the end of the file, use an @PAUSE and
an @DISCON AnsiCmd. The Pause will give the caller the
opportunity to read the screen and the Discon will tell
GAP to disconnect the caller. Since this occurs before
the caller is given an opportunity to register, there
will be no record of the caller in the user file.
Question: GAP allows me to restrict callers based upon their baud
rate but what I really need to do is restrict any
caller, irregardless of their baud rate, who doesn't
have a level of 90 during the hours of 8:00 am and
12:00 pm. Can I do this?
Answer: Absolutely! Go into the Seclev Editor of GAPSETUP and
set the Minutes Available field for all levels except
the sysop level and level 90 to 0. Press F10 and save
the file as SECLEV.080. Press F10 again and save the
file as SECLEV.090. Repeat this process until you have
saved 5 files, each with an extension of .080, .090,
.100, .110, and .120. Then create a file called NOTIME
in your GEN directory. This file should explain to any
caller that doesn't have a level of 90 the reason why
they are not being allowed on the system during your
restricted hours. By the way, your Time Specific SECLEV
files need only include a few security levels such as
89, 90, and 110 (or whatever your sysop level is). If
callers at level 40 or 50 try to log on, GAP will give
them the allotments for level 89 which will be (or
should be all zeros).
Page 202
GAP Communications Questions & Answers
Question: When some of my callers list the file directories there
is an asterisk (*) displayed in front of some of the
file descriptions. What does the asterisk mean?
Answer: When listing files, if any file is newer than the
user's last New Files Scan Date, the file will be
flagged with an asterisk in Condensed Mode. In Enhanced
Mode the header will say 'New'.
Question: When my callers are automatically taken to the Bulletin
Menu (because there are new bulletins) it seems like it
takes forever for the Bulletin Menu to appear. Is there
something wrong with my system to cause this delay?
Answer: If there are any new bulletins, GAP will display the
numbers of the bulletins that are new above the
Bulletin Command prompt. In order to determine which
bulletins are new, GAP has to check each of your
bulletin files and compare the date on the file with
the date the user was last on. If you have over 100
bulletins, this process can take a bit of time. There
is nothing we can do with GAP to speed the process up
since we are simply asking DOS for the date on the
bulletin file. Do you really need 100 or more
bulletins? If you run lots of doors and display the
scoreboards from each of the door programs that produce
such bulletins, you might consider putting all of your
doors in a Doors Forum and configure the door programs
to write their bulletins to that Forum's GEN Directory.
Question: I have the Force New Bulletins set to Yes and I update
my News file once a week, but some of my callers are
typing "Y Q NS O" at the logon prompt and they are not
being forced to read the News or the new bulletins.
Answer: On the Third Miscellaneous Screen in GAPSETUP, there is
a field called Level To Override Logon. Set this to a
security level that is higher than that of your regular
callers. This will prevent callers who do not have the
security level you specify from overriding your News,
Security News, User Info files and New Bulletins. On
the same configuration screen is a field called Allow
Quick Logon. Set this field to No.
Page 203
GAP Communications Questions & Answers
Question: All of a sudden, whenever I or one of my users tries to
save a message, GAP issues a "Sorry, Message File Is
Full" and won't save the message.
Answer: Go to the Miscellaneous Info 2 screen in the
Configuration Editor and increase the Max # of Messages
field. You've reached the maximum number of messages
that you configured so GAP won't allow any new messages
to be saved.
Page 204
Index
Address
Changing 27, 153
ANSI 33, 113, 200
AnsiCmd 32, 38, 113
ARC Files 24, 39, 69
Archive Menu Commands 24, 153
Archives
Transfering A File From 24, 69, 155
Attached File Directory 18
Attaching Files 14, 150
Base Address 19
Batch Download 52
Batch Files
ARCTRANS.BAT 24, 69
Doors 52
Event 111
GAPCOMM.BAT 129
LOGON.BAT 73
Special 68
Startup 11, 51
UPCHECK.BAT 69
Birth Date 23, 27, 153
Bulletins 26, 28, 35
Forcing 26
New 26
Statistic 26
Call Waiting 28, 127
Customizing 135
Caller Alarm 128, 157
Caller Log 16, 123
Viewing 129, 158, 198
Callers
Displaying Name Of Last 28
Restricting 21, 58, 66, 202
Carbon Copy Messages 31, 46, 150
Carrier Detect 18, 79
CD-Rom 178
Closed Board 35, 63, 202
Color 30, 31, 46, 152
Color Files 22, 38, 41, 51, 113, 119, 200
Commands
Archive Menu 24, 153
File Menu 24, 153
Page 205
GAP Communications Index
Main Menu 22, 147
Sysop 156
View/Change Stats Menu 25, 152
Comments 13, 23, 41, 45, 47
Communications Port 19
Configuration 11, 12
Corrupted Files 53
Country 13
CRC Errors 20, 201
CTS 20
Custom Menus 23
Default Country 13
Default Directory 2, 6, 11, 23, 43, 48, 51
Default Filename Extension 39
Deleting Messages 31, 46, 150
Description Files 69, 154
Directories 5, 37, 45, 48
Default 6, 11, 23, 43, 48, 51
Forum 67
Forum Default 67
Forum Gen 68
Forum Upload 68
Gen 6, 17, 62
Help 17, 57
Indirection Files 18, 188
Loose Files 17
Main 6, 17, 57
Upload 17
Doors 16, 48, 87, 88
And Events 110
Downloading Messages 74
Duplicate Files 39, 176
Duplicate Records 142
Echo Mail 30, 47
Editing Messages 14
EMS 33
Enforcing File Ratios 38, 58, 66
Enforcing Time Limit 27, 58
Entering Messages 150
Errors 125
Fatal 53
Message File Full 204
Page 206
GAP Communications Index
Events 34, 40, 107
Expired Subscription 35, 47, 64, 141, 143, 146
Expired Time 27
Exporting Messages 158
External Protocols 39, 48, 49, 52, 189
Failed Check Level 23
Fatal Errors 53
File Description 154
File Directories 37
File Menu Commands 24, 153
File Ratios 38, 58, 66
File Transfer Protocols 65, 189
Changing 153
FileBase 18, 161
Files
ARC 24
ARCTRANS.BAT 24, 69
Baud Rate Restriction 22
Caller Log 16
Closed 35, 63
Color 113, 200
COMMENT 41
Corrupted 53
Default Extension 39
Description 69
Doors 16, 52, 73
Duplicate 39, 176
EXPIRE 36, 64
FAILED 23
Forum Data 17
GAPCOMM.BAT 129
Importing 158, 173
Indirection 188
Locating 154, 167
LOCKOUT 41
LOGON.BAT 73
Message 15
Moving 174
NEWQUEST 35
News 16, 31, 115
Offline 129, 172, 185
Overwriting 14
Packing 54
Remote Exit 17
REMOTE.BAT 56
SECLEV 16, 23, 37, 48, 58, 65, 145
Security 114
Security Menus 115
Security News 115
Sharing 12
Stray 173
Page 207
GAP Communications Index
System 51
Text 20, 114
Time & Bytes 16, 23, 37, 48, 58, 65, 145
TWIT 41
UPCHECK.BAT 69
Uploads 14, 154
User 15
User Info 34, 116
Verifying 69
Welcome 16, 66
ZIP 24
Finding Files 167
Finding Users 140
Flow Control 20
Forcing Bulletin Menu 26
Forcing New Bulletins 26
Forum 27, 43
Data File 17
Default Directory 67
Directories 67
Gen Directory 68
Locking User Out Of 139
Name 43
Number Available 32
Registering Users In 141
Subscription 47
Sysop 44, 139
Upload Directory 68
GAPPACK 54
GAPREBLD 53
Gen Directory 6, 17, 62
Handle 27, 46, 47, 140, 153
Help Directory 17, 57
Importing Files 158, 173
Indirection Files 18, 188
Init String 18
IRQ 19
ISAM 53
Keyboard Time-Out 32
Last Caller 28
Locating Files 154, 167
Locating Users 140
Locked Out Users 16, 28, 41, 62, 156
In Forums 139
Logon 73
Logon Overriding 28
Loose Files Directory 17
Main Directory 6, 17, 57
Main Menu
Security Level Specific 115
Sysop Defined Items 23
Page 208
GAP Communications Index
Main Menu Commands 22, 147
Master File Listing 173, 186
Memory Image 33
Menus
Sysop Defined 131
Message File Full 204
Message Headers 14
Messages
ANSI 46
Attached File Directory 18
Attaching Files To 14, 150
Carbon Copy 31, 46, 150
Deleting 31, 46, 150
Downloading 74
Echo 30, 47
Editing 14, 150
Entering 150
Exporting 158
Forum 43
Full 30
Importing 158
Main Board 15
Maximum Number Of 30, 45, 204
Number Left 28
Number Of Lines 30, 199
Off-line Reading Of 74
Private 13, 44, 46
Protecting 13, 150
Quoting 31
Reading 14, 150
Resetting Last Read 141
Restoring 159
Saving 150
Searching 149
Skipped 199
Snooping 14, 151
Time Credit For Leaving 31, 45
UnDeleting 159
UnProtecting 13, 150
Validating 46
Modem
Buffer 20
Configuration 18, 79, 195
Connect 19, 20, 79
Delay 20
Moving Files 174
Multi User 11
NetBIOS 29
Network 11, 15, 20, 27, 29, 32, 52, 57, 195
Viewing Activity Of 129
Page 209
GAP Communications Index
New Bulletins 26
New User 28
Level 23
Preventing 202
Questionnaire 16, 106
Welcome File 16, 202
News 16, 17, 28, 31, 47, 64
Security 36, 115
Non-Standard Ports 19
Non-Stop Mode 20
Off Hook String 18
Offline Files 129, 172, 185
Overriding Logon Screens 28
Overwriting Files 14
Packing Files 54
Paging Sysop 65, 128, 148, 157
Password 13, 153
Phone Number 23, 27, 28
Preventing New Users 202
Printer 27, 128
Private Mail 13, 46
Private Uploads 38
Private User 35, 63, 145, 202
Protecting Files 188
Protecting Messages 13, 150
Protocols 65, 189
Changing 153
Page 210
GAP Communications Index
Questionnaires 16, 35, 93
Quick Logon 28
Quoting Messages 31
QWK 30, 74
Ratios 38, 58, 66
Real Names 27
Rebuilding Files 53
Registration 16, 23, 27, 28
Remote Exit 17, 56
REP 30, 74
Reset String 18
Restoring Messages 159
Restricting Callers 21, 58, 66, 202
Ring Detect 19
RTS 20
SECLEV 16, 23, 37, 48, 58, 65, 145, 202
Security Files 114
Security Level 158
Security Menus 115
Security News 36, 115
SHARE.EXE 12
Skipped Messages 199
Startup Batch File 11, 51
Statistic Bulletins 26
Status Line 33
Stray Files 173
Subscription 35, 43, 47, 64, 141, 202
Swap File 33
Sysop Commands 156
Sysop Defined Menus 23, 25, 131
Sysop Defined Screens 135
Sysop Levels 13, 44
Sysop Menus 66
Sysop Name 13
Sysop Page 65, 128, 148, 157
Sysop Password 13
System Files 51
System Operation 147
Text Files 2, 15, 41, 113, 156
Aborting 20
Color 15, 22, 38, 41
Text Search Messages 149
Time
Available 158
Credits 31, 45
Expired 27, 65, 198
Page 211
GAP Communications Index
Time & Bytes File 16, 23, 37, 48, 58, 65, 145, 202
Time Limit 27, 65, 145, 198, 202
Transfering Files 24, 69, 155
Trash Can 16, 41, 62, 156
TWIT 41, 157
UnDeleting Messages 159
UnProtecting Messages 13, 150
Upload Directory 17, 43, 45
Uploads
And Events 34, 110
Checking 69, 154
CRC Errors 20, 201
Description 69
Free Disk Space 38
Help 66
Keeping In Forum 45, 68
Overwriting 14
Private 38, 45
Security Level 39, 44
Time Credits 38
Unwanted 65
Writing To Disk 20
Zmodem 20
User Editor 139
User Statistics
Displaying 28
Last Caller 28
USERINFO 34, 116
Users
Adding 139
Deleting 139
Locating 140
Locked Out 28, 41, 62, 156
Registering In Forum 141
Time-Out 32
Validating
Messages 31, 46
Phone Numbers & Birthdays 58
Registration Information 23, 28
View/Change Stats Menu Commands 25, 152
Virus 69, 154
Welcome File 16, 28, 66
New User 16
XCodes 27, 119
ZIP Files 24, 39, 69
Zmodem 20
Page 212