home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-12-01 | 77.8 KB | 2,180 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DOWNSORT
- Maximus CBCS DOWNload file SORT and List Utility (OS/2 and DOS)
- Version 4.7
-
-
-
-
- December 1, 1990
-
-
- Rob Hamerling
-
- Vianen, The Netherlands
- Phone: ++31-3473-72136 (voice)
- FIDO-net: 2:512/4.1098
- Tested by the author with MAXIMUS CBCS 1.00 and 1.02
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- PREFACE
-
- DOWNSORT was started a few years ago as a program for my own use when
- I was SYSOP of the Bulletin Board PC-Square, to get overviews of my
- download material for the users. At that time PC-Square was running
- BinkleyTerm and OPUS under DOS.
-
- Now PC-Square runs with OS/2, BinkleyTerm and MAXIMUS CBCS, and I'm
- not the SYSOP anymore, but still strongly involved. As a
- contribution to PC-Square and the large international Bulletin Board
- community of MAXIMUS CBCS boards, I decided to upgrade my DOWNSORT
- program to the current software.
-
- DOWNSORT is now developed in an OS/2 environment. But it is
- distributed as 'family'-application: it runs under OS/2 and DOS.
-
-
- ACKNOWLEDGEMENTS
-
- I would like to thank all users that contributed with constructive
- remarks and encouraging appraisals. Without doubt Emmanuel Sandorfi
- of 2:320/5 holds the record in number of suggestions and amount of
- additionally required programming effort. He also provided the
- additional title-fonts (2 and 3).
-
-
- REGISTRATION AND SHAREWARE FEE
-
- DOWNSORT is a $ 0.00 Shareware Program.
-
- Registration is voluntary: please send me a netmail message with your
- name and (net-)address. That gives me an impression of the usage and
- the impact of changes to DOWNSORT.
-
-
- WARRANTY
-
- None!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Preface ii
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- CONTENTS
-
-
- DOWNSORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- Purpose and Objectives . . . . . . . . . . . . . . . . . . . . . 1
- Functional Description . . . . . . . . . . . . . . . . . . . . . 1
- ▐ File-dates and HPFS . . . . . . . . . . . . . . . . . . . . . 1
- ORPHAN report . . . . . . . . . . . . . . . . . . . . . . . . 2
- BBS-list . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
- NEW-list . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- ALL-list . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- GBL-list . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- FILES.BBS . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- Additional notes about the lists: . . . . . . . . . . . . . . 4
-
- Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- Commandline parameters . . . . . . . . . . . . . . . . . . . . . 6
- Configuration file . . . . . . . . . . . . . . . . . . . . . . 10
- Parameters with global scope . . . . . . . . . . . . . . . . 10
- Parameters with a local scope . . . . . . . . . . . . . . . . 10
- Usability hints . . . . . . . . . . . . . . . . . . . . . . . . 11
- Specification of AREA.DAT . . . . . . . . . . . . . . . . . . 11
- Location of FILES.BBS . . . . . . . . . . . . . . . . . . . . 12
- Privilege control . . . . . . . . . . . . . . . . . . . . . . 12
- Orphan report . . . . . . . . . . . . . . . . . . . . . . . . 12
- Duplicates . . . . . . . . . . . . . . . . . . . . . . . . . 12
- List Headers, Titles, Subtitles and Bottomlines . . . . . . . 13
- Privileges with File Request . . . . . . . . . . . . . . . . 13
- Sample specifications and usage . . . . . . . . . . . . . . . . 13
- DOWNSORT specification sample . . . . . . . . . . . . . . . . 13
- BinkleyTerm specification sample . . . . . . . . . . . . . . 14
- Dependencies and restrictions . . . . . . . . . . . . . . . . . 15
- Wishlist . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
-
- Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
-
- Program Information . . . . . . . . . . . . . . . . . . . . . . 18
- Development Environment . . . . . . . . . . . . . . . . . . . . 18
- Program Organisation . . . . . . . . . . . . . . . . . . . . . 18
- Main Data Organisation . . . . . . . . . . . . . . . . . . . . 20
- Storage and Performance . . . . . . . . . . . . . . . . . . . . 22
-
- Appendix A: History of changes and version legend . . . . . . . 24
-
- Appendix B: Sample Configuration File . . . . . . . . . . . . . 28
-
-
-
-
-
-
-
-
-
-
-
- Contents iii
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- DOWNSORT
-
- DOWNSORT is a utility to make overviews of available download files
- for Bulletin Board Systems running MAXIMUS CBCS. The overviews
- differ in sort sequence, purpose of use and size.
-
- A report is produced for files that could not be listed for any
- reason.
-
-
- PURPOSE AND OBJECTIVES
-
- DOWNSORT is designed for the following purposes:
-
- 1. Produce different overviews of files which are available for
- download by users of the Bulletin Board and by File Requestors.
- QUICK and EASY retrieval is the main goal for the lists.
- Therefore many lists-types and within a type several variations
- should be available: versatility for SYSOP and users.
-
- 2. Report files which are not listed in FILES.BBS, or which privilege
- (individual or its area) prevents it from being reported. This
- might be caused by several circumstances:
- ■ a file belongs to a collection (area) with a higher privilege
- than the selected report privilege (typically the upload area,
- but also restricted collections for selected users).
- ■ a file appears in FILES.BBS after a ^Px-sequence that specifies
- a higher privilege than the selected report privilege (newly
- uploaded files in a combined up- and download directory).
- ■ an typing-error has been made in the filename.ext in FILES.BBS
- or a file has been renamed without updating FILES.BBS.
- ■ a file is not listed in FILES.BBS on purpose by SYSOP, to
- prevent it being downloaded other than by CO-SYSOP.
-
- 3. Must be able to run unattended (typically overnight).
-
- 4. Should not disclose files to users (file-requesters) without
- positive agreement by SYSOP.
-
-
-
- FUNCTIONAL DESCRIPTION
-
- ▐ The program DOWNSORT may create several types of outputfiles.
-
-
- ▐ FILE-DATES AND HPFS
-
- ▐ 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
-
-
- DOWNSORT 1
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- ▐ ■ 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 this Creation date since version 4.7,
- ▐ although 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 (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.
-
-
- ORPHAN REPORT
-
- This is a list of all files in download directories for which there
- is no entry in the corresponding FILES.BBS file. The report contains
- date, area-name and area-path of the orphan. The entries are sorted
- on area and filename. Not reported are MAXIMUS system files like:
- FILES.?BS, *.BAK, DIR.?BS and SYSTEM*.?BS.
-
- Note: If there is an entry for a file in FILES.BBS without a
- description, the file is NOT considered to be an Orphan.
-
-
- BBS-LIST
-
- This is a list of downloadfiles that came recently available
- (DOWNSORT.BBS). The list may be sorted on date (newest first) or on
- filename. It 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
- to [^OFpath] (without the brackets!). 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
- ■ maximum privilege
-
- (never more than available within the privilege limit). If neither
- specified it will contain all available files in all download
- directories.
-
-
- DOWNSORT 2
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- To make it 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).
-
-
- NEW-LIST
-
- Basically the same list as above, but in simple ASCII format and
- without inclusion of header and trailer files.
-
- This list is suitable for file-requestors as brief overview of the
- latest additions, updates or replacements.
-
-
- ALL-LIST
-
- A list of all downloadfiles by area in alphabetical sequence (per
- area) on filename. 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 the area-title, file-count
- and byte-count, and totals.
-
- This list may be limited by the privilege parameter, but is not
- affected by the specification of filecount-limit. The numbers in
- area-header and summary report show only what is available for the
- particular privilege.
-
-
- GBL-LIST
-
- A similar list as ALL-list. But where ALL-list gives the files in
- groups per area, the GBL-list ignores area-boundaries and gives a
- single group, sorted on filename. For each file the area is
- mentioned. 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 is
- especially useful to check on duplicates over area's. The GBL-list
- is not limited by the filecount parameter.
-
-
- FILES.BBS
-
- A new "FILES.BBS" type of file may be (re-)created 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.
-
-
- DOWNSORT 3
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- ■ The entries are sorted on filename for all files with a privilege
- up to and including the area-privilege.
- ■ Files can have a privilege other than the area-privilege when the
- original FILES.BBS file does contain ^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 are not propagated to the new FILES.BBS.
- ■ The file description is kept internally as a single string of
- maximum 240 characters. 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 multiline descriptions in input-FILES.BBS, DOWNSORT
- concatenates the separate description lines with a single
- intermediate space up to a maximum of 240 bytes. This will be the
- output format if the FIL-list is requested.
- ■ Comment-lines in the original FILES.BBS are discarded.
-
- See for naming conventions and placements "Commandline parameters" on
- page 6.
-
-
- ADDITIONAL NOTES ABOUT THE LISTS:
-
- ■ 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).
-
- ■ 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-list 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.
-
- If a filename is found in FILES.BBS, but no accompanying
- description, a "--- no description available ---" will be put in
- place. 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. For a way to
- override this see: "Orphan report" on page 12.
-
- ■ The BBS-list contains MAXIMUS authorisation controls
-
-
- DOWNSORT 4
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- (^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.
- NEW- and ALL-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).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DOWNSORT 5
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- USAGE
-
-
-
- INSTALLATION
-
- With the following directions you should be able to setup and run
- DOWNSORT after 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
- if it cannot find this MAXIMUS file. See "Appendix B: Sample
- Configuration File" on page 28 for a printed sample.
-
- 4. You may give DOWNSORT a first shot by just using its name on the
- commandline, with the 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.
-
-
-
- COMMANDLINE PARAMETERS
-
- This paragraph deals only with the commandline parameters!
-
- NOTE: Parameters from DOWNSORT.CFG (see "Configuration file" on page
- 10) are processed first, commandline parameters may complete and
- (partly) override those in the configuration file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Usage 6
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- DOWNSORT [@filespec]
- [BBS[:p]]
- [NEW[:pp]]
- [ALL[:pp]]
- [GBL[:pp]]
- [FIL[:fpath]]
- [nnn]
- [-T|W]
- [-A|D]
- [-H|Q|V]
-
- @filespec The character '@' followed by a complete file specification
- of the DOWNSORT configuration file. See "Configuration
- file" on page 10 for details. This file will be used to
- specify processing parameters. If the file cannot be read,
- only the commandline parameters are used.
-
- NOTE: The use 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.
-
- BBS Create the BBS-list: DOWNSORT.BBS.
-
- Default: DOWNSORT.BBS will not be created.
-
- NEW Create NEW-list(s): DOWNSORT.N~p, where 'p' is the
- appropriate privilege class (see below).
-
- Default: DOWNSORT.N~p will not be created.
-
- ALL Create ALL-list(s): DOWNSORT.A~p, where 'p' is the
- appropriate privilege class (see below).
-
- nnn-limit does not apply to ALL-list.
-
- Default: DOWNSORT.A~p will not be created.
-
- GBL Create GBL-list(s): DOWNSORT.G~p, where 'p' is the
- appropriate privilege class (see below).
-
- nnn-limit does not apply to GBL-list.
-
- Default: DOWNSORT.G~p will not be created.
-
- FIL Create FILES.BBS type of files for each area.
-
- The specification does not apply to FILES.BBS, a
- privilege-limit cannot be specified and defaults to SYSOP.
- Another privilege limit can be specified however by means of
- the configuration file.
-
- For each individual area the following convention will be
- used for the name and place of the FILES.BBS list (in this
-
-
- Usage 7
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- sequence):
- 1. If the "FIL:" parameter specifies a directory-path, then
- for each area the output file "FILES.ac" is put in the
- specified directory ('ac' is 1 or 2 char area-code).
- Previous files with the same name will be discarded.
- 2. If "ListFile" is specified in AREA.CTL, then that name
- and path will be used.
- 3. Otherwise the file FILES.BBS: will be put in the
- directory with the download files.
-
- For situation 2 and 3 existing files will be renamed to .BAK
- (older .BAK files will be discarded).
-
- Default: FILES.BBS-type of files will not be generated.
-
- fpath Optional directory path specification for FILES.BBS-output.
- See the "FIL:" parameter for usage.
-
- Default: none
-
- nnn Maximum number of files to be reported in the BBS- and
- NEW-list(s). A maximum value of 32767 can be specified, it
- does not apply to ALL-list and GBL-list.
-
- Default: all files up to and including the (specified or
- default) privilege class will be listed for all types of
- lists.
-
- p Single privilege character.
-
- Lists only download files with a privilege of up to and
- including privilege 'p'. The indicator must be the first
- character of an existing MAXIMUS privilege level (T, D, L,
- N, W, P, F, E, C, A, S, H). No error-message is given for
- an invalid privilege character, there will simply be no
- file-list for an invalid character!
-
- For the BBS-list only a single privilege character is
- allowed, the listfile is always called: DOWNSORT.BBS.
-
- Default: S (SYSOP): files of all privilege levels will be
- listed, except HIDDEN files (with real Hidden privilege or
- files for which no entry could be found in FILES.BBS).
-
- pp Multiple privilege characters (minumum 0, maximum 10).
-
- Make for every valid specified privilege level a
- download-list with files of a privilege of up to and
- including privilege 'p'. The indicator must be the first
- character of an existing MAXIMUS privilege level. No
- error-message is given for an invalid privilege character,
- there will simply be no file-list for an invalid character!
-
- Applies to ALL-lists and NEW-lists, these are called
- DOWNSORT.A~p and DOWNSORT.N~p respectively, were 'p'
-
-
- Usage 8
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- represents the applicable privilege character.
-
- Default: S (SYSOP): files of all privilege levels will be
- listed, except HIDDEN files (with real Hidden privilege or
- files for which no entry could be found in FILES.BBS).
-
- -T|W Action to be taken if the file description would cause the
- reportline to exceed 79 characters:
- ■ T - truncate the description
- ■ W - wrap the description and provide as many reportlines
- as needed to show the complete description.
-
- Default: -T for NEW-list and BBS-list, -W for ALL-list and
- GBL-list.
-
- -A|D Sort method for BBS-list and NEW-list.
- ■ A - sort the files alphabetically on filename.
- ■ D - sort the files on reversed date sequence (newest file
- on top of list).
-
- When the -A option is selected, an additional header-line
- will appear in the BBS-list and NEW-list, indicating the
- latest acquisition. This line is not needed when these
- lists are sorted on date, since the the latest acquisition
- will be on top of the list!
-
- Default: -D
-
- -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
-
- Notes:
-
- ■ All commandline parameters are optional, may be specified in any
- sequence and are case independent.
-
- ■ Parameters from the configuration file are processed before those
- from the commandline. This has some side-effects, like:
- - If you specify a specific list in DOWNSORT.CFG, it will be
- created anyhow, whatever you specify on the commandline.
- - However, if you specify privilege values on the commandline,
- only the commandline values will be used, and none from the
- configuration file.
-
-
- Usage 9
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- - Commandline parameters have a global meaning, and are applied
- to all lists (if applicable). For example: if you specify '-A'
- on the commandline, all lists will be sorted alphabetically on
- filename.
-
- ■ Parameters that can be specified with the configuration file only,
- and cannot be overridden with a commandline parameter are:
- - BLOCK title text, font and BLOCK title suppression
- - Subtitle lines
- - Filename and individual list-options
- - Privilege for FILES.BBS output
-
- ■ The Orphan-report is not selectable. However it will be generated
- only if there are any orphans, and then the specified parameter
- apply.
-
-
-
- CONFIGURATION FILE
-
- Almost all processing options may be specified in an optional
- configuration file, which can be specified with a commandline
- parameter. The configuration file is a somewhat more convenient way
- to specify processing parameters, and allows even more customisation.
- It is a good place for the more static parameters of your
- environment, commandline parameters are nice to create quickly
- 'another' list or a different format (for example wrapped or
- truncated descriptions). The parameters are only mentioned here for
- completeness, see "Appendix B: Sample Configuration File" on page 28
- for a documented specification sample of a configuration file.
-
-
- 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'.
- ■ List title with BLOCK-characters.
- ■ Font for the BLOCK title.
- ■ Pre-titles, Sub-titles and Bottom-lines in 'text' format
- ■ Descriptive text of orphans and files without a description in the
- input FILES.BBS files.
- ■ Maximum number of entries in NEW-list and BBS-list.
-
-
-
- PARAMETERS WITH A LOCAL SCOPE
-
- The parameters below are sub-parameters of the xxxFileList keyword.
-
- ■ Up to 10 privileges for NEW-list, GBL-list and ALL-list (each
- resulting in a separate list).
- ■ Alternate output filename (in stead of the default DOWNSORT).
- ■ Directory for the output FILES.BBS-lists
-
-
- Usage 10
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- ■ Maximum number of file entries in NEW-list and BBS-list
- ■ File-entry sort sequence (filename or date).
- ■ Wrapping or Truncation of long file descriptions.
- ■ Title Font selection.
-
- A sample configuration file is provided separately from this
- document. A listing of this file is imbedded as "Appendix B: Sample
- Configuration File" on page 28. 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!
-
- NOTE: The parameters from DOWNSORT.CFG are processed first.
- Commandline parameters may complete and will (partly) override those
- in the configuration file.
-
-
- USABILITY HINTS
-
-
-
- SPECIFICATION OF AREA.DAT
-
- The MAXIMUS file AREA.DAT is absolutely required by DOWNSORT. If you
- run DOWNSORT in directory without AREA.DAT, then you have several
- options:
-
- ■ You might add a COPY statement in your batch-file to copy AREA.DAT
- with every run into your DOWNSORT directory.
- ■ You might use the "@path" parameter to specify the complete
- filespec of AREA.DAT ("drive:\directory\file.ext").
- ■ You may use DOWNSORT.CFG for the filespec of AREA.DAT.
-
- The latter is recommended.
-
- Currently DOWNSORT does not allow to select the contents of the lists
- on area-code. The '@path' allows you to specify a different AREA.DAT
- file than the one that is used by your MAXIMUS. With SILT you may
- build a special AREA.DAT for exclusive use by DOWNSORT, with
- different, less, or more directories!
-
- If DOWNSORT reports a memory constraint (see also "Storage and
- Performance" on page 22), you may use this technique as
- circumvention: leave out one or more of the file area's and rerun
- DOWNSORT with the alternate AREA.DAT specification.
-
-
-
-
-
-
-
-
- Usage 11
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- LOCATION OF FILES.BBS
-
- For input DOWNSORT uses either the ListFile specification in
- AREA.DAT, or the download directory to locate the file with
- file-descriptions (generally known as FILES.BBS).
-
- 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. 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.
-
-
- PRIVILEGE CONTROL
-
- The default file privilege to be shown is SYSOP.
-
- 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.
- All files with a higher privilege than the specified (or defaulted)
- report-privilege will not appear in the report.
-
-
- ORPHAN REPORT
-
- The Orphan report cannot be requested or suppressed. However, a new
- report will be generated only if there are any orphans detected. In
- that case it overwrites a possibly present old DOWNSORT.ORP file.
-
- A way of suppressing Orphan-reporting is to include a "*.*" entry at
- the end of FILES.BBS. This has two effects:
-
- ■ In the sense of DOWNSORT orphans do not exist anymore: there is a
- matching entry in FILES.BBS for every file.
- ■ The description of this entry will replace the hard-code text
- "----no-description-----". You may enter your own text in the
- language you prefer.
-
-
-
- DUPLICATES
-
- No test on duplicates is done, this means:
-
- ■ If a downloadpath is encountered more than once, the files will
- appear that many times in the outputlist (depending on the
- area-privilege!)
- ■ If a filename.ext is encountered more than once in different
- subdirectories, 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).
-
-
-
-
- Usage 12
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- LIST HEADERS, TITLES, SUBTITLES AND BOTTOMLINES
-
- Only the BBS-list provides a facility to imbed user-provided header
- and trailer files. The files are unique for the use of the BBS-list,
- there is no use for it in the other lists.
-
- For NEW-list, ALL-list, and GBL-list no header- or trailer-file is
- imbedded, but a BLOCK-title is generated. A user-title may be
- specified via the configuration file, otherwise a default title is
- generated (DOWNSORTxy, where xy stands for the version). The
- BLOCK-title may be suppressed by specifying TitleFont 0 in the
- configuration file.
- For the same lists for which the BLOCK-title applies a 'Pre-title',
- 'Sub-title' and 'Bottom-title' of each maximum 10 lines may be
- specified via the configuration file. These lines may contain
- anything, including MECCA control sequences if you like. The
- pre-title will be copied immediately before the BLOCK-title, the
- subtitle immediately after it, and the bottom-title as very last
- couple of lines in every list.
-
- For file-requestors a header with indication that the list comes from
- your system is highly recommended! With the pre- and sub-titles you
- may customise the list-header to whatever you like, including empty
- lines for optical purposes.
-
-
- PRIVILEGES WITH FILE REQUEST
-
- If you run a mailer like BinkleyTerm, which makes a distinction
- between 'unknown', 'known' and 'password-protected' users, you could
- 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 "Sample
- specifications and usage".
-
- 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!
-
-
- SAMPLE SPECIFICATIONS AND USAGE
-
- 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).
-
-
- DOWNSORT SPECIFICATION SAMPLE
-
- You should have a specification like this:
-
-
-
-
-
- Usage 13
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- DOWNSORT bbs
-
- new:dnp all:dnp 100
-
- In addition to or in place of the specifications in DOWNSORT.CFG,
- this specification produces the following lists:
-
- ■ Orphan report (only if there are any orphans).
-
- ■ DOWNSORT.BBS with 100 entries for MAXIMUS users of category
- Privil. Users with a lower privilege will actually see a shorter
- list if the file contains Privil entries.
-
- ■ 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 file requests of the magic filename NEWFILES a list of the 100
- most recent additions to your system (with optional titles via
- DOWNSORT.CFG specifications):
- - 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 list is 100 entries long, but the contents will
- generally not be quite the same.
-
- 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!
-
-
- BINKLEYTERM SPECIFICATION SAMPLE
-
- In Binkley.Cfg you should specify for requests of FILES:
-
- Avail Downsort.A~d
- KnownAvail Downsort.A~n
- ProtAvail Downsort.A~p
-
- Furthermore you may need to specify different OKFILEs:
-
-
-
-
- Usage 14
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- OKFile Download.N
- KnownReqList Download.K
- ProtReqList Download.P
-
- And 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!
-
-
- DEPENDENCIES AND RESTRICTIONS
-
- ■ Applies to MAXIMUS CBCS 1.00 and 1.02.
-
- ■ Requires OS/2 or DOS 3.0+.
-
- ■ The input FILES.BBS files are assumed to contain only filename.ext
- (the regular 8.3 format, no support for OS/2 1.2+ HPFS 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. The modified
- privilege might be higher (generally the case) or lower than the
- area-privilege.
-
-
-
-
-
-
-
-
-
- Usage 15
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- 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 (but that differs from SYSOP to SYSOP). And
- some are more easy to implement than others, and that depends mainly
- on the author!
-
- ■ Follow the MAXIMUS development (changing AREA.DAT and other
- structures), and support several versions simultaneously. I'll
- try to make DOWNSORT independent of MAXIMUS-versions. I'm
- thinking of parsing AREA.CTL, in stead of using AREA.DAT, as
- suggested by Scott Dudley himself.
-
- ■ 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.
-
- ■ User-configurable options for:
- - week and month indicators
- - indicator for continuation lines in wrapped descriptions
- - font in AREA-header and Summary in ALL-list, and in FILES.BBS
-
- ■ Add [selectable] MECCA control in FILES.BBS, like in the BBS-list.
-
- ■ Logging to file in stead of console, obtaining a history file of
- DOWNSORT usage.
-
- ■ File-selection with MAXIMUS CBCS key/lock parameters in addition
- or in stead of privilege levels.
-
- ■ Selection of files in reports on area, or group of area's.
-
- ■ Support for use of 'barricaded' areas and key/lock.
-
- ■ Selection of new files on basis of date or period.
-
- ■ Preserve storage by not keeping unneeded data in storage, such as
- information of files that will not appear in any list (high
- privilege files, when creating low-privilege lists). This is
- particularly (if not only) important for DOS-users.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Usage 16
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- PACKAGING
-
- All files of the DOWNSORT package are in a file DWNSRTxy.ZIP.
-
- Included are:
-
- DOWNSORT.EXE Execution module for DOS and OS/2 (family API).
- The difference in size between the OS/2-only and
- family version is relatively so small that I
- decided not to distribute DOWNOS2.EXE anymore.
- 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.C Source of mainline and global variable
- definitions.
- DOWNCOL.C Source of data collection functions.
- DOWNFNT.C Source of font definition and formatting
- function.
- DOWNPAR.C Source of parameter processing functions.
- DOWNRPT.C Source of output report functions.
- DOWNSRV.C Source of miscellaneous services functions.
- DOWNSORT.H Header file, with external definitions of global
- variables.
- AREA_MAX.H Header file with union specification of AREA.DAT
- for different versions of MAXIMUS (as far as the
- layout of AREA>DAT is concerned).
- AREA_100.H Header file with guessed layout of AREA.DAT for
- MAXIMUS CBCS version 1.00.
- AREA_102.H Header file with layout of AREA.DAT of MAXIMUS
- CBCS version 1.02.
- DOWNSORT.LNK LINK response file.
- DOWNSORT.DEF LINK definition file.
- DOWNSORT.MAK MAKE file (without BIND).
- README.1ST The actual contents of the package (produced with
- PKUNZIP /V), added to the ZIP-file after this was
- created with the foregoing files. This gives at
- least some authentication.
-
-
-
-
-
-
-
-
-
-
-
-
- Packaging 17
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- PROGRAM INFORMATION
-
-
-
- DEVELOPMENT ENVIRONMENT
-
- DOWNSORT has been developed with IBM C/2 compiler version 1.1, under
- IBM OS/2 Extended Edition 1.2 with Program Development Toolkit
- version 1.2 as COMPACT memory model.
-
- DOWNSORT has been tested with MAXIMUS CBCS 1.00 and 1.02 (OS/2). It
- is in daily use on Bulletin Board PC-Square: FIDO-net address
- 2:512/4; phone 31-79-424107 (HST-DS).
-
-
- PROGRAM ORGANISATION
-
- The program is organised as follows:
-
- ■ Initialisation:
- - Read configuration file.
- - Process commandline parameters.
-
- The commandline parameters will override configuration file
- parameters.
-
- ■ Read AREA.DAT file to collect download pathnames (assumes AREA.DAT
- is in current directory).
-
- ■ For all download path-specs:
-
- - Read subdirectory (with find-file-first/next function) Take
- only Normal files: ignore directory entries, Hidden and System
- files and volume labels. Also ignore MAXIMUS-files with the
- following specifications: FILES.?BS, *.BAK, DIR.?BS and
- SYSTEM*.?BS
-
- - For all regular file-entries found in subdirectory:
- -- Get filename.ext, attribute, date, time, size (timestamp
- will be 'last-time-written').
- -- 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).
- -- Get file privilege 1) from area, 2) from FILES.BBS file.
-
- ■ Check for orphans. If any orphan found 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,
-
-
- Program Information 18
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- 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 (also in reverse
- date-sequence) 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, 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 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.
-
- 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' previous versions).
- ■ Files for which no description is found in FILES.BBS will get
- "---no description available---" in the user reports.
- ■ Files for which no matching filename in FILES.BBS is found will be
- listed in the Orphan report (DOWNSORT.ORP). Filenames of Orphans
- appear only in the reports when the report request explicitly
- specifies the Hidden privilege.
-
-
-
-
- Program Information 19
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- MAIN DATA ORGANISATION
-
- 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 structures are shown in Figure 1 on page 21.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Program Information 20
-
-
- 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] ║
- ╚══════╝ ╚══════╝ ╚══════╝
- │ │ │ │ wildcard│ │
- │ └──┐ │ └──┐ │ │
- │ │ │ ┌──────────┘ │
- (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 download info
- ╔══════╗
- ║ area ║
- ╚══════╝
-
- Figure 1. Schematic overview of DOWNSORT's in-storage database.
-
- Note: Do not sort the area-array: this will invalidate the pointers
- in the file-information records!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Program Information 21
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- The block character image is basically a 10x7 matrix (10 vertical and
- 7 horizontal 'pixels'). Each pixel is displayed as a solid block.
-
-
- 1 2 3 4 5 6 7
- ╔═╦═╦═╦═╦═╦═╦═╗
- ║-║-║-║-║-║-║-║ line 1 (lower + upper)
- ╠═╬═╬═╬═╬═╬═╬═╣
- ║-║-║-║-║-║-║-║ 2 (lower + upper)
- ╠═╬═╬═╬═╬═╬═╬═╣
- ║-║-║-║-║-║-║-║ 3 (lower + upper)
- ╠═╬═╬═╬═╬═╬═╬═╣
- ║-║-║-║-║-║-║-║ 4 (lower + upper)
- ╠═╬═╬═╬═╬═╬═╬═╣
- ║-║-║-║-║-║-║-║ 5 (lower + upper)
- ╚═╩═╩═╩═╩═╩═╩═╝
-
- Each line is represented by a structure of seven 3-bit fields Each
- 3-bit field represents a basic element:
-
- value char description
- 0 (blank)
- 1 ▄ lower half
- 2 ▀ upper half
- 3 █ lower+upper halves
- 4 ▓ gray pattern
- 5 ▌ left part of upper and lower half
- 6 ▐ right part of upper and lower half
- 7 ▒ gray pattern
- 8 ░ gray pattern for not-supported characters
-
- The pitch is variable ('proportional font': a variable number of
- horizontal pixels). Three 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 (reversed video image of the 8x7 font)
-
- ▐ Not all ASCII characters are represented in the font tables!
-
-
- STORAGE AND PERFORMANCE
-
- As a rough estimate of the memory requirements of DOWNSORT, use sum
- of the following figures:
-
- ■ Program: about 70KB
-
- ■ Each area: 300 Bytes
-
- ■ Each file: 60 Bytes for each file (excl description)
-
- ■ The sum of the description texts (on average 80 Bytes?)
-
-
- Program Information 22
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- There is a theoretical limit on the number of files that can be
- processed by DOWNSORT: about 16000 files. I suppose you'll reach
- other limits first, for example stack-space. DOWNSORT has been built
- with a 'guess' about needed stack space. The author would appreciate
- to receive a report for a better estimate.
-
- Processor performance was an issue for large area's before version
- 4.5 of DOWNSORT in the data-collection process. That has been partly
- rewritten in version 4.5 and significantly improved. Fastest
- execution will be obtained when the input FILES.BBS is sorted on
- filename.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Program Information 23
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- APPENDIX A: HISTORY OF CHANGES AND VERSION LEGEND
-
- The paragraphs below show a brief history of changes in DOWNSORT.
-
- 4.7
- ■ Sorting of files on HPFS volumes (OS/2 1.2) now takes into
- account the file CREATION-date (= arrival date on your
- system). Sort will take the most recent of Creation and
- LastWrite. The 'old fashioned' LastWrite date (indicating
- the age of the file) is displayed in the lists! This
- feature is only effective under OS/2 from release 1.2 for
- files on an HPFS volume.
- ■ Use of DOSOPEN() from OS/2 Program Development Toolkit
- (allows for better multi-session and LAN support).
- ■ New font added: reverse video image of font3, and related
- changes in font generation function.
- ■ Added separation lines in FILES.BBS like in ALL-list.
- ■ Tiny adjustment to date formatting: year 2000 and later will
- be displayed as 2-digit numbers.
-
- 4.6
- ■ Downsort will try to locate and read a configuration file
- allowing even more processing options (by default
- DOWNSORT.CFG in current directory). An extensively
- documented sample is accompanying the DOWNSORT package. No
- additional document-reading needed to run DOWNSORT for the
- first time. The introduction of this feature makes some
- commandline parameters superfluous, and allows more
- flexibility, like:
- - In addition to a number of global parameters, each list
- has a 'local' set of formatting parameters for
- sort-sequence, description wrapping, title-font, maximum
- number of entries (NEW and BBS only). The individual
- parameters can be set only via the configuration file.
- - Specification of AREA.DAT and "title" not possible
- anymore on the commandline, now only by means of the
- configuration file.
- - A "@filespec" commandline option now used for
- specification of the configuration file (makes the use of
- different files for different purposes possible).
- ■ Multiline FILES.BBS input now supported. Automatic
- conversion to long descriptions provided when requesting
- FILES.BBS (re-)creation.
- ■ Multiple GBL-lists can now be generated, like ALL-list.
- Difference between ALL-list and GBL-list is only the
- grouping by in area's, and the area-summary in ALL-list.
- SYSOP may decide which of both serves the users best.
- ■ User supplied pre-title, sub-title and bottomlines now
- supported for NEW, ALL and GBL-lists, as well as replacement
- text for '---no-description---' and '---orphan---' in the
- lists.
- ■ BLOCK-title font user-configurable and BLOCK-title can now
- be suppressed.
- ■ NEW-list and GBL-list have an additional header-line telling
- the maximum file-privilege shown in the list.
-
-
- Appendix A: History of changes and version legend 24
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- ■ FILES.BBS has now column header, and a user-specified
- privilege limit applies also to FILES.BBS (orphans now only
- listed when explicitly requested with 'Hidden').
- ■ The HELP-screen is now only shown on request via a
- commandline parameter (-H).
-
- 4.5
- ■ FILES.BBS-files may be (re-)created now in DOWNSORT-style
- (like the ALL-list format). Read carefully the information
- about this option in the report description!
- ■ An ORPHAN-report is now produced always (not requestable)
- and independent from other reports. It replaces the
- reporting of ORPHANs to the console formerly done during
- creation of the BBS-list.
- ■ The BBS-list is no longer produced by default, it should be
- specifically requested now, like the other user-reports.
- ■ The BBS-list and NEW-list may now be sorted on filename, and
- for that reason also these lists will have an age indicator
- 'week' or 'month' old appended to the file date.
- ■ 'Verbose' and 'Quiet' operating mode are possible now: many
- more or much less console messages with one of these
- specifications, than regularly.
- ■ Performance improvement obtained in data collection process,
- significant especially for large area's.
- ■ Filename matching process changed (one of the reasons of the
- performance improvement): first matching filename is used
- now to assign the file description to a file.
- ■ Title block-font is now proportional, and two fonts are
- added. The fonts are not (yet) user selectable.
- ■ A path to the appropriate AREA.DAT file may be specified now
- (@path).
- ■ The possible specification of "ListFile" in AREA.CTL is
- recognised now (in stead of assuming FILES.BBS in the
- download directory).
- ■ Added display of an "I-am-busy" indicator during the
- collection of file information (processing FILES.BBS input).
- ■ Added display of date and time of report-creation to bottom
- of file lists (except FILES.BBS files), and also the total
- elapsed time on console.
- ■ Fixed bug in detection of newest file, which in rare
- situations pointed to a file outside the privilege group.
- ■ Added HELP-screen when no commandline parameters specified,
- or on request (-H commandline parameter).
- ■ 'Signature' at bottom of lists extended.
- ■ Documentation extended for all the new features, and a
- little re-organised.
- ■ Internal data structure for file-information changed for
- improved storage utilisation.
- ■ Time has come to split source into several modules!
-
- 4.4
- ■ Support for different versions of MAXIMUS (1.00 and 1.02),
- with respect to the layout of AREA.DAT.
- ■ Multi-line file descriptions now supported, with word-wrap
- and an option to select or deselect it in different reports.
-
-
- Appendix A: History of changes and version legend 25
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- ■ Extended AREA-header in ALL-list with area-privilege
- indicator, and latest acquisition (date and file-spec).
- ■ Added indicators '*' and '+' in GBL- and ALL-list for files
- of 1-week and 1-month old respectively.
- ■ Added "--- no description available ---" in lists if
- filename found in FILES.BBS, but there is no description
- there.
- ■ Added "****** ORPHAN *******" in description field of files,
- for which there is no entry in FILES.BBS.
- ■ Files that are reported to the console as "not listed", now
- also display the area, (pseudo-) privilege and file
- description (or "no description" or "ORPHAN" whatever is
- applicable).
- ■ Changed default file-report privilege into SYSOP. Hidden
- files will not show up, unless specifically asked for!
- ■ More characters supported as BLOCK-characters (including '/'
- and '\').
- ■ Fixed a bug in routines for NEW-, BBS- and ALL-list, which
- occasionally gave addressing violations (in the OS/2
- version).
- ■ A related change in the data structure of the
- file-information for the file-description decreases storage
- utilisation, taking advantage of wild-card specifications in
- FILES.BBS as supported by MAXIMUS.
- ■ Fast growing wishlist added to documentation!
-
- 4.3
- ■ GBL-list added: a complete list of the download base (back
- from 4.0 and earlier versions of DOWNSORT, where it was
- called ALL!).
- ■ An AREA-summary report has been added to ALL-list.
- ■ ALL-list now also displays total bytecount per area.
- ■ A default title will be generated if none is specified.
- ■ Routine for generating block routines replaced.
- ■ Block character '/' (slash) replaced by '|' (vertical bar).
-
- 4.2
- ■ DOWNSORT.BBS and DOWNSORT.NEW are not produced any longer by
- default. Each list-type must now be specifically requested
- by BBS, NEW, or ALL on the commandline.
- ■ Multiple ALL-lists and NEW-lists may be produced now. Each
- of these may contain files of different (maximum) privilege
- level. This makes it possible to have overviews for
- different classes of users.
- ■ A report title for the ALL- and NEW-lists may be specified,
- and will be printed in BLOCK-characters.
- ■ A remark has been added to the top of DOWNSORT.BBS that the
- list may seem shorter due to privilege restrictions.
- ■ Longer file-description where there is space for it
- (ALL-list).
- ■ Requirement of filenames in FILES.BBS to be UPPERcase
- dropped.
- ■ Documentation extended and re-formatted.
- ■ Some more re-shuffling of code (for maintenance purposes)!
-
-
-
- Appendix A: History of changes and version legend 26
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- 4.1
- ■ Bug-repairs in filename-matching routine.
- ■ SORT changed for DOWNSORT.ALL: sort on name within area,
- gives an alphabetical list per download area.
- ■ File descriptions now left aligned, regardless its position
- in FILES.BBS.
- ■ Group-title (of file-area) copied from AREA.DAT in ALL.
- ■ Files excluded from the lists are now more generally:
- FILES.?BS, DIR.?BS and SYSTEM*.?BS
- ■ Parameter added to hide files above a maximum
- privilege-level.
- ■ Files without description are treated as Hidden, these will
- appear in the lists when 'H' is selected (note: by
- default!).
- ■ Improved sort organisation (pointers in stead of
- structures).
- ■ Minor changes and additions to lists (beautification?).
- ■ Some minor internal re-organisation.
-
- 4.0
- ■ New setup for MAXIMUS CBCS Bulletin Board environment, this
- version does not support OPUS' file system!
- ■ Support of non-numeric (two-character) area code.
- ■ Support of wild-characters in the file-name part of the
- records in the description-files (FILES.BBS), as allowed by
- MAXIMUS.
- ■ The file DOWNSORT.NEW (not ".TXT") will be produced always
- (error in previous documentation), but now without TXT2COM
- formatting characters, since there is not (yet) a suitable
- alternative under OS/2.
-
- DOWNSORT for MAXIMUS CBCS was developed from an OPUS equivalent (by
- the same author). Its history is not really important here and
- therefore has been omitted. However the name DOWNSORT has been
- maintained, so to prevent confusion, the version number is inherited
- (the last OPUS-verion was 3.1).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Appendix A: History of changes and version legend 27
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- APPENDIX B: SAMPLE CONFIGURATION FILE
-
- %
- % ██▐███ █▐███ ██ ██ ██▐███ ██▐████ █▐███ ██▐███ ██▐████
- % ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ▐██
- % ██ ██ ██ ██ ██ █ ██ ██ ██ ██▐████ ██ ██ ██▐███ ▐██
- % ██ ██ ██ ██ ██ █ ██ ██ ██ ██ ██ ██ ██ █ ▐██
- % ██▐███ █▐███ █▐███ ██ ██ ██▐████ █▐███ ██ ██ ▐██
- % (font 2)
- %
- %
- % ▄▀▀▀▄ ▄▀▀▀▄ █▄ █ █▀▀▀▀ ▀█▀ ▄▀▀▀▄ █ █ █▀▀▀▄ ▄▀▀▀▄ ▀▀█▀▀ ▀█▀ ▄▀▀▀▄ █▄ █
- % █ █ █ █▀█▄█ █▄▄ █ █ ▄▄ █ █ █▄▄▄▀ █▄▄▄█ █ █ █ █ █ ▀▄█
- % ▀▄▄▄▀ ▀▄▄▄▀ █ ▀█ █ ▄█▄ ▀▄▄▄▀ ▀▄▄▄▀ █ ▀▄▄ █ █ █ ▄█▄ ▀▄▄▄▀ █ █
- % (font 1)
- %
- %
- % █▀▀▀▀▀▀ █ █ █▀▀▀▀▀▀
- % █▄▄▄▄▄▄ █▄ █▄ █▄▄▄▄▄▄
- % ██ ██ ██ ██
- % ██ ██ ██▄▄▄▄▄ ██▄▄▄▄▄
- % (font 3)
- %
- % ┌─────────────────────────────────────────────────────────────────────────┐
- % │ Configuration File for DOWNSORT 4.7 by Rob Hamerling │
- % └─────────────────────────────────────────────────────────────────────────┘
- %
- % NOTES: Leading blanks are skipped.
- % Lines with '%', '*' or ';' as first non-blank character are
- % considered as comment, as well as empty lines and lines with
- % a valid keyword, but without any parameter-value.
- %
- % Don't put a comment string after a parameter specification!
- %
-
- % AreaDat: Complete file-specification of your 'AREA.DAT'
- % -------
- % AREA.DAT is made by MAXIMUS' SILT 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-format. For example you may make a special
- % file for running DOWNSORT with a subset (selection)
- % of the normal MAXIMUS file-area's.
- % This might be useful for special usergroups.
- % Another reason may be the memory usage of DOWNSORT
- % under DOS. If you hit the boundary: make a subset.
- % Standard OS/2 / DOS naming applies.
-
- AreaDat g:\c2\downsort\Area102.Dat
-
- % TitleFont: Reference number of the BLOCK-font you want for your Title.
- % ---------
- % Valid numbers: 1 .. Simple font (5x6 pattern)
- % 2 .. Pseudo-Stencil Font (7x10 pattern)
-
-
- Appendix B: Sample Configuration File 28
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- % 3 .. ROBoComputer Font (7x8 pattern)
- % 4 .. Reversed Video RoboComp (7x8 pattern)
- %
- % NOTE: The fonts are based on the US-codepage (437).
- % This will also work properly for 860 (Portugese),
- % 863 (Canadian-French) and 865 (Nordic).
- % If codepage 850 (Multilingual) is active, the pattern
- % will be adapted a little, see if you like it or not.
- % The differences apply mainly to Font2.
- %
- % The heading of this file shows font 2, 1 and 3 respectively.
-
- TitleFont 4
-
- % Title: Short string that will be displayed in BLOCK-characters
- % ----- on top of all FileLists (except BBS-list).
- % You may specify this parameter also on the xxxFileList
- % parameter.
- %
- % The BLOCK fonts are 'proportional', the following number of
- % characters will generally fit on a line:
- %
- % FontTitle 1 .. maximum characters are 13
- % " 2 .. " 10
- % " 3 .. " 10
- %
- % Not more than 20 characters are accepted as input.
- %
- % If Title isn't specified, it will be DOWNSORTxy by default.
- % where "xy" stands for the current of DOWNSORT.
- % Not all characters are supported, and that may vary with
- % the font itself. All fonts support:
- %
- % - UPPER case A..Z
- % - LOWER case a..z , but will be translated to UPPER case
- % - Digits 0..9
- %
- % In addition fonts 1 and 2 support the following characters:
- %
- % _ * - | . [ ] ( ) / \
- %
- % Not-supported characters are displayed as full-size blank.
- % The '~'-character (tilde) may be used as required blank.
- %
- % If you omit Title, than it will default to DOWNSORTxy,
- % (where xy represent the version digits of DOWNSORT).
-
- Title abcdefghijklmnopqrs
-
- % 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 10 PreTitles, more are ignored.
- % Empty PreTitle lines are also ignored and not counted.
-
-
- Appendix B: Sample Configuration File 29
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- % There is no default pretitle.
- % To create empty lines in your header specify a PreTitle
- % with a tilde.
-
- PreTitle ~~~~~~~~<══════════════════════════════════════════>
- PreTitle ~
-
- % SubTitle Lines to be displayed immediately below the BLOCK-title.
- % ---------- Maximum 10 SubTiles are accepted, and exactly the
- % same rules apply as for PreTitle.
- %
-
- SubTitle ~
- SubTitle ~~~~~~~~<══════════════════════════════════════════>
- SubTitle ~Overview of downloadable files on this magnificent Board
- SubTitle ~~~~~~~Node number 1.234/5, modemspeeds: V.32/V.22bis
- SubTitle ~~~~~~~----------------------------------------------
-
- % BottomLine Lines to be displayed after the filelist.
- % ---------- Maximum 10 BottomLines are accepted, and exactly the
- % same rules apply as for PreTitle and Subtitle.
- %
-
- BottomLine ~
- BottomLine ~~~~~<══════ How do you like this list, folks? ══════>
- BottomLine ~
-
- % MaxNewFiles Limit the number of file entries in BBS-list and NEW-list(s).
- % ----------- It specifies the actual number of file entries that may
- % appear in NewFileList and BBSFileList.
- % If you specify more than one privilege (for NewFileList),
- % then each list will contain (max) the MaxNewFiles number
- % of file entries, but the collection of each may differ due
- % to Privilege considerations.
-
- MaxNewFiles 34
-
- % OrphanDesc Description text of Orphan files.
- % NotFoundDesc Description text of files without description in FILES.BBS.
- % ------------ Each description will replace the default text.
- % Up to 45 characters may be specified.
- % There is no translation of the '~' (tilde) character.
-
- OrphanDesc ---- !!!! Orphelin !!!! ----
- NotFoundDesc +++ Ce fichier défie toute description! +++
-
- % ══════════════════════════════════════════════════════════════════════
- % 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.
- % Leave this sequence: first global, then specific parameters!
- % ══════════════════════════════════════════════════════════════════════
-
- % xxxFileList: Create one or more File lists of type 'xxx'.
-
-
- Appendix B: Sample Configuration File 30
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- %
- % ┌──────────── TWIT
- % │┌─────────── DISGRACE ┌ FileName of the list
- % ││┌────────── LIMITED │ (without extension,
- % ┌── ORP │││┌───────── NORMAL │ maximum 8 characters)
- % ┌── BBS ││││┌──────── WHORTY │
- % ┌── NEW │││││┌─────── PRIVIL │
- % ┌── ALL ││││││┌────── FAVORED │ ┌ Additional options for
- % ┌── GBL │││││││┌───── EXTRA │ │ each list individually:
- % │ ││││││││┌──── CLERK │ │
- % │ │││││││││┌─── ASSTSYSOP │ │ -W - Wrap Description
- % │ ││││││││││┌── SYSOP │ │ -T - Truncate Descr.
- % │ │││││││││││┌─ HIDDEN │ │ -A - Alpha sort on name
- % │ ││││││││││││ │ │ -D - Date sort
- % │ ││││││││││││ ┌──────────┘ │ nnn - NEW-entries limit
- % │ ││││││││││││ │ │ -Fn - Title font (0..3)
- % ││││││││││││
- % ═══─═══════ ════════ ════════════════════════════════
- % xxxFileList TDLNWPFECASH 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.
- %
- % For NEW-list, GBL-list and ALL-list up to 10 privilege letters can
- % be specified and for each character a separate list-file will be
- % generated with the extension ".N~p" (for NEW), ".A~p" (for ALL),
- % and ".G~p" (for GBL), where 'p' is the privilege character.
- % For the BBS-list only 1 privilege character will be accepted.
- % The default filename (DOWNSORT) for each list can be overridden
- % with the [optional] third parameter on the xxxFileList line.
- % If you do not specify any xxxFileList, only the Orphan report may be
- % generated.
- %
- % Additionally some other parameters can be specified (in any sequence).
- %
- % nnn Limit the number of file-entries to maximal 'nnn'
- % applies only to BBS-list and NEW-list.
- %
- % -A Selects Alphabetic sort on filename (for ALL-list within area)
- % -D Selects sort on Date/Time of the file ( " " " " " )
- %
- % -T Causes Truncation of long descriptions (to about 50 characters)
- % so that only 1 line will appear per file-entry.
- % -W Causes Wrapping of long descriptions: the report will contain
- % as many lines as needed for the complete description.
- %
- % -Fn ListTitle font. Choose for 'n': 1, 2 or 3 (default is 2).
- % See the example fonts in the top of this file.
- % If '0' (zero) specified, then no BLOCK title will be generated.
- %
- % If an asterisk (*) is used as parameter value character, the hardcoded
- % default value will be used. If you specify mutually exclusive
- % options (-A or -D) or (-T or -W), then the last value on the line
- % will be effective.
- %
-
-
- Appendix B: Sample Configuration File 31
-
-
- Maximus Download File Sort and List Utility (OS/2 and DOS)
-
-
-
- % NOTE: for ORPFileList the privilege parameter does not apply, but at
- % least 1 character must be specified!
-
- AllFileList PCASH Down_All -d -T -f1
- BBSFileList C Down_Bbs 23 -a -F1
- GblFileList *h Down_Gbl -d -F3
- NewFileList h Down_New -d -w -f2
- OrpFileList * Down_Orp -a -f0
-
- % FilFilePath Maximum privilege that any FILES.bbs may contain, and the
- % ----------- path specification of the FILES.bbs type of output.
- % Specify this in the format: drive:\directory\
- % If not specified the MAXIMUS path specification will be
- % used (ListFile parameter or Download-File directory).
-
- ; FilFilePath * i:\
-
- %
- % ═════════════════════════════════════════════════════════════════
- %
- % Commandline parameters may supply additional options, and may
- % (partly) override the specifications in this configuration file.
- % Consider this file as your customised default setting for DOWNSORT,
- % and use commandline parameters only to make other lists on the fly.
- % There is nothing that you can specify with commandline parameters,
- % that you cannot specify in this configuration file!
- %
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Appendix B: Sample Configuration File 32
-
-