home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
dwnsrt62.zip
/
DOWNSORT.DOC
< prev
next >
Wrap
Text File
|
1995-11-05
|
158KB
|
3,881 lines
DOWNSORT
Maximus CBCS DOWNload file SORT and List Utility
Version 6.2k (OS/2 and DOS)
November 5, 1995
Rob Hamerling
Vianen, The Netherlands
FIDO-net: <digiThalys> (2:281/732)
also FIDO-net: 2:280/804.1098
Maximus Download File Sort and List Utility (OS/2 and DOS)
Maximus Download File Sort and List Utility (OS/2 and DOS)
CONTENTS
1.0 About Downsort . . . . . . . . . . . . . . . . . . . . . . . . 1
| 1.1 Quick start . . . . . . . . . . . . . . . . . . . . . . . . . 1
| 1.2 Registration and Shareware Fee . . . . . . . . . . . . . . . . 2
1.3 Warranty and Support . . . . . . . . . . . . . . . . . . . . . 3
1.4 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 3
2.0 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Purpose and Objectives . . . . . . . . . . . . . . . . . . . . 5
3.0 User's Guide . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 Initial setup . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Data Collection . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 List Type Selection . . . . . . . . . . . . . . . . . . . . . 8
3.4 Data Selection . . . . . . . . . . . . . . . . . . . . . . . 13
3.5 List Customisation . . . . . . . . . . . . . . . . . . . . . 14
3.6 Miscellaneous report information . . . . . . . . . . . . . . 18
4.0 Parameter Specifications . . . . . . . . . . . . . . . . . . 21
4.1 Commandline parameters . . . . . . . . . . . . . . . . . . . 21
4.2 Configuration file Parameters . . . . . . . . . . . . . . . . 21
4.3 Compiling the IPF lists . . . . . . . . . . . . . . . . . . . 23
5.0 Sample of Getting organised . . . . . . . . . . . . . . . . . 24
5.1 Downsort . . . . . . . . . . . . . . . . . . . . . . . . . . 24
| 5.2 BinkleyTerm . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.0 Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2 RUN-time material . . . . . . . . . . . . . . . . . . . . . . 26
6.3 Source material . . . . . . . . . . . . . . . . . . . . . . . 27
6.4 Installation . . . . . . . . . . . . . . . . . . . . . . . . 27
6.5 Dependencies and restrictions . . . . . . . . . . . . . . . . 28
6.6 Storage and Performance . . . . . . . . . . . . . . . . . . . 28
6.7 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.8 Wishlist . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.0 Internals . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.1 Development Environment . . . . . . . . . . . . . . . . . . . 31
7.2 Program Organisation . . . . . . . . . . . . . . . . . . . . 31
7.3 Main Data Organisation . . . . . . . . . . . . . . . . . . . 33
Appendix A. History of changes . . . . . . . . . . . . . . . . . 36
8.1 Version 6.2 . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.2 Version 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.3 Version 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.4 Version 5.9 . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.5 Version 5.8 . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.6 Version 5.7 . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.7 Version 5.6 . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.8 Version 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . 44
Appendix B. World-wide use of Downsort . . . . . . . . . . . . . 46
Contents ii
Maximus Download File Sort and List Utility (OS/2 and DOS)
Appendix C. Sample Lists . . . . . . . . . . . . . . . . . . . . 47
10.1 ALL-list . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.2 GBL-list . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.3 NEW-list . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.4 FILES.BBS . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5 ORPhan list . . . . . . . . . . . . . . . . . . . . . . . . 48
| Appendix D. Downsort for non-Maximus users . . . . . . . . . . . 49
Appendix E. Sample Configuration File . . . . . . . . . . . . . 51
Contents iii
Maximus Download File Sort and List Utility (OS/2 and DOS)
1.0 ABOUT DOWNSORT
Downsort was originated in 1987 as a program for personal use. I
founded the Bulletin Board PC-Square and as SYSOP I wanted a daily
overview of my download material for the users in the form a Bulletin.
The program name is related to the SORTing of the collection of
DOWNloadable files, in DOWNward time-stamp sequence and an online
Bulletin was the only list that was produced at that time. PC-Square
was running BinkleyTerm and OPUS under DOS, and file-requesting was not
so popular then.
Now PC-Square runs with OS/2, BinkleyTerm and MAXIMUS CBCS. I'm not
SYSOP anymore but still strongly involved. As a contribution to
PC-Square and the large community of international SYSOPs running
Bulletin Boards with MAXIMUS CBCS, and in the highly appreciated spirit
of BinkleyTerm, I decided to upgrade my Downsort program to the current
software. During the past years a lot of improvements and extensions
have been made: many user-configurable options for many more output
formats then the original Downsort.
| The only dependency of Downsort on MAXIMUS CBCS is a parameter-file
| FAREA.DAT, which is created with a MAXIMUS utility (SILT[P]), and which
| itself can be used without actually running MAXIMUS! If you like
| Downsort, but don't run Maximus 3.00, see "Appendix D. Downsort for
| non-Maximus users" on page 49 for an suggested procedure in this case.
| "Appendix A. History of changes" on page 36 gives an impression of
| recent history.
| Downsort is now developed in an OS/2 environment, but it is distributed
| as 'family'-application: it runs under OS/2 and DOS. A 32-bits version
| is now also available for OS/2 (version 2.0 or newer).
| Downsort is in its 8-th year of development and has entered a period
where life becomes more and more complicated. While adding new
features, I have tried to maintain compatibility. This is a main cause
of complications. Maybe in one of the newer versions I have to leave
this compatibility in favour of maintainability and user-friendliness.
In anticipation of this, please do not use undocumented features (if
there are!), or styles of usage that are not described in this
| document. On the other hand, don't be shy in experimenting with the
| many possible combinations of parameters and list formats to obtain the
| format that you and your users like most!
| 1.1 QUICK START
| I appreciate that you are eager to use Downsort. You don't have to
| make a comprehensive study of this document.
| The minimum contents of Downsort.Cfg for an ALLFILES list is a single
| line, like:
| AllFileList allfiles.txt
About Downsort 1
Maximus Download File Sort and List Utility (OS/2 and DOS)
| This assumes that you run Downsort from the directory in which Maximus'
| FAREA.DAT is located, otherwise add a line like:
| FAREADAT d:\max\FAREA.DAT
| Then have a look at the sample Downsort.Cfg, which contains all
| possible parameters with for each a brief explanation.
Before reporting supposed bugs or missing features, please read this
| document carefully!
| 1.2 REGISTRATION AND SHAREWARE FEE
| Up till version 6.1 Downsort was a Freeware product. But it is not a
| neglectable task to keep Downsort up to standards, migrating to new
| versions of Maximus and keeping up with the stream of requests for new
| features. From version 6.2 on I ask a small tangible compensation to
| allow me to continue working on Downsort.
| I hate registration-reminders, annoying beeps, restrictions in features
| (cripple-ware), and other tricks to force people to register. So
| Downsort is uncrippled, full featured, and that will remain so. I may
| eventually decide to quit further work on Downsort if the registration
| response appears to be considerably below actual use.
| I don't like the unreasonably high fees that banks charge for
| international money transfers or cheques to be made payable, and have
| no agreement with a credit card company. To keep the shareware fee to
| a reasonable minimum, I ask you to send a "thank you for Downsort"
| letter with carefully hidden 15 US dollars in banknotes (no cheques!!).
| You will be obliged to perform this incredibly pleasant task only once,
| and what is 15 dollars on a lifetime? You may grasp the chance to tell
| me your strictly private opinion about Downsort or to report your
| requirements or remarks!
| Please address your letter to:
| R. Hamerling
| Hogelandseweg 67
| 4132 CV Vianen
| The Netherlands
| The equivalent of 15 US Dollars in banknotes of another currency is
| welcome too, but please only in a currency of one of the G7 countries!
| For those of you with a Dutch bank account it may be more convenient to
| pay the fee (25 Guilders) into my Postbank account 2087285. You will
| receive a personal 'key' which will change the signature of Downsort
| slightly to show that you are a registered user.
| If you are running Downsort on your Bulletin Board as service to your
| users, have it available for download and/or file-request, and you
| appreciate to be mentioned, I'll be glad to add your name to the
| reference list.
About Downsort 2
Maximus Download File Sort and List Utility (OS/2 and DOS)
1.3 WARRANTY AND SUPPORT
The regular warranty for Shareware applies: none. If you read the
summary of changes you must conclude that I listen to your complaints
| and suggestions.
| Requests for new features or changes are welcome. However your
| registration status takes part in my decision to accept these and
| assign their priority.
| I am monitoring the international echos 'MUFFIN' and 'OS2BBS'. You may
| find discussions of general interest concerning Downsort there.
1.4 ACKNOWLEDGEMENTS
I would like to thank the many users and testers that contributed with
constructive remarks and encouraging appraisals.
I also would like to thank the regular users (SYSOP's of Bulletin
Boards) who made Downsort much more popular than I ever dreamed of! A
collection of geographically dispersed Boards can be found in "Appendix
B. World-wide use of Downsort" on page 46.
About Downsort 3
Maximus Download File Sort and List Utility (OS/2 and DOS)
2.0 OVERVIEW
Downsort is a program to make lists of available download files for
Bulletin Board Systems, especially but not restricted to MAXIMUS CBCS.
The different types of lists are each for a specific audience (online
bulletin board users, file-requestors, SYSOP) and purpose (allfiles,
recent acquisitions). Within each type there are many ways to
customize the contents (selection on user-interest), and format
(sort-sequence of files, titles, logo, etc).
Downsort can produce the following report-types (1)for you:
(all these can be produced in one run).
■ user-lists
∙ BBS-list with a colorful overview for online users of MAXIMUS
CBCS
∙ NEW-list of the most recent files (as a response to a
file-request of 'NEWFILES')
∙ ALL-list for a complete overview in a file-group per area (as a
response to a file-request of 'FILES' of 'ALLFILES')
∙ GBL-list for a complete overview over the area-boundaries, as an
alternative for ALL-list if you don't want to bother
| file-requestors with your area-structure
| ∙ TOP-nnn download list of most frequently downloaded files.
| ∙ Most of these lists have also an "IPF"-counterpart. The contents
| are the same, but in a different presentation format (VIEW-able
| under OS/2).
■ SYSOP lists:
∙ ORPHAN-report as a help with management of the contents of your
areas and directories, and to correct possible upload problems or
inconsistencies.
∙ DUP-list for a list of duplicate filenames as a help to control
your disk-space and with version management.
| ∙ OKFile for File-requests.
| ∙ Automatically maintained FILES.BBS files.
| ∙ USER-specified list. This type of list has a user-specified line
| format, in which variables can be specified to be replaces by
| file- and area-information.
| The lists can be customized to a very high extend to present your
| system as you like it to be seen by your users (headers, log, etc). At
the same time Maximus (and OPUS) conventions are reflected in the way
the file information is presented.
A sample of these lists can be found in "Appendix C. Sample Lists" on
page 47.
In short: Downsort is a very versatile tool to manage your database of
files, both in an OS/2 and DOS environment.
────────────────────
(1) For the target audience the distiction between 'user' and
'sysop' is strictly the author's view!
Overview 4
Maximus Download File Sort and List Utility (OS/2 and DOS)
2.1 PURPOSE AND OBJECTIVES
Downsort is designed for the following purposes:
1. Produce different overviews of files which are available for
download by online users of the Bulletin Board and by
File-requestors. QUICK and EASY file retrieval is the main goal for
the lists. Therefore many lists-types and within a type several
variations should be available for SYSOP and users.
2. Should not disclose files to users (file-requesters) without
positive agreement by SYSOP.
3. Detect discrepancies between the contents of FILES.BBS and the
corresponding download directory, such as:
■ The directory contains so called orphan-files, which have no
descriptive entry in FILES.BBS.
■ FILES.BBS contains entries of which the file in not in the
directory (is 'offline'). This may be on purpose!
4. Must be able to be run unattended (typically overnight).
Overview 5
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.0 USER'S GUIDE
This chapter explains the possibilities of Downsort. Parameter
specifications will be covered in "4.0 Parameter Specifications" on
page 21.
3.1 INITIAL SETUP
When you are going to use Downsort for the first time, you have to make
a number of decisions. Below you'll find a kind of check-list, which
is setup to help you with a logical sequence of tasks to make the use
of Downsort succesful. It does NOT give detailed specifications, these
can be found in "4.0 Parameter Specifications" on page 21.
The specifications will be put into a configuration file Downsort.CFG,
which may contain information about:
1. Data Collection
File information will be collected from:
| ■ Download path-information from FAREA.DAT.
■ File information from download directories.
■ FILES.BBS files for file descriptions.
2. List Type Selection
Downsort can produce the following report types for you (all in one
run).
■ BBS-list for online users of MAXIMUS CBCS
■ NEW-list(s) for a list of the most recent files
■ ALL-list(s) for a complete overview in a file-group per area
| ■ GBL-list(s) for a complete overview over area-boundaries
| ■ TOP-list(s) to show the most frequently Downloaded files
■ IPF-list(s) same as ALL-list, but in a different presentation
format (VIEW-able under OS/2).
■ DUP-list(s) for a list of possibly duplicate filenames
■ ORPHAN-report for SYSOP use only
| ■ OKFile(s) for File-requests
| ■ USRFile(s) for special purposes, designed to create .CMD or .BAT
| files for maintenance of file-areas by Sysop.
■ Updated FILES.BBS files
3. File selection
Reporting of file-information can be limited by:
■ Area group with a set of areaINcludes and/or areaEXcludes for
selection for special interest groups
■ Explicit exclusion by specification of filespecs (wildcards)
■ Number of files or period (days, weeks or months) to be reported
4. List Customisation
The layout of the lists can be jazzed-up with:
| ■ BLOCK-title(s) and BLOCK-font
User's Guide 6
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ TopTitle, SubTitle, BottomTitle, Include (logo-) file
■ Sorting sequence of areas (unsorted, name, group,
include-sequence)
■ Sorting sequence of files (unsorted, filename, filedate)
■ Truncation, wrapping and indenting of file descriptions
■ Message and Warning texts
■ Handling of Avatar codes in comment lines (strip or mimic).
All in the language which suites your audience best.
The sample Downsort.CFG file (see "Appendix E. Sample Configuration
File" on page 51) contains defaults and a brief information to help you
with the parameter specifications.
Below you can find some more explanation.
3.2 DATA COLLECTION
| 3.2.1 FAREA.DAT
| A MAXIMUS file 'FAREA.DAT' is required by Downsort. It is however not
| necessary to run MAXIMUS for your BBS! See "Appendix D. Downsort for
| non-Maximus users" on page 49 for a suggested procedure to use Downsort
| without running Maximus.
If you run Downsort in a directory without FAREA.DAT, then you should
specify the filespec for FAREA.DAT. It allows also to specify a
different FAREA.DAT file than the one that is used by your MAXIMUS!
With SILT[P] you may build a special FAREA.DAT for exclusive use by
Downsort, with different, less, or even more directories! Probably
much more convenient is the use of AreaGroups with AreaINclude and/or
AreaEXclude in Downsort.CFG to limit the contents of the lists to a
group of areas, that you want to report together, while you use the
regular FAREA.DAT.
In addition files may explicitly excluded during the data collection
process by specification of a number of filespecifications (wildcards
| allowed).
| If Downsort reports a memory constraint (supposedly under DOS only, see
| also "6.6 Storage and Performance" on page 28), you may use these
techniques as circumvention: exclude one or more of the file areas and
rerun Downsort.
3.2.2 FILES.BBS
Downsort uses the information in FAREA.DAT to locate the description
files, usually called FILES.BBS. So either the ListFile specification
in FAREA.DAT, or the download directory to locate them (Maximus
default).
User's Guide 7
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.3 LIST TYPE SELECTION
Downsort can produce several types of output reports, indicated by type
of list. The following list types are available (all list types may be
generated in multiple variants within one run of Downsort, i.c. with a
single directory scan!).
3.3.1 ALL-LIST
A list of all downloadfiles by area. Files of the same area are listed
in groups, separated by imbedded headers with area-name, and
-description. Actual status information is provided in the area-header
as well: area-filecount and -bytecount, and latest acquisition (date
and file-name).
At the end a SUMMARY report shows per area: area-title, file-count,
| byte-count, and totals.
| The list can be limited by number or period, so that it effectively
| gets the same contents as a NEW-files, but in the format of an
| ALL-files list. The numbers in area-header and summary report show
| only what is available for the particular privilege.
| You might copy the summary report in ALLFiles to a separated file. A
| REXX-procedure 'SPLITSUM.CMD' is provided to do this automatically for
| you.
3.3.2 GBL-LIST
Similar to ALL-list, but where ALL-list gives the files in groups per
area, the GBL-list ignores area-boundaries and gives a single group.
It contains an extra column with the area-code for each file. It
contains no area-summary.
SYSOP may choose which of both is suitable to make available to users,
and which to use for himself (or even both).
The GBL-list can be used in stead of the ALL-list if your users prefer
searching in the list without having to bother about area-organisation.
Although one of the original purposes of the GBL-list was checking for
duplicate files, there is also a special report for this particular
purpose (see "3.3.8 DUP-list" on page 10).
3.3.3 IPF-LIST
Same contents as ALL-list but in a different format. Only useful for
users that run OS/2 (OS/2 version 1.2 or higher under Presentation
Manager). This file has the format of an input-file for the
| Information Presentation Facility Compiler (IPFC). Downsort produces
| information that can be compiled only with the IPF Compiler of the OS/2
| Program development Toolkit (2.0 or higher). The result however can be
VIEWed under OS/2 1.3!
User's Guide 8
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.3.4 BBS-LIST
This is a list of downloadfiles that became recently available on your
system. File selection is on date, but for presentation the list may
be sorted on date, newest first or on filename.
The list contains compiled MECCA control sequences, for direct use in
| MAXIMUS bulletins: It might be a good idea to put a translated [onexit]
string, which translates into: ^OFpath. When a user exits from the
BBS-list bulletin, it will fall back to the exit-bulletin.
The length of the file (number of file-entries) may be limited by
parameters:
■ file-count
■ file age in days, weeks or months (30 days)
If neither specified it will contain all available files in all
download directories.
To make it easy for you to build a complete MAXIMUS bulletin-file a
user-provided header is included preceding the list and a trailer at
the end of the list. Header and trailer can be built by SYSOP, and may
contain any information and bulletin-control sequences (a sample is
provided).
3.3.5 NEW-LIST
Basically the same list as the BBS-list, but in simple ASCII format.
This list is suitable for regular file-requestors as brief overview of
| the latest additions, updates or replacements.
| 3.3.6 TOP-LIST
| If you have a download count field in your file descriptions in
| Files.Bbbs in the form of [nnn] or (nnn), then Downsort can produce a
| list with the most frequently downloaded files.
| Downsort does not update these download count fields!
3.3.7 ORPHAN-LIST
This is a list of all files in download directories for which there is
no entry in any FILES.BBS file of all areas which have this directory
specified as download path. The report contains date, area-name and
area-path of the orphan. The entries are sorted on area and filename.
Not reported are the files that match all FileEXclude specifications.
Normally you would exclude FILES.*, *.BAK, DIR.?BS and SYSTEM*.?BS.
If you have more than 1 area pointing to the same download directory,
but with different FILES.BBS files, the orphans are reported for the
User's Guide 9
Maximus Download File Sort and List Utility (OS/2 and DOS)
first of these areas only.
Note: If there is an entry for a file in FILES.BBS without a
description, the file is NOT considered to be an Orphan!
3.3.8 DUP-LIST
Simple report of possibly duplicate files over the areas. The format
is basically the same as the GBL-list, but only files with the same
filename are reported. 'Offline' files are included in the check,
orphans are not!
With the 'DupNameSize' keyword in Downsort.Cfg you may indicate how
many characters have to be considered in the compare of the filename.
The default is the whole filename (8 characters), extension and path
are always excluded from the compare. If you specify a smaller number,
then you may catch version-numbers, which are generally put at the end
of the name. For example: if you specify MaxDupName 6, then
DWNSRT59.ZIP and DWNSRT60.ZIP are reported as duplicate, while this
would not be the case if the default of 8 was used for the filename
compare.
Please note that the DUP-list may not always contain what you expect.
It can be more or less, for example:
■ Downsort looks primarily at filenames only (extension is of second
importance, an explicit path is ignored).
| ■ You may have explicitly excluded areas from the search.
■ You have duplicates in 'orphan'-state.
These circumstances may give 'false' signals or hide duplicates! You
may need a file-finder-utility to search for the 'partner'-file in one
of the directories with a higher privilege.
There are only a few other parameters applicable to this list. The
output is sorted on filename, unless you specify a different sorting
regime (date or area, and within area on filename of FILES.BBS
sequence). All user-titles are left out.
Suppression of reporting files with equal filenames and different
extensions is possible with the "NonDupEXT" keyword in Downsort.Cfg.
You specify pairs of extensions. Two files with equal filename and one
of each having an extension specified as 'pair' will not be reported as
duplicate. For example, if you specify:
NonDupEXT SDN SDA
then file pairs xyz.SDN and xyz.SDA will not be reported in the
DUP-list.
This pair-exclusion can also be used for more than 2 extensions, but
the exclusion works only for pairs of files. So then you must specify
as many pairs as can be formed. For example if you want to exclude
file combinations like xyz.IDX xyz.DAT and xyz.EXT, then you should
User's Guide 10
Maximus Download File Sort and List Utility (OS/2 and DOS)
specify:
NonDupEXT IDX DAT IDX EXT DAT EXT
Warning: The check on duplicates by Downsort works only when you
specify all possible pairs of extensions! If you fail to specify any
possible pair, the Dup-list may contain false signals.
Multiple pairs may be specified on a line, and multiple lines are
| allowed.
| 3.3.9 OKFILE
| List of path specifications for file-requests. Each outputline has the
| format:
| <downpath>\*.*
| In which <downpath> is the directory that contains downloadable files.
| The lines are sorted on pathspec of the download directory.
| Titles etc. do not apply, but a file may be included, which will
| generally be a list of 'magic' names and corresponding filespec.
| Note: Newer versions of BinkleyTerm can use the file base of Maximus to
| find a file even faster by specifying:
| *<maximus>\maxfiles.idx
| Note: The former 'long' type of OKfile list cannot be created with an
| OKFileList. In stead you can use the USRFileList. The sample
| Downsort.Cfg contains an example of this format.
3.3.10 USR-LIST
A very versatile list with a 'user specified format'. It is primarily
designed to build a batch-file for file maintenance purposes, with a
single output line per file. But of course you may use it for any
purpose that suites you.
You specify a 'model-line' or 'template', that may contain any text and
some symbolic variables that represent the values of some file
information items:
| %$ Access Control String of the File Area
| %2 Duplicate flag: 1=no duplicate file, 2=duplicate file
| %A Areaname (fully qualified, INcluding division prefixes)
| %C File Creation date
| %D most recent of Lastwrite and Creation Date of the file
%F Filename.ext
%H File age in days (most recent of lastWrite and Creation Date is
taken).
%N File Download count (value of nnn in [nnn] from file description
User's Guide 11
Maximus Download File Sort and List Utility (OS/2 and DOS)
in FILES.BBS). If no [nnn] found, the value of %N will be 0.
%P Path specification of download directory
| %S File Size
| %U Unqualified areaname (EXcluding division prefixes)
%W File lastWrite date (see "3.6.2 File Dates" on page 19)
%Z File lastAccess date (see "3.6.2 File Dates" on page 19)
This type of list is designed to offer a user-controlled two-stage file
maintenance. Just an example: if you want to get rid of all files
older than 2 years, you let Downsort produce REXX-procedure with for
each file a line as follows:
if %H > 730 then erase %P%F
Of course you may limit the output-list with area-group, etc., like all
regular xxxFileLists of Downsort. And if you think Downsort might
generate too many or too few of these statements, you can always have a
manual check and modify the list before actually executing the
procedure! It may help if you expand the USRmodel statement with a
REXX-comment, like:
if %H>730 erase %P%F /* LastWriteDate=%W CreationDate=%C */
3.3.11 REBUILD FILES.BBS
New "FILES.BBS" type of file may be (re-)created, one for every area.
The contents of the file-information will be about the same as the
original FILES.BBS, but with the following notes:
■ A header is generated with area-name, -title and optionally the
Access Control String of the area. Also the total amount of files
and bytes and the most recently acquired file in this area is part
of the header information. The header will look a bit different if
any area has a long name (more than 3 characters) than when all
areas have short names.
■ Wild-card specifications in the original FILES.BBS are not
propagated to the new FILES.BBS.
■ The file description is kept internally as a single string of about
2 KBytes (Maximus 3.00 supports up to 1024 bytes!) When creating
FILES.BBS files, this will be the file format (single record per
file-entry). The original FILES.BBS may contain a single line
description, or multi-line descriptions. When encountering
multi-line descriptions in input-FILES.BBS, Downsort concatenates
the separate description lines with a single intermediate space up
to a maximum of 2 KBytes. This will be the output format.
■ Comments in FILES.BBS will be preserved only when the Keep-Sequence
option is used (specify /K on the FilFilePath line of Downsort.Cfg).
Special attention is requested for the following:
■ Downsort from version 5.7 recognises its own headerlines with the
characters: <-><δ><backspace><backspace><blank> for each of its
header-lines, and will skip all lines starting with this sequence
User's Guide 12
Maximus Download File Sort and List Utility (OS/2 and DOS)
during the data collection phase.
■ You can include your own file with the /I-option on the FILFilePath
line in Downsort.Cfg in the header of FILES.BBS. All lines in the
include-file for FILES.BBS output will be prefixed by Downsort with
the 5-character sequence mentioned above to make sure that these
will also be 'refreshed' each time you run Downsort.
■ The destination of FILES.BBS-files is not by definition the same as
the origin! An output path can be specified in the configuration
file. If you don't specify an output-path on the FILFilePath line
in Downsort.Cfg, the output will replace the original FILES.BBS (the
old will be renamed to FILES.BAK). If you specify an output path
the output will be put in the specified directory and the filenames
will have the format "areaname.BBS".
Entries of 'offline' files can be removed with Downsort.
Manual checking or post-processing by some other program may follow
Downsort, after which the files might be put back on the MAXIMUS
specified position.
3.4 DATA SELECTION
During the data collection phase of Downsort, files are selected on
several criteria. Generally speaking not more information is collected
than needed for all lists in a single run of Downsort.
| During the list creation phase a further file selection may take place.
| All lists are primarily created from the file information. This means
for example that if a selection is such that no files of a certain area
fall within the list criteria, the files of that area will not appear
| in any list.
| 3.4.1 ACCESS CONTROL STRING
| MAXIMUS has a suffisticated access control system for online users.
| Although Downsort up to version 6.1 supported privilege and lock
| control to 'simulate' the access of different users, it does not
| anymore. The even more suffisticated access control in MAX version
| 3.00 is considered a bit of overkill for the relatively simple task of
| Downsort: create couple of file-lists! Nevertheless different lists
| can be made for different user-classes with the area-grouping, and the
| Access Control String can be shown to users, even to those users that
| have not access to some areas of which the list gives the contents.
| 3.4.2 AREA SELECTION
| There are several ways to perform area selection:
| 1. With AreaGroup definitions with individual sets of AreaINclude
| and/or AreaEXclude statements you define logical groups of areas by
| name. For each individual list you may select a single group.
User's Guide 13
Maximus Download File Sort and List Utility (OS/2 and DOS)
| 2. FAREA.DAT file needs not be the regular complete FAREA.DAT used by
| your online Maximus system.
| You should realise that the selection has the above sequence: Make sure
| you don't restrict the collection phase too much. The list
| specifications may further reduce the contents of each list.
| 3.4.3 FILENAME SELECTION
| Downsort scans download directories and collects data of all files
| (except those with the hidden or system attribute). With the keyword
| FileEXclude in Downsort.cfg, you may indicate which files you want to
| exclude from processing by Downsort, based on filename. With one or
| more filespecs, wildcards allowed, all files with matching filespec
| will be excluded during the data collection phase, regardless of the
| area. The current implementation supports only the traditional 8.3
| filename.ext format, no long names and no explicit path.
| In versions of Downsort before 5.9 the hardcoded specification of
| certain 'system' files has been removed, and these filespecs should now
| be specified in Downsort.cfg. The sample Downsort.cfg does contain
| these specifications. I suggest to leave that line asis and add one or
| more new lines for your own use. Warning: FileEXcluded files will even
| not appear in the FILES.BBS (re-)created by Downsort!
| 3.4.4 REPORT LENGTH
| For lists that are meant to show the latest file-information only
| (BBS-, NEW-, ALL-, and TOP-list), the length of the list can be limited
| to a maximum number of file-entries or to file-age in days, weeks or
months.
3.5 LIST CUSTOMISATION
3.5.1 HEADERS, TITLES AND INCLUDE FILES
There are several ways to customize the appearance of the lists for
Downsort. All items in the following list are optional, but the
sequence in the reports is fixed and as listed:
Pre-Title Lines that should appear as the very first lines of your
| lists. Any text may be specified. ' ~'-characters (tilde)
| will be treated as full-size required blanks, and
| ('`')-characters (open quote) as half-size required blanks,
| mainly to manually align (center) the text in these lines.
There is no automatic centering. You may have to
experiment a little.
| TITLE A number of short titles (8-12 characters per line), that
User's Guide 14
Maximus Download File Sort and List Utility (OS/2 and DOS)
| will be magnified to big BLOCK-letters. There are 5
| block-fonts to choose from. Not all characters are
| supported and lower-case will be translated to upper-case.
| Tilde and open-quote translation will take place here also.
Multiple lines for a block-title can be specified. There
is no default block-title.
Include-file A text-file to be included. There will be no manipulation
of the contents of this file. This include-file may be all
you need to obtain a fully customized list. For the
IPF-list this include file will most likely have to contain
IPF tags for proper formatting, for the OK-file it will be
a list of 'magic' name entries.
Sub-Title Lines that should appear immediately following the
| block-title. If an include-file is specified, this will be
| included between title and sub-title.
| BottomLine Line(s) that should appear at the end of the list. These
| will be followed by the 'signature' of Downsort (date,
| version, etc,).
| With 'TitleFont' you specify the font to be used for the BLOCK title.
| If specified as 0, the BLOCK-title will NOT be generated at all.
The BLOCK-title and Pre-, Sub-, and Bottom-titles are used for all
reports identically, there is no such thing as an 'individual' title
specification for each report. However the Include-file may be
different for each report. If you want to build more than 1 list but
with different 'headings' or no headings at all, you better forget the
Title-options. In stead make heading-files and use the Include option
of the individual list specifications.
Note: Exceptions:
1. None of the above does apply to the BBS-list. As it will generally
be desirable to imbed (compiled) MECCA control sequences in this
type of lists, this report will include dedicated top and bottom
files (if available in the current default directory). These files
| must be called Downsort.HDR (header) and Downsort.TRL (trailer).
| 2. The ORPHAN and DUPLICATE report will not contain any user-titles.
Recommendation: File-requestors appreciate a header with a clear
indication of the source of the reports. Many Bulletin Boards use
FILES or ALLFILES as 'magic' name for file requests, but that is not
very distinctive when collecting lists of different boards! So use
Downsort's facilities to generate a block-title with your system-name,
or an include file with some kind of logo.
| Note: Specification details and samples can be found in Downsort.CFG.
| Some SYSOPs do not like to confront their users with access control.
| In most headers there will be a line with the Access Control String.
This may be suppressed.
User's Guide 15
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.5.2 FILE SORTING
The file-entries in the lists can be sorted on different keys:
■ Filedate
■ Filename
■ Sequence of FILES.BBS
The default sorting sequence depends on the type of list. Some lists
do not support all of these sorting keys.
Note: File sorting has a local scope. It can be specified for to each
listtype individually.
3.5.3 AREA SORTING
The order in which the areas are presented in the lists can be
specified:
| ■ Order of FAREA.DAT
| ■ Alphabetically: sorted on unqualified areaname
| ■ Order of areaINclude statements in the Areagroup
| ■ Group-order: sorted on fully qualified areaname
| ■ Keep order of FAREA.DAT, implies no sorting.
| The difference between 'alphabetic' and 'group' sort is the use of the
| areaname. With 'alphabetic' sort the areaname is taken without the
| division prefix (if you have any), while the 'group'-sort takes the
| fully qualified name, and effectively sorts areas alphabetically on
| then on areaname itself.
| If Include-order is specified, but you didi not specify an AreaGroup
| with AreaINclude statements, then the order falls back to 'Keep'-order:
| sequence of Farea.Dat.
The AreaOrder specification has a global scope. It applies to every
lists where the areaname is significant, including summaries in ALL-
and IPF-lists.
Default sorting order is 'Group'.
3.5.4 WARNINGS, INDICATIONS, DESCRIPTIONS AND COMMENTS
■ There are two options for long file descriptions (those that do not
fit on a 80-character line):
∙ Truncation at end-of-line
∙ Wrapping to multiple lines
Both options are available for all lists, but the defaults vary with
the type of the report. If wrapping is specified continuation lines
will start in the same column as the description on the first line
User's Guide 16
Maximus Download File Sort and List Utility (OS/2 and DOS)
unless a non-zero indentation is specified.
■ Orphan description: Text that will be reported in the description
column of a file, when for this file no entry in FILES.BBS could be
located.
Default: "---------- Orphan ---------".
■ Not-Found description: Text for the description column when the
file-entry was found in FILES.BBS, but there was no description
present.
Default: "--- no description available ---".
■ Offline description: Text that will replace file-size and file-date,
when an entry for this file was found in FILES.BBS, but the file
could not be located in the download directory.
Default: " - offline - ".
■ Comments in FILES.BBS (mostly used for additional description for
groups of files) will be listed when no sorting is specified (the /K
option for ALL-, IPF- and FIL-lists).
When Downsort encounters Avatar screen handling codes in FILES.BBS
these are stripped of or partially imitated in the output lists
(unless AVAstrip No is specified in Downsort.Cfg). Typical screen
handling commands (cursor movement, color settings) are just
stripped, others (repeating characters of patterns) are imitated.
■ Size of a VIEW-page in IPF-list: The IPF-list of areas with more
than 200 file entries will be splitted into 'parts' to prevent the
IPF-compiler message 'page size exceeded'. But if you have many
long descriptions, or wish smaller parts, the page-size can be
altered with a parameter on the IPFFileList line in Downsort.CFG.
Default: 200.
3.6 MISCELLANEOUS REPORT INFORMATION
3.6.1 FILE INFORMATION IN LISTS
1. Dates are marked with a 'new'-indicator: a '*' if the file is only
since a week on this system, and a '+' if it is since a month.
Filedates later than the current system date are marked '-'
(negative age).
2. In every outputfile the filename, MAXIMUS-area name, file-size and
-date, and file-description from FILES.BBS is listed. A report-line
will never display more than 79 characters.
User's Guide 17
Maximus Download File Sort and List Utility (OS/2 and DOS)
The file-description will be multi-line in ALL-, IPF- and GBL-list
if it is longer than would fit on the standard 79-position line, a
word-wrapping technique is used for readability (line-split on word
boundary). The description is truncated at end of line in BBS-list
and NEW-list.
The -T option will force truncation of the description in all
reports, the -W option will allow multi-line descriptions in all
reports. When wrapping is used, continuation lines will normally be
aligned on the start position of the desription. This may be
modified with an indentation option.
If a filename is found in FILES.BBS, but no accompanying
description, a "--- no description available ---" will be put in
| place. An alternative text may be specified with Downsort.CFG.
| Files for which there is no entry in the FILES.BBS (Orphans) will
| not appear in regular lists. You may specify the 'Orphan Adopt'
| flag (-O) to force these being listed, but it is considered good
| practice only with FILFilePath. Downsort will report the file with
| a file description, to be specified with the OrphanDesc keyword in
| Downsort.Cfg. As a result of specification of -O in FILFileList,
| any following runs will list these files as regular files (the
| orphans were adopted, weren't they?). Filedate selection is ignored
| for orphans, but AreaGroup is respected.
Note: If you want the orphans to appear, you MUST also generate an
ORP-list in the same Downsort run!
3. '- offline -" in stead of file-size and file-date is reported if
FILES.BBS contains an file-entry while the file is not in the
| corresponding directory.
3.6.2 FILE DATES
One of the function of Downsort is sorting on file date. Since the
introduction of HPFS in OS/2 version 1.2, there is not one single
file-date anymore! A file on an HPFS volume has different values for:
■ Creation date
■ LastAccess date
■ LastWrite date
The date you see normally in DIR-listings is the LastWrite date. Most
SYSOPs will have noticed that ZMODEM uploads and file-attaches give
file-dates corresponding to the (LastWrite-) date of the sending
system. And most utilities handle only this 'single' date. That means
that old ZMODEM-uploaded files are generally not on top of the
acquisition lists.
But HPFS stores the date of arrival on your system (Creation) as well.
Downsort handles most recent of Creation and LastWrite date for
sorting, but the lists (see below) contain the 'old fashioned'
User's Guide 18
Maximus Download File Sort and List Utility (OS/2 and DOS)
LastWrite date. This has the following consequences:
■ A new acquisition is on top of lists, if that list is sorted on
date, and are marked in the lists as new by a flag for an 'age' of a
week or a month.
■ The listed file-date is the 'ordinary' date. So users can judge for
themselves if the file is 'new' for them as well.
Note: The LastAccess date is not very relevant for the purposes of
Downsort, although SYSOP may see when it was last downloaded.
Downsort is delivered with a simple DIR-like utility 'HPFSDATE' to show
the three dates of a file on a HPFS volume.
Files with 'future' file dates will be indicated with a '-' flag in the
lists. These files will never appear in: BBS-, and NEW-lists.
3.6.3 DUPLICATE FILENAMES
Duplicate filenames will be checked only if the DUP-list is generated.
And duplicates will be reported only in the DUP-list. So duplicate
file may appear in regular user-lists, which means:
■ If a filename.ext is encountered more than once in different
subdirectories of download files, it will appear that many times in
| the outputlist.
■ It may happen that a file is reported as orphan in one area, and as
duplicate in another. It is likely that the file is found in a
common download directory of more than one area but it is described
in the FILES.BBS of a 'secundary' area, but with the wrong
extension.
Downsort.Cfg give you some control over detection of duplicates:
■ With the 'NonDupExt' keyword you may suppress certain duplicates.
■ With 'DupNameSize' you may specify how many characters of the
filename have to be taken into consideration.
See "3.3.8 DUP-list" on page 10 for more details.
User's Guide 19
Maximus Download File Sort and List Utility (OS/2 and DOS)
4.0 PARAMETER SPECIFICATIONS
This chapter tells you how to customize the configuration file and what
you might specify on the commandline.
A sample configuration file (in "Appendix E. Sample Configuration
File" on page 51) is part of the package. It contains a brief comments
(in Binkley and MAXIMUS style) to help you.
4.1 COMMANDLINE PARAMETERS
| This paragraph deals only with the commandline parameters!
| [drive:][path] DOWNSORT [@filespec] [-H | -Q | -V] [-Ixx]
@filespec The character '@' followed by a complete file
specification of the Downsort configuration file(see "4.2
Configuration file Parameters" on page 21 for details).
This file will be used to specify processing parameters.
NOTE: The specification of a configuration file is
mandatory when the file FAREA.DAT is not in the default
directory when running Downsort.
| Default: Downsort.CFG in current default directory.
| -H -Q -V -Ixx Operating mode
■ H - Help: display screen with essential information
about running Downsort, such as the command syntax. In
that case the program will not take any other action.
■ Q - Quiet: display only start and finish-message, and
error messages which prevent the program from proceeding
normally.
■ V - Verbose: display a lot of progress messages.
If neither -Q nor -V is specified, than the number of
console messages will be 'intermediate': more than -Q, but
| less than -V.
| Ixx - Idle: run Downsort in priority class IDLE, level 'xx' (number in
| the range 1..31, default 16). Applies only to 32-bits OS/2
| version.
Default: none
4.2 CONFIGURATION FILE PARAMETERS
All processing options are specified in the configuration file. The
parameters are only mentioned here for completeness, see "Appendix E.
Sample Configuration File" on page 51 for a documented specification
sample of a configuration file.
Parameter Specifications 20
Maximus Download File Sort and List Utility (OS/2 and DOS)
4.2.1 PARAMETERS WITH GLOBAL SCOPE
The parameters below influence the execution of Downsort, or have
impact on every list (if it is applicable for that list).
■ Specification of the MAXIMUS CBCS file 'FAREA.DAT'.
■ Explicit file exclusion
■ Definition of areagroups with areaINclude and areaEXclude
combination, specifying generic names of areas of groups of areas.
■ Sort order of areas
■ List title(s) with BLOCK-characters.
■ Pre-titles, Sub-titles and Bottom-lines in 'text' format
■ Descriptive text of orphans, files without a description and files
for which an entry is found in FILES.BBS, but could not be found in
the corresponding download directory.
■ Duplicate filename restriction
■ Stripping of AVATAR graphics sequences from file descriptions and
comments in FILES.BBS.
4.2.2 PARAMETERS WITH LOCAL SCOPE
The parameters below are sub-parameters of the xxxFileList keyword.
| ■ Area selection by name of an areagroup
■ Output filename or directory for the output FILES.BBS-lists
■ Maximum number of file entries in NEW- and BBS-list
■ File-entry sort sequence (filename or date).
■ Automatic removal of file entries from FILES.BBS of 'not-found'
files.
■ Wrap or Truncate long file descriptions, and Indentation of
continuation lines.
| ■ Title Font selection.
| ■ Suppression of Access Control String.
■ Include textfile in NEW-, ALL-, TOP-, IPF- and GBL-lists, and in
FILES.bbs.
Downsort can generate any number of lists in a single run.
A sample configuration file is provided. A listing of this file is
imbedded as "Appendix E. Sample Configuration File" on page 51. It
contains a complete specification with comments on:
■ which options are available
■ how to specify the options
Read and modify the file as you like. Copy the sample file to a safe
place before you start modifying the original Downsort.Cfg!
Parameter Specifications 21
Maximus Download File Sort and List Utility (OS/2 and DOS)
4.3 COMPILING THE IPF LISTS
IPF-lists have to be processed by the Information Presentation Facility
Compiler (IPFC). This compiler is part of the IBM Programmers
Development Toolkit version 2.0 or higher. The following command has
to be issued:
IPFC Downsort.IPF /INF
The option "/INF" is needed to obtain a VIEWable file, if not specified
a .HLP file will be generated. Be sure to have the file Downsort.BMP
in your current default directory, or in DPATH, as this will be
imbedded by the IPF-compiler. The result of the compilation is a file
Downsort.INF, which can be VIEWed with the following command:
VIEW Downsort
The names "Downsort", "IPF" and "INF" are used here as sample, actually
the filename depends on the specification in the Downsort configuration
file, the extensions are the IPFC defaults.
If VIEW gives garbled columns and hardly readable block-titles, then it
is most likely that you did not install (or removed) the standard fonts
that are delivered with OS/2. Start the 'control panel utility',
select 'installation', 'add fonts'. Specify in the 'from'-field
C:\OS2\DLL (see HELP of control panel). Now choose at least 1
non-proportional font.
Note: IPFC has a number of restrictions that you may encounter,
especially when you try to compile large lists:
■ A "Page is too big" message, generally resulting in other errors or
warnings to appear as well, means that the 16000 words limit is
exceeded. A file may not contain more than 16000 different items
(character strings between blanks or punctuation marks). There is
nothing else you can do than make the list smaller (see "3.4 Data
Selection" on page 13 for suggestions). Sometimes a TRAP 000D
occurs with very big lists if you ignore these error messages.
■ Sometimes also "invalid nesting of cgraphics tag" is displayed.
Just ignore these!
Parameter Specifications 22
Maximus Download File Sort and List Utility (OS/2 and DOS)
5.0 SAMPLE OF GETTING ORGANISED
Assume you are runnung MAXIMUS with BinkleyTerm as front end mailer.
Suppose you make a distinction for file-requestors between Unknown,
Known and Password-Protected (e.g. corresponding to Demoted(Disgrace),
Normal and Privileged MAXIMUS users).
5.1 DOWNSORT
Your downsort.cfg file might contain among others the following
| specifications:
| ; Assume all areanames with 'normal' ACS start with 'N'
| ; and with 'Privil' ACS start with 'P', higher with 'S'
| AreaGroup Demoted
| AreaEXclude N P S
| AreaGroup Normal
| AreaEXclude N S
| AreaGroup Privil
| AreaEXclude S
| NEWFileList Newfiles.Prv -2m -SPrivil
| NEWFileList Newfiles.Nml -2m -sNormal
| NEWFileList Newfiles.Dem -2m -sDemoted
| ALLFileList Allfiles.Prv -sPrivil
| ALLFileList Allfiles.Nml -sNormal
| ALLFileList Allfiles.Dem -sDemoted
| This specification will produce the following lists:
| ■ For file requests of the magic filename NEWFILES a list of the last
| two months additions to your system.
| ∙ Newfiles.Dem for unknown file-requestors
| ∙ Newfiles.Nml for known file-requestors
| ∙ Newfiles.Prv for Password Protected file-requestors
| Note that each NEW-list contains only the most recent files, but the
| contents will generally not be quite the same (depending on your
| areaIN/EXclude specifications).
| ■ For file requestors of the magic filename FILES a list with all
| files (with optional titles via Downsort.CFG specifications):
| ∙ Allfiles.Dem for unknown file-requestors
| ∙ Allfiles.Nml for known file-requestors
| ∙ Allfiles.Prv for Password Protected file-requestors
| Note that each list is a complete list of what is available to the
| user of the specific privilege class, but your system will generally
| contain more files than listed for unknown and known users!
| In general: files, which the requestor is not supposed to know about
| due to his access class, will not be on his/her list!
| Note: The counters on top of the lists indicate what your system has
Sample of Getting organised 23
Maximus Download File Sort and List Utility (OS/2 and DOS)
| available in total (including higher access classes), so a clever
| user/file-requester may come up with the question how that is possible:
| explain that he/she has to earn higher a access class!
| 5.2 BINKLEYTERM
| In Binkley.Cfg (version 5.9+) you should specify for requests of FILES:
| Avail Allfiles.dem
| KnownAvail Allfiles.nml
| ProtAvail Allfiles.prv
| You will need an OKfile, which contains something like:
| *d:\max\maxfiles.idx
| And have specified the appropriate user access specifications in
| Binkley.Cfg, like for example:
| MaxReq 10
| KnownSec 30
| ProtMaxTime 50
| This will result in sending of the appropriate ALLFILES list to every
| requester of the magic filename: FILES.
| Of course if the access control string of all download areas is the
| same, this construction is not needed, but in that case it is unlikely
| that you have specified KnownAvail and ProtAvail!
Sample of Getting organised 24
Maximus Download File Sort and List Utility (OS/2 and DOS)
6.0 PACKAGING
6.1 AVAILABILITY
The most recent version of Downsort is downloadable and
file-requestable from PC-Square BBS (FidoNet: 2:280/804) of the Dutch
IBM employee PC club.
Examples of how you may get it:
■ You file-request the magic name DOWNSORT.
■ In an online Maximus session: locate "DWNSRT" to obtain the names of
all available Downsort files, independent of version an compression
method (ZIP is most likely what you'll see) and select what you
need.
Downsort will also be distributed in area FWBBS of the Fernwood
collection, and may also appear in SDSMAX.
There is a fair chance you may find a recent version on one of the
bulletin boards listed in "Appendix B. World-wide use of Downsort" on
| page 46.
| Downsort is distributed in a single archives: "DWNSRTxy.ZIP",
| containing all material you need to run Downsort, including
| documentation, formatted for browsing or printing (formfeed is the only
| printer-control).
| Note: 'xy' is the version indication, for example DWNSRT62.ZIP is the
| version 6.2 runtime package.
| Source material is available, but only on request to the author. Send
| a netmail message and you'll be explained how to obtain it.
If you are in the official FidoNet nodelist, you may obtain the latest
test versions from <digiThalys> (Fidonet 2:281/732) with the magic name
"DOWNBETA" for the 32-bits version only. The betatest-archive contains
only an .EXE-file, a .CFG-file and a WHATSNEW.xyz file.
6.2 RUN-TIME MATERIAL
DOWNSORT.DOC Documentation (this file!).
REGISTER.TXT Chapter of DOWNSORT.DOC concerning the registration
process.
WHATSNEW.62k Summary of amendments to version 6.2 of Downsort.
DOWNSORT.EXE 32-bits execution module for OS/2 (2.0 and higher).
DOWNSRT1.EXE Execution module for OS/2 and DOS (Family
Application)
DOWNSORT.ICO ICON file for DOWNSORT.EXE.
DOWNSORT.CFG Sample configuration file. This file contains
comment lines with extensive instructions how to
specify the parameters in the file.
Packaging 25
Maximus Download File Sort and List Utility (OS/2 and DOS)
DOWNSORT.HDR Sample BBS-list header. You may use this header,
which is only imbedded in the BBS-list, to imbed
text and/or MECCA-sequences. A good candidate for
the latter would be [onexit], which translates to
^OFpath. See the sample Downsort.HDR file!
DOWNSORT.TRL Sample BBS-list trailer.
DOWNSORT.BMP Bitmap for the IPF-list, to be included by the IPF
compiler.
DOWNSORT.INC Sample Include-file for the reports, referenced in
Downsort.CFG.
DOWNSORT.MAG Sample list of magic names to be included in
OKFile(s). See BinkleyTerm documentation for
details of its format and contents.
DOWNSORT.REX Sample include file for the USRFileList (REXX
prefix).
SPLITSUM.CMD REXX procedure to split the summary from the
ALLFileList report.
HPFSDATE.EXE Program to display all three timestamps of a file
on an HPFS volume, and optionally reset the
CREATION date to LASTWRITE date (helpful after
moving or copying of files). Start the program
without options to display command syntax and help.
It is the 32-bits version, for OS/2 2.0+. A
16-bits version is included with the name
HPFSDAT1.EXE.
PACKING.LST The actual contents of the package (produced with
PKUNZIP -V), added to the ZIP-file after this was
created with the foregoing files of this archive.
This gives at least some authentication!
6.3 SOURCE MATERIAL
The source of Downsort is not distributed anymore since version 6.0.
The amount of code I ever received as suggested additions or changes is
disappointingly small.
6.4 INSTALLATION
With the following directions you should be able to setup and run
Downsort in a very short time.
1. Make a separate directory for Downsort, and make it the current
default directory every time you run Downsort. The separate
directory is a recommendation, not a requirement!
2. Copy the files DOWNSORT.EXE (or DOWNSRT1.EXE) and Downsort.CFG from
the Downsort package into this directory. Put also the files that
will be included in this directory (like downsort.HDR, downsort.TRL,
downsort.INC, downsort.REX, downsort.BMP).
3. Modify (edit) the file Downsort.CFG to specify your environment and
list requirements. The sample file contains comments to help you
Packaging 26
Maximus Download File Sort and List Utility (OS/2 and DOS)
with this process. Most specifications are obvious. AreaDat is the
most important parameter: Downsort won't do anything useful thing if
it cannot find this MAXIMUS file. See "Appendix E. Sample
Configuration File" on page 51 for a printed sample.
4. You may give Downsort a first shot by just using its name on the
commandline, with the command parameter -H. This will show a brief
HELP-screen with the possible commandline parameter specifications.
5. All reports will be created in the Downsort directory, unless you
specify a path on the xxxFileList lines or on FILFilePath line.
Browse the lists to see if you adapt contents and titles, and modify
the CFG-file to your convenience.
6.5 DEPENDENCIES AND RESTRICTIONS
| ■ Applies to MAXIMUS CBCS 3.0
| ■ Requires OS/2 or DOS 3.0+.
| ■ To convert the IPF-list into VIEW-able format, the IPF-Compiler of
| the OS/2 Program Development Toolkit is required.
■ The input FILES.BBS files are assumed to contain only
[path\]filename.ext (the regular 8.3 format, no support for OS/2
HPFS extended format), the remainder of the line is considered as
file description. The filename should be left-aligned (start in
position 1).
If a privilege modifier (^Px) is encountered in FILES.BBS then 'x'
will become the privilege of all subsequent files (it assumes ^Px on
a SEPARATE line, the REST OF THE LINE IS IGNORED!). Heading,
comments and blank lines in FILES.BBS are ignored, unless /K is
specified on the FilFilePath line of Downsort.Cfg. In that case
comments following line 8 (the standard header created by Downsort)
or headerlines from a previous run are preserved. The modified
privilege might be higher (generally the case) or lower than the
area-privilege.
6.6 STORAGE AND PERFORMANCE
As a rough estimate of the memory requirements of Downsort, use sum of
the following elements:
■ Program: about 120KB
■ Each area: 200 Bytes
■ Each file: 48 Bytes for each download file (excluding file
descriptions and excluding orphans if no orphan-list is generated)
Packaging 27
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ The sum of the file description texts (average 80 bytes/file?)
■ The sum of the comments in FILES.BBS if -K option specified
If you hit a memory shortage (DOS only!), then you could do one or more
of the following:
■ Use AreaGroups with appropriate AreaEXclude or AreaINclude to make a
selection of groups (for example make separate OS/2 and a DOS
file-lists). Downsort will not collect information from 'excluded'
areas.
■ If you have many orphans: get rid of them or do not generate an
orphan report. Downsort releases orphan-memory during the data
collection phase as soon as it knows that a file is an orphan.
■ If you have many comment-lines in your FILES.BBS: do not specify /K
for ALL- and IPF-lists AND do not activate the FILFilePath parameter
in Downsort.Cfg. Downsort will ignore comments in FILES.BBS when it
does not need them for reporting.
6.7 PROBLEMS
The following known unresolved problems are in this version:
■ none
6.8 WISHLIST
Downsort is not finished! There are a number of wishes and
requirements of users and myself to include in future releases. I list
them below not in any particular order, but some seem to be more
important than others, that differs from SYSOP to SYSOP. And some are
more easy to implement than others, which depends mainly on the author!
Some wishes don't even make it to be listed below and are implemented
immediately!
■ Follow the MAXIMUS development (changing FAREA.DAT and other
structures), and support several versions simultaneously.
■ User-configurable options for:
∙ week and month indicators
∙ indicator for continuation lines in wrapped descriptions
∙ [selectable] MECCA control in FILES.BBS
∙ font selection for short area-headers
■ 'template' file for FILES.BBS headers in stead of the hard coded
format.
■ Logging to file in stead of stdout to obtain a history file of
Downsort usage (can now be done with redirection!).
■ Automatic removal of 'bad' files (like .BAK-files, obsolete files,
files that are not in FILES.BBS), maybe move them to a special
BAD_FILE directory. Entries in FILES.BBS should be removed
accordingly.
■ Conditional file-include, especially for FILES.BBS output.
Packaging 28
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ Support for a 'schedule' (e.g. daily 'newfiles', weekly 'allfiles').
■ Remove download count fields from Files.Bbs.
Remember: Was there ever a time that all your wishes were fulfilled?
That was the most boring time of your life, wasn't it?
Packaging 29
Maximus Download File Sort and List Utility (OS/2 and DOS)
7.0 INTERNALS
7.1 DEVELOPMENT ENVIRONMENT
The family-version of Downsort (for OS/2 1.3 and DOS) is compiled with
MicroSoft C compiler version 6.00a, with the IBM OS/2 Programming Tools
and Information (generally called the OS/2 Toolkit) under IBM OS/2
Extended Edition 1.3 as COMPACT memory model. The generated code is at
80286 level (Compiler option /G2), since I believe that only very few
Bulletin Boards do use an XT these days.
The 32-bit OS/2 2.0+ only version of Downsort is compiled with IBM
C/C++ Tools version 2 and the OS/2 2.1 Toolkit.
There is only a single set of source files. A compiler variable takes
| care of the selection between 1.3 and 2.1 calls where necessary.
| Downsort has been tested for MAXIMUS CBCS 3.0, with the following
| Operating Systems:
■ IBM OS/2 versions 1.3, version 2.11 and 3.0 (Warp)
■ IBM PC/DOS version 6.3
7.2 PROGRAM ORGANISATION
The program is organised as follows:
■ Initialisation:
∙ Read configuration file.
∙ Process commandline parameters.
∙ Perform some cross checking and cumulation
■ Read FAREA.DAT file to collect download pathnames (only of those
| areas that will participate this time).
| ■ For each file-area within the area selection criteria:
| ∙ Read the download subdirectory (with find-file-first/next
| function). Take only Normal files: ignore directory entries,
| Hidden and System files and volume labels. Exclude files that
| are specified with the FileEXclude specifications.
| ∙ For all regular file-entries found in subdirectory:
| - Get filename.ext, attribute, date, time, size.
| - Obtain file-description from FILES.BBS file. The path to the
| FILES.BBS file is (1) obtained from the "ListFile"
| specification in MAXIMUS FAREA.DAT file, or (2) if not
| specified from the "DownLoad" specification (among the
| download files).
| - Add files with explicit path specifications.
- If there is no orphan reporting required in this run drop
Internals 30
Maximus Download File Sort and List Utility (OS/2 and DOS)
orphan entries area-by-area.
■ For the ORP-list:
If any orphan found, and the orphan-report is generated, create the
orphan report, with the file-entries sorted on (1) area and (2)
filename.
■ For the BBS-list:
∙ Sort the files primarily on descending file-timestamp (and
secundary on file-name and area-code).
∙ Resort the first files on filename if so specified.
∙ Create output file for sorted list of filenames, -descriptions,
etc. The file is placed in the current subdirectory (which
generally will be the MAXIMUS directory) with the name
Downsort.BBS.
∙ Copy a headerfile (for a customized MAXIMUS bulletin).
∙ Put files in formatted outputfile (filename, area#, date, size,
description), but only if description is found in FILES.BBS.
Skip files with privilege higher than commandline (or default)
parameter. Precede each line with a privilege-control sequence
(^PLx string) so that MAXIMUS users below the specified
max-priv-level do effectively see only the files they can
download.
∙ Include a trailerfile in the outputfile (for a customized
Bulletin).
∙ Report non-listed files on standard output device (which might be
re-directed to printer or disk-file).
■ If specified, put the above file collection in Newfiles.p with
similar contents and layout as Downsort.BBS, but without BBS-control
sequences, and without including a header and trailer file. Produce
a list for the default privilege (SYSOP), or one for each specified
privilege.
■ If so specified, re-sort files on area and then filename or date,
and create an Allfiles list, containing all files (respecting the
privilege restrictions!). Areas with zero files within the
applicable privilege limit will not be listed (seem non-existing!).
Produce a list for the default privilege (SYSOP), or one for each
specified privilege.
At the end of the list, an area summary report is generated.
■ If so specified, re-sort files on filename or date only, and create
a GLOBAL file-list, which is an ALLFILES list without area-headers.
■ Generate a list of probably DUPlicate files if specified.
■ Generate a list of download-paths (the OK-file) if specified.
(note: it will contain only the paths that participate in this run).
■ If so specified, re-sort files on area, privilege and filename, and
create for each area a FILES.BBS-type of file.
Internals 31
Maximus Download File Sort and List Utility (OS/2 and DOS)
NOTE: Downsort firstly reads a directory for existing files (not
Hidden- or System-files, and not Subdirectory or Volumelabel), and then
reads FILES.BBS to assign a description to each file. This means:
■ If more than 1 matching file-specification in FILES.BBS of the
involved area is found (note that wild-card specifications in
FILES.BBS are supported!), than the first matching description from
FILES.BBS will appear in the lists (new in version 4.5, was 'last'
in previous versions of Downsort).
■ Files for which no description is found in FILES.BBS will get "---no
description available---" (or the replacement string you specified
in Downsort.CFG) in the user reports.
■ Files for which no matching filename in FILES.BBS is found will be
listed in the Orphan report (Downsort.ORP).
Files for which there is an entry in FILES.BBS, but a corresponding
file is not found in the directory will be reported as 'offline'.
In special cases this might become a very large list. For example
if you collect files in a single directory for different areas, all
the files of 'the other' areas are reported as orphan. This will
happen for every area, so each file might even be reported many
times as orphan! Since the Orphan-list is now optional (from
version 5.0 on), this list can be suppressed.
Filenames of Orphans appear only in the other reports when the
FileList statement explicitly specifies the Hidden privilege.
7.3 MAIN DATA ORGANISATION
7.3.1 AREA AND FILE INFORMATION
Data structure for access to file information via:
1. array of file-pointers (for file-sort!)
2. pointerchain in file-info structures
3. file structure contains pointer to file-description
4. file-structure contains pointer to area-information
5. Array of area-information
Internals 32
Maximus Download File Sort and List Utility (OS/2 and DOS)
| ┌──────┐
| │ dm │
| └──────┘
| │ Array of pointers to structures with file info
| │ ┌───────────┬────────────┬───────────── . . . ──────┐
| (1) └─────>│ *file[0] │ *file[1] │ *file[2] │
| └───────────┴────────────┴───────────── . . . ──────┘
| │ │ │
| (2)
| ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
| │ ca │ ──> │ next │ ──> │ next │ ──> │ next │ ──> . . .
| └──────┘ ├──────┤ ├──────┤ ├──────┤
| (first- │ file-│ │ file-│ │ file-│
| element) │ info │ │ info │ │ info │ . . .
| │ [0] │ │ [1] │ │ [2] │
| └──────┘ └──────┘ └──────┘
| │ │ │ │wildcards│ │
| │ └──┐ │ └──┐ │ │
| │ │ │ ┌──────────┘ │
| (3) v │ v v │ ┌──────┘
| ┌──────┐ │ ┌──────┐ │ │
| │file- │ │ │file- │ │ │(files of
| │descr │ │ │descr │ │ │ same area) . . .
| └──────┘ │ └──────┘ │ │
| │ │ │
| (4)
| ┌──────┐ ┌──────┐ ┌──────┐
| chain of │ next │ ───> │ next │ ───> │ next │ ──> . . .
| area records ├──────┤ ├──────┤ ├──────┤
| │ area-│ │ area-│ │ area-│
| │ info │ │ info │ │ info │ . . .
| │ [0] │ │ [1] │ │ [2] │
| └──────┘ └──────┘ └──────┘
| (5)
| │ │ │
| ┌───────────┬─────────────┬───────────── . . . ──────┐
| ┌───────>│ *area[0] │ *area[1] │ *area[2] │
| │ └───────────┴─────────────┴───────────── . . . ──────┘
| │ Array of pointers to structures with area info
| ┌──────┐
| │ aa │
| └──────┘
Schematic overview of Downsort's in-storage database.
7.3.2 BLOCK FONTS
The block character image is basically a 10x7 matrix (10 vertical and 7
horizontal 'pixels'). The pixel-array takes two rows at a time, so
that each character can be represented with 5 rows of 7 horizontal
'double-pixels'. Each pixel is displayed as a solid block.
Internals 33
Maximus Download File Sort and List Utility (OS/2 and DOS)
1 2 3 4 5 6 7
┌─┬─┬─┬─┬─┬─┬─┐
│-│-│-│-│-│-│-│ line 1 (lower + upper)
├─┼─┼─┼─┼─┼─┼─┤
│-│-│-│-│-│-│-│ 2 (lower + upper)
├─┼─┼─┼─┼─┼─┼─┤
│-│-│-│-│-│-│-│ 3 (lower + upper)
├─┼─┼─┼─┼─┼─┼─┤
│-│-│-│-│-│-│-│ 4 (lower + upper)
├─┼─┼─┼─┼─┼─┼─┤
│-│-│-│-│-│-│-│ 5 (lower + upper)
└─┴─┴─┴─┴─┴─┴─┘
Each line is represented by a structure of seven 3-bit fields Each
3-bit field represents a basic element:
value char description
0 (blank)
1 ▄ lower half
2 ▀ upper half
3 █ lower+upper halves
4 ▓ gray pattern
5 ▌ left part of upper and lower half
6 ▐ right part of upper and lower half
7 ░ gray pattern
8 ▒ gray pattern for not-supported characters
9..32 pseudo graphics characters for the open font (5).
The pitch is variable ('proportional font': a variable number of
horizontal pixels). Four fonts are provided with different
character-image and size:
1. 6x5 (three lines of max 5 characters)
2. 10x7 (five lines of max 7 characters)
3. 8x7 (four lines of max 7 characters)
| 4. 10x7 (reverse video image of the 8x7 font)
| 5. 6x7 (three lines of max 7 characters 'open' characters)
| The following characters are supported in block-fonts:
| UPPER case A..Z
| LOWER case a..z (but will be presented in UPPER case)
| Digits 0..9
| _ * | . : [ ] ( ) / \ - and space
Not-supported characters are displayed as space.
The ' '-character (blank) represents a 3/4 width space
The '~'-character (tilde) a full width space
the '`'-character (reverse quote) a half width space
Internals 34
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX A. HISTORY OF CHANGES
The paragraphs below show a brief history of changes in Downsort.
Downsort for MAXIMUS CBCS was developed from an OPUS equivalent (by the
same author). The name 'Downsort' has been maintained, to prevent
confusion, the version number is inherited (the last version for OPUS
was 3.1).
8.1 VERSION 6.2
Note: This version of Downsort supports Maximus version 3!! Downsort
6.1 is the last version to support Maximus version 2.
■ Downsort is now shareware and requires registration and fee after a
trial period of 30 days. See chapter "Registration and Shareware
Fee" for how to register.
■ A new format "IPNFileList" is available: a NEWFileList in
IPF-Format. All features and switches that apply to NEWFileList are
valid. Group sorting (parameter -g) is recommended to show
divisions.
■ Another new list type "TOPFileList" added. If you maintain a
download counter in the file description part of FILES.BBS in the
format '[nnn]' (numeric value between brackets as first part of the
description), this may be useful to generate a list of most
frequently downloaded files.
Note: Downsort itself only reads the download counter (does not
update it).
■ The code for IPFFileList (for IPFC of OS/2 1.2/1.3) has been removed
and IP2FileList has been renamed to IPFFileList. So you need at
least an IPFC of the level of OS/2 2.0 (IPFC version 2).
■ The OK-FileList now only can build 'short' OKfiles (one line per
directory). To create a 'long' format of an OK-FileList (with a
'magic' name for each file), you'll need USRFileList. See the
sample in Downsort.Cfg.
■ The EMI-FileList is not supported anymore.
■ New 'open' BLOCK-title font added (-F5).
■ Fullstop-character or colon (':') added to all block fonts.
■ Commandline option '/Ixx' added to let Downsort execute in IDLE
priority class level 'xx' (number in range 1..31, default 16).
Applies only to the 32-bits OS/2 version.
■ Areanames not limited to 8 characters anymore.
■ The Orphan-Adoption flag '-O' is now active for all lists.
Specification of the '-O' flag will show orphans in the list, but
for real 'adoption' you have to specify the flag in FILFilePath!
■ Remove flag '-R' is now active for all lists. If specified
'offline' files will not be reported.
■ Truncate (-T) or Wrap (-W) flags now also applicable to FILFileList.
The maximum length of FILES.BBS lines will be 1024 bytes (the
maximum supported by Maximus 3.00). This is more Maximus friendly
and may avoid problems with FB[P] and MAXFILES.IDX.
■ A couple of other 'cosmetic' list improvements.
■ More robust parameter checking to prevent obviously duplicate,
missing or conflicting specifications. If available with the
Appendix A. History of changes 35
Maximus Download File Sort and List Utility (OS/2 and DOS)
particular check, messages will contain the line number of the used
'Downsort.Cfg' that contains the possible error.
■ When selecting an undefined areagroup with xxxFileList the list will
be empty in stead of containing all areas.
■ Improved error handling. One improvement is that the 'semaphore'
file Downsort.Bsy is always removed before termination, even with
Ctrl-Break and internal error conditions.
■ All code for support of privilege and userkeys/locks has been
removed. The major consequences are:
∙ Area selection can only be obtained with AreaGroup and
areaIN/EXclude specifications.
∙ If migrating from an earlier version of Downsort you need to
remove the Privilege/Keys specifications on the xxxFileList lines
in Downsort.Cfg!
∙ The '-X' xxxFileList parameter controls now the display of the
Access Control String (ACS) in stead of the 'privilege/lock'
values.
■ The explanation of areaIN/EXclude in the sample Downsort.Cfg has
been significantly entended to help you better with the area
selection specifications.
■ Changes in USRmodel variables:
∙ '%A' variable in the USRmodel specification now presents the
fully qualified areaname, including division prefixes.
∙ A new '%U' variable presents the unqualified areaname (without
division prefixes).
∙ The '%$'-variable in USRmodel will now display the ACS of the
file area.
■ New appendix in Downsort.Doc with an example how non_MAXIMUS users
could use Downsort.
■ By lack of even a single response UCOPY is omitted from the Downsort
package. It remains available on request as a separate package.
■ The ability of MAX 3.00 to work with areadivisions made it necessary
to change the format of some lists.
∙ Downsort will generally use fully qualified areanames including
the division-names, such as "Etc.Gen.Misc". Your areaIN/EXclude
specifications should use fully qualified names as well, or just
file-divisions if you like (use the terminating '.'-character).
Remember: all areaIN/EXclude specification strings are used as
prefixes.
∙ In lists with the areaname on each line only the unqualified
areaname without division-prefix (with a maximum of 10
characters, was 8) will be used. The unqualified areaname is
also used in places where the areaname is to be listed in
BLOCK-characters (limited by linelength of 79 characters).
∙ In lists with the areaname in a normal text-mode header, the
fully qualified areaname including the divisions will be used.
∙ If you specify a destination directory for FILFileList, then
Downsort will use the unqualified areaname to create an
"Areaname.BBS" file for every participating area. Beware of
duplicate areanames that might be generated in this way, maybe
also as result of truncating long areanames to 8 characters (to
keep Downsort working for FAT volumes).
∙ Some formatting flags have different defaults to anticipate on
the long fully qualified names.
∙ 'AreaOrder' has changed:
Appendix A. History of changes 36
Maximus Download File Sort and List Utility (OS/2 and DOS)
- 'Alphabetic' will take the unqualified name (without the
division prefixes).
- 'Group' will take the qualified name (including the division
prefixes).
- The feature of previous versions of Downsort to 'split' a
trailing numeric suffix from the areaname to obtain a 'proper'
sequence has been abandoned. If you still use sequence
numbers in areanames and you want them sorted 'numerically',
please ensure they have equal length by inserting leading
zeroes. For example if you use areanames like: ABC1, ABC2,
... ABC9, ABC10, ... etc, rename these into ABC01, ABC02, ...
ABC09, ABC10, etc.
Bug fixes
■ The last file description in FILES.BBS will now also disappear when
the area has become empty and the '-R' option has been specified
with FILFilePath.
■ AreaGroup definitions are now OK (trailing blanks and end-of-line
characters were not always removed correctly).
Read also the commentlines marked '6.2' in Downsort.Cfg.
8.2 VERSION 6.1
Note: This version is still designed for Maximus version 2.0, but is
MAX 3.00 aware and will run safely under MAX 3.00. If you have
migrated to MAX 3.0, run SILT[P] with the -2s option to generate the
MAX 2.0 compatible FAREA.DAT file in addition to the regular MAX 3
control files.
See also the commentlines marked '6.1' in Downsort.Cfg, and read the
warning at the end of this paragraph!
■ When errors occur while re-building an existing FILES.BBS file, the
backup file (created by Downsort) will be restored by Downsort
itself.
■ Downsort will create a 'semaphore' file DOWNSORT.BSY in the current
directory at start-up and removes it just before termination. Other
processes may test the existence of this file. For example you
might put a check in a Maximus menu to decide not to enter the
file-menu while Downsort is running and possibly updating FILES.BBS.
Or you may avoid running more than 1 copy of Downsort at the same
time. Downsort itself does not check on the semaphore file!
■ USRmodel specification changes:
∙ USRmodel statement should specify a name only
∙ The line immediately following it is taken as the model-string
∙ USRFileList should now specify the name of the USRmodel with -U
option
■ USRFileLIst extended with '%$' (file privilege), '%L' (file Lock
string) and '%N' (download count, if present in format of '[nnn]' in
file description) and '%Z' (last-access date)
■ Dates will now always have 8 characters (leading space-character is
now a leading zero).
Appendix A. History of changes 37
Maximus Download File Sort and List Utility (OS/2 and DOS)
Multiple 'Title'-lines may now be specified for multi-line BLOCK
titles.
■ Orphan files were always adopted in FILES.BBS, but listed after a
^PS line (files after that line had SYSOP privilege). This feature
of Downsort has changed on popular demand:
∙ Orphans will not be added to FILES.BBS anymore by default.
Specify the new '/O' ('Orphan-adoption') flag on FILFilePath line
to have orphans added to FILES.BBS (=adoption!) like before.
∙ A line with '^PS' will not be inserted anymore in front of
orphan-lines. This prevents that entries which are added to the
bottom of FILES.BBS by other programs (e.g. TICK) will
incorrectly be marked as SYSOP-only files. But if Downsort
inserts orphans (if you use the /O-switch), it will be at the end
of Files.Bbs, and therefore orphans will obtain the privilege of
the 'regular' files at the end of Files.Bbs, which might be
higher than the area-privilege.
■ ALLFileList will contain a formfeed for the Summary report. A REXX
procedure 'SPLITSUM.CMD' is provided to extract the summary report
from this list.
■ For FidoNet nodes only, betatest versions of Downsort are now
available by file request from 2:281/732. See the section
"Availability" in Downsort.Doc for details.
■ Bug fixes:
∙ No more 'split' line with privilege/lock in FILES.BBS with long
area-names.
∙ Total bytecounts exceeding 4 GB will be reported now correctly.
∙ The /R option for FILFilePath will now also remove entries in
FILES.BBS of areas without downloadable files.
∙ %P in USRmodel will now substitute the explicit path of those
files that have a path specification in FILES.BBS (in stead of
the path of the download directory).
∙ Some 'cosmetic' improvements like the version number of Warp,
which will now correctly be reported as 3.0 (in stead of 2.30).
WARNING: This version is planned to be the last version of Downsort
that:
1. will run under OS/2 1.x. A 32-bit OS/2 2.00+ only and a DOS-only
version will be distributed.
2. will support MAX 2.0 (the next version will only support MAX 3.00+).
3. will support EMI-, OK-, and IPF- (the OS/2 1.x variant) FileLists.
I think these variants are obsolete. The OKfile, if anyone may
still use it, can easily be built with USRFileList, the current
Downsort.Cfg contains already an example. So for this type of list
you could already convert today!
This is a PLAN! Please signal me if you expect to become victim of an
undesired change!
Appendix A. History of changes 38
Maximus Download File Sort and List Utility (OS/2 and DOS)
8.3 VERSION 6.0
This version contains some major enhancements and extensions. With the
change of the major version number I permitted myself some minor
incompatibilities with previous versions!
■ Some filenames changed towards OS/2 2.1 as default operating system.
description oper_sys old filename new filename
──────────────── ──────── ──────────── ────────────
Downsort 32-bits OS/2 2.0+ DOWN386.EXE DOWNSORT.EXE
Downsort 16-bits DOS+OS/2 DOWNSORT.EXE DOWNSRT1.EXE
Icon-file OS/2 2.0+ DOWN386.ICO DOWNSORT.ICO
Hpfsdate 32-bits OS/2 2.0+ HPFSD386.EXE HPFSDATE.EXE
Hpfsdate 16-bits OS/2 1.3 HPFSDATE.EXE HPFSDAT1.EXE
But of course you may rename these modules for your own use as you
like!
■ Introduction of AREAGROUPs. Definition of a group of areas as a
logical entity. The main purpose of this feature is to be able to
generate an even larger variety of lists in a single run of
Downsort. The contents of each group is defined with areaIN/EXclude
statements, individually and most likely different for each group.
In any xxxFileList line you may select (-Sgroup) one of the defined
groups to generate an xxxFileList for a 'special interest group'.
Downsort does not collect file-data it won't need, such as from
areas that will not appear in any list of a particular run. The
AreaGroup facility can be a relief for DOS-users that suffer from
memory problems when large file collections are to be listed.
■ xxxFileList can and should(!) now specify complete filename.ext for
every list. A complete path may be specified, it must be an
existing directory. Beware of duplicate names, and of possible
sharing violations when another program is accessing one of the
outputfiles while Downsort is running: the output will then not be
created.
■ Duplicate download filename detection can now be on (first)
part of filename. New keyword "DupNameSize" specifies number of
significant characters. The header of DUPFileList output shows now
some of the parametersettings.
■ DUPFileList can now also be sorted on file-date or area, and within
area on filename or FILES.BBS sequence ('keep').
■ Specifying a font does not have influence anymore on the appearance
of areaheaders with the 'short' format (areanames of 3 characters or
less) in ALL- and GBL-FileList, and output of FILFilePath). This
font is now (temporary?) hardcoded: Font 3.
■ Several changes to FILFilePath processing:
∙ FILFilePath should NOT specify a privilege parameter anymore!
∙ If FILFilePath specifies a path, the outputfiles will now always
have the format "path\areaname.BBS" (the format "FILES.ac" has
been abandoned).
∙ First 8 comment lines, if not a Downsort header, are not
discarded aymore. But beware: migrating from a version of
Downsort older than 5.7 may result in pseudo duplicate headers!
∙ Multiple FILFilePath lines may be specified with individual
parameters, most likely in combination with AreaGroup selection.
Appendix A. History of changes 39
Maximus Download File Sort and List Utility (OS/2 and DOS)
Useful when you want FILES.BBS for some areas formatted
differently than for other areas such as include file, sorting
method, output path. Beware not to specify 'overlapping' groups
to prevent overwriting output of one FILFilePath by another.
∙ File entries in FILES.BBS of which the file is not found
(reported by Downsort as 'offline') can now be removed from
FILES.BBS with the '-R' flag on the FILFilePath report line.
Removed entries will still be reported in other reports as
'offline', but will disappear with the next run of Downsort.
■ A new list type 'USRFileList' has been added. It is designed to
build batch files with a user-specifiable 'model'-format. File
information can be inserted in this model via symbolic variables.
Only existing files are listed, 'not-found' entries in FILES.BBS,
commentlines and orphans are skipped. With the USR-list Downsort
offers a two-stage file maintenance: a build-phase and an
execute-phase. Consider the output of phase 1 as the 'advise'-list
for phase-2. You can modify the batch-file before executing it.
See the bottom of the sample Downsort.Cfg for some more details.
■ Program history removed from documentation of versions older than
5.5.
■ Downsorts hardcode bottom-lines now report Operating System version
sub-number in two digits (e.g. OS/2 2.11)
■ Bug fixes:
∙ IPFFileList and IP2FileList now really include user-file if
specified!
∙ A large block of commentlines (containing more than 2 KBytes) in
FILES.BBS does not cause a abnormal termination of Downsort
anymore.
∙ Removed insertion of extraneous blank line in FILES.BBS and
ALLFileList for empty areas.
∙ Sort on file-age now again correctly on most recent of Creation
date and LastWrite date (was problem only with HPFS volumes).
∙ FileExclude statement now accepts really multiple strings on a
line!
∙ Long OKFileList will now contain existing files only.
∙ Explicit path specifications in FILES.BBS will now be retained,
even if the file could not be located (in which case the path was
lost!).
∙ Keys/locks reported in header of FILES.BBS output with privilege.
■ A file search and copy utility 'UCOPY' has been added. It relies on
Downsort's long OKFileList, but otherwise it is a self-contained
program. Its main function is to offer a fast file search, select
and copy. It performs its task via a long OKfiles (one of the
facilities of Downsort). See the UCOPY.DOC in UCOPY.ZIP for more
details.
■ The source will not be distributed anymore (lack of interest!).
8.4 VERSION 5.9
■ Considerable changes in parameter specifications:
∙ Support of most commandline parameters removed!
∙ Support for keywords 'MaxNewFiles' and 'TitleFont' in
Downsort.Cfg also removed: use xxxFileList for individual
Appendix A. History of changes 40
Maximus Download File Sort and List Utility (OS/2 and DOS)
specifications for each list.
∙ Multiple 'xxxFileList' lines in Downsort.Cfg are supported now:
- You may now specify as many xxxFileLists with the same(!) or
different list types as you need.
- Each xxxFileList, regardless of same or different list, will
generate one and only one list according to its own set of
parameters.
- Only a single privilege is now accepted per xxxFileList line,
but this may now be accompanied by 'userkeys'; specification
in the form: p/kkk.
∙ File sort sequence (GROUP-sort) added for NEWFileList: primary
sort on area, then on filename. Each group will be preceeded in
the list by a line with areaname and description. GROUP-sort
works also for ORPHAN-lists, but is for all other lists synonym
with ALPHA.
■ The contents of ALLFileList can now be limited by file-age, so it
can be called a NEWFileList in the format of ALLFileList or vice
versa. But the SUMMARY-report ignores the file age limitation!
■ FILES.BBS-files will be (re-)generated also when area does not
contain any files.
■ Full support of Maximus' key/lock mechanism for filearea selection.
Key-characters follow the xxxFileList privilege, separated with a
slash, exactly the same as the area privilege specification in
MAX.CTL. The privilege line in area heading will now also show the
arealocks.
■ With the new keyword 'FileEXclude' you can define filespecs (with
wildcards) of files which should not appear in any list.
■ Tired of the complaints about specification limits, I removed most
of these. For example now unlimited number of title-lines,
areaIN/EXclude strings, non-duplicate file extensions, xxxFileList
lines, etc.
■ AreaINclude and AreaEXclude can now be used simultaneously.
■ Files with 'future' date will be excluded from NEW-, BBS- and
EMI-lists (special feature for certain CDROMs!).
■ All block fonts now support same characterset (fonts 3 and 4 have
been extended with the characters supported in fonts 1 and 2), and
specification of block-font parameter now honored in all lists.
Default font for all lists changed to 3.
■ Performance improvements with sorts on filedate, and during
directory scan (the latter only of 32-bits version).
■ bugfixes:
∙ Filedates beyond 2037(!) could cause empty BBS-, NEW- and
EMI-FileLists.
∙ No 'duplicates' with only case differences in short OKList
anymore.
■ Downsort's companion program HPFSDATE (and the 32-bits version
HPFS386) can now reset the creationdate of files also in other than
current working directory.
Appendix A. History of changes 41
Maximus Download File Sort and List Utility (OS/2 and DOS)
8.5 VERSION 5.8
■ Now an 'unlimited' number of files is supported, dependent only of
available memory (virtual memory with OS/2!). Limit was 16350
files!
■ Continuation lines of file descriptions can now be indented, for
example to align text when download counter fields are used in the
description. See Sample Downsort.Cfg file for details.
■ All filenames now translated to upper case and also reported in
upper case in the lists.
■ Downsort's FILES.BBS 'header prefix' slightly changed for better
screen presentation to online Maximus users.
■ Some cosmetic improvements in IPF-lists.
■ File size now reported in max 4 digits: KBytes or MBytes, depending
on size, except in overviews.
■ Bug fixes:
∙ Several problems with 32-bits version related to occurances of
filenames with lower case characters solved by translating
filenames to upper case.
∙ Continuation lines in BBS-list will have now required
privilege-prefix!
∙ Comments from FILES.BBS now correctly and completely represented
in ALL-list, even with AVAstrip active.
∙ Explicit path specifications in FILES.BBS work now correctly.
Note: This will be the last version with 'extended' commandline
parameters. List specification parameters will disappear,
specification of a configuration file and some others, like 'run
quiet/verbose', will remain.
8.6 VERSION 5.7
■ A 32-bit version (OS/2 2.0+ only) added to runtime package, no
functional differences with the family version.
■ ICON file DOWN386.ICO added for the 32-bit version of Downsort.
■ Long areanames (8 characters) are now supported in all reports.
■ Changed naming convention of 'FILES.BBS' output files when areas
with 'long' (more than 3 character) names are used.
■ The "FILES.BBS"-type of output (selected with FILFilePath in
Downsort.Cfg) now produces a slightly different header. Downsort
recognises its own header and an included-file without
'multiplication'-effects.
■ Explicit path specifications of files in FILES.BBS are now
supported. As a consequence:
∙ The long format of OK-FileList will contain this explicit path in
stead of the filearea path.
∙ It seems more appropriate to list the pathspec in the
DUP-FileList rather than the file description.
Generic filenames (wildcard specifications) are NOT supported
(yet)!
■ File size and date can be included in FILES.BBS output with the '-L'
option on the FILFilePath line in Downsort.Cfg.
■ A new keyword 'NonDupEXT' allows suppression of reporting a file as
'duplicate' when it is a member of a pair of files with specified
Appendix A. History of changes 42
Maximus Download File Sort and List Utility (OS/2 and DOS)
extensions. Example xyz.SDN and xyz.SDA can be excluded from
DupFileList.
■ Doc-file now also included as provisional .INF file for OS/2 VIEW.
■ Improved Avatar stripping.
■ Bug fix for long 'new'-filelist periods (>32000 days).
■ Separation between progress signals (stdout) and error messages
(stderr) and other 'internal' changes:
■ Preparations made to remove most commandline parameters. It has
been redundant for a long time. Every Downsort specification on the
commandline can also be made via Downsort.Cfg. Exception:
Specification of a configuration file will remain possible! Good
arguments may change this intention, so please object if I am
overlooking something.
8.7 VERSION 5.6
■ In stead of the regular OKFile format (path\*.*), there is now also
an option (/L) to produce a LONG format of the OKFile, containing
explicitly all files within privilege with complete
file-specification (path\filename.ext). Useful for file-requests at
systems with large directories, and especially with CDROM's. With
this option in effect, the *.* entries will not be generated, so
file requests are only honored with EXACT filenames: wildcard
specifications do not work anymore!
■ Improved display of long areanames (>3 char) in ALL- and IPF-lists.
■ Avatar codes may be stripped from comment lines in reports.
■ Missing include-files are now only reported when running Downsort in
-V(erbose) mode.
■ Some bug fixes (some of them causing Trap 000D under OS/2):
∙ If 'downsort.cfg' not found, return code 2 is reported, and
downsort.cfg now closed at end of file.
∙ Output of FILES.BBS could be erraneous when also IP2-list
selected.
∙ Limit of 217 active areas now relieved (this limit was not
documented!).
∙ Improved handling of parameters of FILFilePath-line in the sample
Downsort.Cfg file. Also the explanatory comments are revised.
■ '-'-character now precedes the formfeed character in newly created
FILES.BBS files (version 5.6h+).
■ Downsort source is now compilable with IBM C-Set/2 compiler and IBM
OS/2 2.0 toolkit to obtain a real 32-bit version for OS/2 2.0+.
8.8 VERSION 5.5
■ Finally(!) a sort capability for area-sequence. Areas can now be
presented in order of AREA.DAT ('K'eep original sequence), sorted on
areaname ('A'lphabetically), sorted in alphanumeric ('G'roup)
sequence or in order of areaINclude ('I'). The group-sequence is
useful with a popular naming convention whereby the areaname starts
with one or more letters followed by one or more digits. Names
starting with a digit will be sorted as if it were all numeric, and
Appendix A. History of changes 43
Maximus Download File Sort and List Utility (OS/2 and DOS)
will be sorted accordingly.
■ NEW-, BBS-list and EMI-list (see below) can now also be limited in
length by file-age (period specification in number of Days, Weeks or
Months).
■ A new list-type introduced: EMI-list (new file EMIsions). I is a
simple list, comparable to NEW-list. It has a more compact format,
and gives also file-time and the file-size (in exact bytes). It is
especially useful to generate messages with file arrivals over the
last period (in combination with a period specification).
■ Readability improvements in IP2-list.
■ Documentation extended with sample output for new users of Downsort.
■ Some bug-fixes:
∙ Compares of path- and area-names now case INdependent
∙ Memory allocation error during collection of comments in
FILES.BBS
∙ Index out-of-range in report preparation phase
∙ Processing of /K-option for areas with FILES.BBS but otherwise
empty.
Appendix A. History of changes 44
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX B. WORLD-WIDE USE OF DOWNSORT
PC-Square may be considered as the home-base of Downsort. The most
recent version is always available there and requestable with the magic
name DOWNSORT (file-requests honoured between 07:00 and 24:00 LOCAL
| time).
| Beta testers can obtain the latest test-version by file-request of
| magic name DOWNBETA from:
| 2:281/732 digiThalys Rob Hamerling Vianen, NL
| 18:00 and 02:00 local time
| (Apr-Sep UTC 16:00-00:00, Oct-Mar 17:00-01:00)
| Note: Only available if your system is in the International FidoNet Nodelist!
| 2:280/804 PCSquare Lody Caenen Koog aan de Zaan, NL
| Among many others, the following SYSOPs have reported running Downsort
| to make file collection lists for their users, and have a recent
| version available for download or file-request:
| 2:203/302.13 Edlund's Point Rolf Edlund Varberg, Sweden
| 2:254/1 Paradigmus Maximus John Taylor London, UK
| 2:320/0 ChaOs/2 Julien Pierre St Remy les Chv. France
| 2:331/205 Runnin' w the Devil Stefano Sonzogni Treviglio BG, Italy
| 2:341/24 Enchufe BBS Santiago Crespo Madrid, Spain
| 2:292/505 I.C.S.-BBS Mario Lermite Mechelen, Belgium
| 1:141/109 Fernwood Emmitt Dove Branford CT, USA
| 1:141/455 The Planet Earth Joel Lambert Bridgeport CT, USA
| 1:109/347 OS/2 Shareware Pete Norloff Fairfax VA, USA
| 1:150/130 Singing Bear John Tarbox Wilmington DE, USA
| 1:209/710 The Choice BBS Mark Woolworth Las Vegas NV, USA
| 1:382/1201 The Hub John Dierdorf Austin TX, USA
| 1:163/116 La Jungle BBS Stephane Seguin Quebec, Canada
| 1:221/177 K-W Amateur Radio Fred Hicks Kitchener, ON, Canada
| 1:244/440 Bob's Bored/2 Robert Ensing Hamilton, ON, Canada
| 1:250/120 Kariko BS-BBS Kari Suomelog North York, ON, Canada
| 3:711/409 3M Australia Graham Stair Pymble, NSW Australia
| 3:623/630 Serendipity Inc Poe Lim Cowra, NSW Australia
| 3:772/20 IBM NZ Ltd Gate Terry Bowden Auckland, New Zealand
I have received reports from others. Too many for this list, which is
just meant to point to a system in your neighbourhood(?). You may
either logon to one of these boards, or perform a file-request of
'FILES' or 'ALLFILES' to get an impression of Downsort's capabilities.
Appendix B. World-wide use of Downsort 45
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX C. SAMPLE LISTS
Below follow a number of samples of list layouts and contents. Not
shown are the BBS-, and IPF-lists, since these are screen- rather than
paper-oriented, with their specific formatting and color settings.
The dates and sizes in these lists have been manipulated!
10.1 ALL-LIST
════════════════════════════════════════════════════════════════════════════
█▀▀▀▀▀▀ █ ║ OS/2 - Fernwood - New Acquisitions
█▄▄▄▄▄ ▄█ ║ Available: 143 files (0.0 MB)
██ ██ ║
██ ██ ║ Newest: XLIST233.ZIP 3-22-91 (avail: 7-26-91)
────────────────────────────────────────────────────────────────────────────
Filename Size Date Description
──────────── ───── ───────── ───────────────────────────────────────────────
AAFONTS.ZIP 1K 3-22-91 Text from IBM regarding Anti-aliased Fonts.
AFP_120.LZH 1K 3-22-91 Areafix 1.2 for OS/2. Permits systems that do
echomail with yours to change their complement
of areas independently.
10.2 GBL-LIST
(Sun Jan 05 15:05) Available: 508 files (0 MB)
Newest: BIGBRO.ZIP 3-22-91 (avail: 7-26-91)
Date flag: new on this system since: * = 1 week, + = 1 month
Filename Area Size Date Description
──────────── ──────── ───── ───────── ──────────────────────────────────────
2COLDIR.ZIP F3 1K 3-22-91 DoubleDir for OS/2
2MONITOR.ZI F4 1K 3-22-91 Source and .EXE for running 2 monitors
10.3 NEW-LIST
(Sun Jan 05 16:14) Last 10 months newest of a total of 508 files (0 MB)
Newest: BIGBRO.ZIP dd 3-22-91 (avail: 7-26-91)
Date flag: new on this system since: * = 1 week, + = 1 month
Filename Area Size Date Description
──────────── ──────── ───── ───────── ──────────────────────────────────────
2COLDIR.ZIP F3 1K 3-22-91 DoubleDir for OS/2
2MONITOR.ZIP F4 1K 3-22-91 Source and .EXE for running 2 monitors
8514.PAT F4 1K 3-22-91 Patch to get 32x32 icons on 8514/a
Appendix C. Sample Lists 46
Maximus Download File Sort and List Utility (OS/2 and DOS)
10.4 FILES.BBS
█▀▀▀▀▀▀ █ ║ OS/2 - Fernwood - New Acquisitions
█▄▄▄▄▄ ▄█ ║ Available: 143 files (0.0 MB)
██ ██ ║
██ ██ ║ Newest: XLIST233.ZIP 3-22-91 (avail: 7-26-91)
───────────────────────────────────────────────────────────────────────────
Filename Size Date Description
─────────── ─────── ───────── ─────────────────────────────────────────────
AAFONTS.ZIP Text from IBM regarding Anti-aliased Fonts.
AFP_120.LZH Areafix 1.2 for OS/2. Permits systems that do echomail . . .
The header prefix that Downsort uses for Files.Bbs files are not shown,
but what the remote user would see of it.
File date and size are provided dynamically by Maximus CBCS!
10.5 ORPHAN LIST
════════════════════════════════════════════════════════════════════════════
Area Filename Date FilePath
──────── ──────────── ───────── ────────────────────────────────────────────
F1 123R3UPD.ZIP 3-22-91 G:\File\Fernwood\
F1 4019DRVR.ZIP 3-22-91 G:\File\Fernwood\
Appendix C. Sample Lists 47
Maximus Download File Sort and List Utility (OS/2 and DOS)
| APPENDIX D. DOWNSORT FOR NON-MAXIMUS USERS
| This appendix tries to help potential users of Downsort who do not
| actually run Maximus with creating the minimum environment to run
| Downsort. For a more extensive setup you may require the file MAX.DOC
| from the Maximus archives. The names that are mentioned below for
| drives and directories are examples!
| 1. Create a directory 'MAX' on one of your drives (let's say 'd:').
| 2. Build in this directory a file 'MAX.CTL' with the following
| contents:
| System Section
| Path System d:\max\
| End System Section
| Session Section
| FileData Farea
| End Session Section
| Include farea.ctl
| 3. Create in this directory also a file FAREA.CTL with the following
| contents:
| Filearea UTIL
| Desc Utilities for DOS
| Download d:\Dos\util\
| End Filearea
| Filearea UTIL2
| Desc Utilities for OS/2 from HOBBES CDROM
| Download g:\32bit\sysutils\
| FileDesc d:\32bit\sysutils\descript.ion
| End Filearea
| Of course this should be changed and extended to reflect your actual
| file-base, but start with only a few areas to see if it works. Note
| that for the first area the directory 'd:\Dos\util\' is assumed to
| contain a file 'FILES.BBS' with the file-descriptions, while the
| second area explicitly points for this information to a file with a
| different name. Explicit specification is needed if a file with the
| name 'FILES.BBS' is not in the download directory itself.
| 4. Per filearea you need a text file with file descriptions, generally
| called FILES.BBS (which is the default for Downsort). Each line
| should contain a 'filename.ext' followed by a desriptive text for
| this file (up to 1024 bytes), for example:
| DWNSRT62.ZIP Maximus CBCS DOWNload file SORT and list util
| The filename should start in position 1.
| 5. Obtain SILT[P] from a Maximus 3.00 runtime archive, or from a
| friendly Maximus Sysop (SILTP.EXE if you run OS/2, SILT if your run
| DOS), and put it also in this directory or in one of your 'PATH'
Appendix D. Downsort for non-Maximus users 48
Maximus Download File Sort and List Utility (OS/2 and DOS)
| directories.
| 6. Make "d:\max" the current default directory and run SILTP with:
| SILTP max -af
| This will create the required file 'FAREA.DAT' (use SILT if you run
| DOS!).
| 7. Create in this directory a file Downsort.Cfg or take the provided
| sample file and modify it as desired.
| 8. Put DOWNSORT.EXE in "d:\max", or in one of your 'PATH' directories.
| Now you are ready to run Downsort.
Appendix D. Downsort for non-Maximus users 49
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX E. SAMPLE CONFIGURATION FILE
;
; ██▐███ █▐███ ██ ██ ██▐███ ██▐████ █▐███ ██▐███ ██▐████
; ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ▐██
; ██ ██ ██ ██ ██ █ ██ ██ ██ ██▐████ ██ ██ ██▐███ ▐██
; ██ ██ ██ ██ ██ █ ██ ██ ██ ██ ██ ██ ██ █ ▐██
; ██▐███ █▐███ █▐███ ██ ██ ██▐████ █▐███ ██ ██ ▐██
; (font 2)
;
;
; ▄▀▀▀▄ ▄▀▀▀▄ █▄ █ █▀▀▀▀ ▀█▀ ▄▀▀▀▄ █ █ █▀▀▀▄ ▄▀▀▀▄ ▀▀█▀▀ ▀█▀ ▄▀▀▀▄ █▄ █
; █ █ █ █▀█▄█ █▄▄ █ █ ▄▄ █ █ █▄▄▄▀ █▄▄▄█ █ █ █ █ █ ▀▄█
; ▀▄▄▄▀ ▀▄▄▄▀ █ ▀█ █ ▄█▄ ▀▄▄▄▀ ▀▄▄▄▀ █ ▀▄▄ █ █ █ ▄█▄ ▀▄▄▄▀ █ █
; (font 1)
;
;
; █▀▀▀▀▀▀ █ █ █▀▀▀▀▀▀
; █▄▄▄▄▄▄ █▄ █▄ █▄▄▄▄▄▄
; ██ ██ ██ ██
; ██ ██ ██▄▄▄▄▄ ██▄▄▄▄▄
; (font 3)
; (font 4 is reverse video of 3)
;
;
; ┌╦══╦┐ ┌╦ ╦┐ ┌╦══╦┐ ┌╦═╦═╦┐ ┌╦══╦┐ ┌╦══╦┐ ┌╦ ┌╦╦╦┐ ┌╦══╦┐ ┌╦══╦┐
; │╠═╦╩┘ ┌┐ │╠══╣│ │╠══╣│ │║ ║ ║│ │╠═ │╠═╦╩┘ │║ ║ │║ ║│ │║ ═╦┐
; └╩ ╚═┘ └┘ └╩ ╩┘ └╩ ╩┘ └╩ ╩┘ └╩══╩┘ └╩ ╚═┘ └╩═╩┘ └╩╩╩┘ └╩ ╩┘ └╩══╩┘
; (font 5)
;
; ┌──────────────────────────────────────────────────────────────────────┐
; │ Sample Configuration File for DOWNSORT by Rob Hamerling │
; └──────────────────────────────────────────────────────────────────────┘
;
; Downsort is designed to make many lists in almost any combination
; in a single run with several areagroup selections.
;
; Downsort can be invoked with a commandline parameter specifying another
; than the default configuration filename ('Downsort.Cfg'), for example:
;
; DOWNSORT @SPECIAL.CFG
;
; (the '@' prefix denotes that a configuration filespec is following)
;
;
; Rules for parameter specifications in the a configuration file:
; ===========================================================
; - Leading blanks and empty lines are skipped.
; - Lines with '%', '*' or ';' as first non-blank character are
; considered to contain comments only and are skipped.
; - Lines with a valid keyword but without any parameters, are
; considered to be comment lines and are skipped.
; - All parameters for a specific keyword should be on a single line.
; - Of mutually exclusive values only the last will take effect.
; - Invalid or not-recognised parameters may be ignored without notice.
Appendix E. Sample Configuration File 50
Maximus Download File Sort and List Utility (OS/2 and DOS)
; ───────────────────────────────────────────────────────────────────────
;6.2 RegName The name for which you registered, enclosed in double quotes.
;6.2 ------ Unregistered use of Downsort is allowed up to 30 days.
;6.2 See the file 'Register.Txt' for how to register.
RegName "Rob Hamerling"
; ───────────────────────────────────────────────────────────────────────
; First the specifications for the data collection phase
; ───────────────────────────────────────────────────────────────────────
;
; Farea: Complete file-specification of your 'FAREA.DAT' file.
; ----- FAREA.DAT is built by MAX's SILT[P] (-a, -af or -x option).
FareaDat d:\maximus\farea.dat
; FareaDat d:\c\falist\farea.dat
; FileEXclude Select FILES to be excluded from ALL(!) lists.
; ----------- By default all files in all (selected) areas will be
; included, unless you use this keyword.
; Specify 8.3 filename.ext type of strings, wildcards are
; allowed and honored, don't use quotes.
; The selection is case-insensitive and is independent of area.
; You may specify multiple filespecs on a line, separated
; by one or more blanks, and as many lines as needed.
FileExclude FILES.* *.BAK SYSTEM*.?BS DIR.?BS
FileExclude 00INDEX.* WILDCAT.TXT DESCRIPT.ION TEST
; AreaGroup Defines a logical name for a group of fileareas.
; --------- AreaGroups are used to build lists for groups of fileareas.
; With AreaINclude and or AreaEXclude keywords following this
; AreaGroup keyword, the collection of areas for this group
; is defined. The groups are independent: areas may be member
; of more than one group, other areas may not be in any group.
; A new AreaGroup keyword closes the previous.
;6.2 During data collection only the required areas are scanned.
;6.2 WARNING: If at least one list doesn't specify an areagroup,
;6.2 file info of ALL area's is collected, which may
;6.2 significantly downgrade the performance of Downsort,
;6.2 especially when CDROM drives are involved!
;6.2 NOTE: Areagroups are only meaningful in combination with a
;6.2 '-S' specification on an xxxFileList line (see below)!
; AreaINclude Select areas to be INCLUDED in the group.
; AreaEXclude Select areas to be EXCLUDED from the group.
; ----------- Character strings define which filedivisions and/or
;6.2 fileareas have to be INcluded in or EXcluded from the group.
;6.2 The strings are used as PREFIX. All areanames that start with
;6.2 the specified string are considered 'matching' the
;6.2 specification. The FULLY QUALIFIED areanames (including
;6.2 Division prefixes!) are considered.
;6.2 You may specify multiple strings on a line, separated by one
Appendix E. Sample Configuration File 51
Maximus Download File Sort and List Utility (OS/2 and DOS)
;6.2 or more blanks, and as many lines as needed. AreaINclude
;6.2 and AreaEXclude keywords may appear in any sequence, in
;6.2 Downsort.cfg. All comparisons are case-INsensitive.
; The following rules determine which areas will be member of
; an AreaGroup:
;6.2 - If only areaINclude is specified for a group, then ONLY
;6.2 the areas of which the name matches with any areaINclude
;6.2 string will be member of this group.
;6.2 - If only areaEXclude is used for a group then ALL(!) areas
;6.2 will be included EXCEPT those areas of which the name
;6.2 matches with any areaEXclude string.
;6.2 - If both areaINclude and areaEXclude are specified for a
;6.2 group, then all areaINcludes precede any areaEXclude.
;6.2 - If neither areaINclude nor areaEXclude is specified
;6.2 then the group is empty.
; Hints for the use of AreaGroups:
;6.2 - If you don't use areaINclude, you probably want to
;6.2 areaEXclude 'Sysop', 'Upload', 'Inbound', etc.
;6.2 More genarally: remember to areaEXclude those areas that
;6.2 you normally won't show to all of your users!
; - You would normally use one of both keywords. Using them
; both is only meaningful if the areaEXclude strings are
; more restrictive (longer) then the areaINclude strings.
; See for an example the AreaGroup 'HOB' below:
; Suppose you have fileareas named HC000 to HC999
; in a filedivision Hob (denoting the HOBBES CDROM),
; then the group HOB would select the files from
; areas HC000 to HC039, but NOT those ending with a '9'.
AreaGroup OS2
AreaINclude OS2. FW.
AreaGroup nonOS2
AreaEXclude OS2. FW. SYSOP. UPLOAD INBOUND
AreaGroup HOB
AreaINclude Hob.hc00 Hob.hc01 Hob.hc02 Hob.hc03
AreaEXclude Hob.hc009 Hob.hc019 Hob.hc029 Hob.hc039
; ───────────────────────────────────────────────────────────────────────
; Above parameters involve the data collection (selection) process,
; below follow the report specifications.
; Firstly the common parameters that apply to all lists (if applicable).
; ───────────────────────────────────────────────────────────────────────
; Title: Short string that will be displayed in BLOCK-characters
;6.2 --- on top of NEW, TOP, IPF, IPN, GBL and ALL, but not in
;6.2 BBS, ORP, DUP, USR and FILES.BBS.
; An unlimited number of 'Title'-lines may be specified.
; If Title isn't specified, no blocktitles will appear.
; The following characters are supported in block-fonts:
; UPPER case A..Z
; LOWER case a..z (but will be presented in UPPER case)
; Digits 0..9
;6.2 _ * | . : [ ] ( ) / \ - and space
Appendix E. Sample Configuration File 52
Maximus Download File Sort and List Utility (OS/2 and DOS)
; Not-supported characters are displayed as blank.
; The '`'-character (reverse quote) is translated into a half
; width space, the '~'-character into a full width space.
Title ~DownSort~
Title ~~~from~~~~
Title ~Holland~~
; PreTitle Lines to be displayed immediately before the BLOCK-title.
; -------- The lines will be copied as is. However leading blanks will
; be skipped, no wrapping or truncation will be applied for
; 'long' lines. '~' (tilde) characters are translated to
; blanks. You may specify an unlimited number of PreTitle lines.
; Empty PreTitle lines are ignored. There is no default PreTitle.
; To create empty lines in your header specify a PreTitle
; with a tilde.
PreTitle ~
PreTitle ~~~~~~~<═════:═════ p r e - t i t l e ═════:═════>
PreTitle ~
; SubTitle Lines to be displayed below the BLOCK-title.
; -------- Exactly the same rules apply as for PreTitle.
; If an include file is specified on the xxxFileList line, then
; this is inserted between block title and subtitle!
SubTitle ~
SubTitle ~~~~~~~<═════&═════ s u b - t i t l e ═════&═════>
SubTitle ~ Overview of downloadable files on this magnificent Board
SubTitle ~ Node number 9.999/99, modemspeeds: V.99/V.99bis
SubTitle ~~~~~~~<═════════════════════════════════════════>
SubTitle ~
; BottomLine Lines to be displayed at the end of the filelist.
; ---------- Exactly the same rules apply as for PreTitle and Subtitle.
;
BottomLine ~
BottomLine ~~~~~~~<═══════ b o t t o m : t i t l e ═════════>
BottomLine ~
BottomLine ~~~~~~~<═══ How do you like DOWNSORT, folks? ════>
BottomLine ~
; DupNameSize Indicates the number of characters of the fileNAME that are
; ----------- maximally to be compared to consider a name 'duplicate'.
; Allows version numbers to be detected, for example:
; with "DupNameSize 6" DWNSRT61.ZIP and DWNSRT62.ZIP will
; appear as duplicates in the DupFileList report.
; Default: 8
DupNameSize 8
; NonDupEXT Suppress reporting as 'duplicate' if 2 files with equal
; --------- filenames but unequal extensions are defined as 'pair'.
; The example specification below has the effect that files of
Appendix E. Sample Configuration File 53
Maximus Download File Sort and List Utility (OS/2 and DOS)
; any pair "xyz.SDA" and "xyz.SDN" ("xyz": any filename) will
; not be listed in DupFileList.
; - Files with equal filename AND equal extension will
; still be reported as duplicate even when the extension
; is one of a 'NonDupEXT' pair!
; - Multiple extensions must be specified in as many pairs
; as can be formed (3 extension 3 pairs; 4 ext. 6 pairs;
; etc, e.g: for Nodelists: DAT EXT DAT IDX EXT IDX).
; You may specify multiple extension-pairs on a line
; (separate the extensions with blanks), and as many lines
; as needed.
; Default: no suppression
NonDupEXT SDN SDA
; OrphanDesc Description text of 'orphan' (file without entry in FILES.BBS)
; NotFoundDesc Description text of files without description in FILES.BBS.
; ------------ The description will replace the default hard-coded text.
; Up to 45 characters may be specified.
; The '~' (tilde) character will not be translated here!
OrphanDesc ~~~~~ Orphelin!!!! ~~~~~
NotFoundDesc ~~~ Ce fichier défie toute description!
; OfflineDesc When a filespecification is found in FILES.BBS but the file
; ----------- is not found in the corresponding download directory, this
; text replaces the filesize and date (right aligned).
; Up to 14 characters are accepted.
OfflineDesc -- archived --
; AVAstrip You may wish to strip off AVATAR graphics characters from
; -------- the contents of your FILES.BBS files.
; Specify 'No' to deactivate stripping (default is 'Yes').
; ==> Works ONLY for COMMENT LINES in ALL- and IPF-lists, and
; remember: comments are only listed with KEEPSEQ (no sort).
AVAstrip Yes
; AreaOrder Order in which areas have to be sorted in the lists.
; Selection can be: A[lpha] - Alphabetic order of areaname
;6.2 G[roup] - Group (FileDivision) order
; I[nclude] - order of areaINclude
; K[eep] - Keep order of FAREA.DAT
; Specify one of these type (first letter is sufficient).
;6.2 Where areanames are involved in sorts, the sequence will be
;6.2 according to AreaOrder. With 'Group' the areas will be sorted
;6.2 alphabetically in sequence of the fully qualified areaname,
;6.2 (including division prefixes), with 'Alpha' areas will be
;6.2 in sequence of the unqualified areaname (ignoring divisions).
;6.2 'Group' and 'Keep' will make division boundaries visible.
;6.2 Note: 'Include' uses the AreaInclude specifications, which
;6.2 are prefixes. Areas matching the same AreaInclude string
;6.2 will be sorted in 'Keep' sequence.
Appendix E. Sample Configuration File 54
Maximus Download File Sort and List Utility (OS/2 and DOS)
; Default: Group
AreaOrder Group
; ──────────────────────────────────────────────────────────────────────
; Above were the parameters common to most lists.
; Below follow list-specific parameters, which might override some of
; the settings of the common parameters.
; Keep this sequence: first common, then specific parameters!
; ──────────────────────────────────────────────────────────────────────
;
; xxxFileList: Create a File lists of type 'xxx' (1 list per keyword)
;
; xxx ───┐ ┌── Specification of output
; │
; ┌── BBS │ ┌── Additional options for
; ┌── ALL │ │ each list individually:
; ┌── GBL │ │
; ┌── NEW │ │ -A Alphabetic sort on filename
; ┌── IPF │ │ -Cn Continuation-line indent
;6.2 ┌── IPN │ │ -D Date sort (descending)
;6.2 ┌── TOP │ │ -F# Font number for BLOCK title (1..5)
; ┌── USR │ │ -G Group (division) sort
; ┌── ORP │ │ -If Imbed filespec
; ┌── OK │ │ -K Keep original FILES.BBS sequence
; ┌── DUP │ │ -L Long line type (+filesize+date)
; │ │ │ -O Orphans to be reported / adopted
; │ │ │ -R Remove 'not-found' file descriptions
; │ │ │ -Sg Select areagroup 'g'
; │ │ │ -T Truncate file descriptions
; │ │ │ -Um USRmodel logical name selection
; │ │ │ -W Wrap file descriptions
; │ │ │ -X eXclude display of ACS in headers
; │ │ │ nnn[P] entries limit: number or period
; │ │ │ ('P' = Days | Weeks | Months)
;
; ═══─═══════ ════════ ════════════════════════════════
; xxxFileList PathSpec Option-1 Option-2 . . . Option-n
;
;6.2 Maximus' PRIVILEGE and USERLOCK/KEYS are NOT SUPPORTED anymore.
;
;6.2 The output 'PathSpec' for each list MUST be specified.
;
; The following options may be specified (in any sequence):
; -A Sort files Alphabetically on filename
; -D Sort files on Date/time of the files
; -G Sort files on Group (division) name
; -K Keep sequence of files as they appear in FILES.BBS.
; Note: not all sorts apply to all list types (but most do)
;
; -Cn Continuation Indentation of description: relative position
; of description on second and following lines if wrapped
; descriptions are used. 'n' will normally be the width of
; a download counter field.
; May be specified negative for left-indentation (e.d. -C-16)!
Appendix E. Sample Configuration File 55
Maximus Download File Sort and List Utility (OS/2 and DOS)
;
;6.2 -F# BLOCK title font. Choose for '#' a number from 1 to 5.
; Valid numbers: 1 .. Simple font (5x6 pattern)
; 2 .. Pseudo-Stencil Font (7x10 pattern)
; 3 .. ROBoComputer Font (7x8 pattern)
; 4 .. Reversed Video RoboComp (7x8 pattern)
;6.2 5 .. Wide open font (7x6 pattern)
; See some samples of the fonts in the top of this file.
;6.2 Default font is 3, which is hard coded in some parts of the lists.
;6.2 By specification of '-F' or 'F0', you may suppress block titles
;6.2 (maybe also on places where you still want 'm, experiment!).
;
; -If Imbed userfile ('f' is file-spec) immediately following the
; block-title (if any). The contents of the file is included without
; any translation, so beware of special characters and effects like
;6.2 formatting (word-wrap) especially in the IPF- and IPN-list!
; NOTEs: - does not apply to lists of 'Sysop'-type (like DUP and ORP)
; - BBSFileList imbeds always DOWNSORT.HDR and DOWNSORT.TRL
;
; -L Long list format for some selected list types:
; - FILFilePath: see (almost) at the end of this file.
;
;6.2 -O Orphans to be reported in xxxFileList or adopted in FILES.BBS.
;6.2 Orphans are files in the download directory that have no entry
;6.2 in the corresponding FILES.BBS. The entries will get the
;6.2 'OrphanDesc' and will be reported in any xxxFileList when the
;6.2 flag -O is specified. But it has effect only when also an
;6.2 ORPFileList is requested!
;6.2 Default: orphans will NOT be listed or adopted.
;
; -R Remove 'offline' file-entries.
; 'Offline' files have an entry in Files.Bbs, but are not in the
; download directory of this area.
; These files will be listed with 'offline' in the size/date field.
; When you specify '-R' the file will not appear in the list, and
; when specified on xxxFilePath, it will be removed from Files.Bbs.
;6.2 Default: list and do not remove 'offline' file entries.
;
; -Sg Select AreaGroup for the list ('g' should be a name defined with
; AreaGroup keyword). The list will only contain areas of the
;6.2 of the specified group.
;6.2 If the specified group is not defined the list will be empty.
;6.2 If no group is selected the list will contain ALL areas.
; Default: All areas will be included.
;
; -T Causes Truncation of long descriptions (to about 50 characters)
; so that each file-entry takes not more than a single line.
; -W Causes Wrapping of long descriptions: the report will contain
; as many lines as needed for the complete file description.
;
; -Um USRmodel-name to be selected for USRFileList.
; 'm' should be the name of one of the specified USRmodel statements.
;6.2 Default: nothing (no list generated)
;
;6.2 -X eXclude ACS reporting the list-headers.
Appendix E. Sample Configuration File 56
Maximus Download File Sort and List Utility (OS/2 and DOS)
;
; nnn[P] Limit the number of file-entries to a maximum of 'nnn'.
; If followed by Period-indicator ('D', 'W' or 'M') the list is
; limited not by number, but by file-AGE in Days, Weeks or Months.
; NOTEs: - the Period-letter does not apply to IPF-lists
; - 'nnn' denotes maximum number of files on a VIEW-page.
; - ALL-lists can only be limited by period (not number).
AllFileList list\Allfiles.all -a -W -f5 -IDownsort.Inc
AllFileList list\Allfiles.new 2m -a -w -f5 -x -IDownsort.Inc
AllFileList list\Allfiles.hob -k -W -sHOB -IDownsort.Inc
AllFileList list\Allfiles.dos -k -W -snonOS2 -IDownsort.Inc
BBSFileList list\Bulletin.bbs 3w -d -w -x
GblFileList list\GblFiles.psq -a -w -c6 -IDownsort.Inc
IpfFileList list\Allfiles.Ipf 200 -k -w -sOS2
IpnFileList list\Newfiles.Ipf 6w -g -f1 -sOS2
NewFileList list\Newfiles.psq 2m -g -w -f2 -x
TopFileList list\TOPfiles.psq 30 -a -w
DupFileList list\Dupfiles.psq
OKFileList list\Okfile.psq -iDownsort.mag
OrpFileList list\Orphans.psq -g
; NOTE: The IPF-list has the format of an INPUT-file for the
; Information Presentation Facility Compiler (IPFC).
; It should be compiled with: "IPFC Allfiles.IPF /INF"
; This will produce a file called Allfiles.INF, which is ready
; to be viewed with the command: VIEW Allfiles
; Note: The IPFC compiler is not distributed with DOWNSORT,
; but could be obtained for the IBM program development
; toolkit for OS/2 2.0+, or is part of a compiler package.
; ──────────────────────────────────────────────────────────────────────
; USRFileList Builds a list of 'user format' lines with file information.
; ----------- It is designed to build batch-files for file maintenance.
; The format of each line is a variable string. It is given a
; name with the USRmodel keyword. The corresponding format is
; the line immediately following he name (use no space-lines!).
; The format-string may contain symbolic variables that will be
; replaced by the actual value of file- or area-information
; as follows:
;6.2 %$ - ACS (Access Control String) of area
; %2 - duplicate file flag: '2' if duplicate file, '1' if not.
;6.2 %A - Areaname (fully qualified with division prefixes).
; %C - file Creation date (fixed 8 characters)
; %D - most recent of lastwrite and creation Date of file
; %F - Filename.ext
; %H - File-age in days
; %N - Download count (from [nnn] in FILES.BBS file-desc)
; %P - Path specification of the file's download directory
; %S - file Size
;6.2 %U - Unqualified areaname (without division prefix)
; %W - file lastWrite date
; %Z - file lastAccess date
; Notes: - unknown symbolic variables are copied asis.
; - to obtain '%' on the outputline specify: '%%'
Appendix E. Sample Configuration File 57
Maximus Download File Sort and List Utility (OS/2 and DOS)
;
; A number of example statements as suggestions:
; - The first USRmodel builds a batch file (REXX) to move
; Fernwood files from their original directory to a directory
; with areaname as the subdirectory-name of G:\Fernwood\.
; - The second model will erase files older than 2 years but
; only when downloaded not more than 5 times
; - The third model is a specification for a 'long' OKfile.
; - The fourth model contains all symbolic variables
; supported by Downsort for USRFileList.
USRmodel move
move '%P%F G:\Fernwood\%U\'
USRmodel old
if %H > 730 & %N < 5 then erase '%P%F' /* filedate: %D */
USRmodel ok
@%F %P%F
USRmodel all
%%$=%$ %%2=%2 %%A=%A %%C=%C %%D=%D %%F=%F %%H=%H %%N=%N %%P=%P %%S=%S %%U=%U %%W=%W %%Z=%Z
USRFileList list\usrlist1.cmd -G -UFW -sOS2 -Idownsort.rex
USRFileList list\usrlist2.cmd -G -Uold -Idownsort.rex
USRFileList list\usrlist3.OK -a -Uok
USRFileList list\usrlist4.all -G -Uall -sOS2
; ──────────────────────────────────────────────────────────────────────
; Below follow the specifications for manipulating/rebuilding FILES.BBS
; ──────────────────────────────────────────────────────────────────────
; FILFilePath - First parameter is [optional] specification of
; ----------- destination directory of newly generated 'FILES.BBS' files.
; Use the format: drive:\path\
; If 'pathspec' is specified the output-files will be called
;6.2 "areaname.BBS" (filedivision prefix removed). Long
;6.2 areanames will be truncated to the first 8 characters.
; If not specified the MAXIMUS path specification will be
; used (FileList parameter if used in Maximus' FAREA.CTL, or
; otherwise the Download directory).
; - Many but not all flags as defined for the other lists
; apply to the FILES.BBS-output of Downsort, for example:
;6.2 - File-descriptions will be wrapped or truncated to
;6.2 lines with a maximum length of 1024 characters.
;6.2 Default: Wrap
; - Title specifications are ignored.
; - Entries can be sorted, but then you will loose your
; comments: -K (Keep sequence and comments) is default.
; - -L (LONG) means: include file size and file date.
; Do not run Downsort more than one time with this option!
; - Avatar codes will not be touched.
; - When using group selection ('-Sg') and multiple FILFilePaths,
; beware not to overwrite previous output (e.g. define and
; use mutually exclusive groups, such as the OS2 and nonOS2
; example above).
FILFilePath list1\ -a -R
FILFilePath -a -R
Appendix E. Sample Configuration File 58
Maximus Download File Sort and List Utility (OS/2 and DOS)
; ────────────────────────────────────────────────────────────────────────
;
; End of sample Downsort.Cfg as provided with the orginal Downsort package.
;
Appendix E. Sample Configuration File 59