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