Possibilities - TDBS 1.1 Release Date - August 15

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

TDBS 1.1 RELEASE DATE - AUGUST 15
---------------------------------

*** From July 1990 Possibilities Newsletter ***
*** Copyright 1990 by eSoft, Inc.  All Rights Reserved ***

TDBS 1.1 Release Date -- August 15
by Phil Becker

The development of The Data Base System (TDBS) has been the largest effort 
in the history of eSoft. In many ways the TDBS project is larger than TBBS 
itself, plus it has been developed in one third the time.  With the release 
of TDBS 1.1 (Release date August 15th) the project I began nearly three 
years ago finally reaches the goals I set for it when I began.  In many
ways, in fact, it far exceeds those goals.

Those of you who have used TDBS 1.0, already know that it is software which 
is unprecedented in the computer world.  It brings instant multi-user remote 
access to dBASE language programs.  In addition it provides capabilities 
which are not available in any other software on the market.  Like all eSoft 
products, it is so "smooth" that you often don't realize the problems you 
have avoided by using it unless you stop and think of the alternatives.

However, our phone calls and letters indicate that many who have not yet 
seen TDBS don't really understand what it is.  Some think it is a "doorway" 
to allow dBASE or Clipper to be run online.  Others think it is a dBASE file 
access program.  Still others don't have any idea at all what it is.  So 
along with indicating what is new in TDBS 1.1, I will explain exactly what 
TDBS is.

Why TDBS?

Three years ago I realized that the major missing ingredient in TBBS was 
database capability.  Over and over customers and potential customers were 
facing applications which required this capability.  At that time, I 
surveyed the database world to see what database language was most widely 
used. I wanted to provide what customers wanted, not invent "Phil's 
Database" no matter how fun that might have been.  The answer was loud and 
clear, more people used dBASE III Plus than anything else.

I determined that the proper response for TBBS was to create an expansion 
interface for TBBS 2.1 (which was under design at that time) so that I could 
provide a modular add-on to address this problem.  Why an add-on?  Because 
database languages are expensive, and not everyone needed it.  A modular 
approach allows you to buy only what you need, thus keeping costs down.  
Also, the modular system would allow other expansion capability to be 
provided as well (as has since occurred with SYSOM and TIMS).

What is TDBS?

Many who use dBASE III Plus are not aware that it is a full programming 
language, much like C or BASIC.  It is designed to make programs which are 
database oriented easy to write , but it may also be used to write many 
other types of programs.  Like BASIC, the dBASE language may be either 
interpreted (like IBM BASIC) or compiled (like Microsoft's QuickBASIC).  The 
dBASE III Plus program is an interpreter.  Other dBASE language "clones" 
such as Clipper and QuickSilver are compilers.  The Data Base System is a 
dBASE language compiler.

Because TDBS is designed to run under TBBS and provide multi-user operation 
with TBBS 2.1M, it takes a form known technically as a P-code compiler.  
This means that TDBS compiles your dBASE language source into an 
intermediate executable file which requires a run-time option module to 
execute.  Thus there are two parts to TDBS, the TDBS compiler, and the 
TDBSOM run time Option Module which is loaded into TBBS using the option 
module interface.

Once the TDBSOM option module interface is added to TBBS (through the use of 
the /O:TDBSOM command switch) TBBS becomes capable of executing any compiled 
TDBS application program.  A new menu type (TYPE=200) becomes active and you 
specify each TDBS application as a menu item in your TBBS menus.  For 
example, if you have a compiled TDBS program named ACCOUNTS, your TBBS menu 
entry to execute it might be:

TYPE=200 Opt Data=C:\PROGS\ACCOUNTS

That is all there is to placing a TDBS application online under TBBS.  It is 
instantly capable of multiuser access if you are using multiuser TBBS, and 
it is seamlessly integrated into your TBBS system.  No other programs are 
"shelled" to or required.  Only TBBS, TDBSOM, and your compiled 
applications.  Because each callout is a normal TBBS menu entry, the number 
of TDBS programs you can add to your system is unlimited.

What About Compatibility?

Since TDBS is its own compiler, questions arise about compatibility with 
dBASE, Clipper, FoxBase, etc.  The exact answer to this question is quite 
detailed, and is provided on the eSoft support BBS (303-699-8222). The file 
TDBSINFO.TXT lists every command and its level of implementation and 
compatibility.  In general  TDBS is designed to be dBASE III Plus 
compatible.  This means it operates exactly like the Ashton-Tate program 
dBASE III Plus wherever possible.

The TBBS transparent file sharing is extended to the dBASE language, so that 
multiuser programming is automatic.  If you edit fields directly, you can 
even allow multiple users to edit the same fields in the same records at the 
same time.  When one commits a change to the database, it will show 
instantly on the other user's screen!  And you never need to lock records or 
worry about arbitrating shared records or files.

TDBS will assure that your files are always correct and all indexing is 
maintained without you writing any special code.  Ask any dBASE programmer 
if this is news. He probably will tell you he doesn't believe it -- but 
that's the history of TBBS software isn't it?

Since TBBS uses only a single CPU, it also means that you can have multiuser 
dBASE without a LAN, UNIX, or other multitasker -- just DOS. I know this is 
something that TBBS users take for granted, but think about what a true 
revolution that really is.

OK Phil -- What About TDBS 1.1?

So let's "cut to the chase" and see what new features will be in TDBS 1.1.  
First of all, there is 100% dBASE III Plus compatible Memo Field support.  
This was the feature it hurt me most not to be able to get into version 1.0, 
but the deadline precluded it.

ON DISCONNECT - This is a major addition, and allows you to add a procedure 
which will execute if a caller hangs up, or is aborted by the operator.  
This means you can assure a transaction is properly finished before the 
program completes!

ARRAYS - That's right, within the memory limits available, you can now do 
Clipper style arrays in TDBS (hold the applause please).  This was not 
originally a part of the TDBS 1.1 design, but the requests were so 
overwhelming that they have been included.

COMPLEX EXPRESSIONS in Index Files.  This allows every index file construct 
which is legal in dBASE to be used in TDBS.

INDEX ON - You can now create and rebuild indexes from within TDBS.  There 
is no longer any requirement to have any other dBASE type program with this 
capability.

SET FILTER TO - Allows simple skipping of unwanted database records.

There are many more features added in TDBS 1.1, and they are all detailed in 
the TDBSINFO.TXT file on the eSoft support BBS.  It will be impossible for 
TDBS to ever be "fast enough", but TDBS 1.1 runs on average three times 
faster than TDBS 1.0 did.

Now that you know what TDBS is, you can see where all of my time for the 
last couple of years has been going!  I want to publicly thank J.P. McMillan 
who teamed with me to make this project possible.  He is an old friend from 
my college days, and probably the only person I know who would follow my 
design and do his part as well as (maybe even better than) I would.  When I 
talked him into helping me, I knew the project would be a success.

As those of you who are using it know, TDBS has indeed been a success.  
Seeing the dream of TDBS fully realized with version 1.1 is one of my most 
exciting and satisfying  personal moments.  I know all of you who use TDBS 
1.1 will agree that it finally makes multiuser dBASE programming (both local 
and remote) as simple as it should be.

- END -
PS0790-6
Rev. 7/90

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.

