home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / dwnsrt61.zip / DOWNSORT.DOC < prev    next >
Text File  |  1995-08-25  |  151KB  |  3,756 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                                                            
  17.  
  18.                                                                    DOWNSORT
  19.                                                                            
  20.                            Maximus CBCS DOWNload file SORT and List Utility
  21.                                                                            
  22.                                                  Version 6.1 (OS/2 and DOS)
  23.                                                                            
  24.  
  25.  
  26.  
  27.                                                             August 25, 1995
  28.  
  29.  
  30.                                                               Rob Hamerling
  31.  
  32.                                                     Vianen, The Netherlands
  33.                               Phone: 31-3473-72136 (08:00-17:45 LOCAL time)
  34.                                          FIDO-net: <digiThalys> (2:281/732)
  35.                                               also FIDO-net: 2:280/804.1098
  36.  
  37.                  Maximus Download File Sort and List Utility (OS/2 and DOS)
  38.  
  39.  
  40.  
  41.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  42.     
  43.     
  44.     
  45.     CONTENTS
  46.  
  47.  
  48.       1.0 About Downsort  . . . . . . . . . . . . . . . . . . . . . . . . 1
  49.       1.1 Quick start   . . . . . . . . . . . . . . . . . . . . . . . . . 1
  50.       1.2 Registration and Shareware Fee  . . . . . . . . . . . . . . . . 2
  51.       1.3 Warranty  . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  52.       1.4 Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 2
  53.  
  54.       2.0 Overview  . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  55.       2.1 Purpose and Objectives  . . . . . . . . . . . . . . . . . . . . 3
  56.  
  57.       3.0 User's Guide  . . . . . . . . . . . . . . . . . . . . . . . . . 5
  58.       3.1 Initial setup   . . . . . . . . . . . . . . . . . . . . . . . . 5
  59.       3.2 Data Collection   . . . . . . . . . . . . . . . . . . . . . . . 6
  60.       3.3 List Type Selection   . . . . . . . . . . . . . . . . . . . . . 7
  61.       3.4 Data Selection   . . . . . . . . . . . . . . . . . . . . . . . 13
  62.       3.5 List Customisation   . . . . . . . . . . . . . . . . . . . . . 15
  63.       3.6 Miscellaneous report information   . . . . . . . . . . . . . . 18
  64.  
  65.       4.0 Parameter Specifications   . . . . . . . . . . . . . . . . . . 21
  66.       4.1 Commandline parameters   . . . . . . . . . . . . . . . . . . . 21
  67.       4.2 Configuration file Parameters  . . . . . . . . . . . . . . . . 21
  68.       4.3 Compiling the IPF lists  . . . . . . . . . . . . . . . . . . . 23
  69.  
  70.       5.0 Sample of Getting organised  . . . . . . . . . . . . . . . . . 24
  71.       5.1 Downsort   . . . . . . . . . . . . . . . . . . . . . . . . . . 24
  72.       5.2 BinkleyTerm  . . . . . . . . . . . . . . . . . . . . . . . . . 25
  73.  
  74.       6.0 Packaging  . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  75.       6.1 Availability   . . . . . . . . . . . . . . . . . . . . . . . . 26
  76.       6.2 RUN-time material  . . . . . . . . . . . . . . . . . . . . . . 26
  77.       6.3 Source material  . . . . . . . . . . . . . . . . . . . . . . . 27
  78.       6.4 Installation   . . . . . . . . . . . . . . . . . . . . . . . . 28
  79.       6.5 Dependencies and restrictions  . . . . . . . . . . . . . . . . 28
  80.       6.6 Storage and Performance  . . . . . . . . . . . . . . . . . . . 29
  81.       6.7 Problems   . . . . . . . . . . . . . . . . . . . . . . . . . . 29
  82.       6.8 Wishlist   . . . . . . . . . . . . . . . . . . . . . . . . . . 29
  83.  
  84.       7.0 Internals  . . . . . . . . . . . . . . . . . . . . . . . . . . 31
  85.       7.1 Development Environment  . . . . . . . . . . . . . . . . . . . 31
  86.       7.2 Program Organisation   . . . . . . . . . . . . . . . . . . . . 31
  87.       7.3 Main Data Organisation   . . . . . . . . . . . . . . . . . . . 33
  88.  
  89.       Appendix A.  History of changes  . . . . . . . . . . . . . . . . . 36
  90.       8.1 Version 6.1  . . . . . . . . . . . . . . . . . . . . . . . . . 36
  91.       8.2 Version 6.0  . . . . . . . . . . . . . . . . . . . . . . . . . 37
  92.       8.3 Version 5.9  . . . . . . . . . . . . . . . . . . . . . . . . . 39
  93.       8.4 Version 5.8  . . . . . . . . . . . . . . . . . . . . . . . . . 40
  94.       8.5 Version 5.7  . . . . . . . . . . . . . . . . . . . . . . . . . 41
  95.       8.6 Version 5.6  . . . . . . . . . . . . . . . . . . . . . . . . . 41
  96.       8.7 Version 5.5  . . . . . . . . . . . . . . . . . . . . . . . . . 42
  97.  
  98.       Appendix B.  World-wide use of Downsort  . . . . . . . . . . . . . 43
  99.  
  100.  
  101.     
  102.                                                                Contents  ii
  103.  
  104.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  105.     
  106.     
  107.     
  108.       Appendix C.  Sample Lists  . . . . . . . . . . . . . . . . . . . . 46
  109.       10.1 ALL-list  . . . . . . . . . . . . . . . . . . . . . . . . . . 46
  110.       10.2 GBL-list  . . . . . . . . . . . . . . . . . . . . . . . . . . 46
  111.       10.3 NEW-list  . . . . . . . . . . . . . . . . . . . . . . . . . . 46
  112.       10.4 EMI-list  . . . . . . . . . . . . . . . . . . . . . . . . . . 47
  113.       10.5 FILES.BBS   . . . . . . . . . . . . . . . . . . . . . . . . . 47
  114.       10.6 OKfile  . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
  115.       10.7 ORPhan list   . . . . . . . . . . . . . . . . . . . . . . . . 48
  116.  
  117.       Appendix D.  Sample Configuration File   . . . . . . . . . . . . . 49
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.     
  165.                                                               Contents  iii
  166.  
  167.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  168.     
  169.     
  170.     
  171.     1.0 ABOUT DOWNSORT
  172.  
  173.     Downsort was originated in 1987 as a program for personal use.  I
  174.     founded the Bulletin Board PC-Square and as SYSOP I wanted a daily
  175.     overview of my download material for the users in the form a Bulletin.
  176.     The program name is related to the SORTing of the collection of
  177.     DOWNloadable files, in DOWNward time-stamp sequence and an online
  178.     Bulletin was the only list that was produced at that time.  PC-Square
  179.     was running BinkleyTerm and OPUS under DOS, and file-requesting was not
  180.     so popular then.
  181.  
  182.     Now PC-Square runs with OS/2, BinkleyTerm and MAXIMUS CBCS.  I'm not
  183.     SYSOP anymore but still strongly involved.  As a contribution to
  184.     PC-Square and the large community of international SYSOPs running
  185.     Bulletin Boards with MAXIMUS CBCS, and in the highly appreciated spirit
  186.     of BinkleyTerm, I decided to upgrade my Downsort program to the current
  187.     software.  During the past years a lot of improvements and extensions
  188.     have been made: many user-configurable options for many more output
  189.     formats then the original Downsort.
  190.  
  191.     The only dependency of Downsort on MAXIMUS CBCS is a parameter-file
  192.     AREA.DAT, which is usually created with a MAXIMUS utility (SILT[P]),
  193.     which itself can be used without actually running MAXIMUS!  This is the
  194.     way I work for testing of Downsort.
  195.  
  196.     "Appendix A.  History of changes" on page 36 gives an impression of
  197.     recent history.
  198.  
  199.     Downsort is now developed in an OS/2 environment, but it is distributed
  200.     as 'family'-application: it runs under OS/2 and DOS.  Recently a
  201.     32-bits version for OS/2 2.0 has been added for OS/2 2.0 and up.
  202.  
  203.     Downsort is in its 7-th year of development and has entered a period
  204.     where life becomes more and more complicated.  While adding new
  205.     features, I have tried to maintain compatibility.  This is a main cause
  206.     of complications.  Maybe in one of the newer versions I have to leave
  207.     this compatibility in favour of maintainability and user-friendliness.
  208.     In anticipation of this, please do not use undocumented features, or
  209.     styles of usage that are not described in this document.
  210.  
  211.  
  212.     1.1 QUICK START
  213.  
  214.     I appreciate that you are eager to use Downsort.  You don't have to
  215.     make a comprehensive study of this document.  But please read the
  216.     comments in Downsort.Cfg before making the changes you consider
  217.     appropriate.
  218.  
  219.     And before reporting supposed bugs or missing features, please first
  220.     read this document carefully!
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.     
  228.                                                           About Downsort  1
  229.  
  230.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  231.     
  232.     
  233.     
  234.     1.2 REGISTRATION AND SHAREWARE FEE
  235.  
  236.     Downsort is a $ 0.00 Shareware (Freeware) Program.  This means (to me)
  237.     that you respect the commonly known rules for shareware, but you don't
  238.     have to pay me anything.
  239.  
  240.     Registration is voluntary: please send me a netmail message with your
  241.     name and (net-)address if you are a regular user of Downsort as SYSOP.
  242.     That gives me an impression of the usage and the impact of changes to
  243.     Downsort.
  244.  
  245.     If you tell me that you are running Downsort on your Bulletin Board as
  246.     service to your users, and you appreciate to be mentioned, I'll add
  247.     your name to the reference list in "Appendix B.  World-wide use of
  248.     Downsort" on page 43.
  249.  
  250.  
  251.     1.3 WARRANTY
  252.  
  253.     For this price?  You must be kidding!  But I'll listen to your
  254.     complaints and suggestions, and if time permits, I'll work on the
  255.     improvements you suggested.
  256.  
  257.  
  258.     1.4 ACKNOWLEDGEMENTS
  259.  
  260.     I would like to thank all users that contributed with constructive
  261.     remarks and encouraging appraisals.  Without doubt Emmanuel Sandorfi,
  262.     former SYSOP of 2:320/5, holds the record in number of suggestions and
  263.     amount of additionally required programming effort.  He also provided
  264.     some additional title-fonts (2 and 3).
  265.  
  266.     I also would like to thank the regular users (SYSOP's of Bulletin
  267.     Boards) who made Downsort much more popular than I ever dreamed of!  A
  268.     collection of geographically dispersed Boards can be found in "Appendix
  269.     B.  World-wide use of Downsort" on page 43.
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.     
  291.                                                           About Downsort  2
  292.  
  293.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  294.     
  295.     
  296.     
  297.     2.0 OVERVIEW
  298.  
  299.     Downsort is a program to make lists of available download files for
  300.     Bulletin Board Systems, especially MAXIMUS CBCS.  The different types
  301.     of lists are each for a specific audience (online bulletin board user,
  302.     file-requestor, SYSOP) and purpose (all files, recent acquisitions).
  303.     Within each type there are many ways to customize the contents
  304.     (selection on user-privilege or user-interest), and format
  305.     (sort-sequence of files, titles, logo, etc).
  306.  
  307.     Downsort can produce the following report-types (1)for you:
  308.     (all these can be produced in one run).
  309.  
  310.     ■  user-lists
  311.        ∙  BBS-list, a colorful overview for online users of MAXIMUS CBCS
  312.        ∙  NEW-list of the most recent files (as a response to a
  313.           file-request of 'NEWFILES')
  314.        ∙  ALL-list for a complete overview in a file-group per area (as a
  315.           response to a file-request of 'FILES' of 'ALLFILES')
  316.        ∙  IPF-list similar contents as ALL-list, but in a different
  317.           presentation format (VIEW-able under OS/2)
  318.        ∙  GBL-list for a complete overview over the area-boundaries, as an
  319.           alternative for ALL-list if you don't want to bother
  320.           file-requestors with your area-structure
  321.  
  322.     ■  SYSOP lists:
  323.        ∙  ORPHAN-report as a help with management of the contents of your
  324.           areas and directories, and to correct possible upload problems or
  325.           inconsistencies
  326.        ∙  DUP-list for a list of duplicate filenames as a help to control
  327.           your disk-space and with version management.
  328.        ∙  OKFile for (Binkley) File-requests.
  329.        ∙  EMI-list for a list of new file arrivals to be included in an
  330.           announcement message.
  331.        ∙  Updated FILES.BBS files
  332.  
  333.     The lists can be generated for different privilege levels, and be
  334.     customized to a very high extend to present your system as you like it
  335.     to be seen by your users (headers, log, etc).  At the same time Maximus
  336.     (and OPUS) conventions are reflected in the way the file information is
  337.     presented.
  338.  
  339.     A sample of most of these lists can be found in "Appendix C.  Sample
  340.     Lists" on page 46.
  341.  
  342.     In short: Downsort is a very versatile tool to manage your database of
  343.     files, both in an OS/2 and DOS environment.
  344.  
  345.  
  346.     2.1 PURPOSE AND OBJECTIVES
  347.  
  348.     
  349.     ────────────────────
  350.     (1)     For the target audience the distiction between 'user' and
  351.             'sysop' is strictly the author's view!
  352.  
  353.     
  354.                                                                 Overview  3
  355.  
  356.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  357.     
  358.     
  359.     
  360.     Downsort is designed for the following purposes:
  361.  
  362.     1. Produce different overviews of files which are available for
  363.        download by online users of the Bulletin Board and by
  364.        File-requestors.  QUICK and EASY file retrieval is the main goal for
  365.        the lists.  Therefore many lists-types and within a type several
  366.        variations should be available for SYSOP and users.
  367.  
  368.     2. Should not disclose files to users (file-requesters) without
  369.        positive agreement by SYSOP.
  370.  
  371.     3. Detect discrepancies between the contents of FILES.BBS and the
  372.        corresponding download directory, such as:
  373.        ■  The directory contains so called orphan-files, which have no
  374.           descriptive entry in FILES.BBS.
  375.        ■  FILES.BBS contains entries of which the file in not in the
  376.           directory (is 'offline').  This may be on purpose!
  377.  
  378.     4. Must be able to be run unattended (typically overnight).  The
  379.        file-access privilege system of a Bulletin Board System like Maximus
  380.        CBCS should be respected by the reports.
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.     
  417.                                                                 Overview  4
  418.  
  419.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  420.     
  421.     
  422.     
  423.     3.0 USER'S GUIDE
  424.  
  425.     This chapter explains the possibilities of Downsort.  Parameter
  426.     specifications will be covered in "4.0 Parameter Specifications" on
  427.     page 21.
  428.  
  429.  
  430.     3.1 INITIAL SETUP
  431.  
  432.     When you are going to use Downsort for the first time, you have to make
  433.     a number of decisions.  Below you'll find a kind of check-list, which
  434.     is setup to help you with a logical sequence of tasks to make the use
  435.     of Downsort succesful.  It does NOT give detailed specifications, these
  436.     can be found in "4.0 Parameter Specifications" on page 21.
  437.  
  438.     The specifications will be put into a configuration file Downsort.CFG,
  439.     which may contain information about:
  440.  
  441.     1. Data Collection
  442.  
  443.        File information will be collected from:
  444.        ■  Privilege, locks and download path-information from AREA.DAT
  445.        ■  File information from download directories
  446.        ■  FILES.BBS files for file descriptions
  447.  
  448.     2. List Type Selection
  449.  
  450.        Downsort can produce the following report types for you (all in one
  451.        run).
  452.        ■  BBS-list for online users of MAXIMUS CBCS
  453.        ■  NEW-list(s) for a list of the most recent files
  454.        ■  ALL-list(s) for a complete overview in a file-group per area
  455.        ■  GBL-list(s) for a complete overview over area-boundaries
  456.        ■  IPF-list(s) same as ALL-list, but in a different presentation
  457.           format (VIEW-able under OS/2, there is a special IP2-list for
  458.           OS/2 2.1+).
  459.        ■  DUP-list(s) for a list of possibly duplicate filenames
  460.        ■  ORPHAN-report for SYSOP use only
  461.        ■  OKFile(s) for (Binkley) File-requests
  462.        ■  EMIFile(s) for a list of file arrivals over the last period
  463.        ■  Updated FILES.BBS files
  464.  
  465.     3. File selection
  466.  
  467.        Reporting of file-information can be limited by:
  468.        ■  Privilege: only those files up to a certain privilege level will
  469.           be listed
  470.        ■  Maximus' area key/locks
  471.        ■  Area group with a set of areaINcludes and/or areaEXcludes for
  472.           selection for special interest groups
  473.        ■  Explicit exclusion by specification of filespecs (wildcards)
  474.        ■  Number of files or period (days, weeks or months) to be reported
  475.  
  476.     4. List Customisation
  477.  
  478.  
  479.     
  480.                                                             User's Guide  5
  481.  
  482.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  483.     
  484.     
  485.     
  486.        The layout of the lists can be jazzed-up with:
  487.        ■  BLOCK-title and its font
  488.        ■  TopTitle, SubTitle, BottomTitle, Include (logo-) file
  489.        ■  Sorting sequence of areas (unsorted, name, include, group)
  490.        ■  Sorting sequence of files (unsorted, date, filename)
  491.        ■  Truncation, wrapping and indenting of file descriptions
  492.        ■  Area- or file-privilege and lock information
  493.        ■  Message and Warning texts
  494.        ■  Handling of Avatar codes in comment lines (strip or mimic).
  495.  
  496.        All in the language which suites your audience best.
  497.  
  498.     The sample Downsort.CFG file (see "Appendix D.  Sample Configuration
  499.     File" on page 49) contains defaults and a brief information to help you
  500.     with the parameter specifications.
  501.  
  502.     Below you can find some more explanation.
  503.  
  504.  
  505.     3.2 DATA COLLECTION
  506.  
  507.  
  508.  
  509.     3.2.1 AREA.DAT
  510.  
  511.     A MAXIMUS file 'AREA.DAT' is absolutely required by Downsort.  It is
  512.     however not necessary to run MAXIMUS yourself, the AREA.DAT file is
  513.     created with SILT(P) from the MAXIMUS package.  You can use this
  514.     utility without the other MAXIMUS stuff.  In fact I do that myself (NOT
  515.     running a MAXIMUS board)!  If you run Downsort in a directory without
  516.     AREA.DAT, then you should use specify the filespec for AREA.DAT.  It
  517.     allows also to specify a different AREA.DAT file than the one that is
  518.     used by your MAXIMUS.
  519.  
  520.     With SILT(P) you may build a special AREA.DAT for exclusive use by
  521.     Downsort, with different, less, or even more directories!  Probably
  522.     much more convenient is the use of AreaGroups with AreaINclude and/or
  523.     AreaEXclude in Downsort.CFG to limit the contents of the lists to a
  524.     group of areas, that you want to report together, while you use the
  525.     regular AREA.DAT.
  526.  
  527.     Remember: The combination of area privilege and Maximus' userkeys in
  528.     AREA.DAT in combination with the specification of report-privilege and
  529.     Maximus' userkeys in Downsort.CFG may restrict the contents of lists.
  530.     AreaGroups are subordinate to this and will work only for the
  531.     collection of areas within these privilege limits.
  532.  
  533.     In addition files may explicitly excluded during the data collection
  534.     process by specification of a number of filespecifications (wildcards
  535.     allowed).
  536.  
  537.     If Downsort reports a memory constraint (see also "6.6 Storage and
  538.     Performance" on page 29), you may use these techniques as
  539.     circumvention: exclude one or more of the file areas and rerun
  540.     Downsort.
  541.  
  542.     
  543.                                                             User's Guide  6
  544.  
  545.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  546.     
  547.     
  548.     
  549.     3.2.2 FILES.BBS
  550.  
  551.     Downsort uses the information in AREA.DAT to locate the description
  552.     files, usually called FILES.BBS.  So either the ListFile specification
  553.     in AREA.DAT, or the download directory to locate them (Maximus
  554.     default).
  555.  
  556.  
  557.     3.3 LIST TYPE SELECTION
  558.  
  559.     Downsort can produce several types of output reports, indicated by type
  560.     of list.  The following list types are available (all list types may be
  561.     generated in multiple variants within one run of Downsort, i.c. with a
  562.     single directory scan!).
  563.  
  564.  
  565.     3.3.1 ALL-LIST
  566.  
  567.     A list of all downloadfiles by area.  Files of the same area are listed
  568.     in groups, separated by imbedded headers with area-name, -description,
  569.     and -privilege.  Actual status information is provided in the
  570.     area-header as well: area-filecount and -bytecount, and latest
  571.     acquisition (date and file-name).
  572.  
  573.     At the end a SUMMARY report shows per area: area-title, file-count,
  574.     byte-count, and totals.
  575.  
  576.     The list is limited only by the privilege parameter.  The numbers in
  577.     area-header and summary report show only what is available for the
  578.   | particular privilege.
  579.  
  580.   | Is is possible to make a separate summary report.  A REXX-procedure is
  581.   | provided to split the summary report from the ALLFileList output after
  582.   | Downsort has created one.
  583.  
  584.  
  585.     3.3.2 GBL-LIST
  586.  
  587.     Similar to ALL-list, but where ALL-list gives the files in groups per
  588.     area, the GBL-list ignores area-boundaries and gives a single group.
  589.     It contains an extra column with the area-code for each file, there is
  590.     no area-summary.
  591.  
  592.     SYSOP may choose which of both is suitable to make available to users,
  593.     and which to use for himself (or even both).
  594.  
  595.     The GBL-list can be used in stead of the ALL-list if your users prefer
  596.     searching in the list without having to bother about area-organisation.
  597.     Although one of the original purposes of the GBL-list was checking for
  598.     duplicate files, there is now also a special report for this particular
  599.     purpose (see "3.3.8 DUP-list" on page 9).
  600.  
  601.  
  602.  
  603.  
  604.  
  605.     
  606.                                                             User's Guide  7
  607.  
  608.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  609.     
  610.     
  611.     
  612.     3.3.3 IPF- AND IP2-LIST
  613.  
  614.     Same contents as ALL-list but in a different format.  Only useful for
  615.     users that run OS/2 (OS/2 version 1.2+ under Presentation Manager).
  616.     This file has the format of an input-file for the Information
  617.     Presentation Facility Compiler (IPFC).
  618.  
  619.     There is a separate form of this list (called IP2-list) for OS/2 2.0.
  620.     It produces information that can be compiled only with the accompanying
  621.     IPF Compiler of the OS/2 2.0 Toolkit.  The result however can be VIEWed
  622.   | under OS/2 1.3!
  623.  
  624.   | Note: The IPF-list will probably discontinued with version 6.2 (but the
  625.   | IP2-list will stay!).
  626.  
  627.  
  628.     3.3.4 BBS-LIST
  629.  
  630.     This is a list of downloadfiles that became recently available on your
  631.     system.  File selection is on date, but for presentation the list may
  632.     be sorted on date, newest first or on filename.
  633.  
  634.     The list contains compiled MECCA control sequences, for direct use in
  635.     MAXIMUS bulletins: a user-privilege sensitive list!  It might be a good
  636.     idea to put a translated [onexit] string, which translates into:
  637.     ^OFpath.  When a user exits from the BBS-list bulletin, it will fall
  638.     back to the exit-bulletin.
  639.  
  640.     The length of the file (number of file-entries) may be limited by
  641.     parameters:
  642.  
  643.     ■  file-count
  644.     ■  file age in days, weeks or months (30 days)
  645.     ■  maximum privilege
  646.  
  647.     (never more than available within the privilege limit).  If neither
  648.     specified it will contain all available files in all download
  649.     directories.
  650.  
  651.     To make it easy for you to build a complete MAXIMUS bulletin-file a
  652.     user-provided header is included preceding the list and a trailer at
  653.     the end of the list.  Header and trailer can be built by SYSOP, and may
  654.     contain any information and bulletin-control sequences (a sample is
  655.     provided).
  656.  
  657.  
  658.     3.3.5 NEW-LIST
  659.  
  660.     Basically the same list as the BBS-list, but in simple ASCII format.
  661.     This list is suitable for regular file-requestors as brief overview of
  662.     the latest additions, updates or replacements.
  663.  
  664.  
  665.  
  666.  
  667.  
  668.     
  669.                                                             User's Guide  8
  670.  
  671.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  672.     
  673.     
  674.     
  675.     3.3.6 EMI-LIST
  676.  
  677.     Basically the same as NEW-list, but more compact:
  678.  
  679.     ■  contains file also file-time and exact filesize in bytes.
  680.     ■  Description wrapping (if used) is overlapping the file-details
  681.        except filename (may be justified with indentation).
  682.  
  683.     The EMI-list is especially suitable to generate file-arrival messages
  684.   | (the output should be included by another program).
  685.  
  686.   | Note: The EMI-list will probably discontinued with version 6.2.
  687.  
  688.  
  689.     3.3.7 ORPHAN-LIST
  690.  
  691.     This is a list of all files in download directories for which there is
  692.     no entry in any FILES.BBS file of all areas which have this directory
  693.     specified as download path.  The report contains date, area-name and
  694.     area-path of the orphan.  The entries are sorted on area and filename.
  695.  
  696.     Not reported are the files that match all FileEXclude specifications.
  697.     Normally you would exclude FILES.*, *.BAK, DIR.?BS and SYSTEM*.?BS.
  698.  
  699.     If you have more than 1 area pointing to the same download directory,
  700.     but with different FILES.BBS files, the orphans are reported for the
  701.     first of these areas only.
  702.  
  703.     Note: If there is an entry for a file in FILES.BBS without a
  704.     description, the file is NOT considered to be an Orphan!
  705.  
  706.  
  707.     3.3.8 DUP-LIST
  708.  
  709.     Simple report of possibly duplicate files over the areas.  The format
  710.     is basically the same as the GBL-list, but only files with the same
  711.     filename are reported.  'Offline' files are included in the check,
  712.     orphans are not!
  713.  
  714.     With the 'DupNameSize' keyword in Downsort.Cfg you may indicate how
  715.     many characters have to be considered in the compare of the filename.
  716.     The default is the whole filename (8 characters), extension and path
  717.     are always excluded from the compare.  If you specify a smaller number,
  718.     then you may catch version-numbers, which are generally put at the end
  719.     of the name.  For example: if you specify MaxDupName 6, then
  720.     DWNSRT59.ZIP and DWNSRT60.ZIP are reported as duplicate, while this
  721.     would not be the case if the default of 8 was used for the filename
  722.     compare.
  723.  
  724.     Please note that the DUP-list may not always contain what you expect.
  725.     It can be more or less, for example:
  726.  
  727.     ■  Downsort looks primarily at filenames only (extension is of second
  728.        importance, path is completely ignored).
  729.     ■  You may have explicitly excluded areas from the search.
  730.  
  731.     
  732.                                                             User's Guide  9
  733.  
  734.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  735.     
  736.     
  737.     
  738.     ■  You may have excluded areas by privilege: Downsort completely
  739.        ignores areas with a higher privilege than any report asked for.
  740.     ■  You have duplicates in 'orphan'-state.
  741.  
  742.     These circumstances may give 'false' signals or hide duplicates!
  743.  
  744.     All duplicate files within the privilige-range will be reported, even
  745.     when a counterpart has a higher privilege or are orphan (and thus will
  746.     not be reported in the DUP-list)!  You may need a file-finder-utility
  747.     to search for the 'partner'-file in one of the directories with a
  748.     higher privilege.
  749.  
  750.     There are only a few other parameters applicable to this list.  The
  751.     output is sorted on filename, unless you specify a different sorting
  752.     regime (date or area, and within area on filename of FILES.BBS
  753.     sequence).  All user-titles are left out.
  754.  
  755.     Suppression of reporting files with equal filenames and different
  756.     extensions is possible with the "NonDupEXT" keyword in Downsort.Cfg.
  757.     You specify pairs of extensions.  Two files with equal filename and one
  758.     of each having an extension specified as 'pair' will not be reported as
  759.     duplicate.  For example, if you specify:
  760.  
  761.        NonDupEXT  SDN  SDA
  762.  
  763.     then file pairs xyz.SDN and xyz.SDA will not be reported in the
  764.     DUP-list.
  765.  
  766.     This pair-exclusion can also be used for more than 2 extensions, but
  767.     the exclusion works only for pairs of files.  So then you must specify
  768.     as many pairs as can be formed.  For example if you want to exclude
  769.     file combinations like xyz.IDX xyz.DAT and xyz.EXT, then you should
  770.     specify:
  771.  
  772.        NonDupEXT  IDX DAT  IDX EXT  DAT EXT
  773.  
  774.     Warning: The check on duplicates by Downsort works only when you
  775.     specify all  possible pairs of extensions!  If you fail to specify any
  776.     possible pair, the Dup-list may contain false signals.
  777.  
  778.     Multiple pairs may be specified on a line, and multiple lines are
  779.     allowed.
  780.  
  781.  
  782.     3.3.9 OKFILE
  783.  
  784.     List-file specifications for file-requests in BinkleyTerm style.  The
  785.     generated paths in the list obey the following rules:
  786.  
  787.     ■  the area-privilege is within the privilege limit of the report
  788.  
  789.     ■  the area is not excluded (by areaEXclude)
  790.  
  791.     ■  the area has at least 1 file within the privilege limit of the
  792.        report
  793.  
  794.     
  795.                                                            User's Guide  10
  796.  
  797.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  798.     
  799.     
  800.     
  801.     The paths are sorted on area-name (although the area-name is not part
  802.     of the list).  There is no check on duplicate paths.
  803.  
  804.     The list is not jazzed-up with titles, etc, but a file may be included
  805.     in front of the list if specified on the OKFileList in Downsort.CFG
  806.     (see "Appendix D.  Sample Configuration File" on page 49).  This option
  807.     allows you to insert a list of 'magic' names in the OKFile.
  808.  
  809.     Two formats of the OKfile are available:
  810.  
  811.     ■  A SHORT format with lines in the format "filepath\*.*".  This is the
  812.        regular format for BinkleyTerm and other mailers.
  813.     ■  A LONG format with lines in the format: "@filespec
  814.        filepath\filespec".  All files have a 'magic'-name assigned and
  815.        there are no generic file specifications in the OKFileList.  This
  816.        prevents directory searches for BinkleyTerm for each file-request.
  817.  
  818.     Note: Some newer versions of BinkleyTerm can use the file base of
  819.   | Maximus to find a file even faster.
  820.  
  821.   | Note: The OK-list will probably discontinued with version 6.2.  If you
  822.   | really need an old fashined OKFile, you are encouraged to use the
  823.   | USR-list in stead, already now (seen below)!
  824.  
  825.  
  826.     3.3.10 USRFILE
  827.  
  828.     A yet experimental but already very versatile 'user format' list.  This
  829.     list-type allows you freedom in layout of the outputline, but is
  830.     designed to build a batch-file for file maintenance purposes, with a
  831.     single output line per file.  The line-format is specified completely
  832.     by you!  It may contain any text and some symbolic variables that
  833.     represent the values of some file information items:
  834.  
  835.   | %$    File Privilege (single first letter of Maximus' privilege)
  836.     %2    Duplicate flag: 1=no duplicate file, 2=duplicate file
  837.     %A    Areaname
  838.     %C    File Creation date
  839.     %F    Filename.ext
  840.     %H    File age in days (most recent of lastWrite and Creation Date is
  841.   |       taken).
  842.   | %N    File Download count (value of nnn in [nnn] from file description
  843.   |       in FILES.BBS).  If no [nnn] found, the value of %N will be 0.
  844.     %P    Path specification of download directory
  845.     %S    File Size
  846.     %W    File lastWrite date
  847.  
  848.     This type of list is designed to offer a user-controlled two-stage file
  849.     maintenance.  Just an example: if you want to get rid of all files
  850.     older than 2 years, you let Downsort produce REXX-procedure with for
  851.     each file a line as follows:
  852.  
  853.        if %H > 730 then erase %P%F
  854.  
  855.  
  856.  
  857.     
  858.                                                            User's Guide  11
  859.  
  860.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  861.     
  862.     
  863.     
  864.     Of course you may limit the output-list with file-privilege,
  865.     area-group, etc., like all regular xxxFileLists of Downsort.  And if
  866.     you think Downsort might generate too many or too few of these
  867.     statements, you can always have a manual check and modify the list
  868.     before actually executing the procedure!  It may help if you expand the
  869.     USRmodel statement with a REXX-comment, like:
  870.  
  871.       if %H>730 erase %P%F   /* LastWriteDate=%W  CreationDate=%C */
  872.  
  873.  
  874.  
  875.     3.3.11 REBUILD FILES.BBS
  876.  
  877.     New "FILES.BBS" type of file may be (re-)created, one for every area.
  878.     The contents of the file-information will be about the same as the
  879.     original FILES.BBS, but with the following notes:
  880.  
  881.     ■  A header is generated with area-name, -title, and -privilege.  Also
  882.        the total amount of files and bytes and the most recently acquired
  883.        file in this area is part of the header information.  The header
  884.        will look a bit different if any area has a long name (more than 3
  885.        characters) than when all areas have short names.
  886.     ■  Files with a privilege up to and including the area-privilege are
  887.        listed first.
  888.     ■  Files can have a privilege other than the area-privilege when the
  889.        original FILES.BBS file contains ^Pp-sequences ('p' being a
  890.        privilege letter).  This construction will be rebuilt by Downsort.
  891.        Files with a higher privilege than the area-privilege will follow
  892.        after a compiled MECCA-sequence (^Pp) in the new FILES.BBS.
  893.        Downsort respects these indicators when reading FILES.BBS, so all
  894.        file-privilege information is retained.  This ensures no accidental
  895.        loss of file-information, and the regular user won't see more than
  896.        he should.
  897.     ■  Wild-card specifications in the original FILES.BBS are not
  898.        propagated to the new FILES.BBS.
  899.     ■  The file description is kept internally as a single string of about
  900.        2 KBytes (Maximus 2.0 supports up to 240 bytes!)  When creating
  901.        FILES.BBS files, this will be the file format (single record per
  902.        file-entry).  The original FILES.BBS may contain a single line
  903.        description, or multi-line descriptions.  When encountering
  904.        multi-line descriptions in input-FILES.BBS, Downsort concatenates
  905.        the separate description lines with a single intermediate space up
  906.        to a maximum of 2 KBytes.  This will be the output format.
  907.     ■  Comments in FILES.BBS will be preserved only when the Keep-Sequence
  908.        option is used (specify /K on the FilFilePath line of Downsort.Cfg).
  909.  
  910.     Special attention is requested for the following:
  911.  
  912.     ■  Downsort from version 5.7 recognises its own headerlines with the
  913.        characters: <-><&delta.><&delta.><backspace><backspace> for each of
  914.        its header-lines, and will skip all lines starting with this
  915.        sequence during the data collection phase.
  916.     ■  You can include your own file with the /I-option on the FILFilePath
  917.        line in Downsort.Cfg in the header of FILES.BBS.  All lines in the
  918.        include-file for FILES.BBS output will be prefixed by Downsort with
  919.  
  920.     
  921.                                                            User's Guide  12
  922.  
  923.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  924.     
  925.     
  926.     
  927.        the 5-character sequence mentioned above to make sure that these
  928.        will also be 'refreshed' each time you run Downsort.
  929.     ■  The destination of FILES.BBS-files is not by definition the same as
  930.        the origin!  An output path can be specified in the configuration
  931.        file.  If you don't specify an output-path on the FILFilePath line
  932.        in Downsort.Cfg, the output will replace the original FILES.BBS (the
  933.        old will be renamed to FILES.BAK).  If you specify an output path
  934.        the output will be put in the specified directory and the filenames
  935.        will have the format "areaname.BBS".
  936.  
  937.        Entries of 'offline' files can be removed with Downsort.
  938.  
  939.     Manual checking or post-processing by some other program may follow
  940.     Downsort, after which the files might be put back on the MAXIMUS
  941.     specified position.
  942.  
  943.  
  944.     3.4 DATA SELECTION
  945.  
  946.     During the data collection phase of Downsort, files are selected on
  947.     several criteria.  Generally speaking not more information is collected
  948.     than needed for all lists in a single run of Downsort.
  949.  
  950.     During the list creation phase a further file selection may take place.
  951.  
  952.     Apart from the short OK-list, all lists are primarily created from the
  953.     file information.  This means for example that if a selection is such
  954.     that no files of a certain area fall within the list criteria, the
  955.     files of that area will not appear in any list.
  956.  
  957.  
  958.     3.4.1 PRIVILEGE CONTROL
  959.  
  960.     The default file privilege to be shown in the lists is SYSOP.  All
  961.     files with a higher privilege than the specified (or defaulted)
  962.     report-privilege will not appear in the lists.
  963.  
  964.     Files without a matching filename-entry in FILES.BBS are treated as
  965.     Hidden.  That means that by default these files will not be listed,
  966.     unless the Hidden privilege is used on the report-specification.
  967.  
  968.     If you run a mailer like BinkleyTerm and support file-requests, you
  969.     lack the extensive privilege system like Maximus.  The only distiction
  970.     BinkleyTerm makes with file-request is 'unknown', 'known' and
  971.     'password-protected'.  You may generate multiple download lists with
  972.     different privilege indicator, depending if you support different
  973.     file-collections for different levels of file-requests.  An
  974.     sample-setup is given in "5.0 Sample of Getting organised" on page 24.
  975.  
  976.     Multiple lists are not needed for Downsort.BBS, since this file has
  977.     imbedded privilege control sequences for MAXIMUS users.  But you should
  978.     specify a sufficiently high privilege for the BBS-list to satisfy your
  979.     most valuable users!
  980.  
  981.  
  982.  
  983.     
  984.                                                            User's Guide  13
  985.  
  986.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  987.     
  988.     
  989.     
  990.     3.4.2 AREA SELECTION
  991.  
  992.     There are several ways to perform area selection:
  993.  
  994.     1. With AreaGroup definitions with individual sets of AreaINclude
  995.        and/or AreaEXclude statements you may select groups of areas by name
  996.        from the used AREA.DAT file.
  997.  
  998.     2. Individual list specifications may further reduce the lists on file
  999.        privilege and userkeys.  The latter makes use of the Maximus feature
  1000.        called 'key/locks'.
  1001.  
  1002.     3. AREA.DAT file needs not be the regular complete AREA.DAT used by
  1003.        your online Maximus system.
  1004.  
  1005.     You should realise that the selection has the following sequence:
  1006.  
  1007.     ■  AREA.DAT
  1008.     ■  Area privilege and lock
  1009.     ■  Areagroup with areaIN/EXclude
  1010.  
  1011.     Make sure you don't restrict the collection phase too much.  The list
  1012.     specifications may further reduce the contents of each list.
  1013.  
  1014.  
  1015.     3.4.3 FILENAME SELECTION
  1016.  
  1017.     Downsort scans download directories and collects data of all files
  1018.     (except those with the hidden or system attribute).  With the keyword
  1019.     FileEXclude in Downsort.cfg, you may indicate which files you want to
  1020.     exclude from processing by Downsort, based on filename.  With one or
  1021.     more filespecs, wildcards allowed, all files with matching filespec
  1022.     will be excluded during the data collection phase, regardless of the
  1023.     area.  The current implementation supports only the traditional 8.3
  1024.     filename.ext format, no long names and no explicit path.
  1025.  
  1026.     In versions of Downsort before 5.9 the hardcoded specification of
  1027.     certain 'system' files has been removed, and these filespecs should now
  1028.     be specified in Downsort.cfg.  The sample Downsort.cfg does contain
  1029.     these specifications.  I suggest to leave that line asis and add one or
  1030.     more new lines for your own use.  Warning: FileEXcluded files will even
  1031.     not appear in the FILES.BBS  (re-)created by Downsort!
  1032.  
  1033.  
  1034.  
  1035.     3.4.4 REPORT LENGTH
  1036.  
  1037.     For lists that are meant to show the latest file-information only
  1038.     (BBS-, NEW- and ALL-list), the length of the list can be limited to a
  1039.     maximum number of file-entries or to file-age in days, weeks or months.
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.     
  1047.                                                            User's Guide  14
  1048.  
  1049.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1050.     
  1051.     
  1052.     
  1053.     3.5 LIST CUSTOMISATION
  1054.  
  1055.  
  1056.  
  1057.     3.5.1 HEADERS, TITLES AND INCLUDE FILES
  1058.  
  1059.     There are several ways to customize the appearance of the lists for
  1060.     Downsort.  All items in the following list are optional, but the
  1061.     sequence in the reports is fixed and as listed:
  1062.  
  1063.     Pre-Title   Lines that should appear as the very first lines of your
  1064.                 lists.  Any text may be specified.  Leading '~'-characters
  1065.                 (tilde) will be treated as full-size required blanks,
  1066.                 mainly to manually align (center) the text in these lines.
  1067.                 There is no automatic centering.  You may have to
  1068.                 experiment a little.
  1069.  
  1070.   | TITLE       A short title (8-12 characters per line), that will be
  1071.   |             magnified to big BLOCK-letters.  There are 4 block-fonts to
  1072.   |             choose from.  Not all characters are supported and
  1073.   |             lower-case will be translated to upper-case.  The
  1074.   |             '~'-character (tilde) will be treated as full-size required
  1075.   |             blank, the '`'-character (accent-grave) as half-size
  1076.   |             required blank.  Multiple lines for a block-title can be
  1077.   |             specified.  There is no default block-title.
  1078.  
  1079.     TitleFont   Number of the font to be used for the BLOCK title.  If
  1080.                 specified as 0, the BLOCK-title will NOT be generated at
  1081.                 all.
  1082.  
  1083.     Include-file A text-file to be included.  There will be no manipulation
  1084.                 of the contents of this file.  This include-file may be all
  1085.                 you need to obtain a fully customized list.  For the
  1086.                 IPF-list this include file will most likely have to contain
  1087.                 IPF tags for proper formatting, for the OK-file it will be
  1088.                 a list of 'magic' name entries.
  1089.  
  1090.     Sub-Title   Lines that should appear immediately following the
  1091.                 block-title.
  1092.  
  1093.     BottomTitle Lines that should appear as very last lines of the lists.
  1094.                 These follow my 'signature'.
  1095.  
  1096.     The BLOCK-title and Pre-, Sub-, and Bottom-titles are used for all
  1097.     reports identically, there is no such thing as an 'individual' title
  1098.     specification for each report.  However the Include-file may be
  1099.     different for each report.  If you want to build more than 1 list but
  1100.     with different 'headings' or no headings at all, you better forget the
  1101.     Title-options.  In stead make heading-files and use the Include option
  1102.     of the individual list specifications.
  1103.  
  1104.     Note: Exceptions:
  1105.  
  1106.     1. None of the above does apply to the BBS-list.  As it will generally
  1107.        be desirable to imbed (compiled) MECCA control sequences in this
  1108.  
  1109.     
  1110.                                                            User's Guide  15
  1111.  
  1112.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1113.     
  1114.     
  1115.     
  1116.        type of lists, this report will include dedicated top and bottom
  1117.        files (if available in the current default directory).  These files
  1118.        must be called Downsort.HDR (header) and Downsort.TRL (trailer).
  1119.  
  1120.     2. The ORPHAN report will not contain any user-titles.
  1121.  
  1122.     3. The FILES.bbs files will not use any of the title-specifications,
  1123.        but may use an Include-file.
  1124.  
  1125.     Recommendation: File-requestors appreciate a header with a clear
  1126.     indication of the source of the reports.  Many Bulletin Boards use
  1127.     FILES or ALLFILES as 'magic' name, but that is not very distinctive if
  1128.     you collect lists of different boards!  So use Downsort's facilities to
  1129.     generate a block-title with your system-name, or an include file with
  1130.     some kind of logo.
  1131.  
  1132.     Note: Specification details and samples can be found in Downsort.CFG.
  1133.  
  1134.     Some SYSOPs do not like to confront their users with privileges.  In
  1135.     most headers there will be a line with the reporting privilege.  This
  1136.     may be suppressed.
  1137.  
  1138.  
  1139.     3.5.2 FILE SORTING
  1140.  
  1141.     The file-entries in the lists can be sorted on different keys:
  1142.  
  1143.     ■  Filedate
  1144.  
  1145.     ■  Filename
  1146.  
  1147.     ■  Sequence of FILES.BBS
  1148.  
  1149.     The default sorting sequence depends on the type of list.  Some lists
  1150.     do not support some of these sorting keys.
  1151.  
  1152.     Note: File sorting has a local scope.  It can be specified for to each
  1153.     listtype individually.
  1154.  
  1155.  
  1156.     3.5.3 AREA SORTING
  1157.  
  1158.     The order in which the areas are presented in the lists can be
  1159.     specified:
  1160.  
  1161.     ■  Order of AREA.DAT
  1162.     ■  Sorted alphabetically on areaname
  1163.     ■  Order of areaINclude statements in the Areagroup
  1164.     ■  Groupname-order
  1165.  
  1166.     The Groupname-order is a special order based on a popular naming
  1167.     convention for areas.  Many SYSOPs use areanames with a group-name or
  1168.     -letter followed by a sequence number.  With groupname sorting the
  1169.     areaname is split - if possible - into a groupname (if the first
  1170.     character is not be numeric) and a sequence number (if the last part of
  1171.  
  1172.     
  1173.                                                            User's Guide  16
  1174.  
  1175.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1176.     
  1177.     
  1178.     
  1179.     areaname is numeric).  Primary sort key is groupname, secundary sortkey
  1180.     is sequence number.  If the first character of the area-name is
  1181.     numeric, the groupname is empty, and if the last part of the areaname
  1182.     is not numeric, the second key is empty.
  1183.  
  1184.     If the ordering does not match your more complicated area naming
  1185.     convention, you can always fallback on a properly sequenced AREA.DAT,
  1186.     or on areaINclude sequence.
  1187.  
  1188.     If Include-order is specified, but AreaINclude is not, then the order
  1189.     falls back to Group-order.
  1190.  
  1191.     The area-order specification has a global scope.  It applies to every
  1192.     lists where the areaname is significant, including summaries in ALL-
  1193.     and IPF-lists.
  1194.  
  1195.     Default sorting order is 'Group'.
  1196.  
  1197.  
  1198.     3.5.4 WARNINGS, INDICATIONS, DESCRIPTIONS AND COMMENTS
  1199.  
  1200.     ■  There are two options for long file descriptions (those that do not
  1201.        fit on a 80-character line):
  1202.        ∙  Truncation at end-of-line
  1203.        ∙  Wrapping to multiple lines
  1204.  
  1205.        Both options are available for all lists, but the defaults vary with
  1206.        the type of the report.  If wrapping is specified continuation lines
  1207.        will start in the same column as the description on the first line
  1208.        unless a non-zero indentation is specified.
  1209.  
  1210.     ■  Orphan description: Text that will be reported in the description
  1211.        column of a file, when for this file no entry in FILES.BBS could be
  1212.        located.
  1213.  
  1214.        Default: "---------- Orphan ---------".
  1215.  
  1216.     ■  Not-Found description: Text for the description column when the
  1217.        file-entry was found in FILES.BBS, but there was no description
  1218.        present.
  1219.  
  1220.        Default: "--- no description available ---".
  1221.  
  1222.     ■  Offline description: Text that will replace file-size and file-date,
  1223.        when an entry for this file was found in FILES.BBS, but the file
  1224.        could not be located in the download directory.
  1225.  
  1226.        Default: " - offline - ".
  1227.  
  1228.     ■  Comments in FILES.BBS (mostly used for additional description for
  1229.        groups of files) will be listed when no sorting is specified (the /K
  1230.        option for ALL-, IPF- and FIL-lists).
  1231.  
  1232.        When Downsort encounters Avatar screen handling codes in FILES.BBS
  1233.        these are stripped of or partially imitated in the output lists
  1234.  
  1235.     
  1236.                                                            User's Guide  17
  1237.  
  1238.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1239.     
  1240.     
  1241.     
  1242.        (unless AVAstrip No is specified in Downsort.Cfg).  Typical screen
  1243.        handling commands (cursor movement, color settings) are just
  1244.        stripped, others (repeating characters of patterns) are imitated.
  1245.  
  1246.     ■  Size of a VIEW-page in IPF-list: The IPF-list of areas with more
  1247.        than 250 file entries will be splitted into 'parts' to prevent the
  1248.        IPF-compiler message 'page size exceeded'.  But if you have many
  1249.        long descriptions, or wish smaller parts, the page-size can be
  1250.        altered with a parameter on the IpfFileList line in Downsort.CFG.
  1251.  
  1252.        Default: 250.
  1253.  
  1254.  
  1255.  
  1256.     3.6 MISCELLANEOUS REPORT INFORMATION
  1257.  
  1258.  
  1259.  
  1260.     3.6.1 FILE INFORMATION IN LISTS
  1261.  
  1262.     1. Dates are marked with a 'new'-indicator: a '*' if the file is only
  1263.        since a week on this system, and a '+' if it is since a month.
  1264.        Filedates later than the current system date are marked '-'
  1265.        (negative age).
  1266.  
  1267.     2. In every outputfile the filename, MAXIMUS-area name, file-size and
  1268.        -date, and file-description from FILES.BBS is listed.  A report-line
  1269.        will never display more than 79 characters.
  1270.  
  1271.        The file-description will be multi-line in ALL-, IPF- and GBL-list
  1272.        if it is longer than would fit on the standard 79-position line, a
  1273.        word-wrapping technique is used for readability (line-split on word
  1274.        boundary).  The description is truncated at end of line in BBS-list
  1275.        and NEW-list.
  1276.  
  1277.        The -T option will force truncation of the description in all
  1278.        reports, the -W option will allow multi-line descriptions in all
  1279.        reports.  When wrapping is used, continuation lines will normally be
  1280.        aligned on the start position of the desription.  This may be
  1281.        modified with an indentation option.
  1282.  
  1283.        If a filename is found in FILES.BBS, but no accompanying
  1284.        description, a "--- no description available ---" will be put in
  1285.        place.  An alternative text may be specified with Downsort.CFG.
  1286.  
  1287.        Files for which there is no entry in the FILES.BBS (Orphans) are
  1288.        treated as Hidden files, which are only listed in the reports if the
  1289.        Hidden privilege is specified.
  1290.  
  1291.        Note: If you want the orphans to appear in FILES.BBS (or in any
  1292.        other report), you MUST also generate an ORP-list in the same
  1293.        Downsort run!
  1294.  
  1295.     3. '- offline -" in stead of file-size and file-date is reported if
  1296.        FILES.BBS contains an file-entry while the file is not in the
  1297.  
  1298.     
  1299.                                                            User's Guide  18
  1300.  
  1301.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1302.     
  1303.     
  1304.     
  1305.        corresponding directory.
  1306.  
  1307.     4. The BBS-list contains MAXIMUS authorisation controls
  1308.        (^PLp-sequences), corresponding to the privilege of the area or the
  1309.        individual file.  So it is not necessary to make different files for
  1310.        different categories of MAXIMUS users, even with the default
  1311.        privilege-limit SYSOP a user will not see the files he/she is not
  1312.        supposed to know about.
  1313.  
  1314.        Other lists do not contain any privilege information, the files (or
  1315.        complete areas) above the specified privilege are simply not listed,
  1316.        however multiple lists can be produced for different categories of
  1317.        users (based on privilege).
  1318.  
  1319.  
  1320.  
  1321.     3.6.2 FILE DATES
  1322.  
  1323.     One of the function of Downsort is sorting on file date.  Since the
  1324.     introduction of HPFS in OS/2 version 1.2, there is not one single
  1325.     file-date anymore!  A file on an HPFS volume has different values for:
  1326.  
  1327.     ■  Creation date
  1328.     ■  LastAccess date
  1329.     ■  LastWrite date
  1330.  
  1331.     The date you see normally in DIR-listings is the LastWrite date.  Most
  1332.     SYSOPs will have noticed that ZMODEM uploads and file-attaches give
  1333.     file-dates corresponding to the (LastWrite-) date of the sending
  1334.     system.  And most utilities handle only this 'single' date.  That means
  1335.     that old ZMODEM-uploaded files are generally not on top of the
  1336.     acquisition lists.
  1337.  
  1338.     But HPFS stores the date of arrival on your system (Creation) as well.
  1339.     Downsort handles most recent of Creation and LastWrite date for
  1340.     sorting, but the lists (see below) contain the 'old fashioned'
  1341.     LastWrite date.  This has the following consequences:
  1342.  
  1343.     ■  A new acquisition is on top of lists, if that list is sorted on
  1344.        date, and are marked in the lists as new by a flag for an 'age' of a
  1345.        week or a month.
  1346.     ■  The listed file-date is the 'ordinary' date.  So users can judge for
  1347.        themselves if the file is 'new' for them as well.
  1348.  
  1349.     Note: The LastAccess date is not very relevant for the purposes of
  1350.     Downsort, although SYSOP may see when it was last downloaded.
  1351.  
  1352.     Downsort is delivered with a simple DIR-like utility 'HPFSDATE' to show
  1353.     the three dates of a file on a HPFS volume.
  1354.  
  1355.     Files with 'future' file dates will be indicated with a '-' flag in the
  1356.     lists.  These files will never appear in: BBS-, NEW-, and EMI-lists.
  1357.  
  1358.  
  1359.  
  1360.  
  1361.     
  1362.                                                            User's Guide  19
  1363.  
  1364.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1365.     
  1366.     
  1367.     
  1368.     3.6.3 DUPLICATE FILENAMES
  1369.  
  1370.     Duplicate filenames will be checked only if the DUP-list is generated.
  1371.     And duplicates will be reported only in the DUP-list.  So duplicate
  1372.     file may appear in regular user-lists, which means:
  1373.  
  1374.     ■  If a filename.ext is encountered more than once in different
  1375.        subdirectories of download files, it will appear that many times in
  1376.        the outputlist.  The file-privilege reflects that of the area where
  1377.        the file belongs to, unless overridden by a ^Px modifier in
  1378.        FILES.BBS.
  1379.     ■  It may happen that a file is reported as orphan in one area, and as
  1380.        duplicate in another.  It is likely that the file is found in a
  1381.        common download directory of more than one area but it is described
  1382.        in the FILES.BBS of a 'secundary' area, but with the wrong
  1383.        extension.
  1384.  
  1385.     Downsort.Cfg give you some control over detection of duplicates:
  1386.  
  1387.     ■  With the 'NonDupExt' keyword you may suppress certain duplicates.
  1388.     ■  With 'DupNameSize' you may specify how many characters of the
  1389.        filename have to be taken into consideration.
  1390.  
  1391.     See "3.3.8 DUP-list" on page 9 for more details.
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.     
  1425.                                                            User's Guide  20
  1426.  
  1427.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1428.     
  1429.     
  1430.     
  1431.     4.0 PARAMETER SPECIFICATIONS
  1432.  
  1433.     This chapter tells you how to customize the configuration file and what
  1434.     you might specify on the commandline.
  1435.  
  1436.     A sample configuration file (in "Appendix D.  Sample Configuration
  1437.     File" on page 49) is part of the package.  It contains a brief comments
  1438.     (in Binkley and MAXIMUS style) to help you.
  1439.  
  1440.  
  1441.     4.1 COMMANDLINE PARAMETERS
  1442.  
  1443.     This paragraph deals only with the commandline parameters!
  1444.  
  1445.  
  1446.       [drive:][path]  DOWNSORT  [@filespec] [/H | /Q | /V]
  1447.  
  1448.  
  1449.     @filespec   The character '@' followed by a complete file
  1450.                 specification of the Downsort configuration file(see "4.2
  1451.                 Configuration file Parameters" for details).  This file
  1452.                 will be used to specify processing parameters.
  1453.  
  1454.                 NOTE: The specification of a configuration file is
  1455.                 mandatory when the file AREA.DAT is not in the default
  1456.                 directory when running Downsort.
  1457.  
  1458.                 Default: Downsort.CFG in current default directory.
  1459.  
  1460.     /H /Q /V    Operating mode
  1461.                 ■  H - Help:  display screen with essential information
  1462.                    about running Downsort, such as the command syntax.  In
  1463.                    that case the program will not take any other action.
  1464.                 ■  Q - Quiet: display only start and finish-message, and
  1465.                    error messages which prevent the program from proceeding
  1466.                    normally.
  1467.                 ■  V - Verbose:  display a lot of progress messages.
  1468.                 If neither -Q nor -V is specified, than the number of
  1469.                 console messages will be 'intermediate': more than -Q, but
  1470.                 less than -V.
  1471.  
  1472.                 Default: none
  1473.  
  1474.  
  1475.  
  1476.     4.2 CONFIGURATION FILE PARAMETERS
  1477.  
  1478.     All processing options are specified in the configuration file.  The
  1479.     parameters are only mentioned here for completeness, see "Appendix D.
  1480.     Sample Configuration File" on page 49 for a documented specification
  1481.     sample of a configuration file.
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.     
  1488.                                                Parameter Specifications  21
  1489.  
  1490.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1491.     
  1492.     
  1493.     
  1494.     4.2.1 PARAMETERS WITH GLOBAL SCOPE
  1495.  
  1496.     The parameters below influence the execution of Downsort, or have
  1497.     impact on every list (if it is applicable for that list).
  1498.  
  1499.     ■  Specification of the MAXIMUS CBCS file 'AREA.DAT'.
  1500.     ■  Area selection by name
  1501.     ■  Area and File selection by privilege and/or Maximus' key/lock
  1502.     ■  Explicit file exclusion
  1503.     ■  Sorting order of areas
  1504.     ■  List title with BLOCK-characters.
  1505.     ■  Pre-titles, Sub-titles and Bottom-lines in 'text' format
  1506.     ■  Descriptive text of orphans, files without a description and files
  1507.        for which an entry is found in FILES.BBS, but could not be found in
  1508.        the corresponding download directory.
  1509.  
  1510.  
  1511.  
  1512.     4.2.2 PARAMETERS WITH LOCAL SCOPE
  1513.  
  1514.     The parameters below are sub-parameters of the xxxFileList keyword.
  1515.  
  1516.     ■  List privilege
  1517.     ■  Userkeys for a list
  1518.     ■  Alternate output filename (in stead of the default Downsort).
  1519.     ■  Directory for the output FILES.BBS-lists
  1520.     ■  Maximum number of file entries in NEW- and BBS-list
  1521.     ■  File-entry sort sequence (filename or date).
  1522.     ■  Automatic removal of file entries from FILES.BBS of 'not-found'
  1523.        files.
  1524.     ■  Wrap or Truncate long file descriptions, and Indentation of
  1525.        continuation lines.
  1526.     ■  Title Font selection.
  1527.     ■  Suppression of privilege indications.
  1528.     ■  Include textfile in NEW-, ALL-, IPF- and GBL-lists, and in
  1529.        FILES.bbs.
  1530.  
  1531.     Downsort can generate any number of lists in a single run.  If you are
  1532.     clever with Maximus key/lock manipulations, you will master Downsort
  1533.     quickly to make the proper selections.
  1534.  
  1535.     A sample configuration file is provided.  A listing of this file is
  1536.     imbedded as "Appendix D.  Sample Configuration File" on page 49.  It
  1537.     contains a complete specification with comments on:
  1538.  
  1539.     ■  which options are available
  1540.     ■  how to specify the options
  1541.  
  1542.     Read and modify the file as you like.  Copy the sample file to a safe
  1543.     place before you start modifying the original Downsort.CFG!
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.     
  1551.                                                Parameter Specifications  22
  1552.  
  1553.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1554.     
  1555.     
  1556.     
  1557.     4.3 COMPILING THE IPF LISTS
  1558.  
  1559.     IPF-lists have to be processed by the Information Presentation Facility
  1560.     Compiler (IPFC).  This compiler is part of the IBM Programmers
  1561.     Development Toolkit version 1.2/1.3.  For the IP2-list the IBM OS/2
  1562.     2.0+ Toolkit is needed.  The following command has to be issued:
  1563.  
  1564.         IPFC  Downsort.IPF  /INF
  1565.  
  1566.     The option "/INF" is needed to obtain a VIEWable file, if not specified
  1567.     a .HLP file will be generated.  Be sure to have the file Downsort.BMP
  1568.     in your current default directory, or in DPATH, as this will be
  1569.     imbedded by the IPF-compiler.  The result of the compilation is a file
  1570.     Downsort.INF, which can be VIEWed with the following command:
  1571.  
  1572.         VIEW  Downsort
  1573.  
  1574.     The names "Downsort", "IPF" and "INF" are used here as sample, actually
  1575.     the filename depends on the specification in the Downsort configuration
  1576.     file, the extensions are the IPFC defaults.
  1577.  
  1578.     If VIEW gives garbled columns and hardly readable block-titles, then it
  1579.     is most likely that you did not install (or removed) the standard fonts
  1580.     that are delivered with OS/2.  Start the 'control panel utility',
  1581.     select 'installation', 'add fonts'.  Specify in the 'from'-field
  1582.     C:\OS2\DLL (see HELP of control panel).  Now choose at least 1
  1583.     non-proportional font.
  1584.  
  1585.     Note: IPFC has a number of restrictions that you may encounter,
  1586.     especially when you try to compile large lists:
  1587.  
  1588.     ■  A "Page is too big" message, generally resulting in other errors or
  1589.        warnings to appear as well, means that the 16000 words limit is
  1590.        exceeded.  A file may not contain more than 16000 different items
  1591.        (character strings between blanks or punctuation marks).  There is
  1592.        nothing else you can do than make the list smaller (see "3.4 Data
  1593.        Selection" on page 13 for suggestions).  Sometimes a TRAP 000D
  1594.        occurs with very big lists if you ignore these error messages.
  1595.     ■  Sometimes also "invalid nesting of cgraphics tag" is displayed.
  1596.        Just ignore these!
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.     
  1614.                                                Parameter Specifications  23
  1615.  
  1616.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1617.     
  1618.     
  1619.     
  1620.     5.0 SAMPLE OF GETTING ORGANISED
  1621.  
  1622.     Assume you are runnung MAXIMUS with BinkleyTerm as front end mailer.
  1623.     Suppose you make a distinction for file-requestors between Unknown,
  1624.     Known and Password-Protected (e.g. corresponding to Disgrace, Normal
  1625.     and Privileged MAXIMUS users).
  1626.  
  1627.  
  1628.     5.1 DOWNSORT
  1629.  
  1630.     Your downsort.cfg file might contain among others the following
  1631.     specifications:
  1632.  
  1633.       BBSFileList  p/*  bulletin.p  -3W
  1634.       NEWFileList  d/*  newfiles.d  -2m
  1635.       NEWFileList  n/*  newfiles.n  -2m
  1636.       NEWFileList  p/*  newfiles.p  -2m
  1637.       ALLFileList  d/*  allfiles.d
  1638.       ALLFileList  n/*  allfiles.n
  1639.       ALLFileList  p/*  allfiles.p
  1640.       OKFileList   d/*  okfile.d
  1641.       OKFileList   n/*  okfile.n
  1642.       OKFileList   p/*  okfile.p
  1643.  
  1644.     This specification will produce the following lists:
  1645.  
  1646.     ■  Bulletin.p with the last three weeks additions to your system, for
  1647.        users with a privilige up to Privil.  Note: Users with a lower
  1648.        privilege will actually see a shorter list if the file contains
  1649.        Privil entries, since each line contains a privilege control
  1650.        sequence.
  1651.  
  1652.     ■  For file requests of the magic filename NEWFILES a list of the last
  1653.        2 months additions to your system.
  1654.        ∙  Newfiles.D for unknown file-requestors
  1655.        ∙  Newfiles.N for known file-requestors
  1656.        ∙  Newfiles.P for Password Protected file-requestors
  1657.  
  1658.        Note that each NEW-list contains only the most recent files, but the
  1659.        contents will generally not be quite the same (depending on your
  1660.        privilege strategy).
  1661.  
  1662.     ■  For file requestors of the magic filename FILES a list, a list with
  1663.        all files (with optional titles via Downsort.CFG specifications):
  1664.        ∙  Allfiles.D for unknown file-requestors
  1665.        ∙  Allfiles.N for known file-requestors
  1666.        ∙  Allfiles.P for Password Protected file-requestors
  1667.  
  1668.        Note that each list is a complete list of what is available to the
  1669.        user of the specific privilege class, but your system will generally
  1670.        contain more files than listed for unknown and known users!
  1671.  
  1672.     ■  For your mailer you'll have:
  1673.        ∙  Okfile.D for unknown file-requestors
  1674.        ∙  Okfile.N for known file-requestors
  1675.  
  1676.     
  1677.                                             Sample of Getting organised  24
  1678.  
  1679.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1680.     
  1681.     
  1682.     
  1683.        ∙  Okfile.P for Password Protected file-requestors
  1684.  
  1685.     In general: files, which the requestor is not supposed to know about
  1686.     due to his privilege status, will not be on his/her list!
  1687.  
  1688.     Note: The counters on top of the lists indicate what your system has
  1689.     available in total (including higher privileges), so a clever
  1690.     user/file-requester may come up with the question how that is possible:
  1691.     explain that he/she has to earn a higher privilege level!
  1692.  
  1693.  
  1694.     5.2 BINKLEYTERM
  1695.  
  1696.     In Binkley.Cfg you should specify for requests of FILES:
  1697.  
  1698.       Avail        Allfiles.d
  1699.       KnownAvail   Allfiles.n
  1700.       ProtAvail    Allfiles.p
  1701.  
  1702.     Furthermore you need to specify different OKFILEs, for example:
  1703.  
  1704.       OKFile       Okfile.d
  1705.       KnownReqList Okfile.n
  1706.       ProtReqList  Okfile.p
  1707.  
  1708.     In each of the appropriate file-request authorisation files you should
  1709.     specify the appropriate file-spec:
  1710.  
  1711.  
  1712.      ┌───────────┬──────────────┬───────────────┬───────────────┐
  1713.      │       in: │ OKFile       │ KnownReqList  │ ProtReqList   │
  1714.      │ for:      │              │               │               │
  1715.      ├───────────┼──────────────┼───────────────┼───────────────┤
  1716.      │ .....     │ .........    │ ...........   │  ........     │
  1717.      │ @NEWFILES │ Newfiles.d   │ Newfiles.n    │  Newfiles.p   │
  1718.      │ @FILES    │ Allfiles.d   │ Allfiles.n    │  Allfiles.p   │
  1719.      │ .....     │ .........    │ ...........   │  ........     │
  1720.      └───────────┴──────────────┴───────────────┴───────────────┘
  1721.  
  1722.     This will result in sending of the appropriate NEW-list to every
  1723.     requester of the magic filename: NEWFILES.  If you use the second magic
  1724.     filename, then the Avail-lines in Binkley.Cfg are not needed, and you
  1725.     might prefer this way.
  1726.  
  1727.     Of course if the privilege level of all download areas is the same,
  1728.     this construction is not needed, but in that case it is unlikely that
  1729.     you have specified KnownAvail and ProtAvail!
  1730.  
  1731.     Downsort may create a set of OK-files for you.  The privilege system of
  1732.     MAXIMUS CBCS is used to select the download paths in this list.
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.     
  1740.                                             Sample of Getting organised  25
  1741.  
  1742.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1743.     
  1744.     
  1745.     
  1746.     6.0 PACKAGING
  1747.  
  1748.  
  1749.  
  1750.     6.1 AVAILABILITY
  1751.  
  1752.   | The most recent version of Downsort is downloadable and
  1753.   | file-requestable from PC-Square BBS (FidoNet: 2:280/804) of the Dutch
  1754.   | IBM employee PC club.
  1755.  
  1756.   | Examples of how you may get it:
  1757.  
  1758.   | ■  You file-request the magic name DOWNSORT.
  1759.   | ■  In an online Maximus session: locate "DWNSRT" to obtain the names of
  1760.   |    all available Downsort files, independent of version an compression
  1761.   |    method (ZIP is most likely what you'll see) and select what you
  1762.   |    want.
  1763.  
  1764.     Downsort will also be distributed in area FWBBS of the Fernwood
  1765.     collection, and may also appear in SDSMAX.
  1766.  
  1767.     There is a fair chance you may find a recent version on one of the
  1768.     bulletin boards listed in "Appendix B.  World-wide use of Downsort" on
  1769.     page 43.
  1770.  
  1771.     Downsort is distributed in 2 archives:
  1772.  
  1773.     ■  A file "DWNSRTxy.ZIP", containing all material you need to run
  1774.        Downsort, including documentation, formatted for browsing or
  1775.        printing (formfeed is the only printer-control).
  1776.  
  1777.     ■  Source material is available, but only on request to the author.
  1778.        Send a netmail message and you'll be told how to obtain it.
  1779.  
  1780.     Note: 'xy' is the version indication, for example DWNSRT61.ZIP is the
  1781.   | version 6.1 runtime package.
  1782.  
  1783.   | If you are in the official FidoNet nodelist, you may obtain the latest
  1784.   | test versions from <digiThalys> (Fidonet 2:281/732) with the magic name
  1785.   | "DOWNBETA" for the 32-bits version only.  The betatest-archive contains
  1786.   | only an .EXE-file, a .CFG-file and a WHATSNEW.xyz file.
  1787.  
  1788.  
  1789.     6.2 RUN-TIME MATERIAL
  1790.  
  1791.     WHATSNEW.61         Summary of amendments to version 6.1 of Downsort.
  1792.     DOWNSORT.EXE        32-bits execution module for OS/2 (2.0 and higher).
  1793.     DOWNSRT1.EXE        Execution module for OS/2 and DOS (Family
  1794.                         Application)
  1795.     DOWNSORT.ICO        ICON file for DOWNSORT.EXE.
  1796.     DOWNSORT.DOC        Documentation (this file!).
  1797.     DOWNSORT.CFG        Sample configuration file.  This file contains
  1798.                         comment lines with extensive instructions how to
  1799.                         specify the parameters in the file.
  1800.     DOWNSORT.HDR        Sample BBS-list header.  You may use this header,
  1801.  
  1802.     
  1803.                                                               Packaging  26
  1804.  
  1805.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1806.     
  1807.     
  1808.     
  1809.                         which is only imbedded in the BBS-list, to imbed
  1810.                         text and/or MECCA-sequences.  A good candidate for
  1811.                         the latter would be [onexit], which translates to
  1812.                         ^OFpath.  See the sample Downsort.HDR file!
  1813.     DOWNSORT.TRL        Sample BBS-list trailer.
  1814.     DOWNSORT.BMP        Bitmap for the IPF-list, to be included by the IPF
  1815.                         compiler.
  1816.     DOWNSORT.INC        Sample Include-file for the reports, referenced in
  1817.                         Downsort.CFG.
  1818.     DOWNSORT.MAG        Sample list of magic names to be included in
  1819.                         OKFile(s).  See BinkleyTerm documentation for
  1820.                         details of its format and contents.
  1821.     DOWNSORT.REX        Sample include file for the USRFileList (REXX
  1822.   |                     prefix).
  1823.   | SPLITSUM.CMD        REXX procedure to split the summary from the
  1824.   |                     ALLFileList report.
  1825.     HPFSDATE.EXE        Program to display all three timestamps of a file
  1826.                         on an HPFS volume, and optionally reset the
  1827.                         CREATION date to LASTWRITE date (helpful after
  1828.                         moving or copying of files).  Start the program
  1829.                         without options to display command syntax and help.
  1830.                         It is the 32-bits version, for OS/2 2.0+.  A
  1831.                         16-bits version is included with the name
  1832.                         HPFSDAT1.EXE.
  1833.     PACKING.LST         The actual contents of the package (produced with
  1834.                         PKUNZIP -V), added to the ZIP-file after this was
  1835.                         created with the foregoing files of this archive.
  1836.                         This gives at least some authentication!
  1837.     UCOPY.ZIP           UCOPY package file, which is an archive itself.
  1838.                         UCOPY is a fast file search, select and copy
  1839.                         utility that makes use of the 'long' format of
  1840.                         OKfile, as can be built with Downsort.  UCOPY can
  1841.                         be used completely independent from Downsort, it
  1842.                         only depends on OKfile(s).  It can process multiple
  1843.                         OKfiles simultaneously.  Please read the DOC-file
  1844.                         of UCOPY for more information.  The UCOPY.ZIP file
  1845.                         contains:
  1846.                         UCOPY.DOC Documentation of the UCOPY program.
  1847.                         UC.BAT  Sample DOS batch file for use of UCOPY1.EXE
  1848.                         UC.CMD  Sample OS/2 batch file for use of UCOPY.EXE
  1849.                         UCOPY.EXE OS/2 2.0+ version of UCOPY
  1850.                         UCOPY1.EXE DOS 3.3+ version of UCOPY
  1851.  
  1852.  
  1853.  
  1854.     6.3 SOURCE MATERIAL
  1855.  
  1856.     The source of Downsort is not distributed anymore since version 6.0.
  1857.     The amount of code I ever received as suggested additions or changes is
  1858.     disappointingly small.
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.     
  1866.                                                               Packaging  27
  1867.  
  1868.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1869.     
  1870.     
  1871.     
  1872.     6.4 INSTALLATION
  1873.  
  1874.     With the following directions you should be able to setup and run
  1875.     Downsort in a very short time.
  1876.  
  1877.     1. Make a separate directory for Downsort, and make it the current
  1878.        default directory every time you run Downsort.  The separate
  1879.        directory is a recommendation, not a requirement!
  1880.  
  1881.     2. Copy the files DOWNSORT.EXE (or DOWNSRT1.EXE) and Downsort.CFG from
  1882.        the Downsort package into this directory.  Put also the files that
  1883.        will be included in this directory (like downsort.HDR, downsort.TRL,
  1884.        downsort.INC, downsort.REX, downsort.BMP).
  1885.  
  1886.     3. Modify (edit) the file Downsort.CFG to specify your environment and
  1887.        list requirements.  The sample file contains comments to help you
  1888.        with this process.  Most specifications are obvious.  AreaDat is the
  1889.        most important parameter: Downsort won't do anything useful thing if
  1890.        it cannot find this MAXIMUS file.  See "Appendix D.  Sample
  1891.        Configuration File" on page 49 for a printed sample.
  1892.  
  1893.     4. You may give Downsort a first shot by just using its name on the
  1894.        commandline, with the command parameter -H.  This will show a brief
  1895.        HELP-screen with the possible commandline parameter specifications.
  1896.  
  1897.     5. All reports will be created in the Downsort directory, unless you
  1898.        specify  a path on the xxxFileList lines or on FILFilePath line.
  1899.        Browse the lists to see if you adapt contents and titles, and modify
  1900.        the CFG-file to your convenience.
  1901.  
  1902.  
  1903.  
  1904.     6.5 DEPENDENCIES AND RESTRICTIONS
  1905.  
  1906.     ■  Applies to MAXIMUS CBCS 2.0
  1907.  
  1908.     ■  Requires OS/2 or DOS 3.0+.
  1909.  
  1910.     ■  To convert the IPF-list into VIEW-able format, the IPF-Compiler of
  1911.        the OS/2 Program Development Toolkit is required (for the IP2-list
  1912.        the corresponding OS/2 2.0 or 2.1 version of this compiler)
  1913.  
  1914.     ■  The input FILES.BBS files are assumed to contain only
  1915.        [path\]filename.ext (the regular 8.3 format, no support for OS/2
  1916.        HPFS extended format), the remainder of the line is considered as
  1917.        file description.  The filename should be left-aligned (start in
  1918.        position 1).
  1919.  
  1920.        If a privilege modifier (^Px) is encountered in FILES.BBS then 'x'
  1921.        will become the privilege of all subsequent files (it assumes ^Px on
  1922.        a SEPARATE line, the REST OF THE LINE IS IGNORED!).  Heading,
  1923.        comments and blank lines in FILES.BBS are ignored, unless /K is
  1924.        specified on the FilFilePath line of Downsort.Cfg.  In that case
  1925.        comments following line 8 (the standard header created by Downsort)
  1926.        or headerlines from a previous run are preserved.  The modified
  1927.  
  1928.     
  1929.                                                               Packaging  28
  1930.  
  1931.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1932.     
  1933.     
  1934.     
  1935.        privilege might be higher (generally the case) or lower than the
  1936.        area-privilege.
  1937.  
  1938.  
  1939.  
  1940.     6.6 STORAGE AND PERFORMANCE
  1941.  
  1942.     As a rough estimate of the memory requirements of Downsort, use sum of
  1943.     the following elements:
  1944.  
  1945.     ■  Program: about 120KB
  1946.  
  1947.     ■  Each area: 300 Bytes
  1948.  
  1949.     ■  Each file: 48 Bytes for each download file (excluding file
  1950.        descriptions and excluding orphans if no orphan-list is genarated)
  1951.  
  1952.     ■  The sum of the file description texts (average 80 bytes/file?)
  1953.  
  1954.     ■  The sum of the comments in FILES.BBS if -K option specified
  1955.  
  1956.     If you hit a memory shortage (DOS only!), then you could do one or more
  1957.     of the following:
  1958.  
  1959.     ■  Use AreaGroups with appropriate AreaEXclude or AreaINclude to make a
  1960.        selection of groups (for example make separate OS/2 and a DOS
  1961.        file-lists).  Downsort will not collect information from 'excluded'
  1962.        areas.
  1963.     ■  If you have many orphans: get rid of them or do not generate an
  1964.        orphan report.  Downsort releases orphan-memory during the data
  1965.        collection phase as soon as it knows that a file is an orphan.
  1966.     ■  If you have many comment-lines in your FILES.BBS: do not specify /K
  1967.        for ALL- and IPF-lists AND do not activate the FILFilePath parameter
  1968.        in Downsort.Cfg.  Downsort will ignore comments in FILES.BBS when it
  1969.        does not need them for reporting.
  1970.  
  1971.  
  1972.  
  1973.     6.7 PROBLEMS
  1974.  
  1975.     The following known unresolved problems are in this version:
  1976.  
  1977.     ■  none
  1978.  
  1979.  
  1980.  
  1981.     6.8 WISHLIST
  1982.  
  1983.     Downsort is not finished!  There are a number of wishes and
  1984.     requirements of users and myself to include in future releases.  I list
  1985.     them below not in any particular order, but some seem to be more
  1986.     important than others, that differs from SYSOP to SYSOP.  And some are
  1987.     more easy to implement than others, which depends mainly on the author!
  1988.     Some wishes don't even make it to be listed below and are implemented
  1989.     immediately!
  1990.  
  1991.     
  1992.                                                               Packaging  29
  1993.  
  1994.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  1995.     
  1996.     
  1997.     
  1998.     ■  Follow the MAXIMUS development (changing AREA.DAT and other
  1999.        structures), and support several versions simultaneously.
  2000.     ■  User-configurable options for:
  2001.        ∙  week and month indicators
  2002.        ∙  indicator for continuation lines in wrapped descriptions
  2003.        ∙  [selectable] MECCA control in FILES.BBS
  2004.     ■  Logging to file in stead of stdout to obtain a history file of
  2005.        Downsort usage (can now be done with redirection!).
  2006.     ■  Support for use of 'barricaded' areas.
  2007.     ■  List with the format of IPF-list but the contents of NEW-list.
  2008.     ■  Automatic removal of 'bad' files (like .BAK-files, obsolete files,
  2009.        files that are not in FILES.BBS), maybe move them to a special
  2010.        BAD_FILE directory.  Entries in FILES.BBS should be removed
  2011.        accordingly.
  2012.     ■  Conditional file-include, especially for FILES.BBS output.
  2013.     ■  Separate font selection for short area-headers.
  2014.     ■  Support for a 'schedule' (e.g. daily 'newfiles', weekly 'allfiles').
  2015.  
  2016.     Remember: Was there ever a time that all your wishes were fulfilled?
  2017.     That was the most boring time of your life, wasn't it?
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.     
  2055.                                                               Packaging  30
  2056.  
  2057.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2058.     
  2059.     
  2060.     
  2061.     7.0 INTERNALS
  2062.  
  2063.  
  2064.  
  2065.     7.1 DEVELOPMENT ENVIRONMENT
  2066.  
  2067.     The family-version of Downsort (for OS/2 1.3 and DOS) is compiled with
  2068.     MicroSoft C compiler version 6.00a, with the IBM OS/2 Programming Tools
  2069.     and Information (generally called the OS/2 Toolkit) under IBM OS/2
  2070.     Extended Edition 1.3 as COMPACT memory model.  The generated code is at
  2071.     80286 level (Compiler option /G2), since I believe that only very few
  2072.     Bulletin Boards do use an XT these days.
  2073.  
  2074.     The 32-bit OS/2 2.0+ only version of Downsort is compiled with IBM
  2075.     C/C++ Tools version 2 and the OS/2 2.1 Toolkit.
  2076.  
  2077.     There is only a single set of source files.  A compiler variable takes
  2078.     care of the selection between 1.3 and 2.1 calls where necessary.
  2079.  
  2080.     Downsort has been tested for MAXIMUS CBCS 2.0, with the following
  2081.     Operating Systems:
  2082.  
  2083.     ■  IBM OS/2 versions 1.3 and version 2.1
  2084.     ■  IBM PC/DOS version 6.3
  2085.  
  2086.  
  2087.  
  2088.     7.2 PROGRAM ORGANISATION
  2089.  
  2090.     The program is organised as follows:
  2091.  
  2092.     ■  Initialisation:
  2093.        ∙  Read configuration file.
  2094.        ∙  Process commandline parameters.
  2095.        ∙  Perform some cross checking and cumulation
  2096.  
  2097.     ■  Read AREA.DAT file to collect download pathnames (only of those
  2098.        areas that will participate this time).
  2099.  
  2100.     ■  For each file-area with a privilege not exceeding the privilege
  2101.        specification of any list in this run.
  2102.  
  2103.        ∙  Read subdirectory (with find-file-first/next function).  Take
  2104.           only Normal files: ignore directory entries, Hidden and System
  2105.           files and volume labels.  Exclude files that are specified with
  2106.           the FileEXclude specifications.
  2107.  
  2108.        ∙  For all regular file-entries found in subdirectory:
  2109.           -  Get filename.ext, attribute, date, time, size.
  2110.           -  Obtain file-description from FILES.BBS file.  The path to the
  2111.              FILES.BBS file is (1) obtained from the "ListFile"
  2112.              specification in MAXIMUS AREA.DAT file, or (2) if not
  2113.              specified from the "DownLoad" specification (among the
  2114.              download files).
  2115.           -  Add files with explicit path specifications.
  2116.  
  2117.     
  2118.                                                               Internals  31
  2119.  
  2120.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2121.     
  2122.     
  2123.     
  2124.           -  Get file privilege 1) from areaspecification, 2) from
  2125.              FILES.BBS file if higher.
  2126.           -  If there is no orphan reporting required in this run drop
  2127.              orphan entries area-by-area.
  2128.  
  2129.     ■  For the ORP-list:
  2130.  
  2131.        If any orphan found, and the orphan-report is generated, create the
  2132.        orphan report, with the file-entries sorted on (1) area and (2)
  2133.        filename.
  2134.  
  2135.     ■  For the BBS-list:
  2136.        ∙  Sort the files primarily on descending file-timestamp (and
  2137.           secundary on file-name and area-code).
  2138.        ∙  Resort the first files on filename if so specified.
  2139.        ∙  Create output file for sorted list of filenames, -descriptions,
  2140.           etc.  The file is placed in the current subdirectory (which
  2141.           generally will be the MAXIMUS directory) with the name
  2142.           Downsort.BBS.
  2143.        ∙  Copy a headerfile (for a customized MAXIMUS bulletin).
  2144.        ∙  Put files in formatted outputfile (filename, area#, date, size,
  2145.           description), but only if description is found in FILES.BBS.
  2146.           Skip files with privilege higher than commandline (or default)
  2147.           parameter.  Precede each line with a privilege-control sequence
  2148.           (^PLx string) so that MAXIMUS users below the specified
  2149.           max-priv-level do effectively see only the files they can
  2150.           download.
  2151.        ∙  Include a trailerfile in the outputfile (for a customized
  2152.           Bulletin).
  2153.        ∙  Report non-listed files on standard output device (which might be
  2154.           re-directed to printer or disk-file).
  2155.  
  2156.     ■  If specified, put the above file collection in Newfiles.p with
  2157.        similar contents and layout as Downsort.BBS, but without BBS-control
  2158.        sequences, and without including a header and trailer file.  Produce
  2159.        a list for the default privilege (SYSOP), or one for each specified
  2160.        privilege.
  2161.  
  2162.     ■  If so specified, re-sort files on area and then filename or date,
  2163.        and create an Allfiles list, containing all files (respecting the
  2164.        privilege restrictions!).  Areas with zero files within the
  2165.        applicable privilege limit will not be listed (seem non-existing!).
  2166.        Produce a list for the default privilege (SYSOP), or one for each
  2167.        specified privilege.
  2168.  
  2169.        At the end of the list, an area summary report is generated.
  2170.  
  2171.     ■  If so specified, re-sort files on filename or date only, and create
  2172.        a GLOBAL file-list, which is an ALLFILES list without area-headers.
  2173.  
  2174.     ■  Generate a list of probably DUPlicate files if specified.
  2175.  
  2176.     ■  Generate a list of download-paths (the OK-file) if specified.
  2177.        (note: it will contain only the paths that participate in this run).
  2178.  
  2179.  
  2180.     
  2181.                                                               Internals  32
  2182.  
  2183.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2184.     
  2185.     
  2186.     
  2187.     ■  If so specified, re-sort files on area, privilege and filename, and
  2188.        create for each area a FILES.BBS-type of file.
  2189.  
  2190.     NOTE: Downsort firstly reads a directory for existing files (not
  2191.     Hidden- or System-files, and not Subdirectory or Volumelabel), and then
  2192.     reads FILES.BBS to assign a description to each file.  This means:
  2193.  
  2194.     ■  If more than 1 matching file-specification in FILES.BBS of the
  2195.        involved area is found (note that wild-card specifications in
  2196.        FILES.BBS are supported!), than the first matching description from
  2197.        FILES.BBS will appear in the lists (new in version 4.5, was 'last'
  2198.        in previous versions of Downsort).
  2199.     ■  Files for which no description is found in FILES.BBS will get "---no
  2200.        description available---" (or the replacement string you specified
  2201.        in Downsort.CFG) in the user reports.
  2202.     ■  Files for which no matching filename in FILES.BBS is found will be
  2203.        listed in the Orphan report (Downsort.ORP).
  2204.  
  2205.        Files for which there is an entry in FILES.BBS, but a corresponding
  2206.        file is not found in the directory will be reported as 'offline'.
  2207.  
  2208.        In special cases this might become a very large list.  For example
  2209.        if you collect files in a single directory for different areas, all
  2210.        the files of 'the other' areas are reported as orphan.  This will
  2211.        happen for every area, so each file might even be reported many
  2212.        times as orphan!  Since the Orphan-list is now optional (from
  2213.        version 5.0 on), this list can be suppressed.
  2214.  
  2215.        Filenames of Orphans appear only in the other reports when the
  2216.        FileList statement explicitly specifies the Hidden privilege.
  2217.  
  2218.  
  2219.  
  2220.     7.3 MAIN DATA ORGANISATION
  2221.  
  2222.  
  2223.  
  2224.     7.3.1 AREA AND FILE INFORMATION
  2225.  
  2226.     Data structure for access to file information via:
  2227.  
  2228.     1. array of file-pointers (for file-sort!)
  2229.     2. pointerchain in file-info structures
  2230.     3. file structure contains pointer to file-description
  2231.     4. file-structure contains pointer to area-information
  2232.     5. Array of area-information
  2233.  
  2234.     The organisation is shown in the following figure.
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.     
  2244.                                                               Internals  33
  2245.  
  2246.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2247.     
  2248.     
  2249.     
  2250.  
  2251.     ┌──────┐
  2252.     │  dm  │
  2253.     └──────┘
  2254.         │         Array of pointers to structures with file info
  2255.         │      ┌───────────┬────────────┬───────────── . . . ──────┐
  2256.     (1) └─────>│ *file[0]  │  *file[1]  │ *file[2]                 │
  2257.                └───────────┴────────────┴───────────── . . . ──────┘
  2258.                      │           │            │
  2259.     (2)              v           v            v
  2260.     ┌──────┐     ┌──────┐     ┌──────┐     ┌──────┐
  2261.     │  ca  │ ──> │ next │ ──> │ next │ ──> │ next │ ──> . . .
  2262.     └──────┘     ├──────┤     ├──────┤     ├──────┤
  2263.      (first-     │ file-│     │ file-│     │ file-│
  2264.      element)    │ info │     │ info │     │ info │    . . .
  2265.                  │ [0]  │     │ [1]  │     │ [2]  │
  2266.                  └──────┘     └──────┘     └──────┘
  2267.                      │ │         │  │wildcards│ │
  2268.                      │ └──┐      │  └──┐      │ │
  2269.                      │    │      │ ┌──────────┘ │
  2270.     (3)              v    │      v v   │ ┌──────┘
  2271.                  ┌──────┐ │   ┌──────┐ │ │
  2272.                  │file- │ │   │file- │ │ │(files of
  2273.                  │descr │ │   │descr │ │ │ same area)   . . .
  2274.                  └──────┘ │   └──────┘ │ │
  2275.                           │            │ │
  2276.     (4)                   v            v v
  2277.                   ┌────────────┬─────────────┬──────── . . . ──────┐
  2278.     (5) ┌────────>│  area[0]   │   area[1]   │                     │
  2279.         │         └────────────┴─────────────┴──────── . . . ──────┘
  2280.         │              array of structures of area information
  2281.     ┌──────┐
  2282.     │ area │
  2283.     └──────┘
  2284.  
  2285.     Schematic overview of Downsort's in-storage database.
  2286.  
  2287.     Note: The area-array cannot be sorted itself: this would invalidate the
  2288.     pointers in the file-information records!
  2289.  
  2290.  
  2291.     7.3.2 BLOCK FONTS
  2292.  
  2293.     The block character image is basically a 10x7 matrix (10 vertical and 7
  2294.     horizontal 'pixels').  The pixel-array takes two rows at a time, so
  2295.     that each character can be represented with 5 rows of 7 horizontal
  2296.     'double-pixels'.  Each pixel is displayed as a solid block.
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.     
  2307.                                                               Internals  34
  2308.  
  2309.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2310.     
  2311.     
  2312.     
  2313.              1 2 3 4 5 6 7
  2314.             ┌─┬─┬─┬─┬─┬─┬─┐
  2315.             │-│-│-│-│-│-│-│   line 1    (lower + upper)
  2316.             ├─┼─┼─┼─┼─┼─┼─┤
  2317.             │-│-│-│-│-│-│-│        2    (lower + upper)
  2318.             ├─┼─┼─┼─┼─┼─┼─┤
  2319.             │-│-│-│-│-│-│-│        3    (lower + upper)
  2320.             ├─┼─┼─┼─┼─┼─┼─┤
  2321.             │-│-│-│-│-│-│-│        4    (lower + upper)
  2322.             ├─┼─┼─┼─┼─┼─┼─┤
  2323.             │-│-│-│-│-│-│-│        5    (lower + upper)
  2324.             └─┴─┴─┴─┴─┴─┴─┘
  2325.  
  2326.     Each line is represented by a structure of seven 3-bit fields Each
  2327.     3-bit field represents a basic element:
  2328.  
  2329.      value    char       description
  2330.        0                 (blank)
  2331.        1     &BOXBOT.           lower half
  2332.        2       &BOXTOP.         upper half
  2333.        3         &BOX.       lower+upper halves
  2334.        4       &box34.         gray pattern
  2335.        5     &BOXLEFT.           left part of upper and lower half
  2336.        6       &BOXRIGHT.         right part of upper and lower half
  2337.        7         &box14.       gray pattern
  2338.        8      &box12.          gray pattern for not-supported characters
  2339.  
  2340.     The pitch is variable ('proportional font': a variable number of
  2341.     horizontal pixels).  Four fonts are provided with different
  2342.     character-image and size:
  2343.  
  2344.     1. 6x5 (three lines of max 5 characters)
  2345.     2. 10x7 (five lines of max 7 characters)
  2346.     3. 8x7 (four lines of max 7 characters)
  2347.     4. 10x7 (reverse video image of the 8x7 font)
  2348.  
  2349.     The following characters are supported in block-fonts:
  2350.  
  2351.        UPPER case  A..Z
  2352.        LOWER case  a..z  (but will be presented in UPPER case)
  2353.        Digits 0..9
  2354.        _  *  |  .  [  ]  (  )  /  \  -  and space
  2355.        Not-supported characters are displayed as space.
  2356.        The '~'-character (tilde) represents a full width space,
  2357.        the '`'-character (reverse quote) a half width space.
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.     
  2370.                                                               Internals  35
  2371.  
  2372.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2373.     
  2374.     
  2375.     
  2376.     APPENDIX A.  HISTORY OF CHANGES
  2377.  
  2378.     The paragraphs below show a brief history of changes in Downsort.
  2379.  
  2380.     Downsort for MAXIMUS CBCS was developed from an OPUS equivalent (by the
  2381.     same author).  The name 'Downsort' has been maintained, to prevent
  2382.     confusion, the version number is inherited (the last version for OPUS
  2383.     was 3.1).
  2384.  
  2385.  
  2386.     8.1 VERSION 6.1
  2387.  
  2388.     Note: This version is still designed for Maximus version 2.0, but is
  2389.     MAX 3.00 aware and will run safely under MAX 3.00.  If you have
  2390.     migrated to MAX 3.0, run SILT[P] with the -2s option to generate the
  2391.     MAX 2.0 compatible AREA.DAT file in addition to the regular MAX 3
  2392.     control files.
  2393.  
  2394.     See also the commentlines marked '6.1' in Downsort.Cfg, and read the
  2395.     warning at the end of this paragraph!
  2396.  
  2397.     ■  When errors occur while re-building an existing FILES.BBS file, the
  2398.        backup file (created by Downsort) will be restored by Downsort
  2399.        itself.
  2400.     ■  Downsort will create a 'semaphore' file DOWNSORT.BSY in the current
  2401.        directory at start-up and removes it just before termination.  Other
  2402.        processes may test the existence of this file.  For example you
  2403.        might put a check in a Maximus menu to decide not to enter the
  2404.        file-menu while Downsort is running and possibly updating FILES.BBS.
  2405.        Or you may avoid running more than 1 copy of Downsort at the same
  2406.        time.  Downsort itself does not check on the semaphore file!
  2407.     ■  USRmodel specification changes:
  2408.        ∙  USRmodel statement should specify a name only
  2409.        ∙  The line immediately following it is taken as the model-string
  2410.        ∙  USRFileList should now specify the name of the USRmodel with -U
  2411.           option
  2412.     ■  USRFileLIst extended with '%$' (file privilege), '%L' (file Lock
  2413.        string) and '%N' (download count, if present in format of '[nnn]' in
  2414.        file description) and '%Z' (last-access date)
  2415.     ■  Dates will now always have 8 characters (leading space-character is
  2416.        now a leading zero).
  2417.  
  2418.        Multiple 'Title'-lines may now be specified for multi-line BLOCK
  2419.        titles.
  2420.     ■  Orphan files were always adopted in FILES.BBS, but listed after a
  2421.        ^PS line (files after that line had SYSOP privilege).  This feature
  2422.        of Downsort has changed on popular demand:
  2423.        ∙  Orphans will not be added to FILES.BBS anymore by default.
  2424.           Specify the new '/O' ('Orphan-adoption') flag on FILFilePath line
  2425.           to have orphans added to FILES.BBS (=adoption!) like before.
  2426.        ∙  A line with '^PS' will not be inserted anymore in front of
  2427.           orphan-lines.  This prevents that entries which are added to the
  2428.           bottom of FILES.BBS by other programs (e.g. TICK) will
  2429.           incorrectly be marked as SYSOP-only files.  But if Downsort
  2430.           inserts orphans (if you use the /O-switch), it will be at the end
  2431.  
  2432.     
  2433.                                         Appendix A.  History of changes  36
  2434.  
  2435.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2436.     
  2437.     
  2438.     
  2439.           of Files.Bbs, and therefore orphans will obtain the privilege of
  2440.           the 'regular' files at the end of Files.Bbs, which might be
  2441.           higher than the area-privilege.
  2442.     ■  ALLFileList will contain a formfeed for the Summary report.  A REXX
  2443.        procedure 'SPLITSUM.CMD' is provided to extract the summary report
  2444.        from this list.
  2445.     ■  For FidoNet nodes only, betatest versions of Downsort are now
  2446.        available by file request from 2:281/732.  See the section
  2447.        "Availability" in Downsort.Doc for details.
  2448.     ■  Bug fixes:
  2449.        ∙  No more 'split' line with privilege/lock in FILES.BBS with long
  2450.           area-names.
  2451.        ∙  Total bytecounts exceeding 4 GB will be reported now correctly.
  2452.        ∙  The /R option for FILFilePath will now also remove entries in
  2453.           FILES.BBS of areas without downloadable files.
  2454.        ∙  %P in USRmodel will now substitute the explicit path of those
  2455.           files that have a path specification in FILES.BBS (in stead of
  2456.           the path of the download directory).
  2457.        ∙  Some 'cosmetic' improvements like the version number of Warp,
  2458.           which will now correctly be reported as 3.0 (in stead of 2.30).
  2459.  
  2460.     WARNING: This version is planned to be the last version of Downsort
  2461.     that:
  2462.  
  2463.     1. will run under OS/2 1.x.  A 32-bit OS/2 2.00+ only and a DOS-only
  2464.        version will be distributed.
  2465.     2. will support MAX 2.0 (the next version will only support MAX 3.00+).
  2466.     3. will support EMI-, OK-, and IPF- (the OS/2 1.x variant) FileLists.
  2467.        I think these variants are obsolete.  The OKfile, if anyone may
  2468.        still use it, can easily be built with USRFileList, the current
  2469.        Downsort.Cfg contains already an example.  So for this type of list
  2470.        you could already convert today!
  2471.  
  2472.     This is a PLAN!  Please signal me if you expect to become victim of an
  2473.     undesired change!
  2474.  
  2475.  
  2476.     8.2 VERSION 6.0
  2477.  
  2478.     This version contains some major enhancements and extensions.  With the
  2479.     change of the major version number I permitted myself some minor
  2480.     incompatibilities with previous versions!
  2481.  
  2482.     ■  Some filenames changed towards OS/2 2.1 as default operating system.
  2483.  
  2484.        description       oper_sys     old filename    new filename
  2485.        ────────────────  ────────     ────────────    ────────────
  2486.        Downsort 32-bits  OS/2 2.0+    DOWN386.EXE     DOWNSORT.EXE
  2487.        Downsort 16-bits  DOS+OS/2     DOWNSORT.EXE    DOWNSRT1.EXE
  2488.        Icon-file         OS/2 2.0+    DOWN386.ICO     DOWNSORT.ICO
  2489.        Hpfsdate 32-bits  OS/2 2.0+    HPFSD386.EXE    HPFSDATE.EXE
  2490.        Hpfsdate 16-bits  OS/2 1.3     HPFSDATE.EXE    HPFSDAT1.EXE
  2491.  
  2492.        But of course you may rename these modules for your own use as you
  2493.        like!
  2494.  
  2495.     
  2496.                                         Appendix A.  History of changes  37
  2497.  
  2498.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2499.     
  2500.     
  2501.     
  2502.     ■  Introduction of AREAGROUPs.  Definition of a group of areas as a
  2503.        logical entity.  The main purpose of this feature is to be able to
  2504.        generate an even larger variety of lists in a single run of
  2505.        Downsort.  The contents of each group is defined with areaIN/EXclude
  2506.        statements, individually and most likely different for each group.
  2507.        In any xxxFileList line you may select (-Sgroup) one of the defined
  2508.        groups to generate an xxxFileList for a 'special interest group'.
  2509.        Downsort does not collect file-data it won't need, such as from
  2510.        areas that will not appear in any list of a particular run.  The
  2511.        AreaGroup facility can be a relief for DOS-users that suffer from
  2512.        memory problems when large file collections are to be listed.
  2513.     ■  xxxFileList can and should(!) now specify complete filename.ext for
  2514.        every list.  A complete path may be specified, it must be an
  2515.        existing directory.  Beware of duplicate names, and of possible
  2516.        sharing violations when another program is accessing one of the
  2517.        outputfiles while Downsort is running: the output will then not be
  2518.        created.
  2519.     ■  Duplicate download filename detection can now be on (first)
  2520.        part of filename.  New keyword "DupNameSize" specifies number of
  2521.        significant characters.  The header of DUPFileList output shows now
  2522.        some of the parametersettings.
  2523.     ■  DUPFileList can now also be sorted on file-date or area, and within
  2524.        area on filename or FILES.BBS sequence ('keep').
  2525.     ■  Specifying a font does not have influence anymore on the appearance
  2526.        of areaheaders with the 'short' format (areanames of 3 characters or
  2527.        less) in ALL- and GBL-FileList, and output of FILFilePath).  This
  2528.        font is now (temporary?) hardcoded: Font 3.
  2529.     ■  Several changes to FILFilePath processing:
  2530.        ∙  FILFilePath should NOT specify a privilege parameter anymore!
  2531.        ∙  If FILFilePath specifies a path, the outputfiles will now always
  2532.           have the format "path\areaname.BBS" (the format "FILES.ac" has
  2533.           been abandoned).
  2534.        ∙  First 8 comment lines, if not a Downsort header, are not
  2535.           discarded aymore.  But beware: migrating from a version of
  2536.           Downsort older than 5.7 may result in pseudo duplicate headers!
  2537.        ∙  Multiple FILFilePath lines may be specified with individual
  2538.           parameters, most likely in combination with AreaGroup selection.
  2539.           Useful when you want FILES.BBS for some areas formatted
  2540.           differently than for other areas such as include file, sorting
  2541.           method, output path.  Beware not to specify 'overlapping' groups
  2542.           to prevent overwriting output of one FILFilePath by another.
  2543.        ∙  File entries in FILES.BBS of which the file is not found
  2544.           (reported by Downsort as 'offline') can now be removed from
  2545.           FILES.BBS with the '-R' flag on the FILFilePath report line.
  2546.           Removed entries will still be reported in other reports as
  2547.           'offline', but will disappear with the next run of Downsort.
  2548.     ■  A new list type 'USRFileList' has been added.  It is designed to
  2549.        build batch files with a user-specifiable 'model'-format.  File
  2550.        information can be inserted in this model via symbolic variables.
  2551.        Only existing files are listed, 'not-found' entries in FILES.BBS,
  2552.        commentlines and orphans are skipped.  With the USR-list Downsort
  2553.        offers a two-stage file maintenance: a build-phase and an
  2554.        execute-phase.  Consider the output of phase 1 as the 'advise'-list
  2555.        for phase-2.  You can modify the batch-file before executing it.
  2556.        See the bottom of the sample Downsort.Cfg for some more details.
  2557.  
  2558.     
  2559.                                         Appendix A.  History of changes  38
  2560.  
  2561.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2562.     
  2563.     
  2564.     
  2565.     ■  Program history removed from documentation of versions older than
  2566.        5.5.
  2567.     ■  Downsorts hardcode bottom-lines now report Operating System version
  2568.        sub-number in two digits (e.g. OS/2 2.11)
  2569.     ■  Bug fixes:
  2570.        ∙  IPFFileList and IP2FileList now really include user-file if
  2571.           specified!
  2572.        ∙  A large block of commentlines (containing more than 2 KBytes) in
  2573.           FILES.BBS does not cause a abnormal termination of Downsort
  2574.           anymore.
  2575.        ∙  Removed insertion of extraneous blank line in FILES.BBS and
  2576.           ALLFileList for empty areas.
  2577.        ∙  Sort on file-age now again correctly on most recent of Creation
  2578.           date and LastWrite date (was problem only with HPFS volumes).
  2579.        ∙  FileExclude statement now accepts really multiple strings on a
  2580.           line!
  2581.        ∙  Long OKFileList will now contain existing files only.
  2582.        ∙  Explicit path specifications in FILES.BBS will now be retained,
  2583.           even if the file could not be located (in which case the path was
  2584.           lost!).
  2585.        ∙  Keys/locks reported in header of FILES.BBS output with privilege.
  2586.     ■  A file search and copy utility 'UCOPY' has been added.  It relies on
  2587.        Downsort's long OKFileList, but otherwise it is a self-contained
  2588.        program.  Its main function is to offer a fast file search, select
  2589.        and copy.  It performs its task via a long OKfiles (one of the
  2590.        facilities of Downsort).  See the UCOPY.DOC in UCOPY.ZIP for more
  2591.        details.
  2592.     ■  The source will not be distributed anymore (lack of interest!).
  2593.  
  2594.  
  2595.  
  2596.     8.3 VERSION 5.9
  2597.  
  2598.     ■  Considerable changes in parameter specifications:
  2599.        ∙  Support of most commandline parameters removed!
  2600.        ∙  Support for keywords 'MaxNewFiles' and 'TitleFont' in
  2601.           Downsort.Cfg also removed: use xxxFileList for individual
  2602.           specifications for each list.
  2603.        ∙  Multiple 'xxxFileList' lines in Downsort.Cfg are supported now:
  2604.           -  You may now specify as many xxxFileLists with the same(!) or
  2605.              different list types as you need.
  2606.           -  Each xxxFileList, regardless of same or different list, will
  2607.              generate one and only one list according to its own set of
  2608.              parameters.
  2609.           -  Only a single privilege is now accepted per xxxFileList line,
  2610.              but this may now be accompanied by 'userkeys'; specification
  2611.              in the form: p/kkk.
  2612.        ∙  File sort sequence (GROUP-sort) added for NEWFileList: primary
  2613.           sort on area, then on filename.  Each group will be preceeded in
  2614.           the list by a line with areaname and description.  GROUP-sort
  2615.           works also for ORPHAN-lists, but is for all other lists synonym
  2616.           with ALPHA.
  2617.     ■  The contents of ALLFileList can now be limited by file-age, so it
  2618.        can be called a NEWFileList in the format of ALLFileList or vice
  2619.        versa.  But the SUMMARY-report ignores the file age limitation!
  2620.  
  2621.     
  2622.                                         Appendix A.  History of changes  39
  2623.  
  2624.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2625.     
  2626.     
  2627.     
  2628.     ■  FILES.BBS-files will be (re-)generated also when area does not
  2629.        contain any files.
  2630.     ■  Full support of Maximus' key/lock mechanism for filearea selection.
  2631.        Key-characters follow the xxxFileList privilege, separated with a
  2632.        slash, exactly the same as the area privilege specification in
  2633.        MAX.CTL.  The privilege line in area heading will now also show the
  2634.        arealocks.
  2635.     ■  With the new keyword 'FileEXclude' you can define filespecs (with
  2636.        wildcards) of files which should not appear in any list.
  2637.     ■  Tired of the complaints about specification limits, I removed most
  2638.        of these.  For example now unlimited number of title-lines,
  2639.        areaIN/EXclude strings, non-duplicate file extensions, xxxFileList
  2640.        lines, etc.
  2641.     ■  AreaINclude and AreaEXclude can now be used simultaneously.
  2642.     ■  Files with 'future' date will be excluded from NEW-, BBS- and
  2643.        EMI-lists (special feature for certain CDROMs!).
  2644.     ■  All block fonts now support same characterset (fonts 3 and 4 have
  2645.        been extended with the characters supported in fonts 1 and 2), and
  2646.        specification of block-font parameter now honored in all lists.
  2647.        Default font for all lists changed to 3.
  2648.     ■  Performance improvements with sorts on filedate, and during
  2649.        directory scan (the latter only of 32-bits version).
  2650.     ■  bugfixes:
  2651.        ∙  Filedates beyond 2037(!) could cause empty BBS-, NEW- and
  2652.           EMI-FileLists.
  2653.        ∙  No 'duplicates' with only case differences in short OKList
  2654.           anymore.
  2655.     ■  Downsort's companion program HPFSDATE (and the 32-bits version
  2656.        HPFS386) can now reset the creationdate of files also in other than
  2657.        current working directory.
  2658.  
  2659.  
  2660.  
  2661.     8.4 VERSION 5.8
  2662.  
  2663.     ■  Now an 'unlimited' number of files is supported, dependent only of
  2664.        available memory (virtual memory with OS/2!).  Limit was 16350
  2665.        files!
  2666.     ■  Continuation lines of file descriptions can now be indented, for
  2667.        example to align text when download counter fields are used in the
  2668.        description.  See Sample Downsort.Cfg file for details.
  2669.     ■  All filenames now translated to upper case and also reported in
  2670.        upper case in the lists.
  2671.     ■  Downsort's FILES.BBS 'header prefix' slightly changed for better
  2672.        screen presentation to online Maximus users.
  2673.     ■  Some cosmetic improvements in IPF-lists.
  2674.     ■  File size now reported in max 4 digits: KBytes or MBytes, depending
  2675.        on size, except in overviews.
  2676.     ■  Bug fixes:
  2677.        ∙  Several problems with 32-bits version related to occurances of
  2678.           filenames with lower case characters solved by translating
  2679.           filenames to upper case.
  2680.        ∙  Continuation lines in BBS-list will have now required
  2681.           privilege-prefix!
  2682.        ∙  Comments from FILES.BBS now correctly and completely represented
  2683.  
  2684.     
  2685.                                         Appendix A.  History of changes  40
  2686.  
  2687.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2688.     
  2689.     
  2690.     
  2691.           in ALL-list, even with AVAstrip active.
  2692.        ∙  Explicit path specifications in FILES.BBS work now correctly.
  2693.  
  2694.     Note: This will be the last version with 'extended' commandline
  2695.     parameters.  List specification parameters will disappear,
  2696.     specification of a configuration file and some others, like 'run
  2697.     quiet/verbose', will remain.
  2698.  
  2699.  
  2700.     8.5 VERSION 5.7
  2701.  
  2702.     ■  A 32-bit version (OS/2 2.0+ only) added to runtime package, no
  2703.        functional differences with the family version.
  2704.     ■  ICON file DOWN386.ICO added for the 32-bit version of Downsort.
  2705.     ■  Long areanames (8 characters) are now supported in all reports.
  2706.     ■  Changed naming convention of 'FILES.BBS' output files when areas
  2707.        with 'long' (more than 3 character) names are used.
  2708.     ■  The "FILES.BBS"-type of output (selected with FILFilePath in
  2709.        Downsort.Cfg) now produces a slightly different header.  Downsort
  2710.        recognises its own header and an included-file without
  2711.        'multiplication'-effects.
  2712.     ■  Explicit path specifications of files in FILES.BBS are now
  2713.        supported.  As a consequence:
  2714.        ∙  The long format of OK-FileList will contain this explicit path in
  2715.           stead of the filearea path.
  2716.        ∙  It seems more appropriate to list the pathspec in the
  2717.           DUP-FileList rather than the file description.
  2718.        Generic filenames (wildcard specifications) are NOT supported
  2719.        (yet)!
  2720.     ■  File size and date can be included in FILES.BBS output with the '-L'
  2721.        option on the FILFilePath line in Downsort.Cfg.
  2722.     ■  A new keyword 'NonDupEXT' allows suppression of reporting a file as
  2723.        'duplicate' when it is a member of a pair of files with specified
  2724.        extensions.  Example xyz.SDN and xyz.SDA can be excluded from
  2725.        DupFileList.
  2726.     ■  Doc-file now also included as provisional .INF file for OS/2 VIEW.
  2727.     ■  Improved Avatar stripping.
  2728.     ■  Bug fix for long 'new'-filelist periods (>32000 days).
  2729.     ■  Separation between progress signals (stdout) and error messages
  2730.        (stderr) and other 'internal' changes:
  2731.     ■  Preparations made to remove most commandline parameters.  It has
  2732.        been redundant for a long time.  Every Downsort specification on the
  2733.        commandline can also be made via Downsort.Cfg.  Exception:
  2734.        Specification of a configuration file will remain possible!  Good
  2735.        arguments may change this intention, so please object if I am
  2736.        overlooking something.
  2737.  
  2738.  
  2739.  
  2740.     8.6 VERSION 5.6
  2741.  
  2742.     ■  In stead of the regular OKFile format (path\*.*), there is now also
  2743.        an option (/L) to produce a LONG format of the OKFile, containing
  2744.        explicitly all files within privilege with complete
  2745.        file-specification (path\filename.ext).  Useful for file-requests at
  2746.  
  2747.     
  2748.                                         Appendix A.  History of changes  41
  2749.  
  2750.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2751.     
  2752.     
  2753.     
  2754.        systems with large directories, and especially with CDROM's.  With
  2755.        this option in effect, the *.* entries will not be generated, so
  2756.        file requests are only honored with EXACT filenames: wildcard
  2757.        specifications do not work anymore!
  2758.     ■  Improved display of long areanames (>3 char) in ALL- and IPF-lists.
  2759.     ■  Avatar codes may be stripped from comment lines in reports.
  2760.     ■  Missing include-files are now only reported when running Downsort in
  2761.        -V(erbose) mode.
  2762.     ■  Some bug fixes (some of them causing Trap 000D under OS/2):
  2763.        ∙  If 'downsort.cfg' not found, return code 2 is reported, and
  2764.           downsort.cfg now closed at end of file.
  2765.        ∙  Output of FILES.BBS could be erraneous when also IP2-list
  2766.           selected.
  2767.        ∙  Limit of 217 active areas now relieved (this limit was not
  2768.           documented!).
  2769.        ∙  Improved handling of parameters of FILFilePath-line in the sample
  2770.           Downsort.Cfg file.  Also the explanatory comments are revised.
  2771.     ■  '-'-character now precedes the formfeed character in newly created
  2772.        FILES.BBS files (version 5.6h+).
  2773.     ■  Downsort source is now compilable with IBM C-Set/2 compiler and IBM
  2774.        OS/2 2.0 toolkit to obtain a real 32-bit version for OS/2 2.0+.
  2775.  
  2776.  
  2777.  
  2778.     8.7 VERSION 5.5
  2779.  
  2780.     ■  Finally(!) a sort capability for area-sequence.  Areas can now be
  2781.        presented in order of AREA.DAT ('K'eep original sequence), sorted on
  2782.        areaname ('A'lphabetically), sorted in alphanumeric ('G'roup)
  2783.        sequence or in order of areaINclude ('I').  The group-sequence is
  2784.        useful with a popular naming convention whereby the areaname starts
  2785.        with one or more letters followed by one or more digits.  Names
  2786.        starting with a digit will be sorted as if it were all numeric, and
  2787.        will be sorted accordingly.
  2788.     ■  NEW-, BBS-list and EMI-list (see below) can now also be limited in
  2789.        length by file-age (period specification in number of Days, Weeks or
  2790.        Months).
  2791.     ■  A new list-type introduced: EMI-list (new file EMIsions).  I is a
  2792.        simple list, comparable to NEW-list.  It has a more compact format,
  2793.        and gives also file-time and the file-size (in exact bytes).  It is
  2794.        especially useful to generate messages with file arrivals over the
  2795.        last period (in combination with a period specification).
  2796.     ■  Readability improvements in IP2-list.
  2797.     ■  Documentation extended with sample output for new users of Downsort.
  2798.     ■  Some bug-fixes:
  2799.        ∙  Compares of path- and area-names now case INdependent
  2800.        ∙  Memory allocation error during collection of comments in
  2801.           FILES.BBS
  2802.        ∙  Index out-of-range in report preparation phase
  2803.        ∙  Processing of /K-option for areas with FILES.BBS but otherwise
  2804.           empty.
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.     
  2811.                                         Appendix A.  History of changes  42
  2812.  
  2813.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2814.     
  2815.     
  2816.     
  2817.     APPENDIX B.  WORLD-WIDE USE OF DOWNSORT
  2818.  
  2819.     PC-Square may be considered as the home-base of Downsort.  The most
  2820.     recent version is always available there and requestable with the magic
  2821.     name DOWNSORT (file-requests honoured between 07:00 and 24:00 LOCAL
  2822.   | time).
  2823.  
  2824.   | Beta testers can obtain the latest test-version by file-request of
  2825.   | magic name DOWNBETA from my "digiThalys"-BBS, Fidonet 2:281/732, daily
  2826.   | between 18:00 and 02:30 local time (Apr-Sep UTC 16:00-00:30, Oct-Mar
  2827.   | 17:00-01:30).  Only available if your system is in the FidoNet
  2828.   | Nodelist!
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.     
  2874.                                 Appendix B.  World-wide use of Downsort  43
  2875.  
  2876.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2877.     
  2878.     
  2879.     
  2880.     PC-Square               Lody Caenen           Koog aan de Zaan, Netherlands
  2881.     2:280/804                                       31.75.175560
  2882.  
  2883.     Among many others, the following SYSOPs have reported running Downsort
  2884.     to make file collection lists for their users, and have a recent version
  2885.     available for download or file-request.
  2886.  
  2887.     Edlund's Point          Rolf Edlund           Varberg, Sweden
  2888.     2:203/302.13                                  46-340-20085
  2889.  
  2890.     Paradigmus Maximus      John Taylor           London, UK
  2891.     2:254/1                                       44-81-566-5393
  2892.  
  2893.     ChaOs/2                 Julien Pierre         St Remy les Chevreuse, France
  2894.     2:320/0                                       33-1-30472762
  2895.  
  2896.     Runnin' with the Devil  Stefano Sonzogni      Treviglio BG, Italy
  2897.     2:331/205                                     39-363-303567
  2898.  
  2899.     Enchufe BBS             Santiago Crespo       Madrid, Spain
  2900.     2:341/24                                      34-1-5477210
  2901.  
  2902.     I.C.S.-BBS              Mario Lermite         Mechelen, Belgium
  2903.     2:292/505                                     32-15-202347
  2904.  
  2905.     Fernwood                Emmitt Dove           Branford CT, USA
  2906.     1:141/109                                     1-203-483-0348
  2907.  
  2908.     The Planet Earth        Joel Lambert          Bridgeport CT, USA
  2909.     1:141/455                                     1-203-335-7742
  2910.  
  2911.     OS/2 Shareware          Pete Norloff          Fairfax VA, USA
  2912.     1:109/347                                     1-703-385-4325
  2913.  
  2914.     Singing Bear            John Tarbox           Wilmington DE, USA
  2915.     1:150/130                                     1-302-984-2238
  2916.  
  2917.     The Choice BBS          Mark Woolworth        Las Vegas NV, USA
  2918.     1:209/710                                     1-702-253-6527
  2919.  
  2920.     The Hub                 John Dierdorf         Austin TX, USA
  2921.     1:382/1201
  2922.  
  2923.     La Jungle BBS           Stephane Seguin       Quebec, Canada
  2924.     1:163/116                                     1-819-595-4917
  2925.  
  2926.     K-W Amateur Radio BBS   Fred Hicks            Kitchener, ON, Canada
  2927.     1:221/177                                     1-519-578-9314
  2928.  
  2929.     Bob's Bored/2           Robert Ensing         Hamilton, ON, Canada
  2930.     1:244/440                                     1-905-318-8800
  2931.  
  2932.     Kariko BS-BBS           Kari Suomelog         North York, ON, Canada
  2933.     1:250/120                                     1-416-502-3611
  2934.  
  2935.  
  2936.     
  2937.                                 Appendix B.  World-wide use of Downsort  44
  2938.  
  2939.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  2940.     
  2941.     
  2942.     
  2943.     3M Australia            Graham Stair          Pymble, NSW Australia
  2944.     3:711/409                                     61-2-498-9184
  2945.  
  2946.     Serendipity Inc         Poe Lim               Cowra, NSW Australia
  2947.     3:623/630                                     61-63-41-1859
  2948.  
  2949.     IBM NZ Ltd Gate         Terry Bowden          Auckland, New Zealand
  2950.     3:772/20                                      64-9-358-8635
  2951.  
  2952.     I have received reports from others.  Too many for this list, which is
  2953.     just meant to point to a system in your neighbourhood(?).  You may
  2954.     either logon to one of these boards, or perform a file-request of
  2955.     'FILES' or 'ALLFILES' to get an impression of Downsort's capabilities.
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.     
  3000.                                 Appendix B.  World-wide use of Downsort  45
  3001.  
  3002.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3003.     
  3004.     
  3005.     
  3006.     APPENDIX C.  SAMPLE LISTS
  3007.  
  3008.     Below follow a number of samples of list layouts and contents.  Not
  3009.     shown are the BBS-, and IPF-lists, since these are screen- rather than
  3010.     paper-oriented, with their specific formatting and color settings.
  3011.  
  3012.     The dates and sizes in these lists have been manipulated!
  3013.  
  3014.  
  3015.     10.1 ALL-LIST
  3016.  
  3017.  
  3018.     ═══════════════════════════════════════════════════════════════════════════════
  3019.      █▀▀▀▀▀▀   █  ║ OS/2 - Fernwood - New Acquisitions
  3020.      █▄▄▄▄▄   ▄█  ║ Available: 143 files (0.0 MB)
  3021.      ██       ██  ║ Privilege: Disgrace/ABCD
  3022.      ██       ██  ║ Newest: XLIST233.ZIP  3-22-91  (avail:  7-26-91)
  3023.     ───────────────────────────────────────────────────────────────────────────────
  3024.     Filename      Size   Date    Description
  3025.     ──────────── ───── ───────── ──────────────────────────────────────────────────
  3026.     AAFONTS.ZIP     1K  3-22-91  Text from IBM regarding Anti-aliased Fonts.
  3027.     AFP_120.LZH     1K  3-22-91  Areafix 1.2 for OS/2.  Permits systems that do
  3028.                                  echomail with yours to change their complement of
  3029.                                  areas independently.
  3030.  
  3031.  
  3032.  
  3033.     10.2 GBL-LIST
  3034.  
  3035.  
  3036.     (Sun Jan 05 15:05) Available: 508 files (0 MB)
  3037.                        Maximum privilege shown: Sysop
  3038.                        Newest: BIGBRO.ZIP  3-22-91 (avail:  7-26-91)
  3039.                        Date flag: new on this system since: * = 1 week, + = 1 month
  3040.  
  3041.     Filename       Area    Size   Date    Description
  3042.     ──────────── ──────── ───── ───────── ─────────────────────────────────────────
  3043.     2COLDIR.ZIP  F3          1K  3-22-91  DoubleDir for OS/2
  3044.     2MONITOR.ZI  F4          1K  3-22-91  Source and .EXE for running 2 monitors.
  3045.  
  3046.  
  3047.  
  3048.     10.3 NEW-LIST
  3049.  
  3050.  
  3051.  
  3052.  
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.     
  3063.                                               Appendix C.  Sample Lists  46
  3064.  
  3065.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3066.     
  3067.     
  3068.     
  3069.  
  3070.     (Sun Jan 05 16:14) Last 10 months newest of a total of 508 files (0 MB)
  3071.                        Maximum privilege shown: Sysop
  3072.                        Newest: BIGBRO.ZIP dd  3-22-91 (avail:  7-26-91)
  3073.                        Date flag: new on this system since: * = 1 week, + = 1 month
  3074.  
  3075.     Filename       Area    Size   Date    Description
  3076.     ──────────── ──────── ───── ───────── ─────────────────────────────────────────
  3077.     2COLDIR.ZIP  F3          1K  3-22-91  DoubleDir for OS/2
  3078.     2MONITOR.ZIP F4          1K  3-22-91  Source and .EXE for running 2 monitors.
  3079.     8514.PAT     F4          1K  3-22-91  Patch to get 32x32 icons on 8514/a
  3080.  
  3081.  
  3082.  
  3083.     10.4 EMI-LIST
  3084.  
  3085.  
  3086.     (Tue Jan 14 21:55) Last 44 weeks newest emissions
  3087.  
  3088.     --Filename-- --Date--  -Time-  -Bytes-  ---Description---
  3089.     DUMMY.DAT    10-11-91   9:45p       31  Dummy file for Downsort tests +
  3090.                  continuation line
  3091.     PSOS2.ZIP     3-22-91  11:46p        2  View OS/2 Information on PM like
  3092.                  Threads & Process, Memory used, and more.
  3093.  
  3094.  
  3095.  
  3096.     10.5 FILES.BBS
  3097.  
  3098.  
  3099.     - █▀▀▀▀▀▀   █  ║ OS/2 - Fernwood - New Acquisitions
  3100.     - █▄▄▄▄▄   ▄█  ║ Available: 143 files (0.0 MB)
  3101.     - ██       ██  ║ Privilege: Disgrace/ABCD
  3102.     - ██       ██  ║ Newest: XLIST233.ZIP  3-22-91 (avail:  7-26-91)
  3103.     -──────────────────────────────────────────────────────────────────────────────
  3104.     -Filename      Size    Date     Description
  3105.     -─────────── ─────── ───────── ────────────────────────────────────────────────
  3106.     AAFONTS.ZIP   Text from IBM regarding Anti-aliased Fonts.
  3107.     AFP_120.LZH   Areafix 1.2 for OS/2.  Permits systems that do echomail . . . .
  3108.  
  3109.     Note: File date and size are provided dynamically by Maximus CBCS!
  3110.  
  3111.  
  3112.     10.6 OKFILE
  3113.  
  3114.  
  3115.  
  3116.     10.6.1 SHORT FORMAT (DEFAULT)
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.     
  3126.                                               Appendix C.  Sample Lists  47
  3127.  
  3128.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3129.     
  3130.     
  3131.     
  3132.     @files G:\File\File01\allfiles.zip
  3133.     @avail G:\File\File01\allfiles.zip
  3134.     @newfiles G:\File\File01\newfiles.zip
  3135.     G:\File\Fernwood\*.*
  3136.     G:\File\Max\*.*
  3137.  
  3138.  
  3139.  
  3140.     10.6.2 LONG FORMAT (-L)
  3141.  
  3142.     @files G:\File\File01\allfiles.zip
  3143.     @avail G:\File\File01\allfiles.zip
  3144.     @newfiles G:\File\File01\newfiles.zip
  3145.     @DWNSRT55.ZIP G:\File\Fernwood\DWNSRT55.ZIP
  3146.     @DWNSRT56.ZIP G:\File\Fernwood\DWNSRT56.ZIP
  3147.     @MAXSRT10.ZIP G:\File\Max\MAXSRT10.ZIP
  3148.     @MAXSRT11.ZIP G:\File\Max\MAXSRT11.ZIP
  3149.  
  3150.  
  3151.  
  3152.     10.7 ORPHAN LIST
  3153.  
  3154.  
  3155.     ═══════════════════════════════════════════════════════════════════════════════
  3156.       Area    Filename      Date    FilePath
  3157.     ──────── ──────────── ───────── ───────────────────────────────────────────────
  3158.     F1       123R3UPD.ZIP  3-22-91  G:\File\Fernwood\
  3159.     F1       4019DRVR.ZIP  3-22-91  G:\File\Fernwood\
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.     
  3189.                                               Appendix C.  Sample Lists  48
  3190.  
  3191.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3192.     
  3193.     
  3194.     
  3195.     APPENDIX D.  SAMPLE CONFIGURATION FILE
  3196.  
  3197.     ;
  3198.     ;      ██▐███   █▐███  ██   ██ ██▐███ ██▐████  █▐███  ██▐███  ██▐████
  3199.     ;      ██   ██ ██   ██ ██   ██ ██  ██ ██      ██   ██ ██   ██   ▐██
  3200.     ;      ██   ██ ██   ██ ██ █ ██ ██  ██ ██▐████ ██   ██ ██▐███    ▐██
  3201.     ;      ██   ██ ██   ██ ██ █ ██ ██  ██      ██ ██   ██ ██ █      ▐██
  3202.     ;      ██▐███   █▐███   █▐███  ██  ██ ██▐████  █▐███  ██  ██    ▐██
  3203.     ;                                                                  (font 2)
  3204.     ;
  3205.     ;
  3206.     ; ▄▀▀▀▄ ▄▀▀▀▄ █▄  █ █▀▀▀▀ ▀█▀ ▄▀▀▀▄ █   █ █▀▀▀▄ ▄▀▀▀▄ ▀▀█▀▀ ▀█▀ ▄▀▀▀▄ █▄  █
  3207.     ; █     █   █ █▀█▄█ █▄▄    █  █  ▄▄ █   █ █▄▄▄▀ █▄▄▄█   █    █  █   █ █ ▀▄█
  3208.     ; ▀▄▄▄▀ ▀▄▄▄▀ █  ▀█ █     ▄█▄ ▀▄▄▄▀ ▀▄▄▄▀ █ ▀▄▄ █   █   █   ▄█▄ ▀▄▄▄▀ █   █
  3209.     ;                                                                  (font 1)
  3210.     ;
  3211.     ;
  3212.     ;                   █▀▀▀▀▀▀   █     █       █▀▀▀▀▀▀
  3213.     ;                   █▄▄▄▄▄▄   █▄    █▄      █▄▄▄▄▄▄
  3214.     ;                   ██        ██    ██      ██
  3215.     ;                   ██        ██    ██▄▄▄▄▄ ██▄▄▄▄▄
  3216.     ;                                                                  (font 3)
  3217.     ;                                            (font 4 is reverse video of 3)
  3218.     ;
  3219.     ;  ┌──────────────────────────────────────────────────────────────────────┐
  3220.     ;  │       Sample Configuration File for DOWNSORT by Rob Hamerling        │
  3221.     ;  └──────────────────────────────────────────────────────────────────────┘
  3222.     ;
  3223.     ;  Downsort is designed to make many lists in almost any combination
  3224.     ;  in a single run (with privilege, key/lock and areagroup selections).
  3225.     ;
  3226.     ;  Downsort can be invoked with a commandline parameter specifying another
  3227.     ;  than the default configuration filename, for example:
  3228.     ;
  3229.     ;         DOWNSORT @SPECIAL.CFG
  3230.     ;
  3231.     ;  (the '@' prefix denotes that a configuration filespec is following)
  3232.     ;
  3233.     ;
  3234.     ;  Rules for parameter specifications in a configuration file:
  3235.     ;  ===========================================================
  3236.     ;   - Leading blanks and empty lines are skipped.
  3237.     ;   - Lines with '%', '*' or ';' as first non-blank character are
  3238.     ;     considered to contain comments only and are skipped.
  3239.     ;   - Lines with a valid keyword but without any parameters, are also
  3240.     ;     considered to be comment lines and are skipped.
  3241.     ;   - Comments on parameter specification lines are not allowed.
  3242.     ;   - All parameters for a specific keyword should be on a single line.
  3243.     ;   - Of mutually exclusive values only the last will take effect.
  3244.     ;   - An asterisk (*) as parametervalue denotes default-value.
  3245.     ;   - Invalid or not-recognised parameters may be ignored without notice.
  3246.     ;
  3247.     ;  ───────────────────────────────────────────────────────────────────────
  3248.     ;  First the specifications for the data collection phase
  3249.     ;  ───────────────────────────────────────────────────────────────────────
  3250.  
  3251.     
  3252.                                  Appendix D.  Sample Configuration File  49
  3253.  
  3254.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3255.     
  3256.     
  3257.     
  3258.     ;
  3259.     ; AreaDat:     Complete file-specification of your 'AREA.DAT' file.
  3260.     ; -------      AREA.DAT is built by MAXIMUS' SILT(P) with -a or -x option.
  3261.     ;6.1           Users of Maximus version 3.00 should generated the version 2
  3262.     ;6.1           compatible AREA.DAT file with the SILT[P] option -2a !!!
  3263.  
  3264.       AreaDat      d:\maximus\area.dat
  3265.     ; AreaDat      g:\lody\max\area.dat
  3266.  
  3267.     ; AreaGroup    Defines the logical name of a group of areas for a list.
  3268.     ; ---------    AreaINclude and or areaEXclude statements following this
  3269.     ;              AreaGroup statement define the collection of area's for this
  3270.     ;              group (see AreaINclude and areaEXclude keywords).
  3271.     ;              A new AreaGroup closes the previous.
  3272.     ;              During data collection only required areas are processed.
  3273.     ;              Some directions on the use of AreaGroups:
  3274.     ;              - The groups are independent: areas may be member of more
  3275.     ;                than one group, other areas may not be in any group.
  3276.     ;              - Groups without any areaIN/EXcludes will include all areas.
  3277.     ;              - If at least one list doesn't specify an areagroup file info
  3278.     ;                of all area's is collected (but always listed).
  3279.     ;              - The examples give you just an idea how to handle groups,
  3280.     ;                the doc-file gives you more details.
  3281.  
  3282.     ; AreaINclude  Select areas to be INCLUDED in the group.
  3283.     ; AreaEXclude  Select areas to be EXCLUDED from the group.
  3284.     ; -----------  Normally (by default) ALL area's will be included,
  3285.     ;              unless you use one or both of these keywords.
  3286.     ;              Specify 1..8 character strings to indicate which areas have
  3287.     ;              to be INcluded or EXcluded explicitly. The strings are used
  3288.     ;              as PREFIX: all areanames starting with the same characters
  3289.     ;              will be IN- or EXcluded. The selection is case-insensitive.
  3290.     ;              You would normally use one of both keywords. However they
  3291.     ;              can be used simultaneously. But since the strings are used
  3292.     ;              as prefix this gives only meaningful results if the EXclude
  3293.     ;              strings are more selective than the INclude strings:
  3294.     ;              EXclude applies in that case only to INcluded area's!
  3295.     ;              You may specify multiple strings on a line (separate the
  3296.     ;              strings with one or more blanks), and as many lines as
  3297.     ;              needed.
  3298.     ;              Example: Suppose you have fileareas named HC000 to HC999.
  3299.     ;              Then the group HOBBES below would select the files from
  3300.     ;              areas HC000 to HC039, but NOT those ending with a '9'.
  3301.  
  3302.     ; AreaGroup  Locked
  3303.     ;    AreaINclude  2
  3304.       AreaGroup  Fernwood
  3305.          AreaINclude  FA FB FC FD FE FF FG F1 F2 F3 F4 F5 F6 F7 F8 F9
  3306.     ; AreaGroup  DOS
  3307.     ;    AreaEXclude  HC F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF FG
  3308.       AreaGroup  LOC
  3309.          AreaINclude  M
  3310.     ; AreaGroup  OS2
  3311.     ;    AreaINclude  O I
  3312.     ; AreaGroup  HOBBES
  3313.  
  3314.     
  3315.                                  Appendix D.  Sample Configuration File  50
  3316.  
  3317.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3318.     
  3319.     
  3320.     
  3321.     ;    AreaINclude  hc00  hc01  hc02  hc03
  3322.     ;    AreaEXclude  hc009 hc019 hc029 hc039
  3323.     ; AreaGroup  SDS
  3324.     ;    AreaINclude  SDS
  3325.     ; AreaGroup  NONSDS
  3326.     ;    AreaEXclude  SDS
  3327.  
  3328.  
  3329.     ; FileEXclude  Select FILES to be excluded from ALL(!) lists.
  3330.     ; -----------  By default all files in all (selected) areas will be
  3331.     ;              consifdered for inclusion, unless you use this keyword.
  3332.     ;              Specify 8.3 filename.ext type of strings, wildcards are
  3333.     ;              allowed and honored, don't use quotes.
  3334.     ;              The selection is case-insensitive and is independent of area.
  3335.     ;              You may specify multiple filespecs on a line. Separate the
  3336.     ;              strings with one or more blanks. Use as many lines as needed.
  3337.  
  3338.       FileExclude  FILES.*    *.BAK        SYSTEM*.?BS   DIR.?BS
  3339.       FileExclude  00INDEX.*  WILDCAT.TXT  DESCRIPT.ION  TEST
  3340.  
  3341.     ;  ───────────────────────────────────────────────────────────────────────
  3342.     ;  Above parameters involve the data collection (selection) process,
  3343.     ;  below follow the report specifications.
  3344.     ;  Firstly the global parameters that apply (mostly) to all reports:
  3345.     ;  ───────────────────────────────────────────────────────────────────────
  3346.  
  3347.     ; AreaOrder    Order in which areas have to be sorted.
  3348.     ;              Selection can be: K[eep]    - Keep order of AREA.DAT
  3349.     ;                                A[lpha]   - Alphabetic order of areaname
  3350.     ;                                G[roup]   - Group order
  3351.     ;                                I[nclude] - order of areaINclude (above)
  3352.     ;              Specify one of these orders (first letter is sufficient).
  3353.     ;              'Group'-order is a special sorting sequence for area names
  3354.     ;              consisting of a group of letters followed by digits.
  3355.     ;              See the documentation for details.
  3356.     ;              Default: Group-order (also with invalid specifications)
  3357.  
  3358.       AreaOrder    Group
  3359.  
  3360.     ;  Title:      Short string that will be displayed in BLOCK-characters
  3361.     ;  -----       on top of all FileLists (except BBS-list).
  3362.     ;              Not more than 20 characters are accepted as input.
  3363.     ;6.1           If Title isn't specified, no blocktitle will appear.
  3364.     ;6.1           An unlimited number of 'Title'-lines may be specified.
  3365.     ;              The following characters are supported in block-fonts:
  3366.     ;                  UPPER case  A..Z
  3367.     ;                  LOWER case  a..z  (but will be presented in UPPER case)
  3368.     ;                  Digits 0..9
  3369.     ;                  _  *  |  .  [  ]  (  )  /  \  -  and space
  3370.     ;              Not-supported characters are displayed as blank.
  3371.     ;6.1           The '`'-character (reverse quote) is translated into a half
  3372.     ;6.1           width space, the '~'-character into a full width space.
  3373.     ;6.1           Don't use imbedded '~'-characters in the tille when
  3374.     ;6.1           generating IPF/IP2-Filelists!!
  3375.  
  3376.  
  3377.     
  3378.                                  Appendix D.  Sample Configuration File  51
  3379.  
  3380.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3381.     
  3382.     
  3383.     
  3384.       Title        ~DownSort~
  3385.       Title        ~~~from~~~~
  3386.       Title        ~Holland~~
  3387.  
  3388.     ;  PreTitle    Lines to be displayed immediately before the BLOCK-title.
  3389.     ;  --------    The lines will be copied as is. However leading blanks will
  3390.     ;              be skipped, no wrapping or truncation will be applied for
  3391.     ;              'long' lines. '~' (tilde) characters are translated to
  3392.     ;              blanks. You may specify an unlimited number of PreTitle
  3393.     ;              lines. Empty PreTitle lines are ignored and not counted.
  3394.     ;              There is no default PreTitle.
  3395.     ;              To create empty lines in your header specify a PreTitle
  3396.     ;              with a tilde.
  3397.  
  3398.       PreTitle     ~
  3399.       PreTitle     ~~~~~~~<═════:═════ p r e - t i t l e ═════:═════>
  3400.       PreTitle     ~
  3401.  
  3402.     ;  SubTitle    Lines to be displayed immediately below the BLOCK-title.
  3403.     ;  --------    Exactly the same rules apply as for PreTitle.
  3404.     ;
  3405.  
  3406.       SubTitle     ~
  3407.       SubTitle     ~~~~~~~<═════&═════ s u b - t i t l e ═════&═════>
  3408.       SubTitle     ~  Overview of downloadable files on this magnificent Board
  3409.       SubTitle     ~     Node number 9.999/99, modemspeeds: V.99/V.99bis
  3410.       SubTitle     ~~~~~~~<═════════════════════════════════════════>
  3411.       SubTitle     ~
  3412.  
  3413.     ;  BottomLine  Lines to be displayed at the end of the filelist.
  3414.     ;  ----------  Exactly the same rules apply as for PreTitle and Subtitle.
  3415.     ;
  3416.  
  3417.       BottomLine   ~
  3418.       BottomLine   ~~~~~~~<═══════ b o t t o m : t i t l e ═════════>
  3419.       BottomLine   ~
  3420.       BottomLine   ~~~~~~~<═══ How do you like DOWNSORT, folks? ════>
  3421.       BottomLine   ~
  3422.  
  3423.     ; DupNameSize  Indicates the number of characters of the fileNAME that are
  3424.     ; -----------  maximally to be compared to consider a name 'duplicate'.
  3425.     ;              Allows version numbers to be detected, for example:
  3426.     ;              with "DupNameSize 6" DWNSRT59.ZIP and DWNSRT60.ZIP will
  3427.     ;              appear as duplicates in the DupFileList report.
  3428.     ;              Default: 8  (full filename compare).
  3429.  
  3430.       DupNameSize  8
  3431.  
  3432.     ; NonDupEXT    Suppress reporting as 'duplicate' if 2 files with equal
  3433.     ; ---------    filenames but unequal extensions are defined as 'pair'.
  3434.     ;              The example specification below has the effect that files of
  3435.     ;              any pair "xyz.SDA" and "xyz.SDN"  ("xyz": any filename) will
  3436.     ;              not be listed in DupFileList.
  3437.     ;               -  Files with equal filename AND equal extension will
  3438.     ;                  still be reported as duplicate even when the extension
  3439.  
  3440.     
  3441.                                  Appendix D.  Sample Configuration File  52
  3442.  
  3443.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3444.     
  3445.     
  3446.     
  3447.     ;                  is one of a 'NonDupEXT' pair!
  3448.     ;               -  Multiple extensions must be specified in as many pairs
  3449.     ;                  as can be formed (3 extension 3 pairs; 4 ext. 6 pairs;
  3450.     ;                  etc, e.g: for Nodelists:  DAT EXT  DAT IDX  EXT IDX).
  3451.     ;              You may specify multiple extension-pairs on a line
  3452.     ;              (separate the extensions with blanks), and as many lines
  3453.     ;              as needed.
  3454.     ;              Default: no suppression
  3455.  
  3456.       NonDupEXT    SDN SDA
  3457.  
  3458.     ; OrphanDesc   Description text of 'orphan' (file without entry in FILES.BBS)
  3459.     ; NotFoundDesc Description text of files without description in FILES.BBS.
  3460.     ; ------------ The description will replace the default hard-coded text.
  3461.     ;              Up to 45 characters may be specified.
  3462.     ;              The '~' (tilde) character will not be translated here!
  3463.  
  3464.       OrphanDesc   ~~~~~ !!!! Orphelin !!!! ~~~~~
  3465.       NotFoundDesc ~~~ Ce fichier défie toute description!
  3466.  
  3467.  
  3468.     ; OfflineDesc  When a filespecification is found in FILES.BBS but not
  3469.     ; -----------  in the corresponding download directory, this text replaces
  3470.     ;              the filesize and date (right aligned).
  3471.     ;              Up to 14 characters are accepted.
  3472.  
  3473.       OfflineDesc  -- archived --
  3474.  
  3475.     ; AVAstrip     You may wish to strip off AVATAR graphics characters from
  3476.     ; --------     the contents of your FILES.BBS files.
  3477.     ;              Specify 'No' to deactivate stripping (default is 'Yes').
  3478.     ;              ==> Works ONLY for COMMENT LINES in ALL- and IPF-lists, and
  3479.     ;              remember: comments are only listed with KEEPSEQ (no sort).
  3480.  
  3481.       AVAstrip     Yes
  3482.  
  3483.     ; ──────────────────────────────────────────────────────────────────────
  3484.     ; Above were the parameters with a global effect: applicable to all
  3485.     ; lists or to the execution mode of DOWNSORT.
  3486.     ; Below follow list-specific parameters, which might override some of
  3487.     ; the settings of the global parameters.
  3488.     ; Keep this sequence: first global, then specific parameters!
  3489.     ; ──────────────────────────────────────────────────────────────────────
  3490.     ;
  3491.     ; xxxFileList:  Create a File lists of type 'xxx' (1 list per keyword)
  3492.     ;
  3493.     ; xxx ───┐      ┌─ Twit
  3494.     ;              ├─ Disgrace          ┌─ PathSpec of the output file
  3495.     ;   ┌── ORP     ├─ Limited           │
  3496.     ;   ┌── BBS     ├─ Normal            │
  3497.     ;   ┌── NEW     ├─ Worthy            │  ┌── Additional options for
  3498.     ;   ┌── ALL     ├─ Privil            │  │   each list individually:
  3499.     ;   ┌── GBL     ├─ Favored           │  │
  3500.     ;   ┌── DUP     ├─ Extra             │  │ -A     Alphabetic sort (filename)
  3501.     ;   ┌── IPF     ├─ Clerk             │  │ -Cn    Continuation-line indent
  3502.  
  3503.     
  3504.                                  Appendix D.  Sample Configuration File  53
  3505.  
  3506.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3507.     
  3508.     
  3509.     
  3510.     ;   ┌── IP2     ├─ Assistsysop       │  │ -D     Date sort (descending)
  3511.     ;   ┌── OK      ├─ Sysop             │  │ -F#    Font for titles (0..4)
  3512.     ;   ┌── EMI     ├─ Hidden            │  │ -G     Group sort (areanames)
  3513.     ;   │           │                    │  │ -If    Imbed filespec
  3514.     ;   │           │                    │  │ -K     Keep FILES.BBS seq
  3515.     ;   │           │                    │  │ -L     Long line/list type
  3516.     ;6.1│           │                    │  │ -O     Orphan adoption request
  3517.     ;   │           │  ┌── userkeys      │  │ -R     Remove 'not-found' entries
  3518.     ;   │           │  │ 1..8, A..X      │  │ -Sg    Select AreaGroup
  3519.     ;   │           │  │                 │  │ -T     Truncate file descript.
  3520.     ;6.1│           │  │                 │  │ -Um    USRmodel name
  3521.     ;   │           │  │                 │  │ -W     Wrap file descriptions
  3522.     ;   │           │  │                 │  │ -X     eXclude priv. in headers
  3523.     ;   │           │  │       ┌─────────┘  │ nnn[P] entries limit: number
  3524.     ;   │           │  │       │            │        (P=Days|Weeks|Months)
  3525.     ;                                   
  3526.     ;  ═══─═══════  ═/════ ════════  ════════════════════════════════
  3527.     ;  xxxFileList  p/keys PathSpec  Option-1 Option-2 . . . Option-n
  3528.     ;
  3529.     ;      A single privilege letter (or the complete word) can be specified.
  3530.     ;      The privilege indication may be followed by slash and a string of
  3531.     ;      'userkeys' may be specified. This mimics a Maximus user class and
  3532.     ;      will open the list for areas with the corresponding locks.
  3533.     ;      WARNING: Versions of Downsort before 5.9 included locked area's, but
  3534.     ;               now these area's will be skipped, unless all keys are
  3535.     ;               specified on the xxxFileList line!
  3536.     ;      For an explanation of 'locks' and 'keys' see the MAXIMUS docs.
  3537.     ;      If no privilege/key is specified, the default level is SYSOP with
  3538.     ;      no userkeys.
  3539.     ;
  3540.     ;      The default filename (DOWNSORT) for each list should be overwritten
  3541.     ;      with the second parameter on the xxxFileList line. Failing to do so
  3542.     ;      will result in a single outputfile that has overwritten all other
  3543.     ;      lists of this and previous runs of Downsort.
  3544.     ;
  3545.     ;  The following flags may be specified (in any sequence):
  3546.     ;     -A   Sort Alphabetically on filename
  3547.     ;     -D   Sort on Date/time of the files
  3548.     ;     -G   Sort on on area-Group name
  3549.     ;     -K   Keep sequence of files as they appear in FILES.BBS.
  3550.     ;          Note: not all sorts apply to all list types (but most do)
  3551.     ;
  3552.     ;     -Cn  Continuation Indentation of description: relative position
  3553.     ;          of description on second and following lines if WRAPPED
  3554.     ;          descriptions are used. 'n' will normally be the width of
  3555.     ;          a download counter field.
  3556.     ;          May be specified negative for left-indentation (e.d. -C-16)!
  3557.     ;
  3558.     ;     -F#  ListTitle font. Choose for 'n': 0, 1, 2, 3 or 4 (default is 3).
  3559.     ;          Valid numbers:   0 .. suppress generation of block title!
  3560.     ;                           1 .. Simple font             (5x6 pattern)
  3561.     ;                           2 .. Pseudo-Stencil Font     (7x10 pattern)
  3562.     ;                           3 .. ROBoComputer Font       (7x8 pattern)
  3563.     ;                           4 .. Reversed Video RoboComp (7x8 pattern)
  3564.     ;          See some samples of the fonts in the top of this file.
  3565.  
  3566.     
  3567.                                  Appendix D.  Sample Configuration File  54
  3568.  
  3569.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3570.     
  3571.     
  3572.     
  3573.     ;          Font 3 is hard coded in headers with only short areanames.
  3574.     ;
  3575.     ;     -If  Imbed userfile ('f' is file-spec) immediately following the
  3576.     ;          block-title. The contents of the file is included without any
  3577.     ;          translation, so beware of special characters and effects like
  3578.     ;          formatting (word-wrap) especially in the IPF- and IP2-list!
  3579.     ;          NOTEs: - does not apply to DUP- and ORP-FileLists
  3580.     ;                 - BBSFileLists imbed always DOWNSORT.HDR and DOWNSORT.TRL
  3581.     ;
  3582.     ;     -L   Long list format for some selected list types:
  3583.     ;           - OK-file: explicit filenames in stead of wildcards (PATH\*.*)
  3584.     ;           - FILFilePath: see (almost) at the end of this file.
  3585.     ;
  3586.     ;     -R   Remove 'offline' file-entries from FILES.BBS only!
  3587.     ;          Other lists will have these files reported as 'offline', but
  3588.     ;          next time you run Downsort they will have disappeared of course.
  3589.     ;          So you have one chance to recover these entries (manually!).
  3590.     ;
  3591.     ;     -Sg  Select AreaGroup for list ('g' is a name defined with AreaGroup
  3592.     ;          keyword). The list will only contain areas of the specified group.
  3593.     ;          If no selection is specified, all areas within privilege will be
  3594.     ;          included.
  3595.     ;
  3596.     ;     -T   Causes Truncation of long descriptions (to about 50 characters)
  3597.     ;          so that each file-entry takes not more than a single line.
  3598.     ;     -W   Causes Wrapping of long descriptions: the report will contain
  3599.     ;          as many lines as needed for the complete file description.
  3600.     ;
  3601.     ; 6.1 -Um  USRmodel-name to be selected for report (USRFileList only).
  3602.     ; 6.1      'm' is the name of one of the specified USRmodel statements.
  3603.     ;
  3604.     ;     -X   eXclude privilege indications the list-headers.
  3605.     ;
  3606.     ;   nnn[P] Limit the number of file-entries to a maximum of 'nnn'.
  3607.     ;          If followed by Period-indicator ('D', 'W' or 'M') the list is
  3608.     ;          limited not by number, but by file-AGE in Days, Weeks or Months.
  3609.     ;          NOTEs: - the Period-letter does not apply to IPF-lists
  3610.     ;                 - 'nnn' denotes maximum number of files on a VIEW-page.
  3611.     ;                 - ALL-lists can only be limited by period (not number).
  3612.  
  3613.       AllFileList  */*  list\Allfiles.psq      -a -W              -IDownsort.Inc
  3614.     ; AllFileList  */*  list\Allfiles.hob      -k -W   -sHOBBES   -IDownsort.Inc
  3615.     ; AllFileList  */*  list\Allfiles.fw   -f1 -a -W   -sFernwood -IDownsort.Inc
  3616.     ; AllFileList  */*  list\Allfiles.dos      -k -W   -sDOS      -IDownsort.Inc
  3617.     ; AllFileList  */2  list\Allfile2.psq   2m -a -w -f4 -x -c
  3618.     ; BBSFileList  */*  list\Bulletin.psq   3w -d -w -x
  3619.     ; GblFileList  */*  list\GblFiles.psq      -a -w     -c6      -IDownsort.Inc
  3620.     ; IpfFileList  */*  list\Allfiles.IPF  200 -a
  3621.     ; Ip2FileList  */*  list\Allfiles.IP2  200 -k    -f4 -sfernwood
  3622.     ; Ip2FileList  */*  list\Allfiles.IP2  200 -k    -f1
  3623.       NewFileList  */2  list\Newfile2.psq   2m -g -w -f2 -x
  3624.     ; EmiFileList  */*  list\Newfiles.emi  15d -a -w              -IDownsort.inc
  3625.  
  3626.     ; DupFileList  */*  list\Dupfiles.psq
  3627.     ; DupFileList  */*  list\Dupfiles.grp      -g
  3628.  
  3629.     
  3630.                                  Appendix D.  Sample Configuration File  55
  3631.  
  3632.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3633.     
  3634.     
  3635.     
  3636.     ; OKFileList   */*  list\OKFILE.psq        -g                 -IDownsort.Mag
  3637.     ; OKFileList   */*  list\OKFILE.FWa        -a -l
  3638.     ; OrpFileList  */*  list\Orphans.psq       -g  -sfernwood
  3639.  
  3640.     ;  NOTE: The IPF-list has the format of an INPUT-file for the
  3641.     ;        Information Presentation Facility Compiler (IPFC).
  3642.     ;        It should be compiled as follows:
  3643.     ;             IPFC  Allfiles.IP2  /INF
  3644.     ;        This will produce a file called Allfiles.INF, which is ready
  3645.     ;        to be viewed with the command:
  3646.     ;             VIEW  Allfiles
  3647.     ;        The IPFC program is not distributed with the DOWNSORT package!
  3648.  
  3649.     ; ──────────────────────────────────────────────────────────────────────
  3650.     ;  Below follow the specifications for manipulating/rebuilding FILES.BBS
  3651.     ; ──────────────────────────────────────────────────────────────────────
  3652.     ; FILFilePath  - First parameter is [optional] specification of
  3653.     ; -----------    destination directory of newly generated 'FILES.BBS' files.
  3654.     ;                Use the format:  drive:\path\
  3655.     ;                The output-files will be called "areaname.BBS".
  3656.     ;                If not specified the MAXIMUS path specification will be
  3657.     ;                used (ListFile parameter if used in Maximus' AREA.CTL
  3658.     ;                otherwise the Download directory).
  3659.     ;              - Many but not all flags as defined for the other lists
  3660.     ;                apply to the FILES.BBS-output of Downsort, for example:
  3661.     ;                 - TITLE is not applicable to FILES.BBS
  3662.     ;                 - file-description will be kept on a single line, not
  3663.     ;                   wrapped or truncated, and up to about 2000 characters.
  3664.     ;                 - Entries can be sorted, but then you will loose your
  3665.     ;                   comments: -K (Keep Sequence and Comments) is default.
  3666.     ;                 - -L (LONG) means here: include file size and file date,
  3667.     ;                    (which should be used only once per FILES.BBS!).
  3668.     ;                 - Avatar codes will always remain unchanged.
  3669.     ;                 - -R will REMOVE file entries in FILES.BBS if the file
  3670.     ;                   it describes could not be located by Downsort.
  3671.     ;              - When using -Sg and multiple FILFilePaths, beware not to
  3672.     ;                overwrite previous output (e.g. define and use mutually
  3673.     ;                exclusive groups, such as the SDS and NONSDS example above).
  3674.     ;              - There is no privilege/key selection applicable!
  3675.  
  3676.        FILFilePath         -a     -R      -O             -idownsort.inc
  3677.  
  3678.     ; ──────────────────────────────────────────────────────────────────────
  3679.     ; USRFileList   Builds a list of 'free format' lines with file information.
  3680.     ;               It is designed to build a batch-file for file maintenance.
  3681.     ; 6.1           The format of each line is a variable string. It is given a
  3682.     ; 6.1           name on the USRmodel line. The corresponding format is
  3683.     ; 6.1           literally the line following the USRmodel name specification.
  3684.     ;               The format-string may contain a number of symbolic variables
  3685.     ;               that will be replaced by the actual value of file- or
  3686.     ;               area-information as follows:
  3687.     ; 6.1            %$ - privilege class of file (single letter)
  3688.     ;                %2 - duplicate file flag: '2' if duplicate file, '1' if not.
  3689.     ;                %A - Areaname
  3690.     ;                %C - file Creation date (fixed 8 characters)
  3691.  
  3692.     
  3693.                                  Appendix D.  Sample Configuration File  56
  3694.  
  3695.     Maximus Download File Sort and List Utility (OS/2 and DOS)
  3696.     
  3697.     
  3698.     
  3699.     ;                %D - most recent of lastwrite and creation Date of file
  3700.     ;                %F - Filename.ext
  3701.     ;                %H - File-age in days
  3702.     ;                %L - Lock-string of (file-)area
  3703.     ; 6.1            %N - Download count (from [nnn] in FILES.BBS file-desc)
  3704.     ;                %P - Path specification of the file's download directory
  3705.     ;                %S - file Size
  3706.     ;                %W - file lastWrite date (fixed 8 characters)
  3707.     ; 6.1            %Z - file lastAccess date (fixed 8 characters)
  3708.     ;               Notes: - unknown symbolic variables are copied asis.
  3709.     ;                      - to obtain '%' on the outputline specify: '%%'
  3710.     ;
  3711.     ;               A number of example statements as suggestions:
  3712.     ;               - The first example builds a batch file (REXX) to move
  3713.     ;                 Fernwood files from their original directory to a directory
  3714.     ;                 with areaname as the subdirectory-name in G:\Fernwood\.
  3715.     ; 6.1           - The second sample will erase files older than 2 years but
  3716.     ; 6.1             only when downloaded not more than 5 times
  3717.     ;               - The third is a substitution for a 'long' OKfile.
  3718.     ;               - The fourth USRmodel is all symbolic variables supported by
  3719.     ;                 Downsort for USRFileList.
  3720.  
  3721.       USRmodel move
  3722.     move '%P%F G:\Fernwood\%A\'
  3723.       USRmodel old
  3724.     if %H > 730 && %N < 5 then  erase '%P%F'   /* filedate: %D */
  3725.       USRmodel ok
  3726.     @%F %P%F
  3727.       USRmodel all
  3728.     %%$=%$ %%2=%2 %%A=%A %%C=%C %%D=%D %%F=%F %%H=%H %%L=%L %%N=%N %%P=%P %%S=%S %%W=%W %%Z=%Z
  3729.  
  3730.     ;  USRFileList   */*  list\usrlist1.cmd  -G  -Umove           -Idownsort.rex
  3731.     ;  USRFileList   */*  list\usrlist2.cmd  -G  -Uold            -Idownsort.rex
  3732.     ;  USRFileList   */*  list\usrlist3.cmd  -a  -Uok   -sLOC     -Idownsort.rex
  3733.     ;  USRFileList   */*  list\usrlist4.cmd  -G  -Uall -sFernwood -Idownsort.rex
  3734.  
  3735.     ;  ------------------------------------------------------------------------
  3736.     ;
  3737.     ; End of sample Downsort.Cfg as provided with the orginal Downsort package.
  3738.     ;
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.     
  3756.                                  Appendix D.  Sample Configuration File  57