home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
MISC
/
DORMAN27.ZIP
/
DOORMAN.DOC
< prev
next >
Wrap
Text File
|
1997-08-13
|
27KB
|
616 lines
DoorMan
v2.7
by
Paul M. Becker
Beck's BBS
(847) 938-3654 (28.8 V32bis)
Weekdays 4pm - 8am
Weekends 24 hours
(EMAIL) paul.becker@abbott.com
OVERVIEW
________
DoorMan is a Door/Bulletin Menu Manager designed primarily for the
TriBBS 10.x and up BBS. It was written generically enough to run on any
BBS that supports standard DOOR dropfiles. The driving force behind
this utility was to provide unlimited Door and Door Bulletin
menus using 'hot keys'. I implemented other features
I encountered with other door managers that seemed appropriate.
The final product is what I will present here, to all that may be
interested.
FEATURES of DoorMan include:
NOW OS/2, WINDOWS, and DESQVIEW AWARE!!!!!!
COM1-15 and non-standard irqs
Fossil available, not required
Multi-Node aware
Unlimited number of menus
Menu chaining
'On-the-fly ASCII, ANSI, and RIP menu displays consistent with Tribbs
Security level menu displays
Include/Exclude users from specific Doors
Displays your own ASCII, ANSI, or RIP files if they exist
Door Usage tracking facility
Door serialization for single node doors on multi-node system
Display custom ASC,ANSI,or RIP file as prelude into each door.
Seamless TriBBS implementation using MAINx.BAT, FILEx.BAT, MESSx.BAT
SYSOPx.BAT. Also return to any Tribbs menu (10.x only)
All Tribbs door dropfiles are updated with 'timeleft' prior to
running a door.
DoorMan is FreeWare!!!!!!!!!!!!!
Please logon to the support BBS
for the latest version and fixes.
INSTALLATION
____________
Installation is fairly easy and straight-forward. The following steps and
examples should have you up and running in a very short period of time.
It is assumed that you are familiar with setting up DOORS on your system.
To this end, only examples of the configuration file and Door batch file
are described.
1) Create a directory to hold all DoorMan files (ie., \DOORMAN)
2) Unzip DORMANxx.ZIP into the the above directory
3) Create a configuration file, with a name of your choice, using
the supplied DEMO.CFG file as a guide. A description follows:
c:\tribbs\door.sys Location of System file
MUST used DOOR.SYS!!!!!!!!!!!!!!!
Beck's BBS Your BBS Name
Paul SYSOP's First Name
Becker Sysop's Last Name
DOORMEN1 Initial Menu to run
(Do not specify the .MNU file suffix)
0 Forced Node number. The BBS node will
be taken from the Door Dropfile if this is
0. Any value greater than 0 will be used
as the BBS Node number.
Use "00" to specify a node of zero!
\tribbs\nwork\callers.log Name of the file log entries are to be
written out to. Use the TriBBS temp log
to combine DoorMan entries with Tribbs
entries. Enter "0" to disable log function.
DOOR.TRK Filename for the Door Usage Tracking
function. Enter "0" to disable.
Specify the same filename for all nodes
for complete BBS stats.
0 Operating system. Used to activate time
slice release routines. Valid values are:
0=DoorMan will determine OS on the fly.
W=Windows - Same routine as OS/2.
D=Desqview - Issues DV waits.
O=OS/2 - CPU will still go to 100 on many
os/2 monitors as this routine will
get control back if nothing else
is active.
S=DOS - No multitasking considerations.
NOTE: Using D with OS/2 and an OS/2
Desqview emulator (OSTSR.ZIP)
and can keep CPU% down. OSTSR is
distributed with DoorMan.
Also, Sysop function keys do not work
when in a multitasking mode, only
DOS mode. Sorry..:(
5 Keyboard Timeout in Minutes
Doorman will return to the BBS program
if no keyboard input is received within
this timeframe.
ALSO!!!! If the Sysop drops to DOS, the
time in DOS is counted against this value.
Make it large enough to handle DOS drops
if you use that facility!
4) Create a batch file using the DEMO.BAT file supplied. A
description of this file follows:
ECHO off
cd \ Reset Current directory
cd doorman Get into DoorMan directory
IF EXIST DMAN1.BAT DEL DMAN1.BAT Clear possible previous bat
file. The filename must be DMANx.BAT
where x is the BBS node number.
DOORMAN NODE1.CFG [/IM=ALTMENU]
First parm is config file. Use 1 for
each node.
Second parm is optional and overrides
Initial menu specified in config file.
IF EXIST DMAN1.BAT DMAN1.BAT Runs a requested door
cd\tribbs BBS subdirectory
board Run BBS bat file
**** For seamless TriBBS implementation, enter DoorMan from
any TriBBS menu via MAINx.BAT, MESSx.BAT, etc.
5) When running in more than one node, be sure to supply a
different configuration file for each node (your choice of name).
6) If running with Fossil-based multi-port boards add
/FD to the line containing the CFG name as follows:
DOORMAN NODE1.CFG /FD
7) Setting up the MENU files (.MNU)
The menu files are located in the DOORMAN subdirectory.
The must be suffixed with .MNU
You can have an unlimited number of menu files.
Each menu can have a maximum of 60 entries.
You MUST specify all parameters as show below. Any missing
parameters will result in end-of-file errors!!!
Line1 DFG,DBG,HFG,HBG,Menu title (used for on-the-fly displays)
=====================================
DFG = Ansi foreground color code for each menu detail line
DBG = Ansi background color code for each menu detail line
HFG = Ansi foreground color code for each menu heading line
HBG = Ansi background color code for each menu heading line
Menu-title=Text to appear in the Menu Heading
Line2-xx hotkey,function,description of door/file,file-name,sec-level
==================================================
hotkey=Key to select this menu option (must be single char.)
**
Special character of "~" will display only, not be
selectable. Allows for comments and spacing in the
on-the-fly menu displays. Sec-level is used.
function=function to be invoked by this selection: (single char.)
functions are: A - Display Ansi grAphics file
No line counter used.
@-codes are NOT interpreted!!!!
D - Run a Door
F or @ -
Display any RIP/ANS/BBS file.
Line count of 22 used. @-codes
and @-@ variables are interpreted.
G - Goodbye/Logoff of BBS
L - Run a Door using Serialization.
Q - Quit to Main BBS Menu
R - Toggle RIP graphics
M - Load a new Menu
T - Toggle ANSI/ASCII mode
X - Toggle Expert mode
1 - Return to Tribbs at NEWUSER.BAT
2 - Return to Tribbs at SECnnnn.BAT
3 - Return to Tribbs at LOGON.BAT
4 - Return to Tribbs at Main Menu
5 - Return to Tribbs at Files Menu
6 - Return to Tribbs at Message Menu
7 - Return to Tribbs at Sysop Menu
Description=text description of this selection. 36 character
maximum.
File-name=filename to be processed by this selection.
----------------
If function is M (a menu),
specify MENUNAME
DO NOT specify a file suffix! The file suffix
will be added by DoorMan (.MNU)
** If MENUssss.RIP/ANS/BBS exists,
where ssss is the users security level, that file
will be displayed in leiu of the on-the-fly
menu. NOTE: Menuname length + security-level
length cannot exceed 8 characters. If security
level menus are not found, then:
** If menuname.RIP/ANS/BBS exists, that file
will be displayed in leiu of the on-the-fly
menu.
----------------
If function is D or L ( a door),
specify \bat\doorname
DO NOT specify a file suffix! The file suffix
will be null or the BBS node number.
** If \bat\doorname.RIP/ANS/BBS exists, that file
will be display prior to running the door.
----------------
If function is A or F or @,
specify the complete file name.
If you do not specify a suffix, and the file as
specified does not exist, RIP/ANS/BBS suffixes
will be checked for in that order and the first one
found, consistent with the current graphic setting
will be displayed.
----------------
If function is Q, the hot-key will cause DoorMan to
return to the BBS Menu that called Doorman.
----------------
If function is G, the hot-key will cause DoorMan to
do a Goodbye/Logoff without returning to the BBS.
**Note: If a GOODBYE.RIP/ANS/BBS file exists in the Doorman
subdirectory, it will be displayed
prior to logoff.
----------------
If function is 1 - 7, Doorman will return to the
BBS at the following points:
1 = NEWUSER.BAT
2 = SECnnnn.BAT
3 = LOGON.BAT
4 = MAIN MENU
5 = FILES MENU
6 = MESSAGE MENU
7 = SYSOP MENU
----------------
If function is R, the current RIP graphics setting
will be toggled.
----------------
If function is T, the current ANSI graphics setting
will be toggled.
----------------
If function is X, the Expert mode will be toggled.
----------------
Sec-level=Security level of user necessary to select this option.
The user will NOT see items that don't pass security.
To allow the same hot-key for different security
levels, code a line for each sec-level in descending
sec-level sequence. First match will be displayed, the
rest will not.
8) Setting up the DOOR BAT files
The door bat files are located in the \DOORMAN\BAT subdirectory.
*can be any subdirectory as specified in the menu file*
They can be unsuffixed for single node systems, or systems that
use the %DMNODE% variable to determine node within the .bat file.
They can also be suffixed with the node number, i.e., SCRABBLE.1
so you can have seperate Door .bat files for each node.
Door bat files return to DoorMan, not the BBS.
Environmental variables DMNAME and DMNODE are set ahead of the
Door, so you can use them in the Door.bat file.
***NOTE*** DMNODE is null for node 1 to allow for
C:\TRIBBS as node 1 directory. 0,2,3,4...... are passed thru.
SAMPLE BAT FILE 'SCRABBLE'
----------------
@echo off |
cd\scrabble | execute scrabble door
scrabdor scrab%DMNODE%.cfg | use variable for node number
rem following statement to delete lock file after door exit.
rem this file is created by DoorMan
if exist \doorman\bat\scrabble.lok del \doorman\bat\scrabble.lok
cd\tribbs%DMNODE%\batch | node batch subdirectory
main$ |return to DoorMan via Tribbs bat file
----------------
SAMPLE BAT FILE 'SCRABBLE.2'
----------------
@echo off |
cd\scrabble | execute scrabble door
==> scrabdor scrab2.cfg |
rem following statement to delete lock file after door exit.
rem this file is created by DoorMan
if exist \doorman\bat\scrabble.lok del \doorman\bat\scrabble.lok
==> cd\tribbs2\batch |
main$ |return to DoorMan via Tribbs bat file
----------------
9) Running the DEMO................
You can run the DEMO.BAT file from the DoorMan subdirectory
to get an idea of the features of DoorMan.
It is setup with a local DOOR.SYS.
It has door bat files in the doorman subdirectory. I suggest
a /bat subdirectory off of the doorman subdirectory.
Peruse the .MNU files to get a feel for the syntax.
End-of-file errors are usually caused by missing/extra parameters
in a .MNU file!!!!
Use any editor to create your own menus.
You can combine doors and their associated bulletin files
as one organizational technique. Or combine like doors on
their own menus. Or whatever!
=====================================
Door Usage Facility
The Door Usage report is generate by program DOORTRK.EXE.
Run it as an event daily or whenever you want to create
the report. The syntax is:
DOORTRK DOOR.TRK DOORUSE.BBS
where DOOR.TRK is the tracking filename specified in the
config file.
and DOORUSE.BBS is the output report file.
=====================================
Door Serialization Facility
If you specify a function code of "L" to request serialization
on a door, a doorname.LOK file is created in the same directory
as the doorname bat file is. This file should be deleted as
soon as the door program is exited. The best place for this
would be in the doors bat file, where is should be deleted even
if the user looses carrier or whatever. DoorMan will ensure it
is deleted, but there's a chance DoorMan will not run under
all adverse conditions.
=====================================
Door Advertisement Facility
If a file exists in the same directory as the doorname.x sub-
directory called doorname.RIP/ANS/BBS, it will be
displayed prior to executing the Door. This allows for Door
specific displays.
=====================================
Door Include/Exclude Facility
If a file exists in the same directory as the doorname.x file
called doorname.INC or doorname.EXC, then the users
found in that file will be included (can run) or excluded
(cannot run) that door.
The format of the file simply contains the users fullname
on each line of the file.
=====================================
Language File Facility
File LANGUAGE.xxx contains customizable display lines used by
Doorman.
Multiple language files can be used in sync with Tribbs, as
the LANGUAGE file extention is passed to and used by DOORMAN.
If there is no file for an extention, .001 is used. If that
is not present, default messages are used.
@X-codes and @@ variables can be used in the language files.
The following @@ variables are recongnized:
@TIMEON@ Time on this call
@TIMELEFT@ Time left for today
@MENUPROMPT@ Valid menu options at this time
@USER@ Complete user name
@ALIAS@ Users alias
@BAUDRATE@ Current connect BAUD rate
@BIRTHDATE@ Users birthday
@BOARDNAME@ Name of this BBS
@SYSOPNAME@ Complete SYSOP name
@SYSTEMDATE@ Current system date
@SYSTEMTIME@ Current system time
@FIRST@ Users first name
... All Tribbs variables are recognized. Not all data is
available.
The variables are also recognized when displaying .BBS files.
In addition, the following @@ variables are recognized while
displaying a .BBS file:
@CLS@ Clear screen now
@MORE@ Issue 'MORE' prompt
@MOREON@ Activate 'MORE' prompt
@MOREOFF@ Inactivate 'MORE' prompt
@BREAKON@ User can break file display
@BREAKOFF@ User cannot break out of file display
@PAUSE@ Wait for user to hit ENTER to continue
TROUBLESHOOTING
---------------
(1) If you are running this Door on a 486 system and encounter errors such as
ERROR 6.... OVERFLOW Error
ERROR 5.... ILLEGAL Function Call (may be associated with other problems)
KEYBOARD Timeout after 5 minutes
You may have to put the following line in your AUTOEXEC.BAT file:
SET NO87=ON
(2) If you encounter an Error 62 (Input Past End of File), BEFORE you see the
opening screen of the Door, your problem will more than likely be associated
with the CFG file. The error 62 means that you do not have enough entries
in the CFG. Compare your CFG file with the CFG definition in the DOC file.
(3) If you encounter an ERROR 70... Permission Denied, this will more than
likely mean that you DO NOT have SHARE loaded. SHARE is a DOS file that
comes with your version of DOS. To load it type the word SHARE at the DOS
prompt. To load it permanently type the word SHARE on a line by itself in
your AUTOEXEC.BAT file, any place prior to the loading of your BBS
software. There have been numerous reports that loading SHARE high causes
some problems, so to be on the safe side, do not load it high.
Should you have any questions or problems, please do not hesitate to
contact the support BBS or leave an E-Mail as stated above.
NON-STANDARD COM SUPPORT
________________________
Support for COM 1-4 on the standard IRQ's - COM1/COM3 = IRQ4 and
COM2/COM4 = IRQ3. If you wish to use a non-standard IRQ, add the IRQ
number after the configuration filename. Let's assume your Door is
called FOOBAR and you want to use COM1 and IRQ5. The command line
passed to your Door would be:
FOOBAR FOOBAR.CFG /5
The /5 tells FOOBAR to use IRQ5 rather than the standard IRQ4 that is
normally used with COM1. No /x parameter is needed for the standard
IRQ's.
As an alternative, you may use an environmental variable on the command
line. To use the variable (following the example above), place a
SET IRQ=5 in the batch file used to bring up your BBS (you would need a
different IRQ number for each node). The command line would now look
like this:
FOOBAR FOOBAR.CFG /%IRQ%
This, in combination with the use of the environmental variables
described in the MULTI-NODE SETUP section will allow you to use one
batch file and one config file to run this door on all nodes.
MULTI-NODE SETUP
________________
DoorMan is Multi-Node aware. Each node must have the
ability to access a configuration file which will have its own system
file (DORINFOx.DEF, PCBOARD.SYS, DOOR.SYS, etc) defined on the first
line. There are 2 ways to accomplish this:
(1) Create a separate configuration file for each node. The only
difference between each file would be the location of the system
file for that particular node. For example, on my system there are 2
nodes and the first line of the config files would look like this:
NODE1: H:\PCB1\DOOR.SYS
NODE2: H:\PCB2\DOOR.SYS
Thus, if you have a 4 node BBS, you will need 4 configuration files.
(2) Use ONE configuration file for ALL nodes. This Door will recognize
the following PCBoard/Wildcat environmental variables:
PCBDIR (Directory containing the System file)
PCBDRIVE (Drive containing the System file)
WCNODEID (Active Node Number)
Thus, the first line of the SINGLE configuration file, for this Door
would look like this:
%PCBDRIVE%%PCBDIR%\DOOR.SYS
c:\wc30\wcwork\node%wcnodeid%\door.sys
NOTE: This option, as described, assumes that you are running PCB or
Wildcat software. The environmental variables are automatically
created by the software for each node.
HOWEVER, if you are running other BBS software you should be able
to set the variables EXACTLY as described below, for EACH node
(more than likely in each batch file you use to bring up EACH node):
PCBDRIVE=C:
^^^^^^^^^
PCBDIR=\NODE2
^^^^^^^^
Info with a carat (^) under it, MUST be typed as is. The rest
depends on your naming conventions.
This, in combination with the use of the optional environmental
variable described in the NON-STANDARD COM SUPPORT section, will
allow you to use one batch file and one config file to run this
door on all nodes.
LEGALITIES
__________
THIS SOFTWARE AND ACCOMPANYING MATERIALS ARE DISTRIBUTED "AS IS"
WITHOUT WARRANTY, EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL ANYONE INVOLVED WITH
THE CREATION AND PRODUCTION OF THIS PRODUCT BE LIABLE FOR INDIRECT,
SPECIAL, OR CONSEQUENTIAL DAMAGES, ARISING OUT OF ANY USE THEREOF
OR BREACH OF ANY WARRANTY.
DISTRIBUTION
____________
You may make this file available for downloading from your BBS or you may
upload it to any BBS of your choice, provided that you do not make any
changes to the contents of the archive (ZIP file). The archive and its
individual contents may not be used by any service that charges any money
whatsoever, without the written permission of the author.
REGISTRATION
____________
To register, simply call the support BBS and leave a message. Fixes and
enhancements will be made periodically, and you will be allowed to down
load the latest. The software itself is uncrippled. If you use Doorman,
please take the time to call and signon to the support BBS. Your input
would be appreciated.
MISC
____
The latest version of DoorMan is available on the support BBS to
all users.
Remember, should you have any problems, questions or suggestions, be sure
to drop me a message on either the support BBS or Email me.
Special thanks to Dave Kober of the Upper LeveL BBS for giving
Doorman a try and offering several useful suggestions.