home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac
/
fmsffs31.zip
/
FMSFFS.DOC
< prev
next >
Wrap
Text File
|
1994-08-01
|
31KB
|
686 lines
===============================================================================
From the RBBS Files of FMSFFS v3.1 Copyright (c) 1993,1994
The Cellar Door RBBS By: Daniel T. Drinnon * All Rights Reserved
Sysop: Dan Drinnon ===============================================
Home of the CDOR Mods!
===============================================================================
Purpose:
To maintain RBBS FFS and FMS files. Supports Stock and CDOR RBBS. Not
crippled in any way.
===============================================================================
Usage:
FMSFFS [ConfigFile]
ConfigFile is optional. The default ConfigFile name is FMSFFS.CFG in
the current directory.
===============================================================================
Included Files:
FMSFFS EXE - the program
FMSFFS 286 - the program for 286 cpu's and up
FMSFFS DOC - this documentation
FMSFFS CFG - sample configuration file
FMSFFS ASK - contribution form
FILE_ID DIZ - description file
===============================================================================
ConfigFile Options:
The configuration for FMSFFS can contain the following selections:
-----------------------------------------------------------------------------
LogFile [drive:][path][filename]
FMSFFS can log activity to the log file if specified here.
Default: NONE
-----------------------------------------------------------------------------
LogLevel n
LogLevel controls the level of log activity to be recorded to LogFile. A
value of 0 only records the Begin, End and Abort events. A value of 1
or records the Begin, End, Abort and Duplicate Files found. A value of
2 records all activity except Duplicate Files found. A value of 4
records ALL activity.
Default: 0
-----------------------------------------------------------------------------
WorkDir [drive:][path]
When FMSFFS is running, it creates and uses up to 4 work files. You may
select to have these files created on a RAMDRIVE for extra speed during
processing. The WorkDir must have room for approximatly 3 copies of your
FMSFile and approximatly 2 copies of your NameFile. If the WorkDir
cannot be found, the the DEFAULT PATH will be used. FMSFFS will
automatically Exclude work files it creates which may also be
located withing a FileSpec.
Default: DEFAULT PATH
-----------------------------------------------------------------------------
UseEMS
UseXMS
When FMSFFS is running it will SHELL to run the Sorter program and, if
enabled, the ZIP, PAK, or ARC Command program to extract FILE_ID.DIZ
files. UseEMS and UseXMS tell FMSFFS to use EMS and/or XMS memory to
store the image of FMSFFS.EXE to give back more RAM during a SHELL. If
both UseEMS and UseFMS are not enabled, then FMSFFS will write its image
to DISK.
Default: EMS and XMS DISABLED
-----------------------------------------------------------------------------
NoSwap
NoSwap will disable EMS, XMS and DISK SHELL swapping. Normally, you will
always have enough coventional RAM to run the Sorter and Archive programs,
so it is reccomended that this option is enabled.
Default: No EMS, XMS or DISK SHELL SWAPPING
-----------------------------------------------------------------------------
Sorter [drive:][path][filename]
FMSFFS must have an external sort program to sort the FFS and FMS files.
This program must be able to do an ALPHABETICAL sort and also most be able
to sort on different COLUMNS in a file.
Default: QSORT
-----------------------------------------------------------------------------
AlphaSort [...]
This is the command line given to the Sorter to do a basic alphabetical
sort on an FFS or FMS file.
Default: NONE
-----------------------------------------------------------------------------
DateSort [...]
This is the command line given to the Sorter to do a DATE sort on an FMS
file.
Default: /30:2 /24:5 /-1.
-----------------------------------------------------------------------------
NameFile [drive:][path][filename]
The NameFile is the "FIDX.DEF" RBBS index file.
Default: FIDX.DEF
-----------------------------------------------------------------------------
LocationFile [drive:][path][filename]
The LocationFile is the "LIDX.DEF" RBBS list file.
Default: LIDX.DEF
-----------------------------------------------------------------------------
TabFile [drive:][path][filename]
The TabFile is the "FIDXT.DEF" RBBS tab file. RBBS expects this file to
be the same as the NameFile with a "T" before the "." in the name.
Default: FIDXT.DEF
-----------------------------------------------------------------------------
WriteMode [REPLACE|APPEND]
WriteMode tells FMSFFS how to handle your existing FFS files. In
normal use, you will want FMSFFS to REPLACE the FFS files with the
new FFS files it builds. Otherwise, FMSFFS will APPEND FFS information
to your existing FFS files.
Default: REPLACE
-----------------------------------------------------------------------------
MakeRFM
If you use Warren Muldrow's RFM mod then you want to uncomment this
option. The CDOR and MAPLE mods automatically detect an RFM modifed FFS
NameFile. Stock RBBS does not support RFM.
Default: NOT ENABLED
-----------------------------------------------------------------------------
CDROMDrive E
If you are using the RBBS/CDOR CDROM mod then you may want to uncomment
this option. The CDOR mods automatically detect a CDROM modified FFS
NameFile. Up to 255 CDROMDrive's may be specified. Stock RBBS does not
support RFM. Only use this option for the CDOR9404 and later mods.
Default: NOT ENABLED
-----------------------------------------------------------------------------
DirectoryExclude [drive:][path][filename]
If you use the "/S" FileSpec option and there are specific subdirectories
you do not want included in the FileSpec search, then you can exclude them
with this option. The [filename] must match the FileSpec [filename] for
FMSFFS to match and exclude. You may specify up to 255 FileSpecExclude's.
A subdirectory may only be excluded if FMSFFS knows to exclude it when
scanning for subdirectories specifed with the FileSpec option and the /S
feature. Therefore, be sure the DirectoryExclude option is listed BEFORE
the FileSpec option in your FMSFFS.CFG file.
Default: NONE
-----------------------------------------------------------------------------
NeverDelete [drive:][path][filename]
FMSFFS will not delete any files during any RFM operations is you give the
FULL path and filename here. Up to 255 NeverDelete's may be specified
here.
Default: NONE
-----------------------------------------------------------------------------
FileSpec [drive:][path][filename] [/S] [path] [days]
The FileSpec tells FMSFFS the location of your BBS files. Normally, you
will want to make the [filename] be "*.*". When you include a "/S", then
FMSFFS will search ALL subdirectories below the FileSpec for matches to
the [filename]. If you are using Warren Muldrow's RFM mod and have
uncommented the MakeRFM config option, then you can also specify a path
and number of days to delete files which have not been downloaded or
viewed for the number of days specified. Up to 1000 subdirectories may be
given to the FileSpec however, FMSFFS will always check for available
program memory and print an exclamation mark "!" when you have specified
more FileSpec's than FMSFFS can handle.
Default: NONE
-----------------------------------------------------------------------------
FileNameExclude [filename]
If you need to prevent FMSFFS from adding specfic files it finds to your
FMSFile, then you must tell FMSFFS the NAME of each file here. You may
specify up to 255 FileNameExclude's.
Default: NONE
-----------------------------------------------------------------------------
BulletinFile [drive:][path][filename] [days]
If you are using Warren Muldrow's RFM mod, have MakeRFM uncommented, AND
specified a path and days for FileSpec, then you can also have FMSFFS
create a Bulletin File listing files which will be deleted soon. The
days paramter tells FMSFFS the cutoff days to list files to be deleted.
For example, if the FileSpec [days] is 30, the BulletinFile [days] is 20
and today is the 1st of the month, then all files in the FileSpec
directory which have NOT been downloaded or viewed will be listed in the
bulletin starting on the 10th (20 days before they will be deleted). The
RBBS naming convention for BulletinFile applies here. If BulletinFile
is C:\RBBS\BULLETIN\BOLDIES, the FMSFFS will make OLDIES, OLDIESG,
OLDIESC and OLDIESR (RIP). The RIP version of the BulletinFile will also
use the CDOR SmartText {SO and {SN. Stock RBBS will just output 2
spaces for these characters. If the filename you specify is 8 characters
long, then FMSFFS will only use the first 7 characters.
Default: NONE
-----------------------------------------------------------------------------
DirString [...]
If you are using RBBS macros in your FMS, then you must identify them here
so FMSFFS can properly handle them. It is beyond the scope of this
documentation to explain how to use RBBS macros in you FMS files. Please
consult RBBS Documentation and also look at the files contained within
RBBS-UTL.ZIP for further information.
Default: NONE
-----------------------------------------------------------------------------
FileDir [drive:][path][filename]
FileDir works in conjunction with the DirString option. If you do use the
DirString and FileDir options with RBBS macros, please be sure that the
FileDir files are formatted the same as your FMSFile. In otherwords, each
line in the FileDir should have the same number of characters as in your
FMSFile.
Default: NONE
-----------------------------------------------------------------------------
FMSFile [drive:][path][filename]
FMSFile is the name of your RBBS FMS file to process. FMSFFS will only
process your FMSFile(s) listed here if they are specified. FMSFFS will
not follow an \FMS CH() specification, so if you do chain your FMS files,
then list each one here. Up to 255 FMSFile's may be specified.
Default: NONE
-----------------------------------------------------------------------------
FMSIndex
If you are using the RBBS/CDOR Times Downloaded mod and you update the
Times Downloaded values while callers are online then you may want to
uncomment this option. With this option, FMSFFS will create an FMSFile
INDEX with the name of the FMSFile and the filename extension of .IDX.
The CDOR mods will look for this file and use it if found which will
result in faster updating of the Times Downloaded field. The FMSFile
INDEX is also used with the SYSOP8 mod when deleting FMS entries. Only
use this option for the CDOR9404 and later mods.
Default: NO INDEX
-----------------------------------------------------------------------------
FMSFormat [...]
FMSFormat tells FMSFFS how to sort the FMSFile. By default, FMSFFS will
sort your FMSFile by "backwards" date. Otherwise, FMSFFS will look for
"TOP" and/or "NOSORT" in the FMS Header and honor those settings.
Default: NONE (date format)
-----------------------------------------------------------------------------
FMSAlpha [drive:][path][filename]
FMSFFS will optionally create an alphabetically sorted FMS file for you if
you specify a filename here. There is very little overhead to create an
FMSAlpha file because FMSFFS will have a alphabetically sort FMS list
during its process which is used internally and can also be used for this
option.
Default: NONE
-----------------------------------------------------------------------------
FMSAlphaHeader [...]
If you specified an FMSAlpha file, then FMSFFS will insert the
FMSAlphaHeader on the FIRST line of the FMSAlpha file. When RBBS is set
up with an FMS system, the FMSAlphaHeader is required to tell RBBS how to
handle the list.
Default: \FMS TOP NOSORT
-----------------------------------------------------------------------------
FMSDate [...]
FMSDate tells FMSFFS how to date FMS entries. If FMSDate is set to ".",
then FMSFFS will use the physical file date as reported by DOS. FMSDate
with no parameters will tell FMSFFS to use the date as listed in the
FMSFile UNLESS the physical file date as reported by DOS is NEWER than the
FMSFile date. This keeps your FMSFile updated as BBS files get updated,
placing updated BBS files towards the newer part of the FMSFile list.
Default: NONE (use FMSFile date)
-----------------------------------------------------------------------------
DateSeparator [.]
DateSeparater is a one character value which you would like FMSFFS to use
for date listings in the FMSFile. If this option is not enabled, then the
standard date separator is a dash "-".
Default: -
-----------------------------------------------------------------------------
FMSDupePath [...]
If FMSFFS finds any duplicate files, it can move these duplicate files to
a hold directory you specify here. FMSFFS will move the duplicate file
which is on the lower numbered drive. For example, if a duplicate file
is found in C:\RBBS\FILES and E:\BBS\RBBS, then the file in C:\RBBS\FILES
would be moved to the hold directory. If NO path is specified, then
FMSFFS will simply DELETE the duplicate file.
Default: NONE (do not move dupes)
-----------------------------------------------------------------------------
FMSMissing [...]
FMSMissing is a 9 character (or less) text string to be placed in the File
Size field of the FMSFile listing for any FMSFile entry which FMSFFS
cannot find in the FileSpec or FileDir specifications.
Default: NONE (delete missing FMS files from the FMSFile)
-----------------------------------------------------------------------------
UnKnownDesc [...]
If FMSFFS finds files NOT listed in FMSFile, then it will automatically
add the file to the FMSFile and give it the description you specify here.
In the event of CHAINED FMSFiles, the unlisted file will be added to the
FIRST FMSFile listed in the FMSFFS.CFG file.
Default: "<Description Unavailable>"
-----------------------------------------------------------------------------
FILEID [filename]
FMSFFS will search all ZIP, ARC and PAK archived files for FILE_ID.DIZ (or
whatever filename you specify here) and import the FILE_ID.DIZ text into
the FMSFile description. The FIRST line in the FILE_ID.DIZ will be used
as the MAIN description and any remaining lines in the FILE_ID.DIZ will be
placed in the extended description. It will take longer for FMSFFS to
look inside archived files for the FILE_ID.DIZ file, so you should only
run FMSFFS with this option ONE TIME.
Default: NONE (do not look)
-----------------------------------------------------------------------------
GIF
FMSFFS will add GIF dimensions (ex: (640x480x256)) to all GIF files listed
in the FMSFile to the MAIN FMSFile description. FMSFFS will only extract
the GIF dimensions and place them in the FMSFile when the FIRST character
of the MAIN FMSFile description does NOT start with "(". The original
description will then be appended to the end of the dimensions. It will
take FMSFFS longer to extract this information from each GIF file in your
FMS so you should run FMSFFS with this option ONE TIME.
Default: NONE (do not extract)
-----------------------------------------------------------------------------
KeepExtended
FMSFFS will not overwrite an existing FMSFile extended description if
this option is enabled.
Default: OVERWRITE
-----------------------------------------------------------------------------
MaxExtendedLines [n]
FMSFFS will limit the number of Extended Description lines by what you
set here. The maximum allowable extended lines per filename is 199.
Default: 10
-----------------------------------------------------------------------------
CategoryChange [old] [new]
FMSFFS can change Category Codes in the FMSFile by using this option.
Both the [old] and [new] paramters must be specified. The [old] and
[new] paramters should be the same length as the FMSCatLen. You can
specify up to 255 categories to change. CategoryChange's will be
processed BEFORE CategoryDirChange's.
Default: NONE
-----------------------------------------------------------------------------
CategoryDirChange [directory] [category]
FMSFFS can change Category Codes in the FMSFile by using this option.
Both the [directory] and [category] paramters must be specified. The
[category] paramters should be the same length as the FMSCatLen.
You can specify up to 255 categories to change. CategoryDirChange's
will be processed AFTER CategoryChange's.
Default: NONE
-----------------------------------------------------------------------------
FMSCatCode [...]
FMSFFS will use the category code specified here for the FMS category for
any files it finds not listed in FMSFile. This option must be a 3
character string.
Default: 999
-----------------------------------------------------------------------------
FMSDescLen [..]
FMSFFS can CHANGE the description length of your FMSFile descriptions by
what you specify here. There is no upper or lower limit for this option.
Default: 46
-----------------------------------------------------------------------------
FMSExtra [..]
FMSFFS can handle 1 extra FMS FIELD in your FMSFile, such as the Times
Downloaded information optionally available with the CDOR mods. If any
extra information is included in your FMSFile, then its LENGTH must be
specified here. This field must also be located after the FMS description
and before the FMS category. FMSFFS currently uses FMSExtra specfically
for the CDOR Times Downloaded mod.
Default: 0
-----------------------------------------------------------------------------
FMSCatLen [.]
This is the length of the Category CODE in the FMSFile. With current
versions of RBBS, this length should always be 3.
Default: 3
-----------------------------------------------------------------------------
ZIPCommand [filename]
This is the command to unZIP. It is used in conjunction with the FILEID
filename.
Default: PKUNZIP
-----------------------------------------------------------------------------
ARCCommand [filename]
This is the command to unARC. It is used in conjunction with the FILEID
filename.
Default: PKXARC
-----------------------------------------------------------------------------
PAKCommand [filename]
This is the command to unPAK. It is used in conjunction with the FILEID
filename.
Default: PKUNPAK
===============================================================================
Notes and Pratical Applications:
Speed
FMSFFS has been tideously coded to give the highest throughput during its
runtime operation. There are certain configuration options that will
affect the speed of FMSFFS's processing time:
WorkDir -
Your WorkDir should be a RAMDrive or your fastest Hard Drive.
UseEMS,UseXMS -
Any time FMSFFS SHELLS to sort files, it will swap itself to
EMS,XMS or DISK for more memory unless you turn these options
off and use the NoSwap option. Generally, you will not want to
use EMS, XMS or DISK swapping unless your system does not have
enough memory to run the ZIP, ARC or PAK commands. These options
will most noticably slow FMSFFS down when FILEID is active.
MakeRFM -
When this option is enabled, FMSFFS must reindex the FIDX file.
This does not take much time, but does add an extra process to
the operation.
FileNameExclude, DirectoryExclude -
If you exclude Filenames or Directories, then FMSFFS must check
the FileSpec's you told it to look in for matches. The more
exclusions, the longer it takes.
CategoryChange, CategoryDirChange -
When changing categories, FMSFFS must check for matches for every
file in your FMS. The more Categories you change, the longer it
will take. These 2 options should normally only be used once.
FMSFile -
When FMSFile is specified, then FMSFFS will process your FMS
after processing your FFS. If all you need to do is process
your FFS files, then comment FMSFile out. When CHAINING FMS
files, FMSFFS must reindex each file in your FMSFiles which
invloves one extra process while FMSFFS runs.
FMSAlpha -
Creating an FMSAlpha file will slow FMSFFS down slightly.
FMSMissing -
When you have FMSFFS check your FMSFile for filenames which are
not on your HD or CD-ROM, then FMSFFS will verify your FMSFile
against the FIDX files before processing the FMSFile.
FMSDupePath -
If FMSFFS must copy all duplicate files it finds, then there will
be some slowdown. This option should normally be run only once.
FILEID,GIF -
Needless to say, checking archived files for FILE_ID.DIZ files
will take a lot more time than a normal run. You should only
use these options once on an FMSFile you want to add FILE_ID.DIZ
descriptions and/or GIF dimensions to. CD-ROM drives will
greatly affect FMSFFS's operation depending on the speed of the
drive. For every filename in your FMSFile, FMSFFS will open and
search for FILE_ID.DIZ or extract the GIF dimensions, depending
on the filename's extension.
KeepExtended -
This option will stop FMSFFS from looking for FILE_ID.DIZ in
files listed in your FMS which already have an extended
description.
In summary, the following options, in descending order, are the
biggest time hogs with FMSFFS:
FILEID
UseEMS,UseXMS (with FILEID)
GIF
FMSDupePath (when moving duplicates)
FMSMissing
The other options listed above affect FMSFFS's operation acutely.
Daily Operations
There are basically 2 ways to use FMSFFS in a day-to-day basics for
your BBS. As a daily event, you can run FMSFFS against all your BBS
files for regular maintenance. If you run a front end system such
as BinkleyTerm or Front Door, sometimes your system may receive
network files which you process with a "TIC" tosser. If your "TIC"
tosser places incoming network files anywhere BUT your default RBBS
upload subdirectories, then callers will see the new file in your
FMSFile list, but will not be able to download it because it is not
in the FFS FIDX.DEF list. So, you can make part of your "TIC"
processing also run FMSFFS, but, make FMSFFS use a special
FMSFFS.CFG file which has the FMSFile line commented out. This will
make FMSFFS rebuild the FFS files only and save time by not processing
large FMSFiles.
Periodic Operations
Occasionally, you may want to run FMSFFS with the FILEID and/or GIF
options enabled to catch missing FILE_ID.DIZ descriptions and GIF
dimensions in your FMSFile.
Making New FMSFiles
FMSFFS does not need an existing FMSFile to run. If the FMSFile
is not found, then it assumes you want to make a new one. When
this happens, all FMSFile entries will have the UnKnownDesc for
the description and the current date unless you are using the "."
for FMSDate.
You may want to make use of the CategoryDirChange to assign categories
to FMSFile entries based on their subdirectory location.
Because of the way FMSFFS operates, you must have an existing FMSFile
to use the FILEID and/or GIF options. Even if these options are
enabled, they will not be active when FMSFFS is creating a NEW
FMSFile. To use these options, run FMSFFS a second time.
RFM considerations
When you are using the MakeRFM option, FMSFFS uses your current
FIDX.DEF file to extract the FIDX.DEF DATE field. This means
FMSFFS has to search through your old FIDX.DEF file for matches to
the creent FIDX.DEF file that FMSFFS creates. This is normally not
a problem, but if you were to exclude files from your FMS that were
previously in your FMS, then FMSFFS has to go through more data
in the old FIDX.DEF to find a match. This may slow the process down
and if it does, you may want to just DELETE your old FIDX.DEF and
let FMSFFS make a new one.
FMSFFS handles the RFM procedure the same as Warren Muldrow's RFM
does in respect to the FMSFile specification. For example, the
following line:
FileSpec C:\RBBS\FILES\*.* C:\RBBS\OLDFILES 180
Means all files in C:\RBBS\FILES will be moved to C:\RBBS\OLDFILES
after 180 days inwhich any file in this subdirectory was not viewed
or downloaded. Needless to say, you do NOT want to use the RFM
options unless your RBBS can handle it. Further:
FileSpec C:\RBBS\FILES\*.* /S C:\RBBS\OLDFILES 180
Means files below C:\RBBS\FILES will be moved as well when their time
has come.
Duplicate Names
If FMSFFS comes across duplicate filenames, it will only use the
first file found for the FFS and FMS files. The order of the
first file is determine by the FileSpec. If FMSDupePath is uncommented,
then FMSFFS will move the duplicate to a holding area if you
specify a path, or simply delete the duplicate if there is no path
specified.
ESC
To abort FMSFFS, press ESC! When you do this, FMSFFS will restore
as much as possible before finishing.
Temp Files
FMSFFS will create, use and delete various work files. Given your
NameFile is FIDX.DEF and your FMSFile is MASTER.DIR, the following
files will be created, used and then deleted in the current directory
FMSFFS is excuted in or the WorkDir, if specified:
FIDX.WRK
MASTER.WRK
MASTER.SRT
MASTER.EXT
Drive Space
FMSFFS will make sure there is enough drive space (WorkDir or otherwise)
to process its files. However, since the files created are dynamic the
the sizes of these files cannot be predicted. Therefore, if FMSFFS runs
out of drive space, it will abort and restore the original FFS and FMS
files.
===============================================================================
History:
061993 - * Initial BETA release
062693 - * Fix for extended descriptions with same dates in a date ordered
FMS but NOT in alpha order as secondary sort causing problems.
* Fix for FMSDate "." option
071093 - * some fixes for creating final master.dir file with no ext. desc.
073193 - * Beta release of version 2 Beta
080193 - * fix for alpha.dir header and format output
* fix for \FMS lines
* fix for entries in FMS.DIR not online trashing FMS.DIR
* enabled FMSMissing Option
080293 - * fix for rfm type fidx file going skewed with unlisted files
080893 - * fix for invalid DOS filedates when using FMSDate .
030694 - * Version 2.1 is now from the BASIC version due to problems with
previous C versions.
070494 - * Version 3.0 Major Revisions in code!
070794 - * Added FMSIndex option
Improved Speed and Fixed Problems with FMSMissing Option
Added Files/Sec reporting
Fix for \FMS not being honored when running non-date FMS
Fix for /S not working with non *.* filespecs
Added CategoryDirChange
Added WorkDir and Drive Space checking
080193 - Version 3.1
===============================================================================
DANIEL T. DRINNON IS NOT RESPONSIBLE TO YOU FOR DAMAGES, INCLUDING BUT NOT
LIMITED TO, ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, GENERAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING
BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS) OR ANY OTHER LOSS EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
================================================================================
Liscense:
You are authorized to USE this program as long as you would like.
This program is fully functional as distributed and requires NO
registration or intervention for it's execution. Contributions
are gladly accepted - see FMSFFS.ASK!
================================================================================
Dan Drinnon
The Cellar Door RBBS
505-784-3187
FidoNet: 1:318/1
RBBSNet: 8:903/2