FMS File List Utility
version 2.0
Copyright 1992
by Scott Arnold


Creation of a downloadable file list in both ASCII and Compressed formats,
also makes a bulletin giving file stats.

The FMS File List Utility is released as Shareware. Information provided later
in this document.

The FMS File List Utility is very easy to set up.  It is a single executable
program that will create several files on your hard disk as necessary.  It
will work from any drive or directory, however, it is suggested that the FMS
File List Utility be put in the same directory as your FMS files.  This is
usually a subdirectory of the main board eg; C:\RBBS\DIR.

General Considerations
          
Quick Start
          
The FMS File List Utility expects to find it's fms_lst.cfg file in the same
directory that it is in.  When you first run the utility it will create the
config file for you.  If you wish to change your config settings or make a
mistake, delete the fms_lst.cfg file and start over.  It just takes a few
seconds and for some bazarre reason, my program likes the program generated
config file better than an editor generated config.  (actually is has to do
with the CR/LF that most editors put on the end of each line - my program
expects one character not two.)

During the configuration process, you will be asked for the path\name of your
DIR.CAT and FMS.DIR files (I'm using RBBS nominclature here).  You can call
these files whatever your want, the program doesn't care.  I suggest that you
enter the full path and file name, even if they are in the same directory the
fms_lst.exe is in.  Example:  d:\rbbs\dir\dir.cat & d:\rbbs\dir\fms.dir

The program will search for these files in the appropriate directories and
message you if it doesn't find the files.  You have to have these two file
and paths correct for the utility to work - or to get past these entries in
the config process.  No other edit checks than that, except it expects some
kind of answer for every question except the "ad" question.

Just run the program and answer the questions, if it breaks or doesn't work -
delete the fms_lst.cfg file and do it again.  It's that simple!

LIMITATIONS

Sorry there are a few limitations you should be aware of.

Category name - I've tested this with 2 to 12 character names and they have
all worked without a hitch.  You can even have different sized character names
in your DIR.CAT and they should work.

Category code - sorry only one allowed with this software.  This is probably
the single most limiting factor about the software.  If enough requests are
made, I can program it to accept multiple category codes per category name -
it just won't be very pretty (from a programming standpoint) or as effecient.

Description - No real limit here, just don't get carried away.  I only look at
the first 34 characters of your description, but this is the least tested area
of the software.

No. of Categories - been tested with 20, but no practical limit.  RBBS should
complain before the utility does.

No. of files - 2,147,483,648 files is the current limitation.  If you have
more let me know and I'll rewrite the software.

No. of bytes - 2,147,483,648 bytes total in your directory.  You could have
additional FMS.DIRs and increase this number.  Most of us won't bounce against
this limitation very often, however you big BBS guys could have some problems.
I can increase this to 1.7 x 10E308.  I just didn't in this version because it
never occured to me that it would be necessary until I started thinking about
it as I was writing these docs.

You also should have at least 1.5 times the size of your FMS.DIR file for
small file directories and 2-3 times the space for the larger ones.  I need
extra space for sorts, the compressed file and the text file.

This version only sorts by file name alphabetically in ascending order.  Later
versions will give other options.

FUTURE ENHANCEMENTS
          
My own personal sort.  I use Qsort by Ben Baker and the DOS sort utility to
sort the category files.  Qsort is shareware and should be registered.  You'll
probably use it for other things anyway.  When and if I ever write a more
effective sort than Qsort, I will quit using it with this software.  But until
then...
You can get by without Qsort by limiting your categories to under 700 files.
That is the magic number in my program to change from sort to Qsort.

Multiple category codes per category name/description.  Only if necessary, and
I can't personally figure out why you would need it but what the heck.

Larger category sizes.  Yep, I can see why you might need those trillion byte
directories and will adjust the software accordingly.

I ran some timings against this utility and gained the following results:
20 Categories
5143 Recs
421,726 FMS size
4:16:62

20 Categories
41,144 Recs
3,373,809 FMS size
34:16:89
That's right - from start of utility to finish, including compressing the download
file.  4 minutes, 17 seconds for 20 categories and 5,143 records.

Programmers note:
The FMS File List Utility was written with Microsoft C 6.0 and Borland C++ 3.0. 
This specific version was compiled for 8088 code, but I anticipate moving to
80286/80386 compiled code with any new versions.  I used a Large model and
compiled for speed.  When I originally wrote this program I thought about ways
to speed it up even more while still maintaining some versatility in the
product.  One of my thoughts was to read the FMS.DIR file only once and put
the individual records in temporary "category" files.  My major concern was
that to be versatile, I had no real knowledge as to how many categories the
FMS might have and with a larger BBS could run out of file handles if I left
the files open.  The obvious answer was to open, write to, and close each
category file as necessary, thus limiting the need for additional file handles.
Big problems occured when I tried this method out.  I began to thrash my hard
drive and the utility was actually slower than with the multiple FMS.DIR read
that it currently uses.  I was so concerned about the hard drive that I didn't
even test with my really big file of 41,000 plus files and a 3.6 Meg FMS.DIR.
The current version of the software is the quickest running and provides the
least hard disk problems of the two methods tried.

SPEED TRICKS
I recommend two tricks to speed up this utility and provide the least wear and
tear to your hard drive.  Deframent your hard drive regularly.  I run Norton
Utilities Speed Disk on my 2 hard drives at least once a week.  Also, use a
disk cache.  My personal favorite is Adcache, but there are a number of good
products available. This utility reads a lot more that it writes and a good
disk cache will greatly enhance the speed.

Suggestions will be taken very seriously as there are as many different RBBS
configurations as RBBS's out there and maybe a useful function to all has been
totally overlooked.  ANY feedback is appreciated.

RELEASE HISTORY
Version 1.0:                                            
   02/10/92
   Initial Release
          
Version 1.1:                                            
   02/15/92
   Major enhancement included variable sized category names.
   Minor enhancement included directory and category totals in Downloadable file

Version 1.2:
   02/20/92
   Multiple compression types supported
   Added Bulletin feature
   Added BBS AD feature
   Added automatic configuration

Version 1.21:
   02/22/92
   Bug fix version only, found 2 bugs.
   1)  Wouldn't delete downloadable text file, even with config file set to 
       yes.  Actually a simple matter of mismatched brackets in my C code.
       Very easy fix, almost embarrassed to admit I let this one slip by.
   2)  Bulletins only produced the first line of print.  Another really stupid
       mistake on my part.  Forgot the CR/LF in my print statement.  Worked
       when I typed the file, but RBBS needed the CR/LF.  Done!
          
Version 2.00
   03/09/92
   Enhancement version.
   Added chained FMS directory support to the utility.  It's been tested with
   5 directories, 25,960 files and a little over 2 Gig of file sizes.  This
   change cost me 2 Gig of reportable files.  For some reason my counter
   became signed and switched to negative when it hit 2 Gig.  Will do a bug
   fix later, but this won't effect most of you.

SHAREWARE
There should be no need to explain the intricacies of ShareWare to a sysop.
Also a plea is tiresome.  There are some distinct advantages to registering
The FMS File List Utility, aside from the fact that it is the right thing to
do.  Bug fix releases are free.  Additional RBBS sysop utilities are available
for registered users.

Registration Version 2.0 is $10.00.
Registration Address and Checks payable to:
                   Scott Arnold
                   11715 Oak Knoll
                   Austin, Tx  78759
          
SUPPORT BBS:
Rendezvous
(512) 219-9396
