home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
dwnsrt59.zip
/
DOWNSORT.DOC
< prev
next >
Wrap
Text File
|
1993-12-19
|
138KB
|
3,567 lines
DOWNSORT
Maximus CBCS DOWNload file SORT and List Utility
Version 5.9 (OS/2 and DOS)
December 19, 1993
Rob Hamerling
Vianen, The Netherlands
Phone: ++31-3473-72136 (voice)
FIDO-net: 2:512/4.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 2
2.0 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Purpose and Objectives . . . . . . . . . . . . . . . . . . . . 3
3.0 User's Guide . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Initial setup . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Data Collection . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 List Type Selection . . . . . . . . . . . . . . . . . . . . . 7
3.4 Data Selection . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 List Customisation . . . . . . . . . . . . . . . . . . . . . 14
3.6 Miscellaneous report information . . . . . . . . . . . . . . 17
4.0 Parameter Specifications . . . . . . . . . . . . . . . . . . 20
4.1 Commandline parameters . . . . . . . . . . . . . . . . . . . 20
4.2 Configuration file Parameters . . . . . . . . . . . . . . . . 20
4.3 Compiling the IPF lists . . . . . . . . . . . . . . . . . . . 22
5.0 Sample of Getting organised . . . . . . . . . . . . . . . . . 23
5.1 Downsort . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 BinkleyTerm . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.0 Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2 RUN-time material . . . . . . . . . . . . . . . . . . . . . . 25
6.3 Source material . . . . . . . . . . . . . . . . . . . . . . . 26
6.4 Installation . . . . . . . . . . . . . . . . . . . . . . . . 27
6.5 Dependencies and restrictions . . . . . . . . . . . . . . . . 27
6.6 Storage and Performance . . . . . . . . . . . . . . . . . . . 28
6.7 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.8 Wishlist . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.0 Internals . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.1 Development Environment . . . . . . . . . . . . . . . . . . . 30
7.2 Program Organisation . . . . . . . . . . . . . . . . . . . . 30
7.3 Main Data Organisation . . . . . . . . . . . . . . . . . . . 32
Appendix A. History of changes . . . . . . . . . . . . . . . . . 35
8.1 Version 5.9 . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.2 Version 5.8 . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.3 Version 5.7 . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.4 Version 5.6 . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.5 Version 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.6 Version 5.4 . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.7 Version 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.8 Version 5.2 . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.9 Version 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.10 Version 5.0 . . . . . . . . . . . . . . . . . . . . . . . . 41
Contents ii
Maximus Download File Sort and List Utility (OS/2 and DOS)
Appendix B. World-wide use of Downsort . . . . . . . . . . . . . 42
Appendix C. Sample Lists . . . . . . . . . . . . . . . . . . . . 44
10.1 ALL-list . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.2 GBL-list . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.3 NEW-list . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.4 EMI-list . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5 FILES.BBS . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.6 OKfile . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.7 ORPhan list . . . . . . . . . . . . . . . . . . . . . . . . 46
Appendix D. Sample Configuration File . . . . . . . . . . . . . 47
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 my own use when I was
SYSOP of the Bulletin Board PC-Square (2:512/4), to automatically
generate daily overviews of my download material for the users. 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 international Bulletin Board community of
MAXIMUS CBCS boards, 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
AREA.DAT, which is usually created with a MAXIMUS utility (SILT(P)),
which itself can be used without actually running MAXIMUS! This is the
way I work for testing of Downsort.
"Appendix A. History of changes" on page 35 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. Recently a
32-bits version for OS/2 2.0 has been added for OS/2 2.0 and up.
Downsort is in its 7-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, or
| styles of usage that are not described in this document.
| 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. But please read the
| comments in Downsort.Cfg before making the changes you consider
| appropriate.
| And before reporting supposed bugs or missing features, please continue
| to read this document!
About Downsort 1
Maximus Download File Sort and List Utility (OS/2 and DOS)
1.2 REGISTRATION AND SHAREWARE FEE
Downsort is a $ 0.00 Shareware (Freeware) Program. This means (to me)
that you respect the commonly known rules for shareware, but you don't
have to pay me anything.
Registration is voluntary: please send me a netmail message with your
name and (net-)address if you are a regular user of Downsort as SYSOP.
That gives me an impression of the usage and the impact of changes to
Downsort.
If you tell me that you are running Downsort on your Bulletin Board as
service to your users, and you appreciate to be mentioned, I'll add
your name to the reference list in "Appendix B. World-wide use of
Downsort" on page 42.
1.3 WARRANTY
For this price? You must be kidding! But I'll listen to your
complaints and suggestions, and if time permits, I'll work on the
improvements you suggested.
1.4 ACKNOWLEDGEMENTS
I would like to thank all users that contributed with constructive
remarks and encouraging appraisals. Without doubt Emmanuel Sandorfi,
former SYSOP of 2:320/5, holds the record in number of suggestions and
amount of additionally required programming effort. He also provided
some additional title-fonts (2 and 3).
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 42.
About Downsort 2
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 MAXIMUS CBCS. The different types
of lists are each for a specific audience (online bulletin board user,
file-requestor, SYSOP) and purpose (all files, recent acquisitions).
Within each type there are many ways to customise the contents
(selection on user-privilege or 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, 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 filerequest of 'FILES' of 'ALLFILES')
∙ IPF-list similar contents as ALL-list, but in a different
presentation format (VIEW-able under OS/2)
∙ 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
■ SYSOP lists:
∙ ORPHAN-report as a help with management of the contents of your
area's 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 (Binkley) File Requests.
∙ EMI-list for a list of new file arrivals to be included in an
announcement message.
∙ Updated FILES.BBS files
The lists can be generated for different privilege levels, and be
customised 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 most of these lists can be found in "Appendix C. Sample
Lists" on page 44.
In short: Downsort is a very versatile tool to manage your database of
files, both in an OS/2 and DOS environment.
2.1 PURPOSE AND OBJECTIVES
────────────────────
(1) For the target audience the distiction between 'user' and
'sysop' is strictly the author's view!
Overview 3
Maximus Download File Sort and List Utility (OS/2 and DOS)
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). The
file-access privilege system of a Bulletin Board System like Maximus
CBCS should be respected by the reports.
Overview 4
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 20.
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 20.
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:
■ Privilege and download path-information from AREA.DAT
■ Actual 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).
■ ORPHAN-report for SYSOP use only
■ 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
■ IPF-list(s) same as ALL-list, but in a different presentation
format (VIEW-able under OS/2, there is a special IP2-list for
OS/2 2.0).
■ GBL-list(s) for a complete overview over area-boundaries
■ DUP-list(s) for a list of possibly duplicate filenames
■ OKFile(s) for (Binkley) File Requests
■ EMIFile(s) to for a list of file arrivals over the last period
■ Updated FILES.BBS files
3. File selection
Reporting of file-information can be limited by:
■ Reporting privilege: only those files up to a certain privilege
level will be listed
■ Area INclude or EXclude: for sub-selection for special interest
| groups
| ■ Maximus area key/lock system
| ■ Explicit exclusion by specification of filespecs (wildcards)
■ Number of files or period (days, weeks or months) to be reported
4. List Customisation
User's Guide 5
Maximus Download File Sort and List Utility (OS/2 and DOS)
The layout of the lists can be jazzed-up with:
■ BLOCK-title and its font
■ TopTitle, SubTitle, BottomTitle, Include (logo-) file
■ Sorting sequence of area's in ALL-list (unsorted, name, include)
■ Sorting sequence of files (unsorted, date, filename)
■ Truncation, or wrapping and indenting of file descriptions
■ Area- or file-privilege information
■ 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 D. Sample Configuration
File" on page 47) 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 AREA.DAT
A MAXIMUS file 'AREA.DAT' is absolutely required by Downsort. It is
however not necessary to run MAXIMUS yourself, the AREA.DAT file is
created with SILT(P) from the MAXIMUS package. You can use this
utility without the other MAXIMUS stuff. In fact I do that myself (NOT
running a MAXIMUS board)! If you run Downsort in a directory without
AREA.DAT, then you should use specify the filespec for AREA.DAT. It
allows also to specify a different AREA.DAT file than the one that is
used by your MAXIMUS.
With SILT(P) you may build a special AREA.DAT for exclusive use by
Downsort, with different, less, or even more directories! Probably
much more convenient is the use of AreaINclude or AreaEXclude in
Downsort.CFG to limit the contents of the lists to a group of area's,
that you want to report together, while you use the regular AREA.DAT.
A combination of a 'special' AREA.DAT and AreaIN/EXcludes is another
option to obtain areagroups.
Remember: The combination of area privilege in AREA.DAT and the
report-privilege specification in Downsort.CFG may restrict the
contents of reports. AreaINclude is subordinate to this and will work
| only for the collection of area's within these privilege limits.
| Area-selection on Maximus' userkey may be another restriction.
| 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 (see also "6.6 Storage and
Performance" on page 28), you may use these techniques as
circumvention: exclude one or more of the file area's and rerun
User's Guide 6
Maximus Download File Sort and List Utility (OS/2 and DOS)
Downsort.
3.2.2 FILES.BBS
Downsort uses the information in AREA.DAT to locate the description
files, usually called FILES.BBS. So either the ListFile specification
in AREA.DAT, or the download directory to locate them (Maximus
default).
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 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
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.2 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: a user-privilege sensitive list! 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)
■ maximum privilege
User's Guide 7
Maximus Download File Sort and List Utility (OS/2 and DOS)
(never more than available within the privilege limit). 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.3 NEW-LIST
Basically the same list as above, 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.4 EMI-LIST
Basically the same as NEW-list, but more compact:
■ contains file also file-time and exact filesize in bytes.
■ Description wrapping (if used) is overlapping the file-details
except filename (may be justified with indentation).
The EMI-list is especially suitable to generate file-arrival messages
(the output should be included by another program).
3.3.5 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, -description,
and -privilege. 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 size of this list is limited only by the privilege parameter. The
numbers in area-header and summary report show only what is available
for the particular privilege.
3.3.6 IPF- AND IP2-LIST
Same contents as ALL-list but in a different format. Only useful for
users that run OS/2 (OS/2 version 1.2+ under Presentation Manager).
This file has the format of an input-file for the Information
Presentation Facility Compiler (IPFC).
There is a separate form of this list (called IP2-list) for OS/2 2.0.
It produces information that can be compiled only with the accompanying
User's Guide 8
Maximus Download File Sort and List Utility (OS/2 and DOS)
IPF Compiler of the OS/2 2.0 Toolkit. The result however can be VIEWed
under OS/2 1.3!
3.3.7 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, there is
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 now also a special report for this particular
purpose (see "3.3.8 DUP-list").
3.3.8 DUP-LIST
Simple report of possibly duplicate files over the area's. 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!
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, path is completely ignored).
■ You may have explicitly excluded area's from the search.
■ You may have excluded area's by privilege: Downsort completely
ignores area's with a higher privilege than any report asked for.
■ You have duplicates in 'orphan'-state.
These circumstances may give 'false' signals or hide duplicates!
All duplicate files within the privilige-range will be reported, even
when a counterpart has a higher privilege or are orphan (and thus will
not be reported in the DUP-list)! You may need a file-finder-utility
to search for the 'partner'-file in one of the directories with a
higher privilege.
There are very few other parameters applicable to this list. File
descriptions may be specified as truncated or wrapped. All user-titles
are left out and only a sort on filename is supported.
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:
User's Guide 9
Maximus Download File Sort and List Utility (OS/2 and DOS)
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
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 filespecifications for file-requests in BinkleyTerm style. The
generated paths in the list obey the following rules:
■ the area-privilege is within the privilege limit of the report
■ the area is not excluded (by areaEXclude)
■ the area has at least 1 file within the privilege limit of the
report
The paths are sorted on area-name (although the area-name is not part
of the list). There is no check on duplicate paths.
The list is not jazzed-up with titles, etc, but a file may be included
in front of the list if specified on the OKFileList in Downsort.CFG
(see "Appendix D. Sample Configuration File" on page 47). This option
allows you to insert a list of 'magic' names in the OKFile.
Two formats are available:
■ SHORT format with lines in the format "filepath\*.*". This is the
regular format for BinkleyTerm and other mailers.
■ LONG format with lines in the format: "@filespec
filepath\filespec". All files have a 'magic'-name assigned and
there are no generic file specifications in the OKFileList. This
prevents directory searches for BinkleyTerm for each file request.
Note: Some newer versions of BinkleyTerm can use the file base of
Maximus to find a file even faster.
User's Guide 10
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.3.10 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 -privilege. Also
the total amount of files and bytes and the most recently acquired
new file in this area is part of the header information.
■ Files with a privilege up to and including the area-privilege are
listed first.
■ Files can have a privilege other than the area-privilege when the
original FILES.BBS file contains ^Pp-sequences ('p' being a
privilege letter). This construction will be rebuilt by Downsort.
Files with a higher privilege than the area-privilege will follow
after a compiled MECCA-sequence (^Pp) in the new FILES.BBS.
Downsort respects these indicators when reading FILES.BBS, so all
file-privilege information is retained. This ensures no accidental
loss of file-information, and the regular user won't see more than
he should.
■ 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 2.0 supports up to 240 bytes!) When creating
FILES.BBS files, this will be the file format (single record per
file-entry). The original FILES.BBS may contain a (long) single
string description, or multiple (short) multiline 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 if the FIL-list is requested.
■ Comments in FILES.BBS will be preserved onlywhen the Keep-Sequence
option is used (specify /K on the FilFileList line of Downsort.Cfg).
Special attention is requested for the following:
■ The first 8 lines, if comments (starting with a '-'-character), are
discarded. These lines are assumed to be the standard header for
FILES.BBS of Downsort.
■ Downsort from version 5.7 recognises its own headerlines with the
characters: <-><&delta.><&delta.><backspace><backspace> for each of
its header-lines, and will skip all lines starting with this
sequence during the data collection phase, even when encountered
after line 8.
■ 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' by Downsort.
The destination of FILES.BBS-files is not by definition the same as the
origin! When specified with the "FIL:"-parameter (or in the
configuration file), the output may be located in a different directory
than the original input FILES.BBS.
User's Guide 11
Maximus Download File Sort and List Utility (OS/2 and DOS)
When the output is directed to a separate directory, the files will be
named as follows:
FILES.ac when all areanames (areacodes) of the selected areas in a
single run of Downsort are 3 bytes or less.
areaname.BBS when any areaname is longer than 3 bytes.
The format of the header will be slightly different. Font
specification (/Fx in FILFileList) works for the second case only.
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.
| Apart form the short OK-list, all lists are 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 area will
| not appear in any list.
3.4.1 PRIVILEGE CONTROL
The default file privilege to be shown in the lists is SYSOP. All
files with a higher privilege than the specified (or defaulted)
report-privilege will not appear in the lists.
Files without a matching filename-entry in FILES.BBS are treated as
Hidden. That means that by default these files will not be listed,
unless the 'H' privilege is used on the report-request specification.
If you run a mailer like BinkleyTerm and support file-requests, you
lack the extensive privilege system like Maximus. The only distiction
BinkleyTerm makes with file-request is 'unknown', 'known' and
'password-protected'. You may generate multiple download lists with
different privilege indictor, depending if you allow these categories
to request different file collections a sample of this kind of
environment is given in "5.0 Sample of Getting organised" on page 23.
This is not needed for Downsort.BBS, since this file has imbedded
privilege control sequences for MAXIMUS users. But you should specify
a sufficiently high privilege for the BBS-list to satisfy your most
valuable users!
User's Guide 12
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.4.2 AREA SELECTION
| There are several ways to perform area selection:
| 1. AREA.DAT file needs not be the regular complete AREA.DAT used by
| your online Maximus system.
| 2. AreaINclude and/or AreaEXclude statements may select groups of
| area's by name from the used AREA.DAT file.
| 3. Individual list specifications may further reduce the lists on file
| privilege and userkeys. The latter makes use of the Maximus feature
| called 'key/locks'.
You should realise that this is the latest selection during the data
collection phase. Area-privilege selection has taken place already
before AreaIN/EXclude, or UserKeys are processed. So make sure you
specified a sufficiently high report-privilege to get the proper areas
| into the group.
| Note: During the reporting phase you may further restrict
| file-reporting with privilege, userkeys or time period!
| 3.4.3 FILENAME SELECTION
| A completely separate selection is possible on filename. 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- and ALL-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.
User's Guide 13
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.5 LIST CUSTOMISATION
3.5.1 HEADERS, TITLES AND INCLUDE FILES
There are several ways to custimise 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. Leading '~'-characters
(tilde) will be treated as full-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 short title (8-12 characters), that will be magnified to
big BLOCK-letters. There are 4 block-fonts to choose from.
Not all characters are supported and lower-case will be
translated to upper-case. The '~'-character (tilde) will
be treated as full-size required blank, the '`'-character
(accent-grave) as half-size required blank.
If not specified, a default title is generated as
Downsortxy, where xy stands for the current version of
Downsort.
TitleFont Number of the font to be used for the BLOCK title. If
specified as 0, the BLOCK-title will NOT be generated at
all.
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 custimised 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.
BottomTitle Lines that should appear as very last lines of the lists.
These follow my 'signature'.
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:
User's Guide 14
Maximus Download File Sort and List Utility (OS/2 and DOS)
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 report will not contain any user-titles.
3. The FILES.bbs files will not use any of the title-specifications,
but may use an Include-file.
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, but that is not very distinctive if
you collect 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 privileges. In
most headers there will be a line with the reporting privilege. This
may be suppressed.
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 some 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 AREA.DAT
■ Sorted alphabetically on areaname
■ Order of areaINclude statement in Downsort.Cfg
■ Groupname-order
The Groupname-order is a special order based on a popular naming
convention for areas. Many SYSOPs use areanames with a group-name or
-letter followed by a sequence number. With groupname sorting the
User's Guide 15
Maximus Download File Sort and List Utility (OS/2 and DOS)
areaname is split - if possible - into a groupname (if the first
character is not be numeric) and a sequence number (if the last part of
areaname is numeric). Primary sort key is groupname, secundary sortkey
is sequence number. If the first character of the area-name is
numeric, the groupname is empty, and if the last part of the areaname
is not numeric, the second key is empty.
If the ordering does not match your more complicated area naming
convention, you can always fallback on a properly sequenced AREA.DAT,
or on areaINclude sequence.
If Include-order is specified, but AreaINclude is not, then the order
falls back to Group-order.
The area-order 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 used indentation of
continuation lines.
■ 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).
User's Guide 16
Maximus Download File Sort and List Utility (OS/2 and DOS)
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, ohers (repeating characters of patterns) are imitated.
■ Size of a VIEW-page in IPF-list: The IPF-list of area's with more
than 250 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: 250.
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.
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) are
treated as Hidden files, which are only listed in the reports if the
Hidden privilege is specified.
Note: If you want the orphans to appear in FILES.BBS (or in any
other report), you MUST also request an ORP-list!
3. 'OFFLINE" in stead of file-size and file-date is reported if
User's Guide 17
Maximus Download File Sort and List Utility (OS/2 and DOS)
FILES.BBS contains an file-entry while the file is not in the
corresponding directory.
4. The BBS-list contains MAXIMUS authorisation controls
(^PLp-sequences), corresponding to the privilege of the area or the
individual file. So it is not necessary to make different files for
different categories of MAXIMUS users, even with the default
privilege-limit SYSOP a user will not see the files he/she is not
supposed to know about.
Other lists do not contain any privilege information, the files (or
complete area's) above the specified privilege are simply not
listed, however multiple lists can be produced for different
categories of users (based on privilege).
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 the Creation date for sorting, but the lists (see
below) contain the 'old fashioned' 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-, NEW-, and EMI-lists.
User's Guide 18
Maximus Download File Sort and List Utility (OS/2 and DOS)
3.6.3 DUPLICATE FILENAMES
Duplicate filenames are checked if the DUP-list is requested, and they
will be reported only in the DUP-list. So duplicates may appear in the
regular user-lists, which means:
■ If a filename.ext is encountered more than once in different
subdirectories of FILES.BBS files, it will appear that many times in
the outputlist. The file-privilege reflects that of the area where
the file belongs to, unless overridden by a ^Px modifier in
FILES.BBS.
■ 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.
Note: Duplicate file reporting may be influenced with the
'NonDupExt' specification, see "3.3.8 DUP-list" on page 9.
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 customise the configuration file and what
you might specify on the commandline.
A sample configuration file (in "Appendix D. Sample Configuration
File" on page 47) 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]
@filespec The character '@' followed by a complete file
specification of the Downsort configuration file(see "4.2
Configuration file Parameters" for details). This file
will be used to specify processing parameters.
NOTE: The specification of a configuration file is
mandatory when the file AREA.DAT is not in the default
directory when running Downsort.
Default: Downsort.CFG in current default directory.
/H /Q /V Operating mode
■ H - Help: display screen with essential information
about running Downsort, such as the command syntax. In
that case the program will not undertake 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.
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 D.
Sample Configuration File" on page 47 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).
| ■ File Specification of the MAXIMUS CBCS file 'AREA.DAT'.
| ■ Area selection by name
| ■ Area and File selection by 'cumulative' privilege and/or Maximus'
| key/lock
| ■ Explicit file exclusion
■ Sorting order of areas
■ List title 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.
4.2.2 PARAMETERS WITH LOCAL SCOPE
The parameters below are sub-parameters of the xxxFileList keyword.
| ■ List privilege
| ■ Userkeys for a list
■ Alternate output filename (in stead of the default Downsort).
■ Directory for the output FILES.BBS-lists
■ Maximum number of file entries in NEW- and BBS-list
■ File-entry sort sequence (filename or date).
■ Wrap or Truncate long file descriptions, and Indentation of
continuation lines.
■ Title Font selection.
■ Suppression of privilege indications.
■ Include textfile in NEW-, ALL-, IPF- and GBL-lists, and in
FILES.bbs.
| Downsort can generate any number of lists in a single run. If you are
| clever with Maximus key/lock manipulations, you will master Downsort
| quickly to make the proper selections.
A sample configuration file is provided. A listing of this file is
imbedded as "Appendix D. Sample Configuration File" on page 47. 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 save
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 1.2/1.3. For the IP2-list the IBM OS/2 2.0
or 2.1 Toolkit is needed. 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 12 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 Disgrace, Normal
and Privileged MAXIMUS users).
5.1 DOWNSORT
| Your downsort.cfg file might contain among others the following
| specifications:
| BBSFileList p 3W
| NEWFileList d 2m
| NEWFileList n 2m
| NEWFileList p 2m
| ALLFileList d
| ALLFileList n
| ALLFileList p
| OKFileList p
| OKFileList n
| OKFileList d
This specification will produce the following lists:
■ Downsort.BBS with the last three weeks additions to your system, for
users of category Privil. Note: Users with a lower privilege will
actually see a shorter list if the file contains Privil entries,
since each line contains a privilege control sequence.
■ For file requests of the magic filename NEWFILES a list of the last
2 months additions to your system.
∙ Downsort.N~D for UNKNOWN file-requestors
∙ Downsort.N~N for KNOWN file-requestors
∙ Downsort.N~P 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
privilege strategy).
■ For file requestors of the magic filename FILES a list, a list with
all files (with optional titles via Downsort.CFG specifications):
∙ Downsort.A~D for UNKNOWN file-requestors
∙ Downsort.A~N for KNOWN file-requestors
∙ Downsort.A~P 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!
■ For your mailer you'll have:
∙ Downsort.O~D for UNKNOWN file-requestors
∙ Downsort.O~N for KNOWN file-requestors
∙ Downsort.O~P for Password Protected file-requestors
Sample of Getting organised 23
Maximus Download File Sort and List Utility (OS/2 and DOS)
In general: files, which the requestor is not supposed to know about
due to his privilege status, will not be on his/her list!
Note: The counters on top of the lists indicate what your system has
available in total (including higher privileges), so a clever
user/file-requester may come up with the question how that is possible:
explain that he/she has to earn a higher privilege level!
5.2 BINKLEYTERM
In Binkley.Cfg you should specify for requests of FILES:
Avail Downsort.A~d
KnownAvail Downsort.A~n
ProtAvail Downsort.A~p
Furthermore you need to specify different OKFILEs, for example:
| OKFile Downsort.O~d
| KnownReqList Downsort.O~n
| ProtReqList Downsort.O~p
In each of the appropriate filerequest authorisation files you should
specify the appropriate file-spec:
╔═══════════╦══════════════╦═══════════════╦═══════════════╗
║ in: ║ OKFile ║ KnownReqList ║ ProtReqList ║
║ ║ (Download.N) ║ (Download.K) ║ (Download.P) ║
║ for: ║ ║ ║ ║
╠═══════════╬══════════════╬═══════════════╬═══════════════╣
║ ..... ║ ......... ║ ........... ║ ........ ║
║ @NEWFILES ║ Downsort.N~d ║ Downsort.N~n ║ Downsort.N~p ║
║ @FILES ║ Downsort.A~d ║ Downsort.A~n ║ Downsort.A~p ║
║ ..... ║ ......... ║ ........... ║ ........ ║
╚═══════════╩══════════════╩═══════════════╩═══════════════╝
This will result in sending of the appropriate NEW-list to every
requester of the magic filename: NEWFILES. If you use the second magic
filename, then the Avail-lines in Binkley.Cfg are not needed, and you
might prefer this way.
Of course if the privilege level of all download area's is the same,
this construction is not needed, but in that case it is unlikely that
you have specified KnownAvail and ProtAvail!
Downsort may create a set of OK-files for you. The privilege system of
MAXIMUS CBCS is used to select the download paths in this list.
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 always downloadable and
file-requestable from Bulletin Board "PC-Square" of the Dutch IBM
employee PC club. Search or request DWNSRT??.* to be independent of
the version and compression method!
| FIDO-net address: 2:512/4; phone: 31-79-424107 (USR HST-DS).
| Downsort is originally distributed in area FWBBS of the Fernwood
| collection, and may also be distributed via SDSMAX.
There is a fair chance you may find a recent version on one of the
other bulletin boards, listed in "Appendix B. World-wide use of
Downsort" on page 42.
Downsort is distributed in 2 archives:
■ A file "DWNSRTxy.ZIP", containing all material you need to run
Downsort, including documentation, formatted for browsing or
printing (formfeed is the only printer-control).
■ A file "DWNSRSxy.ZIP", containing all SOURCE material.
Note: 'xy' is the version indication, for example DWNSRT59.ZIP is the
version 5.9 runtime package.
6.2 RUN-TIME MATERIAL
WHATSNEW.59 Summary of amendments to version 5.9 of Downsort.
DOWNSORT.EXE Execution module for OS/2 and DOS (Family
Application)
DOWN386.EXE 32-bits execution module for OS/2 (2.0 and higher).
DOWN386.ICO ICON file for DOWN386.EXE.
DOWNSORT.DOC Documentation (this file!).
DOWNSORT.CFG Sample configuration file. This file contains
comment lines with extensive instructions how to
specify the parameters in the file.
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
Packaging 25
Maximus Download File Sort and List Utility (OS/2 and DOS)
details of its format and contents.
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.
A 32-bits version for OS/2 2.0+ is included with
the name HPFSD386.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
DOWNSORT.C Mainline.
DOWNCOL.C Data collection functions.
DOWNFNT.C Font definition and formatting functions.
DOWNPAR.C Processing functions for commandline and
Downsort.CFG parameters.
DOWNRPT1.C Functions for NEW-, BBS- and EMI-list.
DOWNRPT2.C Functions for the IPF-lists.
DOWNRPT3.C Functions for the SYSOP-oriented lists, like
ORPhan-, OK-, and DUPlicate-lists, as well as
FILES.BBS files.
DOWNRPT4.C Functions for the ALL- and GBL-lists.
DOWNSRV.C Miscellaneous services functions.
DOWNVARS.C Constants and global variables.
DOWNSORT.H Header file, with external definitions of global
variables.
DOWNFPRO.H Common (global) function prototypes.
DOWNSORT.SCR Unformatted documentation file. This file includes
formatting tags in BOOKMASTER style for printing on
whatever devices are supported (like IBM page
printers). This format is compatible and can be
formatted on an IBM host system with DCF (SCRIPT)
as well. The file can also processed by the
IPF-compiler (just ignore the warnings and
error-messages!).
DOWNSORT.DEF LINK definition file for OS/2 (1.3 and 2.0+)
DOWN386.MAK MAKE file for DOWN386.EXE with OS/2 2.1, C/C++
Tools Version 2 and OS/2 2.1 Toolkit.
DOWNSORT.MAK MAKE file for DOWNSORT.EXE OS/2 1.3, MS C-compiler
6.00a. The program development toolkit (OS/2
1.2/1.3) is needed when using IBM C/2 1.1 compiler.
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!
Packaging 26
Maximus Download File Sort and List Utility (OS/2 and DOS)
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 and Downsort.CFG from the Downsort
package into this directory.
3. Modify (edit) the file Downsort.CFG to specify your environment and
list requirements. The sample file contains comments to help you
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 D. Sample
Configuration File" on page 47 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
specified 'fpath' for the FILES.BBS output). Browse the lists to
see if you like the contents and titles, and modify the CFG-file to
your convenience.
6.5 DEPENDENCIES AND RESTRICTIONS
■ Applies to MAXIMUS CBCS 2.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 (for the IP2-list
the corresponding OS/2 2.0 or 2.1 version of this compiler)
■ The input FILES.BBS files are assumed to contain only 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 FilFileList 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.
Packaging 27
Maximus Download File Sort and List Utility (OS/2 and DOS)
6.6 STORAGE AND PERFORMANCE
As a rough estimate of the memory requirements of Downsort, use sum of
the following elements:
■ Program: about 100KB
■ Each area: 300 Bytes
■ Each file: 48 Bytes for each download file (excluding file
descriptions and excluding orphans if no orphan-list requested)
■ 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 (only applicable wiht DOS!), then you
could do one or more of the following:
■ Use 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 of '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
Although I try to prevent the cause of them, there are some unresolved
problems in the current version of Downsort:
■ Currently no unresolved problems are known.
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 AREA.DAT and other
structures), and support several versions simultaneously.
■ User-configurable options for:
∙ week and month indicators
Packaging 28
Maximus Download File Sort and List Utility (OS/2 and DOS)
∙ indicator for continuation lines in wrapped descriptions
∙ [selectable] MECCA control in FILES.BBS
■ Logging to file in stead of stdout to obtain a history file of
| Downsort usage. (may be done wiht redirection!).
■ Support for use of 'barricaded' areas.
■ List with the format of IPF-list but the contents of NEW-list.
■ 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.
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 2.0, with the following
Operating Systems:
■ IBM OS/2 versions 1.3 and 2.1
■ IBM PC/DOS version 6.1
7.2 PROGRAM ORGANISATION
The program is organised as follows:
■ Initialisation:
∙ Read configuration file.
∙ Process commandline parameters.
Commandline parameters may override configuration file parameters.
■ Read AREA.DAT file to collect download pathnames (only of those
area's that will participate this time).
■ For each file-area with a privilege not exceeding any list-request:
∙ Read subdirectory (with find-file-first/next function). Take
only Normal files: ignore directory entries, Hidden and System
files and volume labels. Also ignore files with the following
specifications: FILES.*, *.BAK, DIR.?BS and SYSTEM*.?BS.
∙ For all regular file-entries found in subdirectory:
- Get filename.ext, attribute, date, time, size.
- Get file-description from FILES.BBS file. The path to the
FILES.BBS file is (1) obtained from the "ListFile"
specification in MAXIMUS AREA.DAT file, or (2) if not
specified from the "DownLoad" specification (among the
download files).
- Add files with explicit path specifications.
Internals 30
Maximus Download File Sort and List Utility (OS/2 and DOS)
- Get file privilege 1) from area, 2) from FILES.BBS file if
higher.
- When no orphan reporting is required, then drop orphan entries
area-by-area.
■ For the ORP-list:
If any orphan found, and the orphan-report is requested, 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 requested.
∙ 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 customised 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 custimised
Bulletin).
∙ Report non-listed files on standard output device (which might be
re-directed to printer or disk-file).
■ If requested, put the above file collection in Downsort.N~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 (HIDDEN), or one for each specified
privilege.
■ If requested, re-sort files on area and then filename or date, and
create Downsort.A~p, containing all files (respecting the privilege
restrictions!). Area's with zero files within the applicable
privilege limit will not be listed at all (will 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 requested, re-sort files on filename or date only, and create
Downsort.GBL.
■ If requested, re-sort files on area, privilege and filename, and
create for each area a FILES.BBS-type of file.
■ If requested generate a list of probably DUPlicate files.
Internals 31
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ If requested generate a list of download-paths: the OK-file (not: it
will contain only the paths that participated in this run.
NOTE: the program 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 area's, 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 request 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
The organisation is shown in the following figure.
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) v v v
╔══════╗ ╔══════╗ ╔══════╗ ╔══════╗
║ 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) v v v
╔════════════╦═════════════╦════════ . . . ══════╗
(5) ┌────────>║ area[0] ║ area[1] ║ ║
│ ╚════════════╩═════════════╩════════ . . . ══════╝
│ array of structures of area information
╔══════╗
║ area ║
╚══════╝
Schematic overview of Downsort's in-storage database.
Note: The area-array cannot be sorted itself: this would invalidate the
pointers in the file-information records!
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 &BOXBOT. lower half
2 &BOXTOP. upper half
3 &BOX. lower+upper halves
4 &box34. gray pattern
5 &BOXLEFT. left part of upper and lower half
6 &BOXRIGHT. right part of upper and lower half
7 &box14. gray pattern
8 &box12. gray pattern for not-supported characters
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)
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 blank.
The '~'-character (tilde) represents 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 (most
recent revisions on top of list!).
Downsort for MAXIMUS CBCS was developed from an OPUS equivalent (by the
same author). Its pre-MAXIMUS history is not really important here and
therefore has been removed. However the name Downsort has been
maintained, so to prevent confusion, the version number is inherited
(the last version for OPUS was 3.1).
8.1 VERSION 5.9
Please read also the commentlines marked '5.9' in Downsort.Cfg!
■ 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
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
Appendix A. History of changes 35
Maximus Download File Sort and List Utility (OS/2 and DOS)
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-bit version
HPFSD386) can now reset the creationdate of files also in other than
current working directory.
8.2 VERSION 5.8
■ Now an 'unlimited' number of files is supported, dependent only of
available memory (virtual memory under 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.3 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 area's
with 'long' (more than 3 character) names are used.
Appendix A. History of changes 36
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ The "FILES.BBS"-type of output (selected with FILFileList 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 FILFileList 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
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.4 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 area's 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.
Appendix A. History of changes 37
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ '-'-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.5 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
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.
8.6 VERSION 5.4
■ Inline comments in FILES.BBS will be reproduced now! When AND ONLY
WHEN the /K option is specified for All- or IPF-list, or for
FILFilePath, the original existing comments in FILES.BBS are copied
into All- or IPF-list or newly created FILES.BBS files. So note: /K
means now: Keep sequence of FILES.BBS and Keep comments in
FILES.BBS and other lists that support the /K option (ALL-, IPF and
IP2-list).
Note: /K is now the default sort parameter for FILFilePath, so that
you do not loose your comments accidently.
■ Downsort's interpretation of the meaning of 'orphan' changed a
little: an 'orphan' is from now on defined as a file for which there
is no description in any FILES.BBS of all areas pointing to the same
directory. This may reduce improper(?) orphan-reporting by previous
versions of Downsort considerably when you have physically a single
large directory of which the files are grouped logically in
Appendix A. History of changes 38
Maximus Download File Sort and List Utility (OS/2 and DOS)
different areas with separate FILES.BBS files.
■ Duplicate download directories in OK-files will be suppressed.
■ Area-summaries in ALL- and IPF-lists are again sorted alphabetically
on area-name.
■ A check during the data collection phase on maximum supported file
entries (16350) has been added to prevent problems when exceeding
this limit.
■ Orphan entries in FILES.BBS are now preceeded with '^PS' in stead of
the unsupported '^PH' (bug fix).
■ Some specific adaptations for version 2.0:
∙ All files conforming to filespec 'FILES.*' will not be reported
anymore.
∙ Area code will be handled as 9 character string: area-name! But
in some reports it will be truncated to the first 3 or 4
characters.
∙ AreaINclude and AreaEXclude are used as 'prefix'. Area-name
specifications will be treated as group-names: you can include or
exclude groups of areas starting with the same characters.
∙ The /b, /t, /bt or /tb flag in FILES.BBS will not appear in the
lists, but only when it appears immediately after the filename.
It is not stripped from FILES.BBS.
■ As experiment a new list has been added: IP2FileList. It is a copy
if IPF-list, but uses some new formatting features offered by the
IPF-compiler of the OS/2 2.0-beta toolkit (i.c.
The result is a faster generation, but above al a faster
compilation and a better VIEW. VIEWing under OS/2 1.2 or 1.3 is
still possible!
8.7 VERSION 5.3
■ New report added: DUP-list, a simple list, for SYSOP-use only, that
shows (possibly) duplicate fileNAMES over the area's (the
file-extension is not considered in the comparison).
■ Another new report: OKFile in BinkleyTerm style. A list of
download paths within privilege, with option to include magic
names.
■ IpfFileList line in Downsort.Cfg now also allows specification of
the IPF pagesize (maximum number of file-entries per VIEW 'page' or
'part').
■ Progress signals streamlined, /Q is really silent now!
■ Fixed bug which caused Trap 000D under OS/2 (protection violation)
under some rare conditions. The restriction that first area may
not be empty or not contain only orphans has been removed with this
change.
■ Support for MAXIMUS CBCS 1.00 removed: only version 1.02 is
supported (and most likely 2.00 as well).
■ Downsort's change-history before version 5.0 removed from
documentation.
■ Use of MicroSoft C Compiler 6.00a: more free memory for DOS users
(also because of slightly improved program structuring).
Appendix A. History of changes 39
Maximus Download File Sort and List Utility (OS/2 and DOS)
8.8 VERSION 5.2
■ Area selection is now possible within Downsort. Two new keywords
are provided in Downsort.CFG: AreaINclude to make reports for
selected download area's, AreaEXclude to omit area's from the
reports. These keywords have only effect within the collection
that would otherwise have been reported completely (restricted by
AREA.DAT and report privilege).
■ FILES.BBS has now a peer relation with the directory in stead of
being subordinate, in Downsort terms of course. Filenames and
their description in FILES.BBS for which there is no corresponding
file in the download directory, are now NOT ignored anymore. In
stead the file is reported as 'offline' (on the columns for
file-date and -size). You may replace the word 'offline' with an
alternative text.
■ Bug repaired that caused some files to be treated as orphan under
certain rare circumstances. And a correction of an error in
'end-of-line' test/search on several places.
■ As already 'promised' in 5.1, the Area-summary in ALL-list is now
in order of AREA.DAT.
■ Reorganised the documentation to obtain a more logical sequence of
subjects. Due to the growing number of options of Downsort, it
became more and more difficult to see the trees through the wood.
I added a number of paragraphs, especially for new users. It can
be useful for YOU too!
8.9 VERSION 5.1
■ Since the ORPhan report is optional (changed with version 5.0),
orphan entries could and now will be removed from internal storage
during the information collection phase of Downsort, but only when
no orphan-list is requested! This is especially useful for the
situation where a single large directory contains the files of
several area's, and whereby the file descriptions are contained in
different FILES.BBS files. Normally this will result in reporting
lots of duplicate orphans (according to the definition of 'orphan'
in Downsort!). With this change memory utilisation is lower and
sorting faster.
■ Another change of this kind: area's with a privilege exceeding any
reporting privilege are not scanned anymore. Apart from lower
memory utilisation, this might be useful for CDROM and slow
disk(ette) systems.
■ The maximum number of Top-, Sub- and Bottom-Title lines has been
extended to 20.
■ In addition all lists may now include a 'logo'-file with a new -I
parameter on the individual report request specification (see
sample Downsort.CFG). The file will be copied into the list
without any editing or translation. It will be positioned directly
behind the block-title and before the subtitle (if any). For
example: you may include your BBS-logo or a picture of your system
configuration, or anything else you want to tell the
file-requestors of FILES, ALLFILES and/or NEWFILES. The IPF-list
may also include IPF tags, with artwork, etc. It may even include
Appendix A. History of changes 40
Maximus Download File Sort and List Utility (OS/2 and DOS)
other files itself! For FILES.BBS the contents of this
Include-file will immediately follow the 'standard' header.
■ All block-fonts have now a new special character <`> (reversed
quote), which will be 'printed' as blank (space) with halfthe width
of a normal character. This is useful for fine-alignment (e.g.
manually centering) the BLOCK-title.
■ The chapter on 'titles and headers' has been rewritten to clarify
the use of all title-options, please read it!.
■ In the SUMMARY of ALL- and IPF-lists the areas themselves are not
sorted anymore, but presented in sequence of AREAS.CTL
specification. This is based on the assumption that the file
area's are in some kind of 'natural' order in AREAS.CTL (or maybe
it is time to do that now!).
■ Descriptions in FILES.BBS are now (again) aligned on column 14 of
the FILES.bbs file records.
■ IPF-list again a little more user-friendly (linking of area's).
■ A number of improvements have been applied to the executiontime
messages (when running in VERBOSE mode).
8.10 VERSION 5.0
■ Improved IPF-formatting: more colorful, builtin word-wrapping of
VIEW used for file descriptions (better VIEWable under OS/2 1.3!).
It should now also compile without errors/warnings. Compiling
(with IPFC) takes significantly longer however!
■ The IPF-list of large filearea's (>200 files) split into parts of
200 files to prevent files being left unlisted.
■ Top-level title in FileLists shows file-count and byte-count as
available within the privilege of the list. Thus it indicates what
is really AVAILable to the user! Area-count omitted in lists which
are not area-oriented.
■ ORPHAN report made OPTIONAL (must be specified to get it!).
Appendix A. History of changes 41
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 (file-requests honoured
between 07:00 and 24:00 local time).
PC-Square Marcel Stikkelman Zoetermeer, Netherlands
2:512/4 31-79-424107
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.
OS/2 TASK Rene Carlsen Skagen, Denmark
2:230/910 45-98-451070
Paradigmus Maximus John Taylor London, UK
2:253/68 44-81-566-5393
Ursus Fremens Rexx Colin Adams Preston, UK
2:255/121 44-772-828975
Chat Lody Caenen Koog aan de Zaan, Netherlands
2:280/801 31-75-704045
Runnin' with the Devil Stefano Sonzogni Treviglio BG, Italy
2:331/205 39-363-303567
Castillo Centro Santiago Crespo Madrid, Spain
2:341/24 34-1-5477210
Fernwood Emmitt Dove Branford CT, USA
1:141/109 1-203-483-0348
The Planet Earth Joel Lambert Bridgeport CT, USA
1:141/455 1-203-335-7742
OS/2 Shareware Pete Norloff Fairfax VA, USA
1:109/347 1-703-385-4325
Singing Bear John Tarbox Wilmington DE, USA
1:150/130 1-302-984-2238
La Jungle BBS Stephane Seguin Quebec, Canada
1:163/116 1-819-595-4917
The Choice BBS Mark Woolworth Las Vegas NV, USA
1:209/710 1-702-253-6527
3M Australia Graham Stair Pymble, NSW Australia
3:711/409 61-2-498-9184
Serendipity Inc Poe Lim Cowra, NSW Australia
3:623/630 61-63-41-1859
Appendix B. World-wide use of Downsort 42
Maximus Download File Sort and List Utility (OS/2 and DOS)
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 43
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)
██ ██ ║ Privilege: Disgrace
██ ██ ║ 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)
Maximum privilege shown: Sysop
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.ZIP 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)
Maximum privilege shown: Sysop
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 44
Maximus Download File Sort and List Utility (OS/2 and DOS)
10.4 EMI-LIST
(Tue Jan 14 21:55) Last 44 weeks newest emissions
--Filename-- --Date-- -Time- -Bytes- ---Description---
DUMMY.DAT 10-11-91 9:45p 31 Dummy file for Downsort tests +
continuation line
PSOS2.ZIP 3-22-91 11:46p 2 View OS/2 Information on PM like
Threads & Process, Memory used, and more.
10.5 FILES.BBS
- █▀▀▀▀▀▀ █ ║ OS/2 - Fernwood - New Acquisitions
- █▄▄▄▄▄ ▄█ ║ Available: 143 files (0.0 MB)
- ██ ██ ║ Privilege: Disgrace
- ██ ██ ║ 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 . . . .
Note: File date and size are provided dynamically by Maximus CBCS!
10.6 OKFILE
10.6.1 SHORT FORMAT (DEFAULT)
@files G:\File\File01\allfiles.zip
@avail G:\File\File01\allfiles.zip
@newfiles G:\File\File01\newfiles.zip
G:\File\Fernwood\*.*
G:\File\Max\*.*
10.6.2 LONG FORMAT (-L)
@files G:\File\File01\allfiles.zip
@avail G:\File\File01\allfiles.zip
@newfiles G:\File\File01\newfiles.zip
@DWNSRT55.ZIP G:\File\Fernwood\DWNSRT55.ZIP
@DWNSRT56.ZIP G:\File\Fernwood\DWNSRT56.ZIP
@MAXSRT10.ZIP G:\File\Max\MAXSRT10.ZIP
@MAXSRT11.ZIP G:\File\Max\MAXSRT11.ZIP
Appendix C. Sample Lists 45
Maximus Download File Sort and List Utility (OS/2 and DOS)
10.7 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 46
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX D. SAMPLE CONFIGURATION FILE
;
; ██▐███ █▐███ ██ ██ ██▐███ ██▐████ █▐███ ██▐███ ██▐████
; ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ▐██
; ██ ██ ██ ██ ██ █ ██ ██ ██ ██▐████ ██ ██ ██▐███ ▐██
; ██ ██ ██ ██ ██ █ ██ ██ ██ ██ ██ ██ ██ █ ▐██
; ██▐███ █▐███ █▐███ ██ ██ ██▐████ █▐███ ██ ██ ▐██
; (font 2)
;
;
; ▄▀▀▀▄ ▄▀▀▀▄ █▄ █ █▀▀▀▀ ▀█▀ ▄▀▀▀▄ █ █ █▀▀▀▄ ▄▀▀▀▄ ▀▀█▀▀ ▀█▀ ▄▀▀▀▄ █▄ █
; █ █ █ █▀█▄█ █▄▄ █ █ ▄▄ █ █ █▄▄▄▀ █▄▄▄█ █ █ █ █ █ ▀▄█
; ▀▄▄▄▀ ▀▄▄▄▀ █ ▀█ █ ▄█▄ ▀▄▄▄▀ ▀▄▄▄▀ █ ▀▄▄ █ █ █ ▄█▄ ▀▄▄▄▀ █ █
; (font 1)
;
;
; █▀▀▀▀▀▀ █ █ █▀▀▀▀▀▀
; █▄▄▄▄▄▄ █▄ █▄ █▄▄▄▄▄▄
; ██ ██ ██ ██
; ██ ██ ██▄▄▄▄▄ ██▄▄▄▄▄
; (font 3)
; (font 4 is reverse video of 3)
;
; ┌──────────────────────────────────────────────────────────────────────┐
; │ Sample Configuration File for DOWNSORT by Rob Hamerling │
; └──────────────────────────────────────────────────────────────────────┘
;
; Downsort allows you to make many lists in almost any combination in a
; single run, especially for experienced jugglers with Maximus' key/locks!
;
; In some occasions you might need a separate configuration file.
; Downsort can be invoked with a commandline parameter specifying another
; than the default configuration filename, for example:
;
; DOWNSORT @AGROUP01.CFG
;
; (the '@' prefix denotes that a configuration filespec is following)
;
;
; Rules for parameter specifications in a configuration file:
; ===========================================================
; - Leading blanks are skipped.
; - Lines with '%', '*' or ';' as first non-blank character are
; considered to contain comments only and are skipped.
; - Empty lines and lines with a valid keyword but without any
; parameters, are also considered to be comment lines and are skipped
; - Comments on parameter specification lines are not allowed.
; - All parameters for a specific keyword should be on a single line.
; - Of mutually exclusive values only the last will take effect.
; - An asterisk (*) as parametervalue denotes default-value.
; - Invalid or not-recognised parameters may be ignored without notice.
;
; ───────────────────────────────────────────────────────────────────────
; First the data (file-) collection specifications:
Appendix D. Sample Configuration File 47
Maximus Download File Sort and List Utility (OS/2 and DOS)
; ───────────────────────────────────────────────────────────────────────
;
; AreaDat: Complete file-specification of your 'AREA.DAT' file.
; ------- AREA.DAT is built by MAXIMUS' SILT(P) with -a or -x option.
; The path is normally specified in MAX.CTL with the option
; AreaDat in Session Section. With the AreaDat you may
; specify any file that has the SILT(P)-format.
AreaDat area.dat
* AreaDat d:\lody\max\area.dat
; AreaINclude Select areas to be INCLUDED in the reports.
; AreaEXclude Select areas to be EXCLUDED from the reports.
; ----------- Normally (by default) ALL area's will be included,
; 5.9 unless you use one or both of these keywords.
; Specify 1..8 character strings to indicate which areas have
; to be INcluded or EXcluded explicitly. The strings are used
; as PREFIX: all areanames starting with the same characters
; will be IN- or EXcluded. The selection is case-INsensitive.
; 5.9 You would normally use one of both keywords. However they
; 5.9 can be used simultaneously. But since the strings are used
; 5.9 as prefix this gives only meaningful results if the EXclude
; 5.9 strings are more selective than the INclude strings
; 5.9 (EXclude applies in that case only to INcluded area's!).
; 5.9 You may specify multiple strings on a line (separate the
; 5.9 strings with one or more blanks), and as many lines as
; 5.9 needed.
; 5.9 Example: Suppose your fileareas are named HC000 to HC999.
; 5.9 Then the specification below would select the files from
; 5.9 areas HC000 to HC039, but NOT those ending with a '9'.
* AreaINclude hc00 hc01 hc02 hc03
* AreaEXclude hc009 hc019 hc029 hc039
; FileEXclude Select FILES to be EXCLUDED from the reports.
; ----------- Normally (by default) all files in all (selected) areas
; 5.9 will be included, unless you use this keyword.
; 5.9 Specify 8.3 filename.ext type of strings, wildcards are
; 5.9 allowed and honored, quotes are not needed.
; 5.9 The selection is case-INsensitive.
; 5.9 You may specify multiple filespecs on a line: separate
; 5.9 strings with one or more blanks and as many lines as needed.
; 5.9 ===>> The first line contains the previously hardcoded excludes of
; 5.9 ===>> Downsort versions before 5.9, it is strongly recommended to
; 5.9 ===>> keep the first line active!
FileExclude FILES.* *.BAK SYSTEM*.?BS DIR.?BS
FileExclude 00INDEX.* WILDCAT.TXT
; ───────────────────────────────────────────────────────────────────────
; Above parameters involve the data collection (selection) process,
; below follow the report specifications.
; First the global parameters that apply (mostly) to all reports:
; ───────────────────────────────────────────────────────────────────────
Appendix D. Sample Configuration File 48
Maximus Download File Sort and List Utility (OS/2 and DOS)
; AreaOrder Order in which areas have to be sorted.
; Selection can be: K[eep] - Keep order of AREA.DAT
; A[lpha] - Alphabetic order of areaname
; G[roup] - Group order
; I[nclude] - order of areaINclude (above)
; Specify one of these orders (first letter is sufficient).
; 'Group'-order is a special sorting sequence for area names
; consisting of a group of letters followed by digits.
; See the documentation for details.
; Default: Group-order (also with invalid specifications)
AreaOrder GROUP
; Title: Short string that will be displayed in BLOCK-characters
; ----- on top of all FileLists (except BBS-list).
; Not more than 20 characters are accepted as input.
; If Title isn't specified, it will be DOWNSORT by default.
; 5.9 The following characters are supported in block-fonts:
; 5.9 UPPER case A..Z
; 5.9 LOWER case a..z (but will be presented in UPPER case)
; 5.9 Digits 0..9
; 5.9 _ * | . [ ] ( ) / \ - and space
; Not-supported characters are displayed as blank.
; The '~'-character (tilde) represents a full width space,
; the '`'-character (reverse quote) a half width space.
Title `DownSort
; TitleFont NOT SUPPORTED ANYMORE: use individual specification on
; 5.9 xxxFileList line.
; PreTitle Lines to be displayed immediately before the BLOCK-title.
; -------- The lines will be copied asis, however leading blanks are
; skipped, no wrapping or truncation will be applied for
; 'long' lines, '~' (tilde) characters are translated to
; blanks. You may specify 20 PreTitle lines, excess is
; ignored. Empty PreTitle lines are ignored and not counted.
; 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 immediately below the BLOCK-title.
; -------- Maximum 20 SubTitles are accepted, and exactly the
; same rules apply as for PreTitle.
;
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 ~~~~~~~<═════════════════════════════════════════>
Appendix D. Sample Configuration File 49
Maximus Download File Sort and List Utility (OS/2 and DOS)
SubTitle ~
; BottomLine Lines to be displayed at the end of the filelist.
; ---------- Maximum 20 BottomLines are accepted, and 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 ~
; MaxNewFiles NOT SUPPORTED anymore. Specify maximum entries to be listed
; 5.9 for each lists individually on the appropriate xxxFileList
; 5.9 line.
; 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
; 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).
; 5.9 You may specify multiple extension-pairs on a line
; 5.9 (separate the extensions with blanks), and as many lines
; 5.9 as needed.
; Default: no suppression
NonDupEXT SDN SDA
; OrphanDesc Description text of Orphan files.
; 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 not
; ----------- 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').
Appendix D. Sample Configuration File 50
Maximus Download File Sort and List Utility (OS/2 and DOS)
; ==> Works ONLY for COMMENT LINES in ALL- and IPF-lists, and
; remember: comments are only listed with KEEPSEQ (no sort).
AVAstrip Yes
; ──────────────────────────────────────────────────────────────────────
; Above were the parameters with a global effect: applicable to all
; lists or to the execution mode of DOWNSORT.
; Below follow list-specific parameters, which might override some of
; the settings of the global parameters.
; Keep this sequence: first global, then specific parameters!
; ──────────────────────────────────────────────────────────────────────
;
; xxxFileList: Create a File lists of type 'xxx' (1 list per keyword)
;
; xxx ───┐ ┌─ Twit
; ├─ Disgrace ┌─ FileName of the list
; ┌── ORP ├─ Limited │ (without extension,
; ┌── BBS ├─ Normal │ maximum 8 characters)
; ┌── NEW ├─ Worthy │
; ┌── ALL ├─ Privil │ ┌─ Additional options for
; ┌── GBL ├─ Fafored │ │ each list individually:
; ┌── DUP ├─ Extra │ │ -A Alphabetic sort (name)
; ┌── IPF ├─ Clerk │ │ -Cn Cont.line indentation
; ┌── IP2 ├─ Assistsysop │ │ -D Date sort (descending)
; ┌── OK ├─ Sysop │ │ -F# Font for titles (0..4)
; ┌── EMI ├─ Hidden │ │ -G Group sort NEW files
; │ │ │ │ -If Imbed filespec
; │ │ │ │ -K Keep FILES.BBS seq
; │ │ ┌── userkeys │ │ -L Long line/list type
; │ │ │ 1..8 │ │ -T Truncate file descript.
; │ │ │ A..X │ │ -W Wrap file descriptions
; │ │ │ │ │ -X eXclude priv. in headers
; │ │ │ ┌─────────┘ │ nnn[P] entries limit: number
; │ │ │ │ │ (P=Days|Weeks|Months)
;
; ═══─═══════ ═/════ ════════ ════════════════════════════════
; xxxFileList p/keys FileName Option-1 Option-2 . . . Option-n
;
; If just xxxFileList is specified, the Level by default will be SYSOP
; and the filename will be DOWNSORT.
; 5.9 A single privilege letter (or the complete word) can be specified
; 5.9 ans for each privilege a separate list-file will be generated with
; the following extension:
; NewFileList: N~p
; AllFileList: A~p
; IpfFileList: I~p
; GblFileList: G~p
; OKFileList: O~p
; EmiFileList: E~p
; where 'p' is the (first) privilege character (of the word).
;
; 5.9 Behind the privilege indicator, optionally a slash followed by a
; 5.9 set of 'userkeys' may be specified. This will EXTEND the particular
; 5.9 list with files in areas with the corresponding locks.
Appendix D. Sample Configuration File 51
Maximus Download File Sort and List Utility (OS/2 and DOS)
; 5.9 These specifications in xxxFileList mimic a Maximus user class.
; 5.9 WARNING: Older versions of Downsort included locked area's, but
; 5.9 now these area's will be skipped, unless all keys are
; 5.9 specified on the xxxFileList line!
; 5.9 See for an explanation of 'locks' and 'keys' the MAXIMUS docs.
;
; The default filename (DOWNSORT) for each list can be overridden
; with the [optional] third parameter on the xxxFileList line.
;
; The following parameters may [optionally] be specified (any sequence):
;
; -A Selects Alphabetic sort on filename
; -D Selects sort on Date/Time of the files
; 5.9 -G Selects sort on filename in area-groups
; 5.9 (NEW- and ORP-FileLists only, in other files synonym of -A)
; -K Keep sequence of files in FILES.BBS
; (ALL- and IPF-lists, and newly generated FILES.BBS files).
;
; -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.
;
; -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)!
;
; -X eXclude privilege indications the list-headers.
;
; -L Long list format for some selected list types:
; - OK-file: explicit filenames in stead of wildcards (PATH\*.*)
; - FILFilePath: see below
;
; -If Imbed userfile (f = file-spec) just behind the block-title.
; The file is included without any translation, so beware of
; special characters and effects like formatting (word-wrap) in
; the IPF- and IP2-list!
; NOTEs: - does not apply to DUP- and ORP-FileLists
; - BBSFileList imbeds DOWNSORT.HDR and DOWNSORT.TRL
;
; -F# ListTitle font. Choose for 'n': 0, 1, 2, 3 or 4 (default is 3).
; Valid numbers: 0 .. no block title at all!
; 1 .. Simple font (5x6 pattern)
; 2 .. Pseudo-Stencil Font (7x10 pattern)
; 3 .. ROBoComputer Font (7x8 pattern)
; 4 .. Reversed Video RoboComp (7x8 pattern)
; See some samples of the fonts in the top of this file.
; 5.9 WARNING: Fonts 2 and 4 may give 'truncated' characters with
; 5.9 short areanames in some lists.
;
; 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.
Appendix D. Sample Configuration File 52
Maximus Download File Sort and List Utility (OS/2 and DOS)
; NOTEs: - the Period-letter does not apply to IPF-lists
; - 'nnn' denotes maximum number of files on a VIEW-page.
; 5.9 - ALL-lists can only be limited by period (not number).
;
;
; NOTE: - For ORP-fileList specify '*' as privilege parameter
AllFileList */* Down_AL1 -k -W -c0 -IDownsort.Inc
* AllFileList */2 Down_AL2 2m -a -w -f4 -x
BBSFileList s Down_Bbs 3w -a -w -C6
* DupFileList s Down_Dup
* GblFileList */* Down_Gbl -d -w -c0 -IDownsort.Inc
* IpfFileList s Down_Ipf 200 -a
* Ip2FileList s Down_Ip2 200 -a
NewFileList s/* Down_N1 3w -a -w
* NewFileList s/2 Down_N2 2m -g -w -f2 -x
* EmiFileList s Down_Emi 15d -a -w -IDownsort.inc
* OKFileList s Down_OKE -IDownsort.Mag
OrpFileList * Down_Orp -g
; NOTE: The IPF-list has the format of an INPUT-file for the
; Information Presentation Facility Compiler (IPFC).
; It should be compiled as follows:
; IPFC DOWN_IPF.I~P /INF
; This will produce a file called DOWN_IPF.INF, which is ready
; to be viewed with the command:
; VIEW DOWN_IPF
; See the OS/2 Toolkit documentation for details of IPFC.
; IPFC is not distributed with the DOWNSORT package!
; ======================================================================
; FILFilePath Specifications for the "FILES.BBS"-type of output.
; ----------- - First parameter is privilege selection flag. Specify '*'
; to get all files, even the newly uploaded ones.
; - Second parameter is [optional] specification of
; destination directory of newly generated Files.BBS files.
; Use the format: drive:\directory\
; If destination path is specified, the output filename will
; be "FILES.ac", extension will be the first 3 characters of
; areaname. However when 'long' areanames are present,
; (more than 3 characters), all output-files will be called
; "areaname.BBS".
; If not specified the MAXIMUS path specification will be
; used (ListFile parameter if used in Maximus' AREA.CTL
; 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:
; - TITLE is not applicable to FILES.BBS
; - file-description will be kept on a single line, not
; wrapped or truncated, and up to 2000 characters.
; - Entries can be sorted, but then you will loose your
; comments: -K (Keep Sequence and Comments) is default.
; - -L (LONG) means here: include file size and file date,
; (which should be used only once!).
; - Any Avatar codes will be kept unchanged.
Appendix D. Sample Configuration File 53
Maximus Download File Sort and List Utility (OS/2 and DOS)
FILFilePath s filesbbs\ -k -idownsort.inc
; ------------------------------------------------------------------------
;
; End of sample Downsort.Cfg as provided with the orginal Downsort package.
;
Appendix D. Sample Configuration File 54