home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
flm140.zip
/
Flm.Doc
< prev
next >
Wrap
Text File
|
1996-12-08
|
55KB
|
1,534 lines
**************************************************************
* *
* *
* ******* **** ** ** *
* ** * ** *** *** *
* ** * ** ******* *
* **** ** ******* *
* ** * ** * ** * ** *
* ** ** ** ** ** *
* **** ******* ** ** *
* *
* *
* A flexible File List Manager for Maximus (*) *
* *
* *
**************************************************************
* *
* (C) Copyright 1991-1996 by Alberto Pasquale *
* *
* A L L R I G H T S R E S E R V E D *
* *
**************************************************************
(*) Maximus is a trademark of Lanius Corporation
FLM 1.40 User's Manual, by Alberto Pasquale
INTRODUCTION
-> For licensing information, please see License.Doc.
Thanks for evaluating FLM: a File List Manager for Maximus(*).
Main Features
- To be used with Maximus 3.xx by Scott J. Dudley.
- One-Pass generation of multiple file lists.
- Internal generation of Maximus File Base and indexes
(no need for external FB/FBP).
- Generation of UniFiles.Idx in addition to MaxFiles.Idx to
allow File-Requests with no duplicates with Binkley(**).
- New file announcement.
- Support for separate "Creation" and "Modification" dates in
HPFS, following the Max 3.xx convention: the "Creation" date
is used as the "upload" date, to recognize new files; the
"Modification" date is used to list the file date.
- Duplicate file report.
- EchoToss.Log support.
- Cfg support for external commands, to keep all stuff related
to list generation in the FLM.CFG.
- Selective Adoption or Killing of Orphans.
- Selective description deletion for missing files.
- Minimum configuration effort required.
- Okfile generation.
- Okfile support for a fixed header and variable Magics.
- Mutually Exclusive access to the filebase (for other ApWorks
programs).
- Support for multi-line descriptions.
(*) This program uses the Squish MsgAPI code,
Copyright 1991-1994 by Lanius Corporation.
Squish and Maximus are trademarks of
Lanius Corporation.
(**) Binkley is Copyright 1988-1994 Bit Bucket Software
OVERALL OPERATION
FLM scans all the file areas in FAREA.DAT (or the equivalent
file defined in Max.prm). FLM writes all the output files in one
pass: for every area all the unused output files are closed and
the used ones are opened.
If too many output files are required at the same time, FLM
could exit with a "cannot open file" or "too many files to open"
error: see the "Files <num>" cfg statement to increase the
available file handles.
In the FILES.BBS, lines starting with a space ' ' or a dash
followed by space "- " or empty are considered as comment.
The optional path specification in the files.bbs is supported.
The three dating styles ("Automatic", "List", "Manual") of Max
3.00 are supported.
Areas that are offline (e.g. CDROMs not in the drive) can still
be listed provided they are defined in filearea.ctl with a
separate (and online) "FileList" and are of "Type DateList"; in
the output lists generated by FLM, these areas will be marked
with "Offl" just before the area description.
INSTALLATION
1) Edit flm.cfg.
In the case you do not use the "MAXIMUS" environment variable
to point at the current MAX.PRM, you must use the "MaxPrm"
statement.
2) Edit your maintenance batch in order to call FLM.
3) (OS/2) Make sure you have the MSGAPI32.DLL file in your
LIBPATH.
(NT): Make sure you have the MSGAPINT.DLL in a directory
contained in your PATH. MSGAPINT.DLL can be found in the
Max 3.01 for Windows archive (MAX301N.ZIP).
(DOS) Make sure you have the DOS4GW.EXE DOS extender in your
path.
FLM.Exe must obviously be in your path.
FLM.Cfg must be in the current directory.
Command line Switches
-c<cfgfile> Cfg file override.
-a[n] Use the nth "last-exec" date (0 <= n <= 9).
If the switch is not specified, date #0 is used.
If n is omitted, no announcement is made.
FLM keeps 10 different "last-exec" dates for
announcements: you may want to use '-a0'
(default) for daily announcements, '-a1' for
weekly ones and so on.
Examples:
-a Do NOT announce
-a0 Announce files newer than last-exec date 0 (default)
-a1 Announce files newer than last-exec date 1
-a9 Announce files newer than last-exec date 9
-h or -? Help
Example: FLM -cc:\max\flm.cfg -a1
ERRORLEVELS
0 - Normal termination
1 - Error in CFG
2 - Help Requested
3 - Abnormal termination
4 - Cfg file not found
5 - File Base is Busy (TimeOut)
10 - Prefix or Suffix too long
250 - MsgApi Init Error
251 - Area Open Error
252 - Error Opening output list
253 - Cannot read max.prm
254 - Cannot open logfile
255 - out-of-memory
CFG REFERENCE
FLM requires a configuration file (defaults to FLM.Cfg). Before
using FLM you should edit this file, following the comments in
the sample one.
Conventions
- Items between square brackets (e.g. [<item>]) are optional.
- Items separated by '|' are mutually exclusive (e.g. C|H|D|N|O).
- The names of the various Keywords are NOT case sensitive.
- The area TAGs are NOT case sensitive.
- When a directory path is required, the trailing backslash '\'
is optional.
- The ';' character starts comments: any character following the
';' is ignored. Please note that configuration text strings
(e.g. Subj, Origin) must be specified between double quotes
to allow the ';' character.
- The maximum length of configuration lines is 254 characters.
- Unless differently specified, addresses are standard 4D and
MUST begin with the zone number.
- <WTag> is a "Wild TAG" specification: it can be a normal area
TAG or contain wildcards ('?' and '*') in the "OS/2 style".
If you specify the '*' alone, all tags will be included,
except for the "<special>" ones.
Examples:
1!* includes all the tags starting with "1!".
* includes all the normal tags, does not include the
special tags like "<DEF>" or "<DUPES>".
1!LOCAL specifies the "1!LOCAL" area.
LOCAL.* specifies the LOCAL division.
*LOCAL* specifies all areas whose tag contains "LOCAL".
UP.??? specifies all areas of division "UP" with up to 3
characters after the point.
<DUPES> specifies the "dupe-file report".
<DEF> specifies the announcement of all new files not
announced elsewhere.
<CDROM> specifies all the areas that are either marked as
"Type CD" in filearea.ctl or detected as read-only by
FLM, for NoAdopt and NoRemMis statements ONLY.
- <filename> is a fully qualified filename with optional drive
and path.
- <filespec> is a filename (no path, wildcards * and ? accepted)
- The wildcards work the same as in OS/2 commands.
* stands for 0 or more characters
? stands for 1 character (0 or 1 when at the end)
. is a character as all the others
Examples:
'dummy' does not match 'dummy.txt'
'dummy*' matches 'dummy.txt'
'du?mmy.txt' does not match 'dummy.txt'
'dummy.txt?' matches 'dummy.txt'
'du*y.txt' matches 'duy.txt'
'du*?y.txt' does not match 'duy.txt'
'du*?y.txt' matches 'dumy.txt'
'du*y.txt' does not match 'duo.txt'
- ... means that you can list further items of the same type;
Whenever you have to specify a list of items (tags, paths,
files, etc.), you can use multiple lines if you want:
Adopt WIN* SDN*
is equivalent to:
Adopt WIN*
Adopt SDN*
- <ACS> is a maximus access string
Favored
Favored/1A
1000/!2
>=500|twit/A
<=300/b&disgrace/!c
- <num> is an integer number
Please, note that the order of the configuration statements
follows some logical rule. In order not to create confusion in
the .cfg file and not to break some _necessary_ order relation,
please follow the scheme proposed in the example CFG file
and in this reference documentation.
Global Keywords
The following statements are "Global" in scope, i.e. they affect
all the operations of FLM.
RegKey <RegKey>
Registered Users only: <RegKey> is the registration key
and it is NOT case sensitive.
Example:
RegKey dfhyuwru6274623
StatusLog <filename>
The usual Binkley Style logfile.
Files <num>
It is used to increase the number of files that can be
open at the same time. The Operating System allows 20
files per process by default, including the 5 "standard"
ones. If you need FLM to open many files, you might need
to increase this limit. When you use this statement
(with <num> > 20), FLM reports both on screen and to the
logs the exact total number of files that can be open at
the same time (can be >= <num>).
DOS: WARNING: You need to specify a "Files=<num>" statement
in your config.sys also. The "Files <num>" specification
in FLM.cfg does not allow FLM to use more files than
specified in the "Files=<num>" statement in your
config.sys. E.g.: "Files=50"
Example:
Files 50
MsgSize <bytes>
To specify the maximum size (in bytes) for a message
generated by FLM (minimum 8KB, default 12KB).
Please be careful not to use a size larger than your
downlinks can handle.
Example:
MsgSize 90000
MaxPrm <filename>
If the MAXIMUS environment variable is defined, this
statement is an optional override only.
It is used to take the default for EchoTossLog and to
get the name and location of the files necessary for
filebase updating. The ".prm" extension in <filename>
can be omitted.
Example:
MaxPrm d:\bbs\max\max.prm
CompressCfg <filename>
Required to use File_Id.Diz for orphan adoption.
<filename> must specify the location and name of a
"Squish style" compress definition file.
In the case you are using a case-sensitive
de/compression program (e.g. OS/2 ZIP/UNZIP), please
make sure to use the correct switches in <filename>.
If you are already using Squish and or Maximus, you
can just specify the name of their compress.cfg (but do
check that they indicate the necessary switches to avoid
case sensitiveness during extraction).
Refer to the "Compress Definition File" section at the
end of this reference for the syntax of this
configuration file.
Example:
CompressCfg c:\squish\compress.cfg
SquishCfg <filename>
It is used to specify the squish configuration file, so
that the path, type (SDM vs Squish) and primary address
for the announcement areas defined with the "AreaTag"
statement can be automatically looked up.
When SquishCfg is defined, if you use "AreaTag <Tag>" to
define announcement areas, the "FromNode <adr>"
statement is only used to override the primary address
specified for that area in Squish.Cfg (including the
-p<address> overrides).
The "Include" keyword of Squish.Cfg is supported: just
be sure to always use the full pathname in the Include
statement if different from the working path.
Both echomail and netmail areas are recognized by their
Squish tags.
Netmail areas will have the Private attribute and no
origin by default. Local overrides are still possible
via local "Origin" and "Attr" statements.
Example:
SquishCfg c:\squish\squish.cfg
EchoTossLog <filename>
When a message is written into echoareas defined with
the "AreaTag" statement, the corresponding
TAGs are written (one per line) to <filename>.
If you use the "MaxPrm" statement (or MAXIMUS
environment variable), "EchoTossLog" is not necessary
and becomes an override of the echotosslog specification
found in the Maximus .PRM file.
If you do not like this output, you can override with
the NUL name: "EchoTossLog NUL".
Example:
EchoTossLog d:\bbs\squish\echotoss.log
DateFormat USA|EURO|JAPAN
It sets the date format for file lists and message
reports to mm-dd-yy, dd-mm-yy, yy-mm-dd respectively.
Example:
DateFormat EURO
FBCompile
FLM will compile the Maximus filebase while generating
the file lists. Both MaxFiles.Idx and UniFiles.Idx (with
no duplicates) will be created. This keyword is implied,
thus redundant, when the "OkMaxFiles" statement is used.
A flag "FileBase.Bsy" in the Maximus system directory
allows for mutually exclusive access to the filebase
files and is supported by other ApWorks programs.
In the case of power failure or abnormal termination,
there is no need to "manually" delete this flag file:
ApWorks programs are smart enough not to be deceived by
a "zombie" :-)
UniqueDmpLine
Forces the generation of FILES.DMP filebase files with
descriptions on one line only (multiple lines are
concatenated).
By default, multi-line descriptions are output without
changes to FILES.DMP: when using L)ocate and N)ewfiles
commands, Maximus will respect the original formatting,
but the continuation lines will be aligned to the left.
When this statement is used, the original formatting of
descriptions is lost (in the filebase) but Maximus will
be able to word-wrap and align when executing L)ocate or
N)ewfiles commands.
AreaExclude <WTAG> ...
The specified areas are completely excluded from
processing.
Adopt <WTag> ...
Areas where you want to adopt orphans (files with no
FILES.BBS entry).
For areas with "Automatic dating" only.
Please note that "KillOrphans" has priority over
"Adopt".
NoAdopt <WTag> ...
Areas to be excluded from adoption.
You should usually exclude CD-ROMs using the "special"
tag <CDROM>. If you are using the files.bbs directly on
CD, FLM will automatically exclude adoption on the area.
Example:
Adopt *
NoAdopt <CDROM>
AdoptExclude <filespec> ...
Excludes the specified files from adoption.
Files.* and *.BBS are excluded anyway.
Example:
AdoptExclude *.BAK
AdoptAnnounce
Usually, adopted files are announced only if new.
This statement allows to announce _all_ adopted files
regardless of their file dates, provided there is some
announce configured for that file area.
Example:
AdoptAnnounce
AdoptUpperCase
Usually files are adopted with the same upper/lower case
characters of their directory entry.
Some brain-dead programs may have difficulties in
handling lowercase characters in file names (e.g. for
File/Requests): if you have such a problem, use this
statement.
Example:
AdoptUpperCase
DescStart "<string>" <WTAG> ...
This allows to add <string> at the head of files.bbs
descriptions while adopting files from area TAGs that
match one of the <WTAG> specifications.
This statement is useful for people using download
counters and/or special flags.
Example:
DescStart "[00] " 1* 2*
This adds "[00] " at the head of files.bbs
descriptions while adopting files from areas whose TAG
begins with '1' or '2'.
KillOrphans <WTag> ...
Areas where you want to kill orphans (files with no
FILES.BBS entry).
For areas with "Automatic dating" only.
NoKillOrphans <WTag> ...
Areas to be excluded from killing of Orphans.
Example:
KillOrphans TIC.*
NoKillOrphans TIC.SpecArea
KillOrphansExclude <filespec> ...
Excludes the specified files from killing.
Files.* and *.BBS are excluded anyway.
Example:
KillOrphansExclude *.DIR
RemMis <WTag> ...
Areas where you want to remove descriptions of missing
files. This function works in areas with "Automatic
dating", only.
WARNING: if you use multi-line descriptions (multiple
lines in the files.bbs), then you must pay attention to
configure the "MultiLineDesc" statement correctly,
otherwise the continuation lines will not be recognized
and they might be removed when they should not or
vice-versa.
NoRemMis <WTag> ...
Areas to be excluded from RemMis.
You should usually exclude CD-ROMs using the "special"
tag <CDROM>. If you are using the files.bbs directly on
CD, FLM will automatically exclude RemMis on the area.
Example:
RemMis *
NoRemMis <CDROM>
WrapCol [<num> [<num>]]
Enables word wrapping of long descriptions in file
lists. The optional <num>s give the left and right
margins for word wrapping (default to 0 and 79).
Suggested values: 31 and 79.
Example:
WrapCol 31 79
MultiLineDesc <nnn> [<c>]
By default, files.bbs description must be on a single
line; this statement enables Multi-Line support.
<nnn> is the number of spaces that must precede the
continuation lines.
<c> is the continuation character.
If <c> is NOT specified, it is assumed that the
continuation lines must be preceded by <nnn> spaces.
If <c> IS specified, it is assumed that the continuation
lines must be preceded by <nnn> spaces, the <c>
character and one more space.
For example, to have the 2nd and following description
lines in files.bbs start at the 32nd column, use:
MultiLineDesc 31
A description in files.bbs would be like:
Test.Zip This is the first description line
this is the 2nd line
this is the 3rd line
^ ^^
1 31 32
To have the continuation lines preceded by a '|'
character, use:
MultiLineDesc 29 |
A description in files.bbs would be like:
Test.Zip This is the first description line
| this is the 2nd line
| this is the 3rd line
^ ^ ^
1 29 32
NoAnnDupeTag <WTag> ...
NoAnnDupePath <PartPath> ...
Exclude areas from dupe report, by TAG or Path.
In the case you have lots of dupes you do not want
announced (e.g. on CDROMs), you can exclude areas
(NoAnnDupeTag) or paths (NoAnnDupePath).
All dupes will be removed from the UniFiles.Idx anyway.
<PartPath> is a partial path specification: all the
dupes that have a path beginning with <PartPath> will
not be announced.
Note: Please be aware that you could have the
announcement of a single file as "dupe" if it is not
excluded while its corresponding duplicate is.
Example:
NoAnnDupeTag 1!apw* GFX*
NoAnnDupePath d:\bbstest\file\1!apb g: h:
Start of File List
You can generate as many file lists as you like.
The cfg section that defines the generation of a file list
starts with the ListPriv statement, followed by a group of
"local" keywords.
ListPriv <ACS>
Areas with level/keys that do not grant access to <ACS>
will not be listed.
Areas contained in a Division that can't be accessed
with <ACS> will not be listed too.
Example:
ListPriv Favored/1A
Local Keywords
The following keywords refer to the preceding ListPriv
statement: you can generate multiple file lists by using
multiple ListPriv statements, each one followed by its group of
"local" keyword.
ListAreas <WTag> ...
Areas to be listed (if they match the <ACS>
requirement).
Example:
ListAreas *
NoListAreas <WTag> ...
Areas to be excluded from current list.
NewDays <num>
Files newer than <num> days (basing on the upload date)
are listed in the NewFiles list and marked with asterisk
in the AllFiles one.
Default: 30
NewHeader <filename> ...
Header for NewFiles list.
Default: no header.
NewFiles <filename>
Output file for new-file list.
Default: no output file.
AllHeader <filename> ...
Header for AllFiles list.
Default: no header.
AllFiles <filename>
Output file for all-file list.
Default: no output file.
NewFilesCmd <cmd>
AllFilesCmd <cmd>
They allow easy integration in FLM.CFG of the commands
related to FLM that must be executed after the
generation of the file lists (as defined in the current
NewFiles and AllFiles respectively) is complete (instead
of putting them in the calling batch file).
If the command does not begin with the name of an
executable file, the default command interpreter is
invoked.
The "%f" parameter can be used to represent the name of
the file (as specified in the NewFiles and AllFiles
statements respectively).
In case of multiple commands, you can invoke a batch
file (.CMD (OS/2) or .BAT (DOS)) or use multiple
"NewFilesCmd" and "AllFilesCmd": they will be executed
in sequence.
Note: Usually you will like creating the file lists in a
place different from the destination file area,
otherwise the file list will show a "0 length" file-list
file, since it is "under construction" while FLM
examines the area.
Example:
The commands in the following example are for 4OS2
(trademark of JP Software): if you do not use this
excellent command interpreter you would need a slightly
different syntax.
NewFiles \file\ApWorks.new
NewFilesCmd *move %f \file\1!apwork\
AllFiles \file\ApWorks.All
AllFilesCmd copy %f \file\1!apwork\
AllFilesCmd zip -mj \file\ApWorks %f
AllFilesCmd *move \file\ApWorks.zip \file\1!apwork\
OkHeader <filename> ...
Header for OkFile.
Default: no header.
OkFile <filename>
Output file for OkFile.
Default: no output file.
OkMaxFiles
Use UniFiles.Idx for File Requests instead of the
complete list of paths (BT 2.55 or greater).
FBCompile is implied, i.e. FLM compiles MaxFiles.Idx and
UniFiles.Idx while generating the file lists.
OkDirsOnly
List directories with no trailing "\*.*" in the OkFile.
E.g.:
d:\bbs\file\area1
d:\bbs\file\area2
OkDirsSlash
List directories with no trailing "*.*" in the OkFile.
E.g.:
d:\bbs\file\area1\
d:\bbs\file\area2\
MagicFile <filename> ...
List of magics and wildcarded filespecs to be resolved
before putting them in the OkFile. FLM gets the most
recent file for each filespec and puts it in the OkFile
preceded by the Magic. Password protected magics
allowed.
OS/2: On HPFS the magics are resolved using the upload
(creation) date.
Example:
MagicFile Magic.Lst
Example for Magic.Lst:
Magic1 c:\file\file1???.zip
Magic2 c:\file\file2???.zip pwd1
The second item is protected.
FLM will write to the okfile the resolved magics; e.g:
@Magic1 c:\file\file1999.zip
@Magic2 !pwd1 c:\file\file2888.zip
WrapCol [<num> [<num>]]
Local WrapCol setting: see the global WrapCol keyword.
Can be used with or without a global WrapCol (in the
first case the local margin values override the global
ones).
Example of File List definition
ListPriv Extra ; first file list block
ListAreas *
NoListAreas WIN*
WrapCol 31 131
NewDays 30
NewHeader \bbs\misc\apworks.abt
NewFiles \bbs\file\ApWorks.new
NewFilesCmd *move %f \bbs\file\1!apwork\
AllHeader \bbs\misc\apworks.abt
AllFiles \bbs\file\ApWorks.All
AllFilesCmd copy %f \bbs\file\1!apwork\
AllFilesCmd zip -mj \bbs\file\ApWorks %f
AllFilesCmd *move \bbs\file\ApWorks.zip \bbs\file\1!apwork\
OkHeader \bbs\misc\okhead.lst
OkFile \bbs\misc\okfile.lst
OkMaxFiles
MagicFile \bbs\misc\magic.lst
ListPriv Extra ; second file list block
ListAreas Local.*
AllHeader \bbs\misc\apworks.abt
AllFiles \bbs\file\ApFiles.Lst
AllFilesCmd *move %f \bbs\file\1!apwork\
New File Announcements
FLM can announce new files (upload date later than FLM was last
run with the same -a switch) found during file list generation.
Each announcement area is defined by a dedicated group of
statements. Many of these statements can be used before the
first announcement area definition to establish defaults to be
used in all subsequent area definitions, thus avoiding the need
to unnecessarily repeat common statements.
Global Keywords
Statements that can be used before area definitions to set
defaults (please note that all these statements can be
overridden in each area definition).
FromNode <address>
This specifies the 4D address to be used as the
from-address in the announcement messages: it is used in
the header, in the Origin and in the MSGID. Usually, it
should be your primary address.
Example:
FromNode 2:332/504.0
ToNode <address>
This specifies the 4D address to be used as the
to-address in the announcement messages: it is used in
the header. Usually, for echo area announcements, it
should be the same as in FromNode.
Example:
ToNode 2:332/504.0
From <name>
This specifies the name to be used as the from-name in
the announcement messages. Usually it should be the
SysOp name.
Example:
From Alberto Pasquale
To <name>
This specifies the name to be used as the to-name in the
announcement messages. Usually it should be "All".
Example:
To All
Subj <subject>
This specifies the string to be used as the subject in
the announcement messages.
Note:
If the Subj text contains the ';' character, it MUST
be enclosed in quotes '"', otherwise it will be taken as
the start of a comment.
Examples:
Subj New Echo Files
Subj "New files; OS/2 BBS"
Attr [P][K][C|H|D|N|O]
This specifies the attributes to be used in the
announcement messages. Usually no special attribute is
necessary, except for private announcements in the
netmail area.
The available attributes are:
P -> Private
K -> Kill/Sent
C -> Crash
H -> Hold
D -> Direct (equivalent to "CH")
N -> Normal (default)
O -> Normal (default)
The required attributes can be listed in any order and
are not case sensitive.
Examples:
Attr ; no attributes
Attr N ; no attributes (Normal flavour)
Attr PK ; Private and Kill/Sent
Attr PC ; Private and Crash
Attr PDK ; Private, Direct, and Kill/Sent
HighAsciiOk
Grants permission for High Ascii codes (> 127) in file
descriptions.
Prefix <filename>
This specifies the file containing the prefix text for
announcement messages: it is put at the head of the
message body, just before the real announcement lines.
It should usually contain something like "New Echo Files
Received:".
Example:
Prefix d:\bbs\FLM\PREFIX.FLM
Suffix <filename>
This specifies the file containing the suffix text for
announcement messages: it is put at the end of the
message body, just before the tear-line and the Origin.
It should usually contain something like "File Request
open to everybody between 06:00 and 23:00 GMT".
Example:
Suffix d:\bbs\FLM\SUFFIX.FLM
Origin <origin>
This specifies the text to be used as the Origin in
announcement messages. The required " * " will
automatically be added at the head and the address at
the end, truncating <origin> if necessary to fit the 79
character maximum length.
To disable the Origin (e.g. in netmail area) use an
empty origin string.
Note:
If the Origin text contains the ';' character, it MUST
be enclosed in quotes '"', otherwise it will be taken as
the start of a comment.
Examples:
Origin <ApWorks Modena I><Tel.+39-59-246112/3>
Origin "ApWorks Modena I; +39-59-246112/3"
Origin ; empty origin to disable origin generation
AnnExclude <filespec> ...
The specified files are excluded from announcements.
When this statement is used inside an announcement-area
definition block, it specifies _additional_ exclusions
(besides those of a global statement, if present).
Area Definition
All the preceding statements can be used both before
announcement area definitions (to set defaults) and inside
each definition to override the defaults.
AreaTag <Tag> [<path> [-$]]
AreaPath <path> [-$]
One of these statements starts the definition of an
announcement area.
<Tag> is the area TAG, to be logged to EchoTossLog
provided this is not a NetMail area.
<path> is the directory for the *.MSG format or the full
filename (no extension) for the Squish base.
-$ specifies the use of the Squish format.
AreaTag <Tag>
This is the form to be generally used when SquishCfg is
defined.
<Tag> will be looked up in SquishCfg to find the
corresponding path, message-base type and primary
address.
A local "FromNode" statement can be used to override the
primary address for the area (including -p<address>
specifications) found in SquishCfg.
If this is an EchoArea, its <Tag> will be output to the
EchoTossLog whenever a message is written to this area.
If this is a NetArea, as a default, the Origin will not
be used and the Private attribute will be set; you can
override this with local "Origin" and "Attr" statements.
AreaTag <Tag> <path> [-$]
This is the form to be used for EchoMail areas when
SquishCfg is not defined or you want to override its
information AND you want <Tag> to be logged to
EchoTossLog.
AreaPath <path> [-$]
This is the form to be used when SquishCfg is not
defined AND you do not need to log a <Tag> to
EchoTossLog (NetMail areas or no EchoTossLog defined).
Notes:
Any of the statements described above in this
"Announcements" section can be used after the
AreaTag/AreaPath statement to override the defaults for
this announcement area only.
Please note that you can use different AreaTag/AreaPath
definitions with the same message area Tag/Path, in
order to announce different file areas in different
messages but in the same message area.
Examples:
AreaTag OS2BBS
AreaTag OS2BBS d:\bbs\mail\os2bbs -$
AreaPath d:\bbs\mail\net
Announce <WTAG> ...
NoAnnounce <WTAG> ...
This defines the list of file areas to be announced in
the current announcement message area (the one defined
by the previous AreaTag/AreaPath statement).
Multiple statements are allowed.
All the areas that match one of the <WTAG>s in "Announce"
and do not match any of the <WTAG>s in "NoAnnounce" are
announced in the current area.
Obviously you can omit the "NoAnnounce" statement if you
do not need to exclude areas that have been included via
the "Announce" statement.
"Announce *" makes all the file areas announced.
Special tags:
The following "special tags" can be used in "Announce"
or "NoAnnounce" statements as if they were normal area
TAGs, but are not included in the "*" wildcard (i.e.
"Announce *" does not make them announced).
"<DUPES>" is used to announce duplicate files that are
removed from the UniFiles.Idx index.
No duplicate report is done if FLM is not configured to
manage the filebase ("OkMaxFiles" or "FBCompile"
statements). A separate announcement is generated,
before the new-file ones.
Should you want to exclude some areas or paths from the
duplicate report, please see the "NoAnnDupeTag" and
"NoAnnDupePath" statements in the main global section.
"<DEF>" is used to announce all the files that have not
been announced elsewhere. A separate announcement is
generated after all other announcements have been
completed, even if "<DEF>" is listed together with other
TAGs.
Examples:
Announce DOSUTI OS2*
NoAnnounce OS2BBS
This announces the file areas with tag "DOSUTI"
and all those whose TAG starts with "OS2" but
"OS2BBS".
Announce PRIVFILE <DEF> <DUPES>
This announces in different messages:
- All the duplicate files found while building the
UniFiles.Idx index (if OkMaxFiles or FBCompile
statements are used)
- New files found in area "PRIVFILE"
- All the new files that have not been announced
elsewhere.
Complete example of the announcement definition section:
; Defaults for all subsequent area definitions
FromNode 2:332/504.0
ToNode 2:332/504.0
From Alberto Pasquale
To All
Subj New Local Files
Attr
Prefix PREFIX.FLM
Origin <APWORKS Modena I><Tel.+39-59-246112/3>
Suffix SUFFIX.FLM
; Announcement areas: each statement is local to the preceding
; AreaTag/AreaPath and overrides the default one.
AreaTag SWN_332.500
Announce 1!*
NoAnnounce 1!ap* 1!harald* 1!up*
AreaTag SYSOP_332.504
Announce <DUPES>
From FLM
To AsstSysOps
Subj Dupe Report
Prefix
Suffix
AreaTag SYSOP_332.504
Announce 1!up*
From FLM
To AsstSysOps
Subj Upload Report
Prefix
Suffix
AreaPath d:\msg\local -$
Announce *
Subj Local file news
HighAsciiOk
COMPRESS DEFINITION FILE
The file specified in the CompressCfg statement is a sequence of
Archive definition blocks, each one starting with "Archiver" and
ending with "End Archiver". You can find an example in the
Compress.Cfg file included in the distribution pack.
The order of the archive definition blocks within this file may
be important: when trying to unpack a compressed file, the list
of archivers is scanned in a reverse order.
In the case of two archivers that use the same identification
string (e.g. ARC and PAK), you must specify the archiver that
can unpack both (PAK) after the other one (ARC).
The compress.cfg file can be shared between DOS/NT and OS/2
applications: the "DOS" and "OS2" keywords are available to
distinguish between the commands to be used under DOS/NT and
OS/2.
O.S. specific archivers or commands must be prefixed with the
relevant keyword.
IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
parsed by the DOS/NT and OS/2 versions respectively. If you need
the OS/2 version to execute a DOS command, you MUST NOT use the
DOS keyword: if you do, it will never parse that line; if you do
not, it will execute the DOS command "normally", provided you
have installed OS/2's Dos support.
See the examples below.
Archiver <ARCname>
Starts the Archive definition block.
<ARCname> is the name used to identify this archiver.
Example:
Archiver ZIP
Extension <ext>
Specifies the default extension for the compressed
files.
Example:
Extension ZIP
Ident <ofs>,<ID>
<ofs> is a decimal integer number representing the
offset at which an archive identity marker <ID> must be
present.
Negative values can be used to indicate offsets from the
END of a compressed file. -1 means "the last byte", -2
"the second last byte" and so on.
<ID> is a series of hexadecimal figures which represent
the bytes of the marker string that must be present at
the specified offset of the archive file.
Example:
Ident 0,504b0304 ; "PK^c^d"
Add <command>
Specifies the command to add files to an archive.
%a and %f are translated to the name of the archive and
file to add.
Example:
Add zip -jk %a %f
Extract <command>
Specifies the command to extract files from an archive.
%a and %f are translated to the name of the archive and
file to extract.
Example:
Extract unzip -qqnjC %a %f
View <command>
This line is recognized and accepted for compatibility,
but not used.
End Archiver
This statement is used to close a Archive definition.
Examples
Complete example 1 (you need OS/2 only):
Archiver ZIP
Extension ZIP
Ident 0,504b0304
Add zip -jk %a %f
Extract unzip -qqnjC %a %f
View unzip -v %a
End Archiver
Complete example 2 (you need DOS only):
Archiver ZIP
Extension ZIP
Ident 0,504b0304
Add pkzip -a %a %f
Extract pkunzip -n %a %f
View pkzip -v %a
End Archiver
Complete example 3 (you need both OS/2 and DOS):
Archiver ZIP
Extension ZIP
Ident 0,504b0304
OS2 Add zip -jk %a %f
DOS Add pkzip -a %a %f
OS2 Extract unzip -qqnjC %a %f
DOS Extract pkunzip -n %a %f
OS2 View unzip -v %a
DOS View pkzip -v %a
End Archiver
Complete example 4 (archiver to be used under DOS only):
DOS Archiver ZOO
DOS Extension ZOO
DOS Ident 0,5a4f4f ; "ZOO"
DOS Add zoo a: %a %f
DOS Extract zoo e:O %a %f
DOS View zoo v %a
DOS End Archiver
Complete example 5 (it's a DOS executable, to be used under
DOS or OS/2 indifferently):
Archiver ZOO
Extension ZOO
Ident 0,5a4f4f ; "ZOO"
Add zoo a: %a %f
Extract zoo e:O %a %f
View zoo v %a
End Archiver
S H A R E W A R E
If you like this program and continue using it, you should pay
the author for his work, as per the ShareWare concept of
distribution.
Please see LICENSE.DOC and REGISTER.DOC for information.
Thank you for your interest in ApWorks programs.