Possibilities - Realities 3/93

Contact:   eSoft, Inc. (Makers of TBBS)
           15200 E. Girard Ave., Suite 3000
           Aurora, CO  80014
           (303) 699-6565      Voice
           (303) 699-6872      Fax
           (303) 699-8222      BBS
           support@esoft.com   E-Mail

REALITIES 3/93
--------------

*** From March 1993 Possibilities Newsletter ***
*** Copyright 1993 by eSoft, Inc.  All Rights Reserved ***

REALITIES...how to make it work
by eSoft Technical Support Staff

From the moment you first install TBBS, it's easy to see the possibilities are 
almost endless.  Turning those possibilities into realities can bring up 
questions.  For this reason, quality customer support is at least half the 
overall value of any software package. 

We recommend you call the eSoft Support BBS (303-699-8222) and read through 
the messages in each of the various support areas.  You could find answers to 
your questions, even before you've asked them!  You'll definitely get some 
useful tips and ideas for bringing possibilities to life with TBBS.  In this 
section of the newsletter, we will answer some of the more commonly asked 
questions we receive. 

A Worthwhile Do-Nothing... 

Q. I'm trying to set up a single menu entry on my system to display a 
specific text file, then automatically execute another menu, but it doesn't 
seem to work properly.  Here's what I have so far: 

Entry:
Sorry, %First%, but you have not yet been upgraded for access to the 
Downloads Section. Please try again later.
%More%
Priv=25 A1=--X----- A2=-------X
KEY=^@ TYPE=35 Opt Data=NUTM

A. The problem you are having is that ENTRY: text does not display on an auto-
execute menu command until after all commands have been executed.  To 
accomplish what you want, you'll need to use two menu entries -- one to 
display the text, the second to transfer menus.  A Type 1 would probably work 
best in this situation, and you would put the text in a file.  For this 
example, we have named that file NOACCESS.TXT.  Then you would make two auto-
execute menu entries as follows: 

Entry:
Priv=25 A1=--X----- A2=-------X
KEY=^@ TYPE=1 Opt Data=NOACCESS.TXT

Entry:
Priv=25 A1=--X----- A2=-------X
KEY=^@ TYPE=35 Opt Data=NUTM

In the above example, the text file NOACCESS.TXT would contain your blurb 
about the user not being upgraded for access yet.  Users who are not upgraded 
will match the A1 and A2 flags indicated and will be sent to the menu NUTM 
(for New User Top Menu) without executing any other commands in this menu.  
Registered users will not execute these commands (since they will have A1 and 
A2 flags cleared) so they will see the remainder of the commands in this menu 
normally. 

How Many Files?

Q. I have been noticing an error message coming up on my TBBS system.  Can you 
tell how to fix the problem?  The message is: 

[(main)-23] [6] Too Many Files Are Open.

A. The message you are getting is telling you that DOS ran out of file 
handles.  You need to place a line in your CONFIG.SYS file like this: 

FILES=50

This should solve your problem.  The "FILES=" statement states the maximum 
number of file handles DOS sets aside.  Chances are you already have a 
"FILES=" statement in your CONFIG.SYS file and all you need to do is increase 
the number.  The formula given in your TBBS manual does not include any 
"extra" files for TDBS applications, so you should add 10 or 20 more than that 
formula indicates if you are using TDBS. 

Jumping Jack Flash...

Q. I am a new sysop setting up a BBS for the first time.  I am trying to set 
up a menu which will auto- matically display a text file the first time a user 
enters that menu.  I have tried using the "." in an A(2) flag, which should 
reset the user's flag A(2), which is "X."  The Key is auto executing.  Is this 
the correct way to do this job? 

A. Here is some sample SDL code which demonstrates what you would like to do: 

Menu: 0000
[whatever is on your main menu]
Entry:
<J>ump to your special menu
TYPE=5 KEY=J OPT DATA=0001
EndMenu:

Menu: 0001
Entry:
TYPE=1 KEY=^@ OPT DATA=[text file path]
Entry:
TYPE=45 KEY=^@ OPT DATA=0002
EndMenu:

Menu: 0002
[whatever is on your 2nd menu]
EndMenu:

In the above example, Menu 0001 is acting as a middle-man for 0000 and 0002.  
It will display the text file and pass immediate control over to 0002. 

You can also automatically display a simple text file with a Q&A file that is 
all text.  End the QAL file with a CHANGE: command to reset the user's A2 
flag.  An example of how you would set this up in SDL might look like this: 

Entry:
A2=X-------
Key=^@ Type=32
Opt Data=C:\TBBS\BBSfiles /NL

Note: The /NL switch prevents the logging of this QAL file in the dayfile.

Authoritative TBBS Menu Design...

Q. I run a corporate bulletin board, with topic areas denoted by function area 
within the company.  Most of my menus are basically the same, and none of them 
are close to having 50 entries (I prefer to use sub-menus rather than create 
complex menus).  I would, instead, like to be able to design a single menu 
using more complex authorization flags, and then replicate it to the other 
menus.  Where can I find out more about TBBS authorization flags?  I do not 
recall seeing anything in the manual. 

A. Authorization flags are fully discussed in the "Understanding How it Works" 
manual.  They are also discussed in various places in the TBBS reference 
manual.  Understanding how these flags work is a major part of gaining access 
to TBBS's power. 

Essentially, authorization flags are binary bits.  If you understand binary 
numbers (or, better yet, the concept of bits and bytes) then you know how to 
use flags.  Basically, we use X (set) and . (reset) when discussing them, but 
maybe this equivalence chart would lead to a clearer understanding: 

X = SET   = Binary TRUE  = 1 = ON
. = RESET = Binary FALSE = 0 = OFF

In a TBBS userlog record, the bits are ALWAYS either ON or OFF (everything has 
to be something).  In each menu entry, you can test to see if a flag is ON or 
OFF -- or if you don't care if a particular flag is ON or OFF  you may 
represented that by using the dash [-] character. 

Generally, people assign a single flag a particular significance.  For 
example, A1 position 3 might indicate that a user is a member of a particular 
group or department.  Any menu entries intended exclusively for that group 
would have an "X" in A1 position 3 (matching the user's A1 Userlog entry).  
Non-members would have a "." in A1 position 3 in their userlog record, and 
hence would not see any menus that test for an X there.  Menu entries intended 
for all users would have a "-" in A1 position 3, meaning that particular flag 
setting doesn't matter either way for that particular entry. 

Some additional examples of using flags are given in the "Techniques" chapter 
of the TBBS manual.  As seen in the previous tip in this column, combining the 
use of Authorization flags, auto-executing menu commands, and the ability of 
QAL to change Authorization flags based on user actions is one of the biggest 
secrets to creating a powerful, flexible TBBS installation. 

- END - 
PS0393-2
Rev. 3/93

Copyright (C) 1994 eSoft, Inc., All Rights Reserved.  Permission granted
to distribute this file in its entirety, without modification, to any
interested party.  Any other use requires the written permission of
eSoft, Inc.

IMPORTANT:  The information herein is subject to change without notice.
Please call or write to confirm factual information of importance to you
or your organization.

