Possibilities - Realities 5/91

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 5/91
--------------

*** From May 1991 Possibilities Newsletter ***
*** Copyright 1991 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 Keyword Mess...

Q. I have implemented an extensive Type 20 keyword search system with extended 
files.  There are now over 300 extended files.  I always heard it was not a 
good idea to put more than 255 files in a single directory.  What do I do? 

A. DOS has an internal buffering algorithm limitation with its directory 
tables which cause file access performance to degrade noticeably if too many 
files are placed in a single sub-directory on your disk.  This limit varies 
based on disk drive allocation cluster size, but usually occurs around 350 
files. 

TBBS will allow you to put the extended files of a Type 20 in multiple 
directories, as long as the directories are referenced on the SET TBBSPATH= 
line.  SET TBBSPATH= is documented in your TBBS manual on page 1-4 (Single 
Line) or page 1-5 (Multi-Line).  If you list all of the directories you use 
for extended files on your SET TBBSPATH= command then you can avoid the DOS 
directory limit. 

This same technique to divide the number of files in a single logical group 
(which is presented to users as a single directory listing) into separate DOS 
directories can also be used for the type 2 family of files to avoid 
overloading a DOS directory and the resulting slower performance. 

Unveiling the Secrets...

Q. I have heard that there is a way to pass parameters to a TDBS program from 
a TBBS menu.  Is this true, and if so, how do I do it? 

A. Yes, there is a function in TDBS called OPDATA() which allows you to read 
the optional data line from the calling TBBS menu into a TDBS internal string.  
From there you can parse the string for parameters as your program wishes.  
The description of this function was inadvertently omitted from the TDBS 1.1 
manual.  The syntax of this function is: 

mopts = OPDATA()

While the usage of the OPDATA() function is very simple there are some hints 
you need to know in order to use it effectively.  There is a tech note on the 
eSoft Support Board that documents OPDATA() completely.  From the Main Menu on 
the Support Board, press <T> for Tech Notes, then select file area 2 (TDBS).  
From the list of files available, you'll see TECH3.TXT.  Download and print or 
read this file for complete details. 

Errors in the TDBS documentation are reported by users from time to time.  
TDBS programmers and developers should also obtain TECH1.TXT which is a 
complete listing of all TDBS documentation errata and clarifications we know 
of at this time.  We appreciate it each time one of you takes the time to 
report such a documentation problem to us.  It helps us to inform other users 
about these problems and prevent them from having the same problems you 
experienced.  It also helps assure that future versions of the manual will be 
correct. 

NOTE: Instructions for dialing the Support Board are on the back page (Status 
Section)  of this and every issue of Possibilities. 

No Matter How Hard I Press...

Q. I have a copy of TBBS and TDBS Single Line.  I'm really enjoying the 
packages, but for some reason the cursor keys don't work if I sign on locally.  
They do work as they are supposed to remotely when I use an ANSI or VT-100 
emulation.  What's wrong? 

A. A non-repairable limitation of the TBBS 2.1 Single Line communications and 
console driver (TBBSDVR.COM) prevents cursor keys (arrow and function keys) 
from working during a local sign-on.  There are control key substitutes for 
each of these keys, which are listed on page 4-75 of the TDBS 1.1 manual 
(under the READ command) that can be used locally instead of the function keys 
themselves.  As you have seen these keys will work fine when you dial in 
remotely, this is only a local login problem (and it only exists on single 
line). 

Doing the Do...

Q. I programmed a TDBS application that uses the DOTBBS command documented in 
the TDBS manual.  It reports an error when I run the program.  I followed the 
manual, why doesn't it work? 

A. If you read the documentation for the DOTBBS command carefully you will see 
that the command is not supported unless you're using a version of TBBS HIGHER 
than 2.1.  Of course, at this writing, there is no version of TBBS higher than 
2.1, meaning that the command is unavailable to you until TBBS 2.2 is 
released.. 

We implemented the DOTBBS command in TDBS in advance so that you could take 
advantage of that functionality immediately when TBBS 2.2 becomes available 
without having to upgrade both TBBS and TDBS.  We're working as diligently as 
possible on TBBS 2.2, and when it's available, you will be able to use DOTBBS 
as documented. 

In the meantime should you wish to write a DOTBBS application "in advance" 
your program can dynamically determine whether DOTBBS is available with the 
DOTBBS() function, documented on page 5-39 of the TDBS 1.1 manual.  This 
function will tell your program if the DOTBBS command will work properly or 
not if it is attempted. 

Flipping the Bits...

Q. When I use TDBS' ULREPLACE() or ULPOKE() functions to toggle authorization 
flags or privilege level, the changes don't "stick" for some reason, at least 
not until the user's next call.  Why? 

A. Under TBBS 2.1, the changes will not take hold immediately.  TBBS 2.2, when 
available, will allow such changes to take effect right away. 

At least with authorization flags, however, you can make them take hold 
immediately in TBBS 2.1 by using a creative work around.  Q&A files, as you 
may already know, are capable of toggling authorization flags on exit.  When 
you change flags in a TDBS program, then subsequently run a Q&A file that 
toggles flags (ANY flag or flags) it will "register" the TDBS flag changes at 
the same time. 

You can get this to happen automatically by chaining the TDBS program and Q&A 
file together through auto-executing menu entries (auto-execute menu entries 
are described in the TBBS manual in the TECHNIQUES chapter, page 9-6).  The 
Q&A file needs to have only one blank comment (the text of the comment should 
be just one or two spaces), and needs to change just one of any of the 
flags...pick one that is unused for other purposes and have the Q&A file set 
it to "drag" the TDBS changes with it.

- END -
PS0591-2
Rev. 5/91

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.

