home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
BFE1403P.ZIP
/
BFE.DOC
next >
Wrap
Text File
|
1993-07-27
|
113KB
|
2,423 lines
▒███████ ▒███████ ▒███████
▒██ ▒██ ▒██ ▒██ ▒██
▒████████ ▒████████ ▒███████
▒██ ▒██ ▒██ ▒██ ▒██
▒████████ ▒████████ ▒███████
▒███████ ▒███████ ▒███████ ▒████▒██ ▒████████ ▒███████ ▒████▒██ ▒██████
▒██ ▒██ ▒██ ▒██ ▒██ ▒██▒█▒██ ▒██ ▒██ ▒██▒█▒██ ▒██ ▒██
▒██████ ▒███████ ▒██ ▒██ ▒██▒█▒██ ▒██ ▒██████ ▒██▒█▒██ ▒██ ▒██
▒██ ▒██ ▒██ ▒██ ▒██ ▒██▒█▒██ ▒██ ▒██ ▒██▒█▒██ ▒██ ▒██
▒██ ▒██ ▒███ ▒███████ ▒██▒████ ▒██ ▒███████ ▒██▒████ ▒██████
▒███████ ▒██ ▒██ ▒███████ ▒████████ ▒███████ ▒███████
▒██ ▒██ ▒██ ▒██ ▒██ ▒██ ▒██▒█▒██
▒███████ ▒████████ ▒███████ ▒██ ▒██████ ▒██ ▒██
▒██ ▒██ ▒██ ▒██ ▒██ ▒██ ▒██
▒███████ ▒██ ▒███████ ▒██ ▒███████ ▒██ ▒██
┌───────────────────────────────────────┐
▓███│ v1.40.3p Release Date 27 July 1993 │▓███
└───────────────────────────────────────┘
(C)opyright 1992, 1993 Cairo Research Labs, All Rights Reserved
─────────────────────────────────────────────────────────────────────────────
┌───────────────────────┐
▄│ Table of Contents │
█└───────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
1. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . .
Features/Brief Overview. . . . . . . . . . . . . . . . . .
What's New in This Release?. . . . . . . . . . . . . . . .
Words From the Authors . . . . . . . . . . . . . . . . . .
Licensing and Distribution . . . . . . . . . . . . . . . .
The Demo Version . . . . . . . . . . . . . . . . . . . . .
Benefits of Registering. . . . . . . . . . . . . . . . . .
Ordering BFE . . . . . . . . . . . . . . . . . . . . . . .
2. GETTING STARTED . . . . . . . . . . . . . . . . . . . . . .
System Requirements . . . . . . . . . . . . . . . . . . .
Installation . . . . . . . . . . . . . . . . . . . . . . .
Brief overview of BFE. . . . . . . . . . . . . . . . . . .
3. BFE/SETUP. . . . . . . . . . . . . . . . . . . . . . . . . .
What is BFE/Setup? . . . . . . . . . . . . . . . . . . . .
Navigational Controls. . . . . . . . . . . . . . . . . . .
The .CTL File Scheme . . . . . . . . . . . . . . . . . . .
Opening and creating .CTL files. . . . . . . . . . . . . .
Saving .CTL files. . . . . . . . . . . . . . . . . . . . .
Global Options . . . . . . . . . . . . . . . . . . . . . .
Path/Swapping Configuration . . . . . . . . . . . . . .
Dropfile Path . . . . . . . . . . . . . . . . . . . .
BFE System Dir. . . . . . . . . . . . . . . . . . . .
Logfile . . . . . . . . . . . . . . . . . . . . . . .
Welcome Screen. . . . . . . . . . . . . . . . . . . .
Swappaths . . . . . . . . . . . . . . . . . . . . . .
Swap with EMS?. . . . . . . . . . . . . . . . . . . .
External Editor . . . . . . . . . . . . . . . . . . .
Sysop Pager Options . . . . . . . . . . . . . . . . . .
Configuring paging hours. . . . . . . . . . . . . . .
Number of Beeps . . . . . . . . . . . . . . . . . . .
Custom Dropfile Editor. . . . . . . . . . . . . . . . .
File List/Chat Color Defaults . . . . . . . . . . . . .
BFE Menu Color Defaults . . . . . . . . . . . . . . . .
Miscellaneous Options . . . . . . . . . . . . . . . . .
Sysop Name. . . . . . . . . . . . . . . . . . . . . .
System Name . . . . . . . . . . . . . . . . . . . . .
Node# . . . . . . . . . . . . . . . . . . . . . . . .
Registration #. . . . . . . . . . . . . . . . . . . .
BFE/Personality . . . . . . . . . . . . . . . . . . .
Timelimit . . . . . . . . . . . . . . . . . . . . . .
Inactivity Timeout. . . . . . . . . . . . . . . . . .
Freezetime? . . . . . . . . . . . . . . . . . . . . .
Locked BPS. . . . . . . . . . . . . . . . . . . . . .
Fossil Port . . . . . . . . . . . . . . . . . . . . .
Scroller Delay. . . . . . . . . . . . . . . . . . . .
Hide Passwords in Menu Editor . . . . . . . . . . . .
Menu Editor. . . . . . . . . . . . . . . . . . . . . . . .
Menu Item Selector List . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . .
Hotkey. . . . . . . . . . . . . . . . . . . . . . . . .
Flavor. . . . . . . . . . . . . . . . . . . . . . . . .
Option Type . . . . . . . . . . . . . . . . . . . . . .
Errorlevel Exit (Lower DTR) . . . . . . . . . . . . .
Errorlevel Exit (DTR High). . . . . . . . . . . . . .
External Process. . . . . . . . . . . . . . . . . . .
Page Sysop. . . . . . . . . . . . . . . . . . . . . .
Toggle ANSI Graphics. . . . . . . . . . . . . . . . .
Shell to Operating System . . . . . . . . . . . . . .
Display a file (ASC/ANS/AVT). . . . . . . . . . . . .
Download a File . . . . . . . . . . . . . . . . . . .
Upload a File . . . . . . . . . . . . . . . . . . . .
Download from a List. . . . . . . . . . . . . . . . .
Jump to Another Menu. . . . . . . . . . . . . . . . .
Return from a Jump. . . . . . . . . . . . . . . . . .
Return to Main Menu . . . . . . . . . . . . . . . . .
Enter Message (*.MSG format). . . . . . . . . . . . .
Run a BFE Script Program. . . . . . . . . . . . . . .
Goodbye (Log Off!). . . . . . . . . . . . . . . . . .
Security. . . . . . . . . . . . . . . . . . . . . . . .
Portspeed . . . . . . . . . . . . . . . . . . . . . . .
Passparms . . . . . . . . . . . . . . . . . . . . . . .
Prompt. . . . . . . . . . . . . . . . . . . . . . . . .
Secondary Field . . . . . . . . . . . . . . . . . . . .
Process . . . . . . . . . . . . . . . . . . . . . . . .
Showafter . . . . . . . . . . . . . . . . . . . . . . .
Password. . . . . . . . . . . . . . . . . . . . . . . .
Color Override. . . . . . . . . . . . . . . . . . . . .
Create Dropfile . . . . . . . . . . . . . . . . . . . .
Menu Options . . . . . . . . . . . . . . . . . . . . . . .
Registration Message. . . . . . . . . . . . . . . . . .
Custom User Menu. . . . . . . . . . . . . . . . . . . .
Menu Color Overrides. . . . . . . . . . . . . . . . . .
Protocols. . . . . . . . . . . . . . . . . . . . . . . . .
Local Test . . . . . . . . . . . . . . . . . . . . . . . .
Message Bases. . . . . . . . . . . . . . . . . . . . . . .
Overview. . . . . . . . . . . . . . . . . . . . . . . .
Configuration message areas . . . . . . . . . . . . . .
Path/filename of area . . . . . . . . . . . . . . . .
Destination Address . . . . . . . . . . . . . . . . .
Originating Address . . . . . . . . . . . . . . . . .
Message Attributes. . . . . . . . . . . . . . . . . .
Default "TO" field. . . . . . . . . . . . . . . . . .
Default "FROM" field. . . . . . . . . . . . . . . . .
Default "SUBJECT" field . . . . . . . . . . . . . . .
Brief Description . . . . . . . . . . . . . . . . . .
3. BFE/SCRIPT . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction and Overview. . . . . . . . . . . . . . . . .
Script Syntax Rules and Coding Basics. . . . . . . . . . .
Command List . . . . . . . . . . . . . . . . . . . . . . .
centermsg(). . . . . . . . . . . . . . . . . . . . . . .
clearscreen(). . . . . . . . . . . . . . . . . . . . . .
displayfile(). . . . . . . . . . . . . . . . . . . . . .
downloadfile() . . . . . . . . . . . . . . . . . . . . .
error(). . . . . . . . . . . . . . . . . . . . . . . . .
errorlevellow(). . . . . . . . . . . . . . . . . . . . .
errorlevelhi() . . . . . . . . . . . . . . . . . . . . .
getkey() . . . . . . . . . . . . . . . . . . . . . . . .
getnum() . . . . . . . . . . . . . . . . . . . . . . . .
goodbye(). . . . . . . . . . . . . . . . . . . . . . . .
leavemsgdm() . . . . . . . . . . . . . . . . . . . . . .
makedorinfo(). . . . . . . . . . . . . . . . . . . . . .
menu() . . . . . . . . . . . . . . . . . . . . . . . . .
os_shell() . . . . . . . . . . . . . . . . . . . . . . .
page() . . . . . . . . . . . . . . . . . . . . . . . . .
print(). . . . . . . . . . . . . . . . . . . . . . . . .
putch(). . . . . . . . . . . . . . . . . . . . . . . . .
puts() . . . . . . . . . . . . . . . . . . . . . . . . .
putsnl() . . . . . . . . . . . . . . . . . . . . . . . .
runexternal(). . . . . . . . . . . . . . . . . . . . . .
setcolor() . . . . . . . . . . . . . . . . . . . . . . .
toggleansi() . . . . . . . . . . . . . . . . . . . . . .
uploadfile() . . . . . . . . . . . . . . . . . . . . . .
writelog() . . . . . . . . . . . . . . . . . . . . . . .
4. MANAGING YOUR BFE SYSTEM . . . . . . . . . . . . . . . . . .
Operator Notes and Special Features. . . . . . . . . . . .
GlobalAccess(tm) Commands. . . . . . . . . . . . . . . .
BFE Language File. . . . . . . . . . . . . . . . . . . .
Using BFE with BBS dropfiles . . . . . . . . . . . . . .
Custom Dropfiles . . . . . . . . . . . . . . . . . . . .
5. DOOR OPERATION . . . . . . . . . . . . . . . . . . . . . . .
BFE Command Line . . . . . . . . . . . . . . . . . . . . .
Sysop Keys . . . . . . . . . . . . . . . . . . . . . . . .
Multinode/Multiuser Operation. . . . . . . . . . . . . . .
Digiboard Compatibility. . . . . . . . . . . . . . . . . .
6. MISCELLANEOUS. . . . . . . . . . . . . . . . . . . . . . . .
Special Thanks . . . . . . . . . . . . . . . . . . . . . .
SPHINX! Echo . . . . . . . . . . . . . . . . . . . . . . .
Support Sites. . . . . . . . . . . . . . . . . . . . . . .
Upgrades and Information . . . . . . . . . . . . . . . . .
BFE Beta Site Information. . . . . . . . . . . . . . . . .
Program Dedication . . . . . . . . . . . . . . . . . . . .
─────────────────────────────────────────────────────────────────────────────
■ INTRODUCTION ■
────────────────────────────────────────────────────────────────────────────
In today's high-tech world, connectivity has become a major issue. Getting
from point A to point B sounds incredibly simple at times, but is often an
entirely different situation, especially when one wants to run multiple BBS
packages, different mail networks, provide subscriber info, etc. Enter BFE.
BFE is a BBS front-end system that was designed to provide sysops with a
fast, efficient method of "connecting" things at the front end of their
site.
┌───────────────────────────────┐
▄│ Features and Brief Overview │
█└───────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE was designed to be called from a front-end mailer, such as Frontdoor or
Binkleyterm. Instead of spawning directly to the BBS system, it presents
a menu to the user, which details his immediate options. These options can
range from offering multiple BBS systems, remote jobs, literally anything
you can think of! The BFE system can also be configured to be called
straight from your BBS software itself, in essence, running as a normal
door, using one of several popular BBS dropfile formats. Read onward....
BFE features include:
* Custom multi-level menus with item-level password protection
* Multinode/Multiuser Compatibility
* Intuitive menu-driven setup and customization facility
* Script system!
* DESQview and Microsoft Windows aware!
* Configurable for security concerns
* Complete carrier monitoring and timeout checking
* Use any of 11 standard dropfiles, or define custom ones
* Run as a normal door or as a frontend! Dropfile not required!
* Complete BBS carousel - run multiple BBS systems
* Complete support for ANSI/ASCII/AVATAR users (Auto ANSI detect!)
* File transfer system with support for external protocols
* Run remote jobs, such as batch files, programs, other doors, etc.
* Remote OS shells
* Built in chat/paging system with hourly/daily time restrictions
* *Total* configurability
┌────────────────────────────────┐
▄│ What's New in This Release? │
█└────────────────────────────────┘ o New * Change ! Fix
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
o The first generation of the BFE/Setup program has been completed!
No more text based .CTL files to meddle with! BFE/Setup is an
intuitive menu-driven setup and customization facility.
o The first generation of the BFE/Script system has been completed.
Scripts can be be configured to run from any BFE menu option via
a new menu type "S". Access to most of the internal BFE commands
are available, as well as a few other goodies. This will be
expanded further in the future.
o The first generation of the BFE/Edit system has been completed.
Through the use of BFE/Edit, users can now make use of Fidonet
style message areas, before they ever reach your BBS.
o The documentation has been totally rewritten, and now covers the
new BFE/Setup and BFE/Script systems as well.
o GlobalAccess(tm) :-) Commands! Global commands available from
any menu in BFE! (yawn...)
o All passwords are now hidden from the display when being entered.
o BFE can now generate a DORINFO?.DEF dropfile after any menu item
selected. More dropfile types will be added in the future.
(Thanks to Chris Koziol).
o New additions to the language file:
PROMPT - Configure a custom BFE selection prompt
DEFUSERNAME - Default User Name if unknown to BFE
DEFUSERLOC - Default User Location if unknown to BFE
o The type "E" (Errorlevel exit) has been split into two types, one
which maintains DTR, and one which lowers DTR and hangs up on the
user. (Thanks to Ted Molavi).
* The PROCESS, PROMPT, and SECONDARY fields have had an attitude
adjustment! New features include macros and a better implementation
of passing user input to external processes.
* After a user downloads a file from a list of files, BFE now
returns him to the list of files, as opposed to returning him to
the calling menu.
* BFE now makes the determination between the TimeLimit setting, and
the time to next event setting to determine the user's remaining
total time online (if no dropfile is specified).
* BFE is now Microsoft Windows aware!
* BFE's internal communication routines have been optimized and now
function with greater efficiency.
* No more text-based registration keys. This process is now handled
by BFE/Setup.
! The USERMENU keyword was disfunctional at times under certain
situations. Squashed! (Thanks to Tommy Harvey).
! More problems with 38.4 callers. This has been fixed once and
for all. Sheesh... :-)
┌───────────────────────────┐
▄│ Word From The Authors │
█└───────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The 1.40 release of BFE marks a new beginning for sysops worldwide. No
longer do you have to settle for inferior front end systems for your sites.
Quite a bit of time has spent between releases on making BFE as intuitive
as possible, while simultaneously adding several major enhancements. BFE
is superior in every way to similar products, and in some ways, revolutionary.
To date, BFE has enjoyed a tremendous success rate, due in part to the
undying loyalty of an exhausted beta team, I might add! Recently, however,
a few shareware authors of similar products have apparently been spreading
false information about the BFE system, making rather unsubstantial claims
as to its functionality. Personally, I feel this is rather uncouth and
is certainly unnecessary, as BFE's power and flexbility speak for itself.
BFE, by far, excels in the areas of flexibility, processing speed, and
ease of use. See for yourself.
Some of you have really put BFE to the test, and I must say that I am glad
to see that it passed with flying colors. Here are just a few comments on
BFE as reported by users and beta testers:
- "During certain hours, my BFE.CTL file gets swapped out with another one,
providing various options based upon the time of the day!"
- "Now we can provide online registration information ... up front!"
- "A tremendous frontend support system for our shareware products!"
- "...provides our users with pertinent file transfers and information,
without forcing them to log on to the BBS first. In and out!"
- "...splendid way of letting my users choose between RIP, NAPLPS, and
normal BBS operation, all before they log on!"
- "Unstoppable. Unbeatable. Top notch shareware!"
BFE was originally designed in-house, for use on our support BBS, Under the
Nile, at 1:3613/12. However, after getting begged by many of our users to
offer a shareware version, I set out on the task. Our mission was to create
a flexible, simple-to-use, inexpensive BBS front-end. See for yourself!
We hate crippleware! Down with crippleware authors! Shame on them! BFE has
never, is not, and never will be crippleware. Hrmpf!
We are in the process of revamping the BFE beta/support site directory.
Please contact us via netmail if you are interested in becoming a BFE Support
Site. (Two per country, please, first come first serve).
┌────────────────────────────────┐
▄│ Licensing and Distribution │
█└────────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This documentation, programs, and other files distributed in this software
package (the "Software") are the copyrighted property of Scott Burkett and
Cairo Research Labs. All rights are reserved.
For use by corporations, institutions or goverment agencies, or for-profit
purposes, contact the Author for licensing information.
U.S. GOVERNMENT INFORMATION
The use, duplication, or disclosure by the U.S. Government of the Software
is subject to the restricted rights applicable to commercial software that
are specified in the subdivision (b.3.ii) of the 'Rights in Technical Data
and Computer Software' clause, document DFARS 52.227-7013.
DISTRIBUTION/USAGE
BFE can be freely distributed, provided that the original archive
is not changed in any way (other than changing the archive type) and no
amount of money is required. In no circumstance at all can BFE be
modified without written consent from the authors. It is prohibited too
to include this program, whole or in part, in other software. It is
expressly forbidden to distribute a registered key to unregistered users.
BFE can be used in commercial organizations only after regular
registration.
This license is considered accepted if the program is used. Its violation
will involve the withdrawal of the registration key and the rights to use
the program.
WARRANTY DISCLAIMER
The Author cannot and does not warrant that any functions contained in the
Software will meet your requirements, or that its operations will be error
free. The entire risk as to the Software performance or quality, or both,
is solely with the user and not the Author. You assume responsibility for
the selection of the program to achieve your intended results, and for the
installation, use, and results obtained from the Software.
The Author makes no warranty, either implied or expressed, including with-
out limitation any warranty with respect to this Software documented here,
its quality, performance, or fitness for a particular purpose. In no event
shall the Author be liable to you for damages, whether direct or indirect,
incidental, special, or consequential arising out the use of or any defect
in the Software, even if the Author has been advised of the possibility of
such damages, or for any claim by any other party.
All other warranties of any kind, either express or implied, including but
not limited to the implied warranties of merchantability and fitness for a
particular purpose, are expressly excluded.
LIMITATION OF REMEDIES
The information contained in the documentation for the Software is subject
to change without notice.
The Author's entire liability, and your exclusive remedy shall be: (1) the
replacement of an original Software diskette not meeting the above Limited
Warranty and which is returned to the Author along with proof of purchase,
or (2), if the Author is unable to deliver a replacement diskette which is
free of defects, you may terminate the License Agreement by returning this
Software and the corresponding license fee will be returned.
By using the Software, you acknowledge (1) to have read and understood all
parts of this document and (2) to have agreed with and accepted all of its
provisions without any reservation.
Scott Burkett
Cairo Research Labs
┌─────────────────────────────┐
▄│ The Demo Version of BFE │
█└─────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This shareware demonstration version of BFE is as fully functional as its
registered counterpart, with a few minor differences.
- The unregistered evaluation message at the top of the screen: Upon
registration, this will be replaced by your name or your organization's
name, showing your support for the BFE project.
- Registered users have the option of changing both the text and the color
of the default registration message which appears at the top of each menu.
- Registered users can make use of custom ASCII/ANSI/AVATAR screens in lieu
of the built-in default BFE menus.
- Registered users have the additional ability to customize the internal
strings used in the program (See the section on the BFE Language File).
┌──────────────────────────────┐
▄│ Benefits of Registration │
█└──────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Benefits of registering BFE:
o Extended Tech Support via the SPHINX echo (our support echo).
o Access to beta copies of BFE, as they become available.
o You will also be entitled to free upgrades to newer versions of
BFE, as they become available. In addition to the great
many features and the quality that this version of BFE has
to offer, we are currently working on several additions and
enhancements for future versions.
┌─────────────────────┐
▄│ Ordering BFE │
█└─────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Below are detailed instructions for registering BFE. These
instructions are not intended to seem confusing or complicated; they are
simply meant to answer almost any question that you might have about
registering. If you have any questions or uncertainties about your
registration, please feel free to contact us. For information on how to
contact us, please see the section on "Upgrades and Information".
To order BFE, simply follow these three steps:
1.) Fill out the registration form. Information on filling out
the form is located in the next section.
2.) Enclose the appropriate payment ($10), Ten American Dollars,
payable in the form of cash, check or money order. Make all checks
or money orders payable to: SCOTT BURKETT
3.) Send the above two items to:
Cairo Research Labs
1113 29th Street
Columbus, GA 31904
FILLING OUT THE REGISTRATION FORM
--------------------------------------------------------------------------------
NO PRINTER? Alternatively, if you do not have a printer, simply send a
hand-drawn version of the order form. If you do not wish to
mail a registration form in, you may opt to upload it to our
support BBS at (706) 596-8126 (14.4/v.32). We will not present
you with a registration key, however, until proper payment
has been rendered.
If you have any special instructions for us, or anything that
you would like to say when you register, feel free to write
this down on the back of the registration form, or on a
separate piece of paper.
When filling out the BFE registration form, be sure to
indicate how you would prefer to receive your BFE
registration key. You will have the choice of receiving your
registration key by one of three means: A call to our BBS,
FidoNet CrashMail, or by a call to your BBS. If you have a
FidoNet Email address, FidoNet CrashMail is still by far the
quickest way to receive your order. Once you have decided
which means you would prefer to receive your order by, please
read the detailed instructions on your order method below.
Please keep in mind that snail mail is not an option! If you
send us your registration fee, and instruct us to send it to
you via U.S. snail mail, we will simply place your key here
on hold until you call our support BBS.
--------------------------------------------------------------------------------
RECEIVING In order to receive your BFE registration key by a
BY CALL message and/or upload to your BBS, fill out the order form and
TO BBS mail it along with your payment as described below. Be sure to
include the phone number, baud rate, and our login and
password for the BBS to which you would like us to call. We
will cover any long distance costs. If, for some reason, we
are unable to connect to your BBS (not because its busy, but,
for example, if your BBS is no longer online, or we are unable
to connect succesfully), we will place your key in a message
on our support BBS in the private E-Mail conference.
--------------------------------------------------------------------------------
RECEIVING In order to receive your BFE registration key via
ORDER BY network crashmail, simply fill out the order form and mail it
FIDONET OR along with your payment as described below. Be sure to
DOORNET include the FidoNet or DoorNet node address to which you wish
CRASHMAIL to have your order sent.
────────────────────────────────────────────────────────────────────────────
■ GETTING STARTED ■
────────────────────────────────────────────────────────────────────────────
┌────────────────────────┐
▄│ System Requirements │
█└────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE was designed for use with IBM compatible personal computer systems,
with 640K minimum RAM, however, it will run in much less. It will run under
most popular BBS packages, to include RemoteAccess, Maximus, SuperBBS,
QuickBBS, GAP, PCBoard, WildCat!, WWIV, and others. Facilities are also in
place to provide complete dropfile customization, which provides maximum
compatibility with nearly all DOS-based BBS software packages.
BFE also requires the use of a fossil driver, such as Ray Gwinn's X00, or
David Nugent's BNU. These programs can be found on most BBS systems, since
they are necessary in running most BBS packages and doors to begin with. If
your BBS does not utilize a fossil driver, you can always enable it for BFE,
and then disable it after BFE exits.
If you would like to allow users to download certain files from BFE, free of
BBS ratios, then you will also need copies of whatever external protocols you
wish to run (i.e. DSZ, MPT, J-Modem, etc).
┌─────────────────┐
▄│ Installation │
█└─────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
First things first:
Create a directory to hold the BFE system. We recommend using something
like C:\BFE or C:\FD\BFE, etc. Next, copy the BFE140.EXE file into the
directory and type "BFE140" at the DOS prompt. The archive is self
extracting and will come apart without much effort.
** Note: Your source for obtaining the BFE archive may have changed
the format of the archive to one suitable for use on their system (i.e. ZIP,
LZH, ARJ, etc). Consult your compression package documentation for more
information on using it.
┌──────────────────┐
▄│ Brief Overview │
█└──────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Congratulations! You have now installed the world's *premier* BBS front
end system on your computer. Imagine what the neighbors must think by now!
Although the installation procedure is very straightforward, configuring
BFE can be a bit more challenging, but certainly very rewarding in the end.
In earlier releases of BFE, all of the options and functionality of the
package was configured via the manual editing of numerous control and
configuration files. This was often very tedious work for the aspiring
sysop, and many begged for something easier. Once again, we have listened
to our users and have provided an easy-to-use, menu-driven setup facility
entitled BFE/Setup. Through the use of this revolutionary new setup system,
sysops can now configure and customize their BFE system with little or no
effort at all.
By now, most of you are probably asking yourselves, "What can BFE do for
me?. I run a simple, one-line BBS system, and I have no need for a full
blown BBS carousel setup!". What?! Sure you do! Through the use of BFE,
you can provide pertinent information and file downloads up front, *before*
your new users have chance to get lost in your BBS!
BFE is also prevalant at large sites, running multi-line BBS setups. With
BFE, your callers can perform online registrations, receive subscriber
information and downloads up front, without wasting precious BBS time. If
your site participates in more than one electronic mail network, running
on multiple BBS systems, BFE can present this information to your callers,
and allow them to make accurate, informed decisions, to better enable them
to reach the services you offer.
To sum it up, BFE can do just about anything you can imagine. From BFE, you
run DOS tasks, call multiple BBS systems, or even other doors! Read on!
────────────────────────────────────────────────────────────────────────────
■ BFE/SETUP ■
────────────────────────────────────────────────────────────────────────────
┌──────────────────────┐
▄│ What is BFE/Setup? │
█└──────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
As mentioned earlier in this document, BFE/Setup was designed to provide an
intuitive, easy-to-use method of configuring and customizing BFE to suit
your needs. A lot of time has been spent on ensuring that BFE/Setup provides
you with the tools necessary to allow you to maximize your use of the BFE
package.
┌─────────────────────────┐
▄│ Navigational Controls │
█└─────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE/Setup will automatically make use of a mouse if one is detected. By
default, it runs in standard 16 color mode, but can be forced into monochrome
mode by passing a "-m" on the command line (i.e. BFESETUP -m).
To start BFE/Setup, simply type BFESETUP while in the BFE directory.
Left mouse button used as "select" button, while right mouse button is used
as the "esc" button.
┌────────────────────────┐
▄│ The .CTL File Scheme │
█└────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Before you begin your first session with BFE/Setup, a brief overview on the
.CTL file scheme utilized by BFE is in order. The contents of each of the
menus you will create with BFE/Setup are stored in a CONTROL file (files with
a .CTL extension). When BFE is started, you will pass the name of your
"main" .CTL file on the command line. This is the menu that BFE will first
prompt your users with. From there, however, based on user selections, you
can jump to other menus (up to 10 levels of nesting).
That's it! No voodoo involved in this concept at all. In fact, this is not
a new concept, as this is the way that most BBS systems function anyway!
┌───────────────────────────────────┐
▄│ Opening and Creating .CTL files │
█└───────────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
To create new .CTL files or open existing ones for maintenance, simply
select "Open .CTL File" from the main menu. A popup box will soon appear,
prompting you for the type of .CTL to open (i.e. new or existing).
If you choose to create a new .CTL file, you will then be prompted for the
name of the control file. You need not enter an extension, as .CTL will be
appended to the name you enter. We recommend you name your .CTL files in
some sensible manner, perhaps using the name MAIN as your first menu.
If you choose to open an existing .CTL file, a file selector box will appear,
and you may then traverse the directory structure of your system in order to
find the appropriate .CTL file to open.
After providing a new .CTL file name, or choosing an existing one, the name
of this file will appear at the top of the main menu window, to help you
keep track of which file is in memory at any given time.
┌─────────────────────┐
▄│ Saving .CTL Files │
█└─────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
After making any changes to your .CTL files, you will need to select this
option to save them permanently. Simply select this option, and your menu
will be updated for you in the blink of an eye!
┌─────────────────┐
▄│ Global Options │
█└─────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Your first stop in BFE/Setup should be here, as this is where you will
configure BFE with all of its internal default options. All global options
are stored in a file called GLOBALS.CFG. After selecting this option from
the main menu, you will be presented with the Global Options Menu:
Path/Swapping Configuration
DROPFILE PATH
- This field, when filled in, enables BFE's internal BBS dropfile routines.
If you are running BFE as a front-end from a mailer such as FrontDoor or
BinkleyTerm, you should leave this field blank! Only fill this field in
when you wish BFE to operate by reading a BBS dropfile (DORINFO1.DEF,
DOOR.SYS, etc).
BFE SYSTEM DIR
- This should point to your BFE directory. Plain and simple.
LOGFILE
- If this field is filled in, BFE will maintain a log of events in the path
and filename specified by its contents. To disable BFE's internal logging,
simply leave this field blank. The logfile is in the same format used by
Joho's FrontDoor Netmailer.
WELCOME SCREEN
- BFE has the ability to display an ANSI, ASCII, or AVATAR screen to your
users upon startup. Simply specify the path and filename of this file.
BFE has a few unique features when displaying external files to your
users! See the section on the DISPLAY FILE type for more information.
SWAP PATH
- BFE has the ability to make use of memory and disk swapping when calling
external processes. By default, BFE will attempt to swap itself to EMS,
but will resort to disk swapping should not enough memory be available.
This field should contain a list of valid swap paths, separated by commas
(i.e. C:\TEMP;D:\TEMP;E:\SWAP ).
SWAP WITH EMS?
- To prevent BFE from swapping to EMS, place a "Y" in this field!
EXTERNAL EDITOR
- Currently, two of the selections from BFE/Setup are configured through
the use of an external editor (the Custom Dropfile Editor and the BFE
Language Editor). These will eventually be permanent residents of
BFE/Setup, but for now, simply place the path and name of your favorite
external text editor.
Sysop Pager Options
One of the things that BFE allows your users to do is "page" the sysop for
a chat session. This menu selection allows you to specify the hours and
days that chatting is available.
CONFIGURING PAGING HOURS
- Once you enter this selection, you will be presented with a small entry
form which has two entries per day-of-the-week. Simply fill in the hours
in which paging will be available (in 24 hour military format). To disable
paging for a given day, enter 00:00 for the starting time, and 00:01 for
the stopping time.
NUMBER OF BEEPS
- Whenever the sysop is paged, BFE will present a series of beeps on the PC
speaker, to attempt to gain the attention of the sysop. This setting
controls the number of beeps that BFE will perform during a page attempt.
Custom Dropfile Editor
Custom door information file support. BFE automatically recognizes most
door information file (drop file) formats, including DORINFO?.DEF,
EXITINFO.BBS, DOOR.SYS, SFDOORS.DAT, CALLINFO.BBS and CHAIN.TXT. However, to
permit BFE to operate on BBS systems that produce a different format file,
you may define a custom door information file format. A custom door
information file format can be defined in a file called CUSTOM.BFE. When
BFE starts, this file is read in and a dynamic dropfile type is created and
looked for by BFE. BFE will enable dropfile mode if it finds a valid
custom dropfile.
The "CustomFileName" option specifies the filename used to distinguish this
file format from other file formats. This filename should not include a
path. To specify the path where the door information file is located, use
the BBSDir setting, near the beginning of this file. If the filename of the
custom format is the same as that of one of the built-in formats, the custom
format will override the built-in format.
The actual format of the custom file is specified using a number of lines
that begin with the keyword "CustomFileLine". Each of these lines will
correspond to a single line in the door information file, with the option
following the "CustomFileLine" keyword specifying the information that can
be found on that line. This can be one of the following keywords:
Ignore - Causes the next line in the door information
file to be ignored. Use on lines for which none
of the options below apply.
ComPort - COM? port the modem is connected to
(0 indicates local mode)
FossilPort - Fossil port number the modem is connected to
ModemBPS - BPS rate at which to communicate with modem
(0 or non-numerical value indicates local mode)
LocalMode - 1, T or Y if door is operating in local mode
UserName - Full name of the user
UserFirstName - First name(s) of the user
UserLastName - Last name of the user
Alias - The user's psuedonym / handle
HoursLeft - Hours user has left online
MinutesLeft - Minutes user has left online, or time left online
in format hh:mm
SecondsLeft - Seconds user has left online, or time left online
in format hh:mm:ss or format mm:ss
(If more than one of the above time options are
used, the user time left is taken to be the total
of all of these values.)
ANSI - 1, T, Y or G for ANSI graphics mode
AVATAR - 1, T or Y for AVATAR graphics mode
PagePausing - 1, T or Y if user wishes a pause at end of screen
ScreenLength - Number of lines on user's screen
ScreenClearing - 1, T or Y if screen clearing mode is on
Security - The user's security level / access level
City - City the user is calling from
Node - Node number user is connected to
SysopName - Full name of the sysop
SysopFirstName - The sysop's first name(s)
SysopLastName - The sysop's last name
SystemName - Name of the BBS
A sample CUSTOM.BFE is outlined below. This example designs a custom drop-
file template which emualtes the standard DORINFO?.DEF file.
CustomFileName EXAMPLE.DEF ; File name to look for!
CustomFileLine SystemName
CustomFileLine SysopFirstName
CustomFileLine SysopLastName
CustomFileLine ComPort
CustomFileLine ModemBPS
CustomFileLine Ignore
CustomFileLine UserFirstName
CustomFileLine UserLastName
CustomFileLine City
CustomFileLine ANSI
CustomFileLine Security
CustomFileLine MinutesLeft
File List/Chat Color Defaults
Select this option to setup the default color scheme to be used when in a
chat session with a user. There are also options to configure the various
colors used to display a BFE style FILES.BBS file listing.
BFE Menu Color Defaults
If using the built-in BFE menu style, you may want to change the default
color scheme used to display the menus. Unless a specific override has been
enabled in either MENU OPTIONS or a COLOR OVERRIDE on a particular menu
option, the colors defined here will be used to display all menus. It is
suggested to go ahead and set these colors to the colors which will be used
in most of your menus. This makes maintenance a bit easier!
Miscellaneous Options
SYSOP NAME
- The contents of this field should match *exactly* with the name that you
have/are planning to register BFE with! This field is case-sensitive!
SYSTEM NAME
- This field is purely an informational field, and should contain the name
of your BBS system or communications site.
NODE #
- Enter the node number of your BBS (i.e. 1, 2, 3), or leave blank if
running on a multinode BBS system.
REGISTRATION #
- Upon registering BFE, you will receive a key number which should be
entered into this field.
BFE/PERSONALITY
- There are several options available to the Sysop while the user is in the
BFE Door. These options and hotkeys differ from BBS "personality" to
"personality". BFE currently supports three BBS personalities (WildCat!,
RemoteAccess 2.0x, and the default style). For more information on the RA
and WildCat! hotkeys, consult the documentation which accompanied the BBS
software. The sysop keys for the default personality are outlined later
in this manual.
Valid values are (RA, WC, or DF).
TIMELIMIT
- This is the default BFE time limit given to all callers. If you are not
running BFE via a bbs dropfile, BFE has no way of knowing how much time
the user has online! Specify the amount in minutes.
INACTIVITY TIMEOUT
- This value specifies the amount (in seconds) that BFE will allow a user
to sit idle at the keyboard before hanging up.
FREEZETIME
- When BFE calls protocols and other external tasks, you can have the user's
remaining time temporarily "frozen", which means no time will be taken
away while in an external task of any kind.
LOCKED BPS
- If running with a locked serial port, specify the locked baud rate of your
system here.
FOSSIL PORT
- Enter the port number (0, 1, 2, etc) that your fossil driver is active on.
SCROLLER DELAY
- This setting is used to adjust the speed of the scrolling message at the
top of the BFE/Setup display area. Setting this to a value of 0 will
effectively disable the scroller.
HIDE PASSWORDS IN MENU EDITOR?
- If enabled ("Y"), BFE/Setup will "mask" all passwords as they are being
entered into the menu builder. This is great if you do not wish for
someone to look over your shoulder while you are entering the password!
┌───────────────┐
▄│ Menu Editor │
█└───────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE/Setup's menu editor provides an intuitive method of constructing your
BFE menus, allowing you to concentrate on the flexibility and functionality
of the front end setup, rather than the semantics of a cryptic text-based
configuration file.
Upon selecting this option, you will be presented with a list of the menu
items for the currently active menu (i.e. a .CTL file menu which has been
recently created or opened). Here is where the fun begins!
When the list of menu items appears, simply use the cursor keys (or the
mouse) to select a menu option to edit. All unused menu items will be
marked as so. Press ENTER or the LEFT mouse button to confirm your
selection.
You will then be presented with the menu option editor screen. From here,
you tailor this particular menu option for an active role in your front
end. After you have made your changes or additions, pressing ESC will
return you to the menu item selector list, and will automatically retain
your changes. These changes are *not* written to disk, however, until you
actually SAVE the .CTL file from the main menu!
DESCRIPTION
- Selecting this item will prompt you for a textual description which more
or less describes this option to your users. The contents of this field
will be presented to your users at show time. This field also serves
the role of "deleting" menu items, or making them temporarily inactive.
By removing the description, BFE will not activate this option for your
users.
Examples: Select me to enter Under the Nile BBS!
Download our master file listing
Receive subscriber information
HOTKEY
- The hotkey field is a simple, yet necessary one. The keystroke you enter
in this field will be displayed next to the textual description entered
above in the DESCRIPTION field. The "hotkey" field represents the keypress
needed to activate the option. You may use any character for this, however,
if you chose an alpha character (A through Z), it will use the uppercase
form of the character. In other words, if you put a lowercase letter in as
a hotkey, BFE/Setup will convert it to uppercase.
FLAVOR
- BFE currently supports two option "flavors": NORMAL and HIDDEN. All items
marked as NORMAL will be displayed to your users. Any items which are
labeled as HIDDEN will remain active, but will not be displayed to your
users. This field serves no special purpose if you are using custom
user-defined menus!
OPTION TYPE
- This is perhaps the most critical part of configuring your new BFE system.
Each menu option must have a valid TYPE. This type determines the action
that BFE will take if and when a user selects this menu option from the
menu. This action can range from something as simple as exiting on an
errorlevel to the calling batch files, to more complex actions, such as
remote shells to your operating system!
Keep in mind that the contents of this field determine the meaning and
use of other fields on the menu option editor screen. These relationships
are described in the type definition listing below.
The following is a breakdown of the available menu types in BFE:
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: E
DESC: Errorlevel Exit (Lower DTR)
SECONDARY CONTAINS: Valid numeric DOS errorlevel (5-255)
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Specifying an "E" as the type will cause BFE to exit back to the calling
batch file with an errorlevel. This is perhaps one of the more powerful
types, as it provides virtually unlimited possibilities. Simply place the
errorlevel you wish to exit with in the SECONDARY FIELD. As an example,
you could call one BBS with an errorlevel of 100, and another one with an
errorlevel of 101, etc. Basically, as long as you trap the errorlevel
in your calling batch file, you could do practically anything!
This menu type will lower the DTR of the modem, and hang up on the current
user.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: 2
DESC: Errorlevel Exit
SECONDARY CONTAINS: Valid numeric DOS errorlevel (0-255)
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This menu type is similar to the menu type "E" above, with one exception:
The DTR of the modem will remain high. This comes in handy when running
BFE as a normal door, allowing the user to exit BFE, but return to your
BBS or host software.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: R
DESC: Run an External Process
SECONDARY CONTAINS: Path/filename of external program or batch file
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Specifying an "R" as the type will cause BFE to execute (run) an external
process. This is also an incredibly powerful option, in very much the same
way as the "E" type. The benefit of using "R" over "E" is simple: You
don't have to fiddle with the calling batch file and trapping the
errorlevels. In addition, if the PASSPARMS (described later) option is
enabled, BFE will pass the communication parameters on the command line for
you. This feature is unavailable in an "E" type errorlevel exit! BFE will
attempt to swap itself out to memory or disk first, to ensure that you have
as much memory as possible to call your task. If you wish to run a program
that requires command line parameters or switches, you can do this in one
of two ways. You can place all of the switches in a batch file, and have
BFE call the batch file, or you can make use of the PROCESS field, and its
macros. Your call!
Simply place the name of the external process in the SECONDARY FIELD. You
may specify the full path, or just the filename if it resides in your path
or the BFE directory.
** NOTES: I cannot stop expressing the sheer power of this type! You can
use this to call bulletin doors, message entry doors, Doorway, etc. BFE
works especially well with RegPRO, our full screen online entry form
system! :-) It is possible to call a program such as Marshall Dudley's
Doorway(tm). In fact, this has been tested and confirmed by several BFE
corporate beta sites. Since BFE passes the port and baud rate to any
external processes, it is a cinch.
If you experience problems running certain programs via this option, your
command line parameters may not be coming across as you think they are. We
have included a small program called CMDLINE.EXE, which allows you to "test"
your command lines from BFE. Simply run this program instead of the program
in question, and the command line parameters passed to the program will be
displayed on your screen.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: P
DESC: Page Sysop
SECONDARY CONTAINS: N/A
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
When the user selects a menu option which has been labeled as a type "P",
BFE initiates the sequence of events leading to a chat session with the
sysop or current operator. BFE first checks the paging hours as configured
in BFE/Setup (Global Options), and if valid, will prompt the user for a
"reason to chat". If the user simply hits ENTER, then the page attempt
is aborted. If the user enters a reason, BFE will begin to page the
sysop. You can break in to chat by pressing CTRL-C at any time.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: A
DESC: Toggle ANSI Graphics
SECONDARY CONTAINS: N/A
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This menu type merely allows the current user to switch BFE in and out
of ANSI graphics mode.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: O
DESC: Shell to Operating System
SECONDARY CONTAINS: N/A
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
For those of you wish to drop to DOS from remote, this is the one! Simply
place an O as the type. BFE will make use of the COMSPEC enviroment
variable to locate your command processor (COMMAND.COM, 4DOS.COM, etc). To
return to BFE, simply type exit at your command prompt.
One note is in order here. You may run any program you desire from remote,
once you are in the OS shell. However, keep in mind that unless the
program supports DOS routing, then you will not see any output on your
screen. Most command line utilities will work just fine, as well as the
internal DOS commands, however, things like Windows, PC-Tools, etc will not
function properly, and will more than likely lock your system. If you
enable your fossil watchdog, you should be fine in the event you get hung
up. Check your fossil documentation for more information on the watchdog
services.
With the inherent power that arrives by shelling to your OS from remote,
you should always password protect this option!
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: D
DESC: Display a File (ANSI/ASCII/AVATAR)
SECONDARY CONTAINS: Path/filename of file (extension optional)
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This nifty type will allow you to display an ANSI, ASCII, or AVATAR file to
the user. To use this option, simply place the filename of the file to be
displayed in the SECONDARY FIELD. If you do not specify an extension, then
BFE will look for the filename which corresponds to the user's graphic
settings. When BFE first comes up, it performs an Automatic ANSI detection
loop. It makes an attempt to determine whether or not the user is calling
from an ANSI-ready terminal. If so, then BFE will display FILENAME.ANS or
filename.AVT (ANSI or AVATAR, depending on his settings). If not then
FILENAME.ASC will be used. You may also specify the extension, if you only
want one file to be used, such as RELEASES.TXT. You may specify a full
path, or just the filename if the file is in the BFE directory.
BFE will automatically engage "more prompting" when displaying screens that
are over 1 screen in length.
** NOTE: BFE "interprets" the file as it is being displayed to the COM port.
It is capable of interpretting embedded system codes used by RemoteAccess.
For more information on these codes, please refer to your RA documentation.
More embedded code schemes, such as WildCat! and PCBoard will be added in
future releases.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: F
DESC: Download a File
SECONDARY CONTAINS: Path/filename of file to be downloaded
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This type will allow the user to download a file (ratio free) from BFE,
without having to log onto your BBS first. This is particularly handy,
especially if you are a shareware author, as you can offer the latest
versions of your products up front. Trust me when I say that your long
distance users will admire you for this! Simply place the filename to be
downloaded in the SECONDARY FIELD. You may specify a full path, or just
the filename if the file is in the BFE directory.
When the user selects this option, BFE will present a list of available
protocols (configured via the PROTOCOL EDITOR in BFE/Setup).
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: U
DESC: Upload a File
SECONDARY CONTAINS: N/A
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This menu type is very similar to the type "F" above, only it allows your
users to upload files to your system rather than downloading them. In
addition, if the protocol in which the user has selected has been setup to
"Prompt for Filename", then BFE will prompt for this information, and
pass it to the protocol dispatcher (once again, configured in the PROTOCOL
EDITOR in BFE/Setup).
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: M
DESC: Download file from a list
SECONDARY CONTAINS: Path of FILES.BBS to use for listing
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This type is very similar to the "F" type, with one exception. Instead of
downloading a specific file, the user will be presented with a list of the
available files, from which he/she may choose the file to be downloaded.
In order to use this type, a "files list" must be created, and the full
path to the list must be placed in the SECONDARY FIELD.
This list should be in the following format:
---------------------------[ CUT HERE! ]---------------------------------
Cairo Research Labs Free File List
D:\CAIRO\AVLAB100.ZIP AVLab v1.0 - Antiviral Researcher's Toolkit!
D:\CAIRO\RCS10A.LZH Robot Construction Set v1.0a - For Fidonet Areas
D:\CAIRO\RP_260.LZH RegPRO v2.60 - World's Premier Questionnaire Door!
D:\CAIRO\TBM_250.LZH Turbo Bulletin Manager Door v2.50
D:\CAIRO\TBWIN111.LZH TBWin v1.11 - Windows Interface for TBAV utils
D:\CAIRO\TFA100B.LZH Turbo File Announcer 1.0ß - Maximus File Announcer
D:\CAIRO\VK_300A.LZH VKill v3.00A - Upload Tester for Maximus CBCS
D:\CAIRO\VID201.ZIP VID v1.10 - Virus Information Door - For most BBSs
D:\CAIRO\VP0793.ZIP Updated VID Virus Database - as of March 1993
D:\CAIRO\WINVID10.LZH WinVID v1.0 - Windows Virus Database!
D:\BETA\RP_300B.LZH Beta version of the upcoming RegPRO 3.0 release!
---------------------------[ CUT HERE! ]---------------------------------
As you can see, this is a modified version of the standard FILES.BBS, with
the only difference being that the full path to each file needs to be
present. This provides a nifty way of pulling files from all over your
system to a single file download menu. In this way, you need not use any
of the FILES.BBS files that your BBS uses, you can create a custom one and
place it in another directory, such as the BFE directory.
All that is needed in the secondary field is the PATH to the FILES.BBS, not
the entire path/filename. The name FILES.BBS is assumed.
Once again, the user will be presented with a list of available protocols
which are defined in the PROTOCOL EDITOR.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: J
DESC: Jump to another menu (.CTL file)
SECONDARY CONTAINS: Path and filename of new .CTL file
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Through the use of the "J" type, you can have BFE call a completely
different .CTL file! This is handy when you need to group several options
together:
For example:
Top Menu (MAIN.CTL)
- -
- -
Sysop Menu (SYS.CTL)<--- ----> Product Info (PROD.CTL)
Menus can be nested up to 10 levels. If you try to go beyond this, BFE
will simply post a warning message and re-display the current active menu.
Although we feel that 10 levels of menu nesting is quite adequate for a
BBS front end, this will more than likely become limited only by available
memory in the future.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: X
DESC: Return from a jump
SECONDARY CONTAINS: N/A
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Use this option to provide a method of returning from a subordinate .CTL
file menu back to the .CTL file menu that called it.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: T
DESC: Return to main menu
SECONDARY CONTAINS: N/A
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This menu type simply provides a hook from returning to the original .CTL
file menu (i.e. the one that BFE started with initially), from any level
of nesting. A short cut, if you will.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: S
DESC: Run a BFE Script Program
SECONDARY CONTAINS: Path and filename of script to execute
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
BFE has an internal script processor called BFE/Script. You can create
scripts to do just about anything! An overview of the BFE/Script system
appears later in this manual.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: L
DESC: Enter a Message (*.MSG format)
SECONDARY CONTAINS: Number of message area to use
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
BFE contains an internal line editor called BFE/Edit. You may configure
any of your menu options to have the user enter a message through the use
of the internal editor. The secondary field should contain the "number"
of the message area to use. This number corresponds directly to the list
of message areas which appears by selecting MESSAGE BASES from the main
menu of BFE/Setup.
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
TYPE: G
DESC: Goodbye (Log off)
SECONDARY CONTAINS: N/A
-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This type is fairly straightforward! It hangs up on the user, and returns
an errorlevel of 255 to the calling batch file.
SECURITY
- If a certain security level is needed to access a particular menu item,
specify this level here. Please note that this option is *only* available
when running BFE with a dropfile, not as a front end, since we have no idea
who is actually online in a front end environment.
PORTSPEED
- The PORTSPEED option was provided to allow Sysops who lock their serial
ports to pass either the TRUE port speed (i.e. 9600), or the LOCKED speed
(i.e 38400). This comes in handy when combined with download types or when
calling another BBS door from a BFE menu option.
* NOTE: Be sure to check the additional serial port locking options that
appear in the global options menu in BFE/Setup! These must be
set as well!
PASSPARMS
- This option will force BFE to pass pertinent communication information on
the command line in type "R" menu items. The parameters are passed in the
following order:
%1 = port (1-4) (0 if local)
%2 = speed (baud rate) (0 if local)
%3 = time to next event
%4 = node number (0 if not known)
PROMPT
- The PROMPT keyword will force BFE to stop and get input from the current
user, and will store the results of his data entry into the PROCESS field,
which is described next. This information is then passed on the command
line in type "R" menu options. Using this option will override anything
that you have entered into the PROCESS field!
SECONDARY FIELD
- The SECONDARY field is used as a catch-all field in BFE. Its contents and
internal use are based solely on the menu type. It can contain anything
from a simple errorlevel (for type "E" items), to a filename to be down-
loaded in a download type (type "F"). The relevance of this field is
described above, for each menu type that uses it.
PROCESS
- The PROCESS field was designed to pass parameters to external tasks (other
than the default communication parameters toggled by PASSPARMS). This
field is used automatically by the PROMPT feature. The following macros
are available for use in this field:
%p = port (1-4) (0 if local)
%s = speed (baud rate) (0 if local)
%t = time to next event
%n = node number
SHOWAFTER
- This field is used to display an ANSI/ASCII/AVATAR screen to your users
AFTER they select the menu item, but BEFORE the task is carried out. See
the description of the type "D" option for more information on how BFE
handles the display of external files.
PASSWORD
- Any menu item in BFE can be password protected! Simply place the desired
password in this field. When the user selects an option that has an
associated password, BFE will prompt him/her for the password. After 3
failed attempts, BFE hangs up on the user and returns control to the
calling batch file.
COLOR OVERRIDE
- When using BFE's internal menus (i.e. no custom user menus), the menus
will be displayed using the default menu color scheme configured under
the Global Options menu. Should you wish to override any or all of those
colors, simply select this item! A color picklist will appear, and will
allow you to select the appropriate color for the current menu item. While]
in the picklist, pressing PGUP/PGDN will toggle between the blinking colors
(flashing) and the constant colors.
CREATE DROPFILE
- This option, when enabled, will force BFE to create a bbs dropfile based
on the current user's settings. This dropfile will be created in the BFE
directory. This can be particularly handy when running other doors from
your BFE menus. Currently, the only dropfile supported here is the standard
DORINFO?.DEF format, although more will be added in the future.
┌────────────────┐
▄│ Menu Options │
█└────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Under the MENU OPTIONS selection, you are able to further tailor the current
menu to your liking.
REGISTRATION MESSAGE
- By default, BFE displays its own registration message at the top of the
screen (both local and remote). If BFE is unregistered, it will display
"** Unregistered Evaluation Copy **". Upon registering BFE, this will
be replaced by "Registered to: <your name>". However, registration of BFE
allows you to change this default registration message to whatever you like,
and since the message appears at the top of each menu, you could give a
different message for each menu, providing a title line.
- CUSTOM USER MENU
By default, BFE will make use of an internal menu scheme. This scheme is
very attractive to the eye and easy to follow. However, at some point, you
may wish to create "custom" user menus. These custom menu screens can be
created using your favorite editor or ANSI paint program. Simply place the
full path and filename in this field (path optional). If you do not specify
an extension to the file, BFE will insert the extension at runtime, based
on the user's graphic settings (i.e. ANSI/ASCII/AVATAR). See the section on
the type "D" menu option for more information on how BFE handles the
displaying of external files.
CUSTOM COLORS
- You may select custom colors for each "piece" of the default menu set.
These settings are initialized to the settings which were configured in the
GLOBAL OPTIONS menu, but can be overriden for each of your menus to provide
a custom look.
┌─────────────┐
▄│ Protocols │
█└─────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Here is where all external protocols are configured for use within BFE. This
is a very painless process, as you will soon find out! You may configure
up to 10 external protocols. There are three fields for each:
Menu Name - Textual description which will describe this protocol to
your users (i.e. ZModem, YModem, etc).
Batch Processor - The full path and filename of a batch file which will be
called when a user selects to transfer a file with this
protocol.
Prompt for File - Some protocols automatically recognize the filename being
uploaded (i.e. ZModem), others do not (XModem). If BFE
needs to ask the user for the filename, specify a "Y" in
this field.
BFE passes the following parameters to the configured batch file(s):
%1 - Node number
%2 - Port number (1-4)
%3 - Serial Speed
%4 - Filename (complete path, if specified in SEC.)
%5 - U = Upload D = Download
It is up to you to put these batch files together (although the DSZ sample
set should suffice for all but the most giving of sysops!). Also, since the
file transfer hook is provided in batch, this affords you the opportunity to
do additional processing, such as scanning uploads for viruses, or moving
uploads to another area on your system. Endless.
┌──────────────┐
▄│ Local Test │
█└──────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
From this option, you can test out your BFE configuration in local mode,
to test your menu sets. BFE looks for a batch file called BFELOCAL.BAT in
your BFE directory. It is up to you to place the necessary call to BFE
in this batch file. A sample BFELOCAL.BAT file has been included in the
distribution archive. The only thing you need to change (essentially) is
the name of the .CTL file to start with.
┌─────────────────┐
▄│ Message Bases │
█└─────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
OVERVIEW
- BFE has the ability to make use of Fidonet style *.MSG message areas. You
can configure up to 20 message areas by selecting the MESSAGE BASES option
from the BFE/Setup main menu. After selecting this option, you will be
presented with a picklist of the available areas. To configure an area,
simply select the area to edit by using the cursor keys (or mouse) and
pressing RETURN. This pulls up the Message Area Editor. There are a
number of options which need to be configured for each message area that
you wish to use with BFE.
PATH/FILENAME OF AREA
- Plain and simple. This merely points to the directory which should be
used to contain BFE generated messages. This can be a public netmail
area, or a private area, for use as a feedback forum.
Examples: C:\FD\PVTMAIL
C:\BINKLEY\NETMAIL
DESTINATION ADDRESS
- This is the fidonet style network address which represents the destination
of the message. To keep messages locally, simply enter your own address.
ORIGINATING ADDRESS
- This is the fidonet style network address which represents YOUR network
address.
MESSAGE ATTRIBUTES
- The following message attributes may be enabled:
- PRIVATE
- CRASH
- HOLD
- KILL/SENT
- FILE ATTACH
- FILE REQUEST
Additional message attributes may be added in the future. Simply answer
"Y" or "N" for each attribute. Any message that BFE generates for this
area will have the configured attributes.
DEFAULT "TO" FIELD
- To provide a default "to" field for the message, simply enter this here.
If you leave this field blank, BFE will prompt the user for a recipient's
name before he/she enters the message.
Examples: Sysop
areafix
Scott Burkett
DEFAULT "FROM" FIELD
- To provide a default "from" field for the message, simply enter this here.
If you leave this field blank, BFE will prompt the user for their name
before he/she enters the message.
Examples: Sysop
areafix
Scott Burkett
DEFAULT "SUBJECT" FIELD
- To provide a default subject field for the message, simply enter this here.
If you leave this field blank, BFE will prompt the user for a subject before
he/she enters the message.
Examples: Feedback
mypass -R -Q
BRIEF DESCRIPTION
- A brief description is required for each of your configured message areas.
This description is the same text used in the message area selector list.
Examples: Feedback to Sysop Area
Areafix Request Area
────────────────────────────────────────────────────────────────────────────
■ THE BFE/SCRIPT SYSTEM ■
────────────────────────────────────────────────────────────────────────────
┌─────────────────────────────┐
▄│ Introduction and Overview │
█└─────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE/Script is the name of the internal script processor in BFE. Through the
use of this system, users are able to "code" their own BFE scripts, and call
them from their BFE menus. Although the script language is somewhat
limited in this release, we have big plans for it in the future.
In appearance, BFE/Script code is remarkably similar to the C language,
although C is a much more powerful platform. In fact, the entire BFE
system was authored in C, while BFE/Script is but a user interface to the
BFE internals. If you are a C programmer, or have dabbled in C, then you
should have no problems at all with BFE/Script. Non-programmers should
be sure to read over this section in its entirety, and study the sample
scripts which are included in the BFE distribution archive.
Current features and constructs of BFE/Script include:
- Access to internal BFE functions such as sysop paging, etc.
- Parameterized functions with local variables
- Function Recursion
- Global variables
- Keywords: if, do-while, while, for, and return.
- Numeric and character variable types
- Operators: +, -, *, /, %, <, >, <=, >=, ==, !=, unary +/-
- Functions which return integers
- BFE/Script is completely case-insensitive (unlike C!)
More BFE/Script functions and procedures will be added in future releases.
Should you have any suggestions on possible additions to this unique feature
of BFE, please contact us!
┌─────────────────────────────────────────┐
▄│ Script Syntax Rules and Coding Basics │
█└─────────────────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
As I mentioned earlier, BFE/Script is very similar to C, at least in the
general appearance of its code. While this section is not meant to teach
C, many of the rules will apply to both C and BFE/Script.
All of your scripts should be edited with your favorite ASCII text editor,
such as Q-Edit, TED, DOS-Edit, etc.
Your BFE/Scripts are composed of functions, and calls to these functions.
Each of your functions must be completed enclosed in a "code-block". For
example:
printmessage()
{
putsnl("Welcome to my first BFE script!");
}
In the above example, the function "printmessage" is a user-defined function,
consisting of nothing more than a call to "putsnl" (put string with a CR/LF
pair). There are two very essential concepts about the above. The first
being the two curly braces which separate the function name, in this case,
putmessage(), and the actual function contents, the call to putsnl().
The second item of interest is the semi-colon following the call to putsnl().
This signifies the end of the current function call. Let's take a look at
another small example:
/* My first BFE Script! */
main() {
clearscreen();
printmessage();
}
printmessage()
{
putsnl("Welcome to my first BFE script!");
putsnl("Press any key to return to BFE!");
getkey();
}
In this example, we have expanded on our original printmessage() example.
In actuality, the original example we discussed is not complete! Each of
your BFE scripts *must* contain a function called "main". This function is
used as the starting point of the script.
In the above example, you will also notice the placement of the two curly
braces in the function main(), is a bit different from that of the function
printmessage(). Like C, BFE/Script is a free-format language, to an extent.
Spacing and line order doesn't matter. As long as the constructs are present.
In the above example, BFE/Script would start processing in the function
main(), with consists of nothing more than a call to printmessage(). When
printmessage() is executed, the two calls to putsnl() would display the
text to the user. The call to getkey() would simply wait for a keypress
from the user. At that point, control is returned to main(). Since main()
has no more processing left, BFE/Script in turn returns control back to BFE.
Let's take a look at the use of user-defined variables, as these will play
an important role in even the most primitive of scripts. Currently, BFE
supports two types of variables, character and numeric. Additional, more
advanced data types (such as floating point and string), will be introduced
in a later release of the package.
To define a user-defined variable, use the following construct:
<type> <identifier>
Here are a few examples:
int x,y,z;
The above example creates three (3) numeric variables (integers) called
x, y, and z. (Note the ability to separate variable definitions of the same
type with a comma! You cannot mix more than one type like this).
char key;
char a,b,c;
Similarly, the above examples generate character variables, called "key",
a, b, and c.
All variables (unlike C) are automatically initialized to zero. To set a
variable's value, simply use the "=" operator:
x = 10;
y=1;
key = 'A';
Variables declared inside of a function block are "local" to that function,
and are not available in any other function! These "local" variables are
also re-initialized on each call to the owning function. Similarly, any
variables declared outside of any function are declared as "global" variables
and are available anywhere in the script, in any function. Global variables
retain their values unless explicitly changed.
Easy, isn't it? Great! Now that we have variables under our belt, let's
discuss some of the conditional keywords which BFE/Script makes use of.
dumb_function() {
int x;
x = getnum();
if(x < 10) {
putsnl("Number is less than 10!");
}
if(x == 10) {
putsnl("Number is equal to 10!");
}
if(x > 10) {
putsnl("Number is greater than 10!");
}
}
In the above function, we declare a local variable called "x". We then
set this variable equal to the value returned by the getnum() function (the
getnum() function simply queries the user for a numeric value). We then
put the contents of "x" through a series of tests, using the "if" keyword.
Simple, eh?
dumb_function2() {
int x;
for(x=1; x<11; x=x+1) {
print(x);
}
}
The above example uses a "for" loop to display the numbers 1 through 10.
dumb_function3() {
int x;
x = 1;
while(x <= 10) {
print(x);
x = x + 1;
}
}
This example does the same thing, only instead of the "if" loop, we use a
"while" loop.
dumb_function4() {
int x;
do {
print(x);
} while(x <= 10);
}
In the above example, we use a modified version of the "while" loop, known
as the "do-while" loop. Simple, isn't it?
Ah, but what would code be without comments? BFE/Script implements the
C-style "slash-asterisk" comment.
/* This is my first script! */
Anything which falls in between the /* and the */ is ignored by BFE/Script
and treated as a comment. Comments may span several lines:
/* This is my first script!
Enjoy!
*/
or how about:
/* This is my first script!
Enjoy it! */
On a final note, all items contained in a BFE script are case-insensitive.
In other words GETKEY() is the same as getkey() or GeTkEy().
That's about all of the help I can provide at this point. As this feature
expands to new horizons as BFE progresses, the documentation on it will
inherently get better. Trust me! Feel free to post your scripts in the
SPHINX echo should you require assistance. Now, let's move on to the actual
function calls contained with the scripting system.
┌─────────────────────────────┐
▄│ Script Function Reference │
█└─────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
CENTERMSG();
Centers the passed text string on the current line.
Example: centermsg("Welcome to this script!");
CLEARSCREEN();
Clears the screen both remotely and locally.
Example: clearscreen();
DISPLAYFILE();
Displays an ANSI/ASCII/AVATAR file to the user. See the section on
the type "D" menu option for more details on how BFE displays external
files!
Examples: Displayfile("WELCOME");
Displayfile("WELCOME.TXT");
DOWNLOADFILE();
Initiates a download session for the passed file.
Examples: Downloadfile("MASTER.ZIP");
Downloadfile("C:\FILES\MASTER.ZIP");
ERROR();
Displays a BFE-style error message.
Example: Error("Your error message goes here!");
ERRORLEVELLOW();
Exits the current script and BFE with an errorlevel. DTR is lowered.
(Hangs up on user!)
Example: errorlevellow("100");
ERRORLEVELHI();
Exits the current script and BFE with an errorlevel. DTR is left
high. (Doesn't hang up on user!)
Example: errorlevelhi("100");
GETKEY();
Gets a keystroke from the keyboard and returns the value.
Example: char key;
key = getkey();
GETNUM();
Gets and returns a numeric value from the user.
Example: int x;
x = getnum();
GOODBYE();
Hangs up on the user and exits BFE with an errorlevel of 255.
Example: Goodbye();
LEAVEMSGSDM();
Places the user in BFE/Edit using the passed message area number.
The "SDM" portion of this command stands for "Star-dot-MSG", or
"*.MSG", which is the fidonet standard.
Examples: leavemsgsdm("1");
leavemsgsdm("8");
MAKEDORINFO();
Creates a DORINFO?.DEF file in the BFE directory.
Example: makedorinfo();
MENU();
Queries the user for a response. All valid keystrokes are passed as
a parameter. MENU() returns the first valid keystroke.
Example: char key;
putsnl("1 - Option 1");
putsnl("2 - Option 2");
putsnl("Q - Quit this script");
key = menu("12Qq");
OS_SHELL();
Performs a remote (or local) shell to the contents of COMPSEC.
Example: os_shell();
PAGE();
Initiates a page to the sysop. All hour restrictions are valid!
Example: page();
PRINT();
Used to display numeric values.
Example: int x;
x = getnum();
print(x);
PUTCH();
Puts a single character to the display.
Example: putch('*');
PUTS();
Puts a string to the display (no carriage return/linefeed!).
Example: puts("Testing!");
PUTSNL();
Puts a string to the display, and appends a carriage return/linefeed.
PUTSNL is short for "put string with a next/line.
Example: putsnl("Testing again!");
RUNEXTERNAL();
Runs an external process. All "process" macros (%p, %s, %t, %n)
are available.
Examples: runexternal("DOOR.EXE -p%p -s19200 -t%t -n%n");
runexternal("COMMAND.COM /C del dorinfo1.def");
SETCOLOR();
Sets the current text attribute. The following color codes format
table is used:
{Bright} {Flashing} [Foreground Color] on [Background Color]
Where foreground and background colors are one of:
Black
Blue
Green
Cyan
Red
Magenta
Yellow / Brown
White / Grey
Examples: setcolor("bright white on black");
setcolor("flashing bright yellow on blue");
TOGGLEANSI();
Toggles ANSI graphics on and off.
Example: toggleansi();
UPLOADFILE();
Initiates an upload from the user.
Example: Uploadfile();
WRITELOG();
Used for logging information from BFE/Script.
Example: writelog("This is a test!");
────────────────────────────────────────────────────────────────────────────
■ MANAGING YOUR BFE SYSTEM ■
────────────────────────────────────────────────────────────────────────────
┌───────────────────────────────────────┐
▄│ Operator Notes and Special Features │
█└───────────────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
GlobalAccess(tm) Commands:
There will be times when you will want to offer certains options from *all*
of your BFE menus (i.e. Sysop pager, goodbye, etc). Through the use of the
GlobalAccess(tm) system, this is now possible in BFE. To enable this
feature, simply create a new menu .CTL file called GLOBAL.CTL. Place all of
your global options in this menu and save it. When BFE is executed, this
file is read in automatically, and all of the options contained in it are
"appended" to the contents of your regular menus.
BFE Language File:
In order to further allow the user to customize the operation of BFE, an
external "language" file has been implemented. This file is a simple text
file, which contains a series of keywords and text fields.
Quite a bit of BFE's internal text messages can be customized! Upon startup,
BFE looks for a file called BFE.LNG (The BFE Language File). The format and
options of this file are as follows:
;-----------------------------------------------------------------------------
; Sample BFE Language Configuration
;
; CURRENT MACRO KEYS: ~ = Carriage Return/Linefeed
;
;-----------------------------------------------------------------------------
BEFORECHAT ~~Hello, this is Scott...~~
AFTERCHAT ~~Back to BFE you go!~~
BEFORESHELL ~~Please wait a moment...~~
AFTERSHELL ~~...Thanks for waiting!~~
CHATREASON Why would you like to chat? (Include your name!!)~~
CONTINUE Continue? [Y/n/=]
TIMEOUT User sleeping at keyboard, inactivity timeout...~~
NOTAVAIL ~I'm sorry, Scott isn't around right now!~
NORESPONSE No response.~~
OUTTATIME Sorry, you have used up your time for today...~~
OFFLINE [OFFLINE]
PAGINGMSG ~Screaming at Scott ... might take a second or two....
PRESSKEY Press [ENTER] to continue...
DEFUSERNAME Inbound user
DEFUSERLOC Unknown
;-----------------------------------------------------------------------------
The above examples should be self explanatory. Additional textual
customization features will be added to this .LNG file as the product grows.
Currently, this feature is only enabled in registered versions of BFE.
Using BFE with BBS Dropfiles
If BFE locates an enabled Dropfile path in your global options, it will
attempt to make use of a BBS dropfile, effectively ignoring any relevant
command line communication arguments. If you wish to run BFE as a normal
door from your BBS, you will need to specify a valid path for this option in
BFE/Setup. If you are running BFE as a front-end to your system (i.e.
called from a mailer), do *not* put a path in the dropfile directory field!
It appears that the BBS world simply cannot agree on a standard dropfile
format. For a while, it appeared as if the DORINFOx.DEF, or perhaps the
DOOR.SYS format would prevail. However, with the release of RemoteAccess
v2.0+, that myth has apparently been shattered, as the RA author decided to
introduce yet another dropfile format. We will continue to add and support
all of the popular dropfile formats, regardless of how hairy it gets... :-)
BFE by default does not look for a BBS dropfile, since it was originally
designed to be run as a frontend (i.e. *BEFORE* the user had actually logged
on to the BBS).
As of v1.22 of BFE, a "smart" method of dropfile detection has been employed.
BFE first looks in the current directory for the dropfile. If it is not
there, it looks in the DOS path. If the dropfile mode is enabled, and BFE
can not locate a dropfile, it will not run!
1.) First, if there was a custom door information file format
defined in the CUSTOM.BFE file, BFE will begin by looking
for this file. BFE searches for the custom information file
in the following order:
A.) The path defined by the BBS Directory option
B.) The directory which was the current default dir
at startup time
C.) If any of the following environment variables
exist, BFE will then search for the file
in the directories pointed to by these variables,
in the following order:
RA
QUICK
PCB
BBS
2.) If no custom door information file was found / defined,
BFE will then search for door information files
corresponding to one of the built in formats. It will search
for these files in the same directories, and same order, as
it does for the custom door information file (A - C). Within
each directory, it will search for files with the following
filenames:
CHAIN.TXT
SFDOORS.DAT
DOOR.SYS
CALLINFO.BBS
DORINFO1.DEF
DORINFOx.DEF, where x is the node number
As soon as it finds a directory containing one of these
filenames, BFE will stop it's door information file
search phase. It then begins to decide what to do with what
it has found. If more than one of the above filenames was
found in the directory in question, BFE will read the
file with the most recent date and time stamp. This is intended
to overcome abiguities that can arise when a door information
file conversion program is being used, and a number of
different door information files may still exist in the
directory. In such a case, it is assumed that the most recently
created file is the one that should be used. If more than one
file exist with an identical date and time, BFE will use
the file that is closer to the beginning of the above list. (ie
they are listed in their order of priority)
Once BFE has decided which file it is going to use, it
may have still more decision-making to do. In the case of
door information file names that correspond to more than one
format (such as DOOR.SYS), BFE will examine the file
to determine which format it actually is. If a DORINFO?.DEF
file is found, BFE will then also attempt a search for an
EXITINFO.BBS file. Again, if an EXITINFO.BBS file is found, BFE
must determine which of the many EXITINFO.BBS formats it is actually
dealing with.
This may all sound rather complicated, but it is a well thought-
out strategy that is intended to asure that the correct door
information file will be located and used in the vast majority
of cases. (and to think - it does all this in the blink of an
eye!)
As of v1.22, BFE recognizes the following dropfile formats:
DORINFOx.DEF (Standard DORINFOx.DEF Drop file (Default))
EXITINFO.BBS (RA v.01 - v.04)
EXITINFO.BBS (Extended (RA v1.0+))
EXITINFO.BBS (RemoteAccess 2.0+ style)
CHAIN.TXT (WWIV)
SFDOORS.DAT (SpitFire BBS)
CALLINFO.BBS (WildCat!)
DOOR.SYS (GAP/PC-Board)
DOOR.SYS (Doorway version)
QBBS 2.75+ (EXITINFO.BBS)
DOOR.SYS (WildCat! style)
Custom (See the next section!)
Custom Dropfiles
BFE automatically recognizes most door information file (drop file) formats,
including DORINFO?.DEF, EXITINFO.BBS, DOOR.SYS, SFDOORS.DAT, CALLINFO.BBS and
CHAIN.TXT. However, to permit BFE to operate on BBS systems that produce a
different format file, you may define a custom door information file format.
A custom door information file format is defined using the "CustomFileName"
command, followed by one or more lines beginning with the "CustomFileLine"
command. This file *must* be called CUSTOM.BFE!
The "CustomFileName" option specifies the filename used to distinguish this
file format from other file formats. This filename should not include a
path. To specify the path where the door information file is located, use
the BBSDir setting, near the beginning of this file. If the filename of the
custom format is the same as that of one of the built-in formats, the custom
format will override the built-in format.
The actual format of the custom file is specified using a number of lines
that begin with the keyword "CustomFileLine". Each of these lines will
correspond to a single line in the door information file, with the option
following the "CustomFileLine" keyword specifying the information that can
be found on that line. This can be one of the following keywords:
Ignore - Causes the next line in the door information
file to be ignored. Use on lines for which none
of the options below apply.
ComPort - COM? port the modem is connected to
(0 indicates local mode)
FossilPort - Fossil port number the modem is connected to
ModemBPS - BPS rate at which to communicate with modem
(0 or non-numerical value indicates local mode)
LocalMode - 1, T or Y if door is operating in local mode
UserName - Full name of the user
UserFirstName - First name(s) of the user
UserLastName - Last name of the user
Alias - The user's psuedonym / handle
HoursLeft - Hours user has left online
MinutesLeft - Minutes user has left online, or time left online
in format hh:mm
SecondsLeft - Seconds user has left online, or time left online
in format hh:mm:ss or format mm:ss
(If more than one of the above time options are
used, the user time left is taken to be the total
of all of these values.)
ANSI - 1, T, Y or G for ANSI graphics mode
AVATAR - 1, T or Y for AVATAR graphics mode
PagePausing - 1, T or Y if user wishes a pause at end of screen
ScreenLength - Number of lines on user's screen
ScreenClearing - 1, T or Y if screen clearing mode is on
Security - The user's security level / access level
City - City the user is calling from
Node - Node number user is connected to
SysopName - Full name of the sysop
SysopFirstName - The sysop's first name(s)
SysopLastName - The sysop's last name
SystemName - Name of the BBS
;---------------------[ Start of Sample CUSTOM.BFE File ]--------------------
CustomFileName EXAMPLE.DEF ; Same format as DORINFO?.DEF
CustomFileLine SystemName
CustomFileLine SysopFirstName
CustomFileLine SysopLastName
CustomFileLine ComPort
CustomFileLine ModemBPS
CustomFileLine Ignore
CustomFileLine UserFirstName
CustomFileLine UserLastName
CustomFileLine City
CustomFileLine ANSI
CustomFileLine Security
CustomFileLine MinutesLeft
;----------------------[ End of Sample CUSTOM.BFE File ]---------------------
────────────────────────────────────────────────────────────────────────────
■ DOOR OPERATION ■
────────────────────────────────────────────────────────────────────────────
┌────────────────────┐
▄│ BFE Command Line │
█└────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE accepts the following command line parameters (in any order):
-p(Port> - 0,1,2,3,or 4 (COM1, COM2, etc)
-s(Serial speed> - Self explanatory! (0, 300, 1200, etc)
-c(Control File Path> - Path/filename of your main .CTL file!
-t(Time to next event) - The time until the next event
-n(node number) - The node number of the BBS
-f - Forces ANSI in local mode
You can run BFE in local mode by passing "-p0 -s0" as the port and speed.
Of course, if you are using a dropfile, these values are meaningless
once again, therefore your dropfile must be configured for local use (Or
blank out the Dropfile Path option in the Global Options in BFE/Setup!).
┌────────────────┐
▄│ Sysop Keys │
█└────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
There are several options available to the Sysop while the user is in the
BFE Door. These options and hotkeys differ from BBS "personality" to
"personality". As discussed in the sample global configuration file, BFE
currently supports 3 BBS personalities (RemoteAccess 2.0x, WildCat!, and the
default style). For more information on the RA and WildCat! hotkeys, consult
the documentation which accompanied the BBS software.
DEFAULT SYSOP HOTKEYS
---------------------
[UP/DOWN] - Use the arrow keys to increase or decrease the
amount of time which the user has left in the door.
[Alt]-[C] - Allows the sysop to break into chat with the user
at any time. [Alt]-[C] again, or [ESC] will end
chat mode. (Notice that the Want-Chat indicator
will also be turned off, if it was flashing. If
you are running under Apex, RemoteAccess or
QuickBBS, paging from within the door will even
cause the Want-Chat indicator to stay lit when the
user returns to the BBS)
[Alt]-[J] - Allows the sysop to shell to DOS, if enough memory
is available. Simply type EXIT to return to the
door again.
[Alt]-[H] - Hang up on the user. Plain and simple!
[Alt]-[L] - This key locks the user out of the BBS. It first
hangs up on the user, and then sets their security
level to 0, to prevent them from ever logging on
again. This feature may require use of the EXITINFO.BBS
file, depending on what system BFE is running under.
[Alt]-[K] - The "User Keyboard-Off" key allows the sysop to
temporarily prevent the user from typing anything
on their keyboard. This has no effect on the local
keyboard, but causes BFE to ignore any keystrokes
from remote.
[Alt]-[N] - The "Sysop Next" key, this function reserves the
system for use by the sysop after the user logs
off, if BFE is running under an Apex or RA
1.00 or later system.
[Alt]-[D] - "Drop to BBS" key. This function allows the sysop
to exit BFE and return the user to the BBS,
without hanging up.
[F1] - Display basic user information (default)
[F9] - Display help information for sysop
[F10] - Turn off the status line
┌───────────────────────────────┐
▄│ Multinode/Multiuser Operation │
█└───────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE is quite capable of running on multinode systems, and in fact, does it
quite adeptly. Special care has been given to ensure 100% multinode compat-
ibility. If you happen to experience problems running BFE on a multinode
machine, please contact us if you are unable to resolve the problem.
** NOTE: BFE creates a special "semaphore" file called BFELOCK.$$$ whenever
a node is currently reading a control file. If another instance of BFE is
executed, it will wait until this file is erased by the owner instance of BFE.
If, for some reason, BFE seems to "lock up", check for the existence of this
file, and simply remove it. Careful attention has been paid to ensure that
this file gets deleted in any event, but things can happen!
┌──────────────────────────┐
▄│ Digiboard Compatibility │
█└──────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
BFE will run on systems which utilize DigiBoard communication cards. To do
so, however, you will need to pick up the latest version of the DigiBoard
Fossil Driver. As of this release, the latest version of DigiFos is v1.3,
and is available as DIGFOS13.LZH on our support BBS (FREQ's welcome).
────────────────────────────────────────────────────────────────────────────
■ MISCELLANEOUS ■
────────────────────────────────────────────────────────────────────────────
┌────────────────────┐
▄│ Special Thanks │
█└────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
We would like to take time to offer our appreciation to the Cairo Research
Lab Beta Team and suggestion crew (in no particular order):
Robert J. Ferguson Ray Smith
Christopher Koziol Christopher J. Brown
Steve Pepin Tommy Harvey
Chuck Harrington Stephen Thomason
Michael Downing Mikael Winterkvist
Albert Louw Marshall Brandenburg
Martin Pavey
Thanks guys!
Thanks are also in order for the following individuals who have been
tremendous assets to our organization:
Chip Rabinowitz Dave Seidel
Brian Pirie Jeff Dunlop
Dallas Richardson Philip Findley
Andres Guevara
Special thanks go out to Bob Kruger, the friend and beta tester from the
outskirts of hell. And to Diane (my wife-to-be, for her graduation from
4 years of nursing school hell!).
And a special thanks to the sysops who have registered our products, and
shown their ongoing support for Cairo Research Labs.
┌──────────────────┐
▄│ SPHINX! Echo │
█└──────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The SPHINX! echo is now available! The SPHINX! echo is a support echo for
users of Cairo Research Labs products, including:
VID Virus Information Door
VIDPLUS VID Enhancement Module
VKILL Maximus CBCS Upload Integrity Checker
TBM Turbo Bulletin Manager
BFE BBS Front End System
WinVID Windows Virus Database
AVLab Antivirus Research Toolkit
RegPRO Fullscreen Questionnaire System
TBWin Thunderbyte AV Windows Shell
RCS Netmail Robot Construction Set
TFA Turbo File Announcer (Maximus)
The echo is not currently on the backbone, but a feed is available from
1:3613/12. Overseas links are being organized at this time, as well.
To establish a feed from our system, simply drop a netmail to 1:3613/12
(Be sure to include a session level password!). Poll once a week, twice a
week, whatever you prefer. This conference is currently being considered
for the DoorNet backbone.
Topics of discussion include:
1) Inside info and tips from the developers!
2) Third party add-ons for CRL products
3) Ideas, suggestions, wishes, wants and needs... :-)
4) Technical support for individual products
5) Sharing of scripts, setups, control files, etc
6) Get information on new releases, fast!
7) See what's in store for CRL products, and have a say-so in their
development!
8) See what other sysops are doing with BFE, RegPRO, and others!
Here are a few major links to SPHINX. Hopefully, one of these will be close
to your location:
Chris Koziol George Hannah
Sun, Surf, and Serenity Prophecy BBS
Elmwood Park, IL (Chicago area) Saint John, NB
(708) 453-6630 (506) 652-7292
1:115/113@fidonet 1:255/7@fidonet
Robert J. Ferguson Blake Barr
Klingon Bird of Prey BBS Fire & Ice
Philadelphia, PA Harker Heights, TX
(215) 426-5596 (817) 698-6810
1:273/935@fidonet 1:395/43@fidonet
The latest version of BFE can also be found at these sites as well.
┌──────────────────────────────┐
▄│ Upgrades and Information │
█└──────────────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
For the latest version of BFE, call:
Under The Nile!
(706) 596-8126 14.4 USR v.32
1:3613/12@fidonet
75:7706/0 or 75:7706/1@DoorNet
Magic name BFE will get you the latest version!
Upgrades are free of charge to registered users. A one-time $10 registration
fee provides you with an unlimited number of upgrades to newer, more powerful
versions of BFE.
┌──────────────────────┐
▄│ Technical Support │
█└──────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
If you experience any problems with the BFE system, or have any questions,
please contact us!
Fidonet Netmail: 1:3613/12@fidonet
Fidonet: DOORWARE SHAREWARE MUFFIN OPENDOORS BBS_CARNIVAL
Internet: crlhq@f12.n3613.z1.fidonet.org
DoorNet: D_SYSOP, D_COMMON, 75:7706/1, 75:7706/0
BBS: Under the Nile, (706) 596-8126, USR 14.4 v.32
Voice: (706) 596-0276
Snail Mail: 1113 29th Street
Columbus, GA 31904
┌───────────────────────┐
▄│ Program Dedication │
█└───────────────────────┘
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This program is dedicated to the families and friends of American MIAs. Our
hearts are with you. They are not forgotten.
────────────────────────────────────────────────────────────────────────────
■ END OF BFE 1.40.3p DOCUMENTATION ■
────────────────────────────────────────────────────────────────────────────