home *** CD-ROM | disk | FTP | other *** search
- Searchlight Bulletin Board System (t)
- Autodoor Batch Utilities
- Version 1.1
-
- PRESIS
- ------
- A suite of Searchlight BBS (t) utilities to enhance the abilities of
- SLMAIL.EXE, VALIDATE.EXE and to provide the SLBBS (t) Sysop with tools for
- providing access based upon agreement with the SYSOP's criteria for use of
- the BBS. Additionally, a simple questionnaire-type of utility is included to
- further enhance the SLBBS (t) Sysop's ability to process users.
-
- INTRODUCTION
- ------------
- I originally purchased Searchlight (t) after reviewing a number of BBS
- packages. One of my main criteria was the ability to extend the software
- easily. As (something of) a programmer, I chafe when presented with few
- options for customization and control. Of all the BBS software I reviewed,
- Searchlight was, by far, the most extensible. It also retains a very high
- level of simplicity from the Users' perspective and has a rather unique and
- pleasing interface. By the same token, it is was not an "oddball" in the
- sense of non-standard command keys, and, with the introduction of SL225,
- can be fully configured to conform to the command key templates used by other
- popular and prevalent BBS software. Frank LaRosa is to be commended for all
- of this.
-
- This package is intended to help you, as an SLBBS Sysop, to further extend
- your BBS and to bring you and your users a higher level of professionalism
- and enjoyment. I wrote these utilities for myself and my BBS, and have had
- them running with good effect for over one year. I consider them to be
- fully tested and debugged. I am, therefore, releasing them now for the use
- and enjoyment of the SLBBS community.
-
- These utilities are distributed FREE of any obligation on the part of
- non-commercial users. Absolutely no warranties, either express or implied,
- are made or given with respect to the fitness of these utilities for their
- intended purpose, or for ANY purpose. Side-Bar BBS and Shane Anderson
- hereby expressly disclaim any such warranties; further, by use of these
- utilities, you agree to indemnify and hold Side-Bar BBS and Shane Anderson
- harmless from damages, however constituted or plead, which might be
- attributed to use of these utilities.
-
- Commercial users may contact the Sysop of Side-Bar BBS for inforamtion
- regarding the licensing of these utilities. The number appears below.
-
- At present I have no plans for extending these utilities, and I do not
- expect that it will be necessary to "support" them. However, I am willing
- to entertain any suggestions or comments, and to consider the possibility
- of taking these utilities further, as applicable.
-
-
- (1)INSTALLATION
- ------------
-
- The best place for these utilities, to guarantee that they will work, is the
- main BBS directory. This is the directory where your CONFIG files are, and
- where you should have SLMAIL.EXE, VALIDATE.EXE, etc. Simply copy the files
- into that directory and follow the examples and templates given for each
- utility below. Please note that the archive should include the following
- files:
-
- SL_MAIL.EXE
- SL_VAL.EXE
- AGREE.EXE
- QUERY.EXE
- SLUTILS.DOC
-
- If you are concerned that you have not received a "clean" archive, you may
- FREQ a source copy from my BBS at the address given at the end of this
- document. The "Magic Name" for the file is "SLUTILS."
-
- You are, of course, welcome to log in and download it from the SLBBS
- file directory.
-
- SL_MAIL.EXE
- -----------
- One of the greatest revelations I had during my review of BBS software was
- the ability to run batch files as autodoors. That feature nearly sold me on
- Searchlight (t) on the spot. However, I did find that, due mostly to the
- vagaries and quirks of batch language, certain limitations were imposed on
- the way Frank LaRosa's SLMAIL.EXE could be used. I found that I could not
- use SLMAIL.EXE to send a user a private or even public message from an
- autodoor. If I used the %N parameter to send JOE SMITH a message, the name
- JOE_SMITH was used. In reality, there is no JOE_SMITH as far as SLBBS (t)
- is concerned. So the message was not sent. Using the %U parameter is not
- an option either, since SLMAIL will try to send the message to JOE, who also
- does not exist to SLBBS (t). I tried using quotes, etc., in the batch file
- to cause the full name contained in the %U parameter to be carried over and
- passed by SLMAIL, but to no avail. A "shell" program was clearly needed
- that would perform the translation of the parameter to an SLMAIL acceptable
- format, and to then call SLMAIL.EXE.
-
- SL_MAIL.EXE is such a shell. All it really does is take the %N parameter,
- translate it to the appropriate name and then call SLMAIL. Accordingly, it
- is not, nor is intended to be, a replacement to SLMAIL.EXE. Rather, it is
- an extension and an enhancement to be used in conjunction with SLMAIL.EXE.
-
- The syntax of SL_MAIL.EXE, as you might expect, is essential identical to
- SLMAIL.EXE. The following example is taken and adapted from my NEWUSER.BAT
- autodoor. In this example, for the sake of simplicity, the batch file is
-
- (2)only being passed ONE parameter, namely the %U parameter. To use other
- utilities in this package, you will wish to pass other parameters as well.
-
- :NEW USER AUTODOOR BATCH FILE
- : %1 = User Name (%U)
- :----------------------------
- .
- . {programming statements go here}
- .
- echo Mailing New User Information to %1's Mail Box . . .
- sl_mail S mail -t%1 -fSYSOP "-sNew User Information" -xc:\bbs\newinfo.txt
- .
- . {programming statements go here}
- .
-
- As you can see, the file NEWINFO.TXT is being mailed to the new user's
- mailbox. Nothing fancy, nothing too terribly earth shaking. But it WILL
- allow you send messages to users from autodoors. I find this useful in my
- two-tiered validation system, particularly in light of the fact that the
- whole process is automated and requires a certain amount of message passing
- to help orient my users. With a little extra thought and batch file
- programming effort, you can easily personalize messages such as:
-
- Dear Joe:
-
- Thanks for your patience during the registration process...
-
- Additionally, when used in conjunction with the utilities described below,
- you can set up some rather complex validation routines which result in the
- sending of various different messages based upon user security levels, etc.
-
- If the above is not clear, please refer to the (excellent) documentation
- accompanying SLMAIL.EXE.
-
-
- SL_VAL.EXE
- ----------
- SLBBS' (t) VALIDATE.EXE suffers from the same "problem" that SLMAIL.EXE
- suffers from - namely, there is no way to pass a user's name to it from a
- batch file in order to upgrade (or downgrade) a user's security attributes
- and levels. Again, it is a simple matter of needing a "shell" program to
- perform the translation. SL_VAL.EXE performs that translation for
- VALIDATE.EXE, and again, is a mere "enhancement," not a replacement.
-
- The following example has also been extracted and adapted from my
- NEWUSER.BAT autodoor:
-
-
-
-
-
- (3):NEW USER AUTODOOR BATCH FILE
- : %1 = User Name (%U)
- :----------------------------
- .
- . {programming statements go here}
- .
- sl_val %1 /A5 /F5 /T45 /R5 /SAB
- .
- . {programming statements go here}
- .
-
- Simple enough. As you can see, the user is being upgraded to have the
- security level of "5" for both the main and file functions, is being
- granted 45 minutes per day, a download Ratio of 5 to 1, and the Security
- Attributes of "AB." If this is not clear, please refer to the (excellent)
- documentation accompanying VALIDATE.EXE.
-
- Again, nothing earth shattering but certainly useful, particularly where you
- wish on-line, interactive validation of users. One Caveat: I have found,
- through experience that SLBBS (t) does not necessarily immediately
- recognize the new Time Limit given to the user. All other attributes and
- levels ARE recognized, but the user is stuck with whatever time limit was
- initially imposed prior to validation using this utility. However, the new
- time limit does go into effect upon the next login by the user. For example
- - let's say that the user has 30 minutes and is at level "2." Once the
- above example validation is performed, he will have all of the new
- attributes and levels specified, but will still have only 30 minutes (or
- balance thereof) during the current session. While this is unavoidable from
- my perspective, you should note that upon expiration of the 30 minutes, the
- user will still be able to log in for 15 minutes more during the same day.
- Thereafter, he will always have 45 minutes per day.
-
- This utility does not really stand by itself, and is intended to be used
- with the utilities discussed below.
-
- AGREE.EXE (aka C Y A!)
- ---------
- I wrote this utility to dispatch my duties as a SYSOP and to protect myself
- from any claims that the user was not aware of any applicable legal
- disclaimers, and to obtain full agreement with the terms and conditions
- imposed upon users of my BBS. Quite simply, the utility displays a screen
- to the user, and asks the user if he agrees to the terms and conditions
- presented by that screen.
-
- The program then drops an errorlevel to the calling batch file based upon the
- answer. Thus, you can branch to the appropriate batch file label based upon
- the user's response. This allows you to set up a validation scheme which,
- perhaps at the very beginning, allows access on the basis of a user's
- agreement or disagreement to the terms and conditions of use.
-
-
- (4)The syntax of AGREE.EXE is as follows:
-
- AGREE [path] [prefix] [agree] [noagree] [name] [g] [color]
-
- WHERE:
-
- [path] the path to the display screens
- [prefix] the prefix of the screens - eg: prefix of test.ans, test.txt =
- test
- [agree] the log filespec for logging users who have agreed
- [noagree] the log filespec for logging users who have NOT agreed
- [name] the SLBBS parameter for user name - %U
- [g] the SLBBS parameter for graphics - %G
- [color] the numeric color value for the "-- more --" prompt
-
- To invoke a "-- more --" prompt, place the control characters "^S^P" in the
- files to be "typed" to the screen at the position in the file where you wish
- to pause. The characters "^S^P" are Ctrl-S and Ctrl-P, NOT "Caret-S,"
- "Caret-P."
-
- Please note that your ANSI and Non-ANSI screens MUST use the extensions
- ".ANS" and ".TXT."
-
- The errorlevels dropped by AGREE.EXE are simply 1 and 0, and correspond to
- "Yes" and "No" respectively.
-
- Colors are expressed as follows:
-
- Black - 0 Dark Gray - 8
- Blue - 1 Light Blue - 9
- Green - 2 Light Green - 10
- Cyan - 3 Light Cyan - 11
- Red - 4 Light Red - 12
- Magenta - 5 Light Magenta - 13
- Brown - 6 Yellow - 14
- Light Gray - 7 White - 15
-
- The following example is adapted from my NEWUSER.BAT autodoor. Please note
- that, here, more parameters are being passed to the batch file, as required
- by AGREE.EXE. Please also note that I have included SL_MAIL.EXE and
- SL_VAL.EXE calls, as discussed above, to help you see how all of these
- utilities work together, and that I have even included a little batch
- environment trick for typing the appropriate ANSI or text "information"
- screens to the monitor:
-
-
-
-
-
-
-
- (5):NEW USER AUTODOOR BATCH FILE
- : %1 = User Name (%U)
- : %2 = Graphics Mode (%G)
- : %3 = First Name (effectively) (%N)
- :----------------------------
- @echo off
- cd\bbs
-
- : /* this small subroutine sets an environment variable for use in
- : typing "information" screens to the monitor. */
-
- if "%2"=="C" goto ansi
- if "%2"=="M" goto ansi
- if "%2"=="N" goto NONE
- :ansi
- set SCR=ANS
- goto VALIDATE
- :NONE
- set SCR=TXT
-
- : /* the following comprises a two-step agreement process. The call to
- : AGREE.EXE shows a standard Disclaimer Screen to the user and asks him to
- : agree to its terms. If the user does not agree to screen displayed,
- : his or her access is set to pretty much "0" all around. If he or she
- : DOES agree, he or she is validated to a higher level. */
-
- :VALIDATE
- cd\bbs
- cls
- agree c:\bbs\include ecpa c:\bbs\ecpa.log c:\bbs\no_ecpa.log %1 %2 12
- REM if "Yes"
- if errorlevel 1 goto agree
- REM if "No"
- goto no_agree
-
- :agree
- REM increase access...
- sl_val %1 /A2 /F2 /T30 /R5 /SAB
- REM type appropriate thank you screen
- type c:\bbs\thanks.%SCR%
- echo %3, Please press {ENTER} to continue
- pause>nul
- echo Mailing New User Information to %3's Mail Box . . .
- sl_mail S mail -t%1 -fSYSOP "-sNew User Information" -xc:\bbs\newinfo.txt
- goto CLEAN
-
-
-
-
-
-
- (6) :no_agree
- cd\bbs
- sl_val %1 /A0 /F0 /T10 /R3 /SA
- REM type appropriate SORRY, ERNT, WRONG, TOO BAD! screen...
- type c:\bbs\no_agree.%SCR%
- echo %3, Please press {ENTER} to continue
- pause>nul
- echo Mailing GUEST User Information to %3's Mail Box . . .
- sl_mail S mail -t%1 -fSYSOP "-sLimited Access Information" -xc:\bbs\limit.txt
-
- :CLEAN
- REM clean up environment
- set SCR=
- cd\bbs
- cls
-
-
- Now, while the above may seem somewhat complicate at first, it is actually
- pretty straightforward. A little study should make it clear. I am
- confident that this will work, with some work on your part in putting the
- screens together and adjusting the paths to reflect the reality of your
- system.
-
- I HIGHLY recommend that, if you do use this utility for the purposes of
- disclaimers and legal notices, you keep your logs INTACT and ALWAYS on file.
- As a paralegal and a student of privacy, etc. issues as relates to
- electronic communications, I assure you that we CANNOT be too careful in
- this regard.
-
- QUERY.EXE
- ---------
- I wrote this simple utility because I did not need or even like the various
- script questionnaire utilities currently available. For a simple
- questionnaire, it was rather the case of shooting a mouse with an elephant
- gun - difficult and awfully messy! I therefore wrote this simple utility to
- be straightforward and even idiotic, but pleasing to the eye.
-
- USAGE: QUERY [questionnaire] [output] [name] [graphics] <switches>
-
- WHERE:
- [questionnaire] => text file containing questions;
- [output] => text file for logging answers
- [name] => users name using the SLBBS "%U" parameter
- [graphics] => the SLBBS parameter for graphics mode
- <switches> => optional switches as follows:
- /M or /m => mail answers to SYSOP
- /V or /v => use verbose format
-
- The following text presents the format of [questionnaire] file.
-
-
- (7)Please describe some of your interests:
- What BBS services do you make the most use of (eg: NetMail, Files, etc.):
- Are you currently employed? (If so, please describe:)
- How did you hear about SIDE-BAR BBS?
-
-
- Simple, eh? No script language or control codes. Simple text!
- Limited, but useful. Please note that a carriage return should follow the
- last line in the text file for the utility to properly process the entire
- text of the file. Please note, further, that you may place multiple carriage
- returns anywhere in a questionnaire file in order to present "blank" lines.
- Thus, in the following example, two "blank" lines would be presented after
- the initial line with the question, for a total of three lines of text.
-
-
- Please enter feedback (three lines)
-
-
- Any other comments?
-
- It might be better to use the following format, however, so that the user
- does not think he is locked.
-
- Please enter feedback (three lines)
- (Line 2 of 3)
- (Line 3 of 3)
- Any other comments?
-
- It is important to have QUERY in the same directory as SLMAIL.EXE and
- SL_MAIL.EXE, since these utilities are used to mail the Sysop responses to
- the questionnaire, if desired.
-
- If the /M switch is used, the answers will be logged __AND__ sent to
- the SYSOP'S Mailbox - the user name is parsed so that a reply to the
- questionnaire can be made by the SYSOP. If the /V switch is used, the
- questions __AS WELL AS__ the answers will are logged in the [output]
- file. When the /V switch is not used, only the answers are logged. I
- personally prefer the verbose format.
-
- Both [questionnaire] and [output] parameters support path names.
-
- This utility is very nice for feedback doors, etc. where you do not wish to
- use complicated script utilities and where answers are straightforward and do
- not require branching based upon the response. I use it in the instance of
- a user who has not initially agreed to the terms and conditions of use for
- the BBS. When that user goes into my validation door for the purposes of
- upgrading his account, I ask why he or she or she did not initially agree.
- I have the answers sent to me, and, because of the proper translation of the
- name of the (offending) party, I can then reply to that user's reason for
- not initially agreeing.
-
- (8)PUTTING IT ALL TO WORK FOR YOU
- ------------------------------
-
- As related previously, I have had this type of setup running, in a much more
- complex configuration, for over a year now and it works quite nicely. I
- have received no complaints from users, and have been freed from some of the
- more rigorous and time consuming duties on the BBS such as manual
- validation through the use of "Please write the SYSOP a private message to
- request validation and include..." My system actually presents two levels
- or agreements that a new user must agree to; then, if I have total
- agreement, I present the user with the ability to further upgrade himself
- through call-back verification. This system works very nicely.
- Additionally, with some further work, those users who did not agree may be
- presented with the opportunity, via a door, to agree to the questions again,
- thereby upgrading themselves. This further cuts down on the incidence of
- messages such as "I meant to agree, but I pressed the wrong button..." The
- fact that AGREE.EXE provides you with logs of just who agreed and who did
- not agree can be used to great effect. You can even set it up so that when
- a user does not agree, you send yourself a message indicating who it was
- that did not agree, for further disposition, if any. The QUERY.EXE utility
- rather pulls it all together for a full suite of utilities that should help
- you as a SLBBS (t) sysop to process and present various options for
- validation, questionnaire, and massaging, without needing to resort to
- highly manual methods.
-
-
- We hope that these utilities will help... if they do, please take the time
- to comment to me via netmail or otherwise.
-
- BEST,
-
- Shane G. Anderson
- Sysop, Side-Bar BBS
- 818/783-2069
- FidoNet: 1:102/819
- (Sherman Oaks, California)