home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac_os2
/
mfile120.zip
/
MAXFILE.DOC
< prev
next >
Wrap
Text File
|
1994-08-30
|
32KB
|
875 lines
_____________________________________________________________________________
| |
| MaxFile/2, a text based files.bbs manager |
_____________________________________________________________________________
Portions of the header files used in compilation are:
Copyright (C) 1992, Scott Dudley
Copyright (C) 1994, Marco Maccaferri
From the Development Team of:
Ronald Van Iwaarden 1:104/338 MaxFile/2 Development
Craig Morrison 1:201/60 MaxFile/PM Development
Special Thanks go out to:
Scott Dudley For making Maximus the great BBS that it is!
Marco Maccaferri For providing the Lora structures and Lora itself
Rick Ford Keeping me up to date with the Lora-BBS information
Walter Bright MEM.C, a package to track pointer bugs.
If I missed anyone, well...you know who you are! Thanks!
Forward:
--------
For about 12 months, I have been getting by using (H)url to
move files from one area to another and then pulling up an external
editor to try and manipulate file descriptions. Needless to say, this
got very tedious and to try and get around this, I searched for an
OS/2 based file manager. As many of you know, there was none so I set
out to write my own. MaxFile/2 is the cumulation of all that effort
to date.
I originally only wanted a manager to edit descriptions, move
files and change archive types (I like all ZIPs). As time went on and
as people found out about my efforts, creeping featuritis began to
set in and MaxFile/2 is now IMHO, the most powerful file manager
available to Max/2 sysops. It is multi-threaded, has most every
feature found in many popular DOS based file managers, and it is fully
32-bit.
MaxFile/2 is also always in need of improvement. If you have
any suggestions or bug reports, feel free to let me know at any of the
addresses at the end of this document. The Internet address is
probably the most stable of the addresses given as I hope to complete
my PhD in applied mathematics in the next year (mid 95) or so and
completing my degree will probably take me to another part of the
country given that I find a "real" job.
Support will always be given in the OS2Prodsupport echo, the
OS2BBS echo, the MUFFIN echo and the MFilePMSUP echo which are
available at the Fernwood BBS as well as many other quality OS/2
Fidonet BBS's throughout the world such as my own. Support will also
be given via mail to any of the addresses that are given at the end of
this document.
How it works: -------------
MaxFile/2 is a menu based file manager that is similar in
appearance to most file managers that you might have encountered for
normal file management. There are three main menu options: File which
does many manipulations on files, Sort which will sort the files.bbs
on the name, date or size field, and Description which will allow you
to manipulate the description of any given file in the files.bbs.
These menus are brought down by pressing the key <alt-F>, <alt-S> or
<alt-D> respectively.
The remainder of the top line is used for filling you in on
the status of the threads that may be running in the background.
Immediately following the word Description, file names will appear when
their archive types are being changed. At the far right of the top
line is where file names are displayed when they are files (GIF, JPG,
BMP, TIF, PCX, TXT) that are being displayed by the external viewer.
This is done so that you can then edit the description while you are
viewing the file.
If you ever have any questions, pressing <F1> will bring up a window
with a description of your present options. This does not yet work
for all situations but it does work for the areas where you have the
greatest number of choices.
Installation:
-------------
First, move the file emx.dll to somewhere in your libpath and
then edit the file maxfile.cfg to fit your setup. Now, just run it and
you should be set.
Config file key words:
----------------------
MaxFile/2 uses a simple text based configuration file to set
up some basic parameters. The key words and their descriptions will
follow here:
KEY xxxxxxx
This is the registration key for your copy of MaxFile/2. If you do
not have a registration key, the easiest way to get one is to send in
the enclosed registration form! :-). If you do not have one, put any
number here and there will be a two second public service message at
the beginning of the program before you can continue.
BBS_TYPE xxxxx
This is the type of BBS you run. Right now, only Maximus, Lora, and
SuperBBS are supported. If you run a different type of bbs that uses
a standard files.bbs, contact either of the authors about getting
support for your type of bbs. There is also, now, support for a
"generic" type of BBS. The only restriction is that the BBS must use
a files.bbs approach to cataloging files. See the later section
"Generic BBS configuration" for more information on how to set up this
type of BBS.
FBP d:\max\fbp.exe
This is the command line for your file index maintinance utility. For
Maximus sysops, this is either fbp.exe or fb.exe. If you are a Lora
sysop, this program is called fileidx.exe. Lora sysops also need to
include the index file that is to be updated. For example, if you
want to update the allfiles.idx index file, you would have the line
"FBP g:\lora\fileidx.exe fileidx.idx" instead of the above line.
AutoFB YES|NO
This determines whether or not FB (or FBP) as defined above will
automatically be run on the changed file areas when MaxFile/2 exits.
MAXDIR d:\max
This is simply where you keep MAXP.EXE and all the related utilities.
It is necessary.
TEMPDIR d:\temp
This is a directory were all work can be done. This is only used if
you have not defined the TMP environment variable in which case the
directory stored in TMP will be used. If you have defined neither the
TMP directory or the above TEMPDIR, MaxFile/2 will create
sub-directories off of the present directory to do it's work.
sysinfo d:\max\area.dat
This is the location of your file area system information. For
Maximus sysops, this is your area.dat file and for Lora sysops it is
the sysfile.dat file. Simply give the full path for this file.
DATE (YES|NO)
This config verb simply sets the default status for displaying the
date. That is, it the verb is set to NO, then the date will not be
displayed in a window for each file as default (it can be toggled
back on easily enough if wanted).
SIZE (YES|NO)
This config verb simply sets the default status for displaying the
file size. That is, it the verb is set to NO, then the file size will
not be displayed in a window for each file as default (it can be
toggled back on easily enough if wanted).
WRAP (YES|NO)
This config verb simply sets the default status for displaying the
file description. That is, it the verb is set to NO, then the file
description will not be wrapped as the default. (it can be toggled
back on easily enough if wanted).
Window1Area 0
Window2Area 1
These are the areas in which the two window will open up in. The
default is area 0 and 1 (This does not necessarily the same as in your
filearea.ctl) as defined by the area change window.
GIF joeview
JPG joeview
BMP joeview
TIF joeview
PCX joeview
TXT e
These are the commands for viewing GIF, JPG, BMP, TIF, PCX, or TXT files
respectively. They do not have to be the same and the default is for
them to not be installed and they do not have to be the same command.
It is assumed that it will take a file name on the command line. For
example, if I type "joeview os2.bmp", Joeview will come up with
os2.bmp as the image.
LowPriRearchive (YES|NO)
This sets the priority level at which the file re-archiving is done.
If it is set to YES, the priority level of the re-archiving is set to
Idle, delta 1. If it is set to NO, then the re-archiving is done at
the level at which MaxFile/2 is running. The default is YES
DefDescription xxxxxxxxxxxxxxx
This is the description given to files that are adopted and do not
have a file_id.diz or desc.sdi in the archive. It can be up to 60
characters long and can have any ascii symbols you want.
VirusCheck os2scan.exe /nopause /report c:\cprog\maxfile\virscan.log
An External virus scanner can be used. The expected format for this
command is that the scanner is run, taking a directory on the
command line and all files in that directory will be scanned. The
return code is expected to be 0 if no virii are found and non-zero
otherwise. The example here is for Ann Mcafee's oscan.exe. The
scanner is run in a separate session so you can watch it's progress.
zip_extract unzip -x -o -U
zip_add zip -9 -r
zip_list unzip -v
zip_test unzip -t
These describe the command line for dealing with .zip files. It is
assumed that the archive is taken as argument 1 (after the above
string) and, for extraction, the files to be extracted are taken as
further arguments. The example given should work for most Max/2 sysops
arj_extract unarj e
arj_add
arj_list unarj l
arj_test unarj t
These describe the command line for dealing with .arj files. It is
assumed that the archive is taken as argument 1 (after the above
string) and, for extraction, the files to be extracted are taken as
further arguments. The example given should work for most Max/2 sysops
lh_extract lh x
lh_add lh a
lh_list lh l
lh_test lh t
These describe the command line for dealing with .lzh files. It is
assumed that the archive is taken as argument 1 (after the above
string) and, for extraction, the files to be extracted are taken as
further arguments. The example given should work for most Max/2 sysops
arc_extract arc x
arc_add arc a
arc_list arc l
arc_test arc v
These describe the command line for dealing with .arc files. It is
assumed that the archive is taken as argument 1 (after the above
string) and, for extraction, the files to be extracted are taken as
further arguments. The example given should work for most Max/2 sysops
WrapComents (YES|NO)
Since many times, you just want to see that the comments are there so
that you can see the spacing, this keyword will prevent the
descriptions of the comments from being wrapped, no matter what is
done with the rest of the window.
Touch_Adoptee (YES|NO)
This determines whether or not a file is to be "touched" (file date
brought up to the current date) when you adopt it. The default is YES
AutoAdopt (YES|NO)
This determines whether or not to automatically adopt the orphan files
in a file area when you enter a new file area.
adopt zip
This keyword simply describes what sort of file extensions to look for
when adopting orphaned files. You can have up to 15 of these lines.
ColourName BLUE
ColourReadOnly CYAN
ColourSize MAGENTA
ColourDate GREEN
ColourDesc RED
ColourHighlight YELLOW
This is where you can set up the colours for MaxFile/2. They are
fairly self explanatory. The possible colours are Black (not
recommended), RED, BLUE, MAGENTA, WHITE, GREEN, CYAN, BROWN, and
YELLOW.
DupIgnoreExtension (YES|NO)
If this keyword is set to yes, then MaxFile/2 will ignore the
extensions of file names when searching for duplicates.
American_date (YES|NO)
If this keyword is set to yes, then dates will be displayed in the
form mm/dd/yy. If it is set to no, then dates will be displayed in
dd/mm/yy format.
ExtendedDesc ?
If your BBS supports using extended descriptions in the files.bbs,
enable this keyword and replace the '?' with the special character
that is used by your BBS system to identify extended descriptions. If
you are a Maximus user, leave this line commented out. For example if
your files.bbs can look like the following:
myfile.zip This is a file for which I have decided to use an extra
> long description. The special character for my BBS type is
> the '>' which indicates that the comment for the previous
> file is continued on this line.
You would replace the '?' above with a '>' to enable these long
descriptions. The extended description is edited with an external
editor which is defined later with the externaledit verb. The
'e' editor works very nice for this purpose. Also, the above special
character cannot be a space, a '-', a letter, or a number.
VerticalWindows (YES|NO)
This config verb will allow MaxFile/2 open up window windows split
either vertically or horizontally. If this variable is set to YES,
then MaxFile/2 opens up with two windows side by side. If it is set
to NO, then you get one window on top and one on the bottom.
Macro? <string>
This config verb (where ? is any number from 2 to 9) describes a macro
that can be run on the selected files. The macro can be any sort of
external program, specifically, a .cmd file can be very useful. The
macro is run with the command line parameters:
c:\file\filename.ext c: file\ filename ext
(1) (2) (3) (4) (5)
(1) is the fully qualified file name
(2) is the drive for the file
(3) is the path with a trailing slash (or back slash)
(4) is the file name (without extension)
(5) is the file extension.
This could be especially useful for extracting a file to a specific
directory, extracting a "read.me" file or something along that line.
This is done in a separate thread (such as the picture viewer) so one
can edit descriptions and perform other operations while the macro is
performing it's work The macros can be accessed by pushing function
key i (that is, press <F2> for macro2 and <F6> for macro6,...).
externaledit <string>
This config verb allows you to define an external editor to edit the
descriptions rather than using the built in editor. If you are using
extended descriptions, then this must be defined. If you have not
defined an extended description character, then all control-returns
that are in the edited file will be changed to spaces. If you want to
use the built in editor, then either comment out this line or leave
the string blank.
strip_high_asci (YES|NO)
This config verb allows you to configure whether or not you want the
high ascii characters stripped from the file_id.diz when it is used as
the description. Naturually, set it to YES if you want the high ascii
stripped and set it to no if you want the high ascii retained. If it
is set to YES, then all high ascii characters are changed to spaces
and sequences of more than three spaces are collapsed to a single space.
256char_descriptions (YES|NO)
If 256char_descriptions is set to YES, then the file_id.diz is
truncated to 256 characters when it is extracted. The reason for
this is that for some BBS systems (like Maximus), if the line
exceeds 256 characters in length, the BBS considers the line to be
starting a new file and so things get really confused. If you are
running a BBS that supports extended file descriptions and have it
configured as such above, set this variable to NO.
Generic BBS configuration: --------------------------
If your BBS type is not presently have built in support with MaxFile/2
or MaxFile/PM, you can add a "generic" setup. Simply change the
BBS_TYPE to generic and then create a configuration file that
describes your file areas as follows:
───────────────────────────── AREAS.CFG sample ────────────────────────────────
AreaCount 5
0 d:\max\file\uncheck d:\max\file\uncheck\files.bbs Unchecked Uploads
1 d:\max\file\max d:\max\file\max\files.bbs BBS Stuff
2 d:\max\file\dos\games d:\max\file\dos\games\files.bbs Dos Games
3 d:\max\file\os2\util d:\max\file\os2\util\files.bbs OS/2 Utilities
4 d:\max\file\os2\apps d:\max\file\os2\apps\files.bbs OS/2 Applications
───────────────────────────────────────────────────────────────────────────────
The 'AreaCount' keyword tells MaxFile/2 how many area definitions it
can expect to find in the file. The AreaCount keyword must come BEFORE
the area definition lines.
The format for each area definition line is:
<area tag> <file path> <list name> <area description>
<area tag> - Is a short name to identify the file area.
<file path> - Is the path to the files.
<list name> - Is the full drive\path and filename of the
FILES.BBS for the area.
<area description> - Is a description of the area.
All four items MUST be on each line.
You can name this file what ever you wish, just make sure you specify
the name of this file for the sysinfo variable in the maxfile.cfg
file.
Please be aware that if we can install normal support for your BBS
type, then MaxFile/2 will interact more smoothly with your BBS and
there will be one less configuration file to setup. If you have
information regarding the structure for storing file area information
and also have the permission of the BBS author to distribute this
information, please forward it to either the author of MaxFile/2 or
MaxFile/PM at one of the addresses at the end of this document. It is
usually quite easy to add support for new BBS types and we can
probably have a new executable for you within a couple of days.
Command Line Options:
---------------------
MaxFile/2 now supports several command line options that can be used
for nightly/weekly maintinance.
-allfiles: This command line option will force MaxFile/2 to
to create a file called maxfile.all in the present
directory. It will be a complete list of all files
in your files.bbs with the size and dates listed with
the filename. MaxFIle/2 will look for the files
allfiles.hdr and allfiles.ftr in the current directory
which will become the header and footer of the
allfiles list.
For customization, MaxFIle/2 will read in the files
allfiles.hdr as the header of your allfiles list and
allfiles.ftr as the footer for the allfiles list.
These files must be in the present directory to work.
If they cannot be found, then no header or footer will
be created.
Finally, MaxFile/2 will look for the file maxfile.exc
in the current directory. This file will contain the
numbers of the areas that will be excluded from the
all files list, listed one per line. A sample
maxfile.exc is included. This can be used so that
certain (hidden, passworded) file areas will not be
listed in the allfiles list.
-adopt: This option will cause MaxFile/2 to adopt all of the
orphans in all file directories that are pointed to
by a file area. When files are adopted, MaxFile/2
will attempt to extract a file_id.diz or desc.sdi and
use that as the file description.
-file_id: This option will go into every file area and check
every file that is listed in the flies.bbs to see if
it has a file_id.diz or desc.sdi to be used asa file
description. If you run Maximus, be sure to set the
256char_descriptions verb to YES or you may end up
with some illegible files.bbs
-sort: This option will open the files.bbs in every area,
sort the files.bbs according to name.
-dupes: This will create a file maxfile.dup that will contain
a list of all the duplicate files that could be
located on your BBS.
The -adopt and -file_id.diz options will print a description of what
they are doing on stdout which can be used as a log. That is, you
could run MaxFile/2 every night with the command line:
maxfile -adopt >> adopt.log
which will give a list of what files were adopted in which areas and
the descrtiption that was used for the file.
Be aware that the -file_id option can take a VERY long time.
Essentially, it needs to try to unzip file_id.diz from every file in
your file list which, as you can imagine, takes quite a while. Also,
until MaxFile/2 is registered, you will need to press return to run it
after a 5 second pause.
Also, these command line options can be combined and will be run in
the order that they are given. For instance, if you wanted to adopt
all files, sort the file areas and then write an all files list, you
could give the command
maxfile -adopt -sort -allfiles
which would perform the three tasks in order.
File Menu Options:
------------------
Here is where the majority of my work is done with MaxFile/2. This
will do most of your normal file manipulations for the files.bbs.
Most of the options are fairly self-explanatory but I will go through
them anyway. Whenever I say it will operate all selected files, I mean
that, if you have selected files, it will operate on those selected
files and if you have not selected any, then it will operate on the
presently highlighted file.
Move: This will move all selected files to another file area.
You will be provided with a window that gives you the
option to remove or accept the presently selected files. It
will bring up a window to select the area and then, upon
selection, will move the files. You can press <esc> to
cancel.
Contents: This will un archive the file and then it will display
the contents of the archive in a window. You can scroll
through the display of this window and take a look at all
the files in the archive.
Verify: This will attempt to verify the selected files archive
using the command given in the MaxFile.cfg
Re-archive: This will attempt to change the archive type of the
selected files. It will even allow you to re-archive to
the same type (such as changing zip 2.04 to zip 1.10).
This is done in the background and, as each file is being
re-archived, the name is displayed at the top of the main
window on the same line as the word Description.
Delete: This will delete the selected files and remove the
description from the files.bbs. You will be presented
with a list of the selected files and will have the
option of removing files from the list or accept it as
is.
vieW: If you have defined a viewer in the maxfile.cfg, then this
option will view all the selected files. As each file
is is displayed with the external viewer, the file name
is displayed in the upper right hand corner of the window.
Touch: This will attempt to go to go to each file and set the
last modification date of the file to the present date.
This will make it show up on a new-files scan by Maximus
scaN for virii:If you have defined an external virus scanner, this will
un archive the file to a temporary directory and then it
scan that directory for any virii. It will not recurse
into archives within an archive.
marK all: This will mark (select) all files
Unmark all: This will unmark (deselect) all files.
Save: This will attempt to save the current state of the files.bbs
It will backup only on the first save (so you can restore
the files.bbs to it's original state.
Insert: This allows you to put in a file that cannot be adopted
(not configured for it) or simply to add comments. To add
a new comment, simply insert a file with the name "COMMENTS"
repOsition: This is how you can move files around within a files.bbs.
Simply mark the files you want to reposition, and then move
the highlight to where you want it to be moved. Once there
select <alt-F> O and then it will reposition all the files
you have selected to before the highlighted file. You
cannot reposition files in front of a selected file.
dupe searcH: This will search for files that have the same file name
(up to file extension if desired). You will be given a chance
to select a number of areas. Once you have selected the
areas, they will be searched for duplicate file names. Once
they have been found, you will be given the chance to operate
on the files that were found.
Locate: This option works similarly to Maximus's Locate. If this
option is chosen, then you will be prompted for a string.
MaxFile/2 will then search through all the file.bbs's to
to try and find this string as either a file name or as a
substring of a file's description. It will then open that
file area and present the located file at the top of the
present window. At this point you are allowed several
options which can be seen by pressing <F1>
rEname: This option will allow you to rename a specific file. Note
that MaxFile/2 will allow you to rename a file archive to
have a name (rename foo.zip to foo.arc) that seems to
indicate an incorrect archive type
Exit: Exit MaxFile/2. If files are being re-archived, you will
need to wait for this to complete. You will be prompted
to save any changes to the files.bbs.
Sort Menu Options:
------------------
This will sort the files.bbs based on Name (increasing/decreasing),
date (increasing/decreasing), or on size (increasing/decreasing). It
will attempt to leave the comments where they. If you have selected a
range of files, only that range of files will be sorted. If, on the
other hand, you have not selected any files, the entire list will be
sorted.
Description Menu Options:
-------------------------
This is the other most used area. It allows you to modify the
description or the comments in the files.bbs.
Remove: This will remove the description and the files name. It
is useful for "hiding" files from the user but leaving
them in the directory for later insertion.
Edit: This will bring up a window with the file description
wrapped for each selected file. The maximum length is 910
characters which should be more than enough. You can
insert new characters, delete or paste into the window
(when pasting, the carriage return is interpreted as a space).
Pressing <F10> accepts the new description and pressing
<esc> will abort the changes
New: This will bring up a window with an empty file description
wrapped for each selected file. The maximum length is 910
characters which should be more than enough. You can
insert new characters, delete or paste into the window
(when pasting, the carriage return is interpreted as a space).
Pressing <F10> accepts the new description and pressing
<esc> will abort the changes
Use FILE_ID: This will attempt to extract the file file_id.diz,
FILE_ID.DIZ, desc.sdi, or DESC.SDI from the file archive.
If found, it will use this as the file description with
all high ascii chars changed to blank space. If you are
using Info-ZIP for your unzip-per, the case sensitivity may
cause it to ignore an enclosed file description if it does
not fit one of the above formats. The reason is that
Info-ZIP came from the UNIX world where case sensitivity
is much more important.
Insert Comment:This will insert a comment line before the current line.
You can then edit the description field so that the comment
appears as you wish.
dupe searcH and Locate options:
--------------------
For the following options, only the 'a' and, of course, <F1> work when
it is presently scanning for files. Once a duplicate pair has been
found, all of the other options are available.
z: Toggles display of the file size
t: Toggles the display of the date
w: Toggles the wrapping of the descriptions
v: Verifies the archive
c: Shows the contents of the selected files
e: Edit the selected description
SPACE: (de)selects the present file.
d,<alt-d>: Deletes the selected files
r: Removes the selected descriptions
<esc>: Exit dupe search mode
Main Menu options:
------------------
Many of the keystrokes at the main menu will allow you to perform many
of the above menu options with a single keystroke. These can be seen
by pressing <F1> which brings up the on-line help.
"A": Change area
"]": Go to next area
"[": go to previous area
"R": Re-scan files.bbs from the disk.
"W": Toggle the wrapping of file descriptions
"D": Toggle the display of file dates
"Z": Toggle the display of file size
"TAB": Switch between file windows
Up, Down: scroll file list up, Down
Right, Left: grow window rt, left
HOME, END: go to top, end of list
pgup,pgdown: file list up, down 1 page
"space": Select or de-select file
ctrl Right: shrink right side of window
ctrl Left: shrink left side of window
ctrl PGUP: Maximize window
ctrl PGUP: Restore window
<alt-X>: Exit MaxFIle/2
<alt-E>: Edit file description(s)
<alt-R>: remove (delete) file(s)
<alt-N>: Scan file(s) for virii
<alt-P>: View picture files
<alt-A>: Adopt orphans
<alt-C>: Contents of archive(s)
<alt-V>: Verify archive(s)
<alt-I>: use file_Id.diz
<alt-O>: Reposition file(s)
<alt-UP>: Grow top of window
<alt-DOWN>: Grow bottom of window
<ctrl-UP>: Shrink top of window
<ctrl-DOWN>: Shrink bottom of window
<F2>-<F9>: Execute the given macro.
So ends the documentation. If you have any questions that are not
answered by this or the on-line help (press <f1>). If you have any
further questions or want to make suggestions for improvements to
MaxFIle/2, feel free to contact me at any of the following addresses:
Fidonet: Ronald Van Iwaarden 1:104/338@fidonet.org
Internet: rvaniwaa@carbon.denver.colorado.edu
OS2NET: Ronald Van Iwaarden 81:313/1@os2net.ftn
The internet address is probably most stable but feel free to give all
of them a try.
If you have any comments as to MaxFile/2 or the above documentation,
feel free to let me know and I will see what I can do to fix the
problem. Thanks for using MaxFile/2.
If you have any questions regarding the PM version of MaxFile, contact
myself or Craig Morrison at the following:
Fidonet: Craig Morrison, 1:201/60@fidonet.org