home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / MISC / NLMAKE.ZIP / MAKENL.DOC < prev    next >
Text File  |  1999-08-10  |  110KB  |  2,459 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                             MakeNL -- Version 2.50
  27.  
  28.                           NODELIST Generator Program
  29.  
  30.  
  31.  
  32.  
  33.  
  34.                                  by Ben Baker
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.                   Copyright 1987-1991 -- All Rights Reserve
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.                                Table of Contents
  56.  
  57.  
  58.  
  59.        1. Introduction                                                 1
  60.           1.1 How to use this manual                                   2
  61.  
  62.        2. MakeNL Operation                                             3
  63.           2.1 Operational overview                                     3
  64.           2.2 Operation at a Hub or simple Network                     4
  65.           2.3 Operation at a large Network                             6
  66.           2.4 Operation by a Regional Coordinator                     10
  67.           2.5 Operation by a Zone Coordinator                         10
  68.           2.6 Putting together a Distribution Nodelist Segment        13
  69.  
  70.        3. Definitions                                                 14
  71.           3.1 Composite Nodelist                                      14
  72.           3.2 Generic File Name                                       14
  73.           3.3 Explicit File Name                                      14
  74.           3.4 Archive File                                            14
  75.           3.5 Difference File                                         15
  76.           3.6 Submittal File                                          15
  77.           3.7 Distribution File                                       15
  78.           3.8 Absolute Directory Path                                 15
  79.           3.9 Relative Directory Path                                 15
  80.           3.10 Publication Date                                       15
  81.  
  82.        4. MakeNL Command Line                                         17
  83.           4.1 Control file name                                       17
  84.           4.2 /TEST switch                                            17
  85.           4.3 /PROCESS switch                                         18
  86.           4.4 /MERGE switch                                           18
  87.           4.5 /NAME=<network_name>                                    18
  88.           4.6 Error return codes                                      19
  89.  
  90.        5. MakeNL Directories                                          20
  91.           5.1 Master Directory                                        20
  92.           5.2 Update Directory                                        20
  93.           5.3 Mailfiles Directory                                     20
  94.           5.4 Upload Directory                                        20
  95.           5.5 Other Directories                                       20
  96.  
  97.        6. MakeNL Control File                                         21
  98.           6.1 Control statements                                      21
  99.              6.1.1 MAKe <segment_type> [<number> [<source_file>]]     21
  100.              6.1.2 NAMe <network_name>                                22
  101.              6.1.3 PUBlish <day_of_week>                              22
  102.              6.1.4 PROcess <day_of_week>                              23
  103.              6.1.5 MERge [<nodelist_name>]                            24
  104.  
  105.                                         
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.              6.1.6 PRIvate <disposition>                              25
  114.              6.1.7 MINphone <minimum_parts>                           25
  115.              6.1.8 BAUdrate <valid_baud_rates>                        26
  116.           6.2 Defining nodelist segment directories                   27
  117.              6.2.1 MASter <directory_path_name>                       27
  118.              6.2.2 UPLoads <directory_path_name>                      27
  119.              6.2.3 MAIlfiles <directory_path_name>                    28
  120.              6.2.4 UPDate <directory_path_name>                       28
  121.              6.2.5 BADfiles <directory_path_name>                     28
  122.           6.3 Defining output                                         29
  123.              6.3.1 OUTFile <filename>                                 29
  124.              6.3.2 OUTPath <directory_path_name>                      29
  125.              6.3.3 THReshold <arc_size> [<diff_size>]                 29
  126.              6.3.4 ARC <n>                                            30
  127.              6.3.5 OUTDiff <generic_filename>                         30
  128.              6.3.6 CLEanup                                            32
  129.           6.4 External message transmission                           32
  130.              6.4.1 NETaddress [<zone>:]<net>/<node>                   33
  131.              6.4.2 MESsages <directory_path_name>                     33
  132.              6.4.3 SUBmit <address> [<flags>]                         33
  133.              6.4.4 NOTify <type> [<flags>]                            34
  134.           6.5 Defining special files                                  34
  135.              6.5.1 Output comments files                              34
  136.                 6.5.1.1 COPyright <explicit_filename>                 35
  137.                 6.5.1.2 PROlog <explicit_filename>                    36
  138.                 6.5.1.3 EPIlog <explicit_filename>                    36
  139.              6.5.2 Comments from received files                       36
  140.                 6.5.2.1 COMments <explicit_filename>                  36
  141.           6.6 DATa                                                    36
  142.           6.7 FILes                                                   37
  143.  
  144.        7. Disk and Memory Space Considerations                        38
  145.  
  146.        8. Contents of MakeNL Distribution Package                     40
  147.  
  148.        9. MakeNL License Information                                  41
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.                                         i
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.                                Table of Figures
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.        Figure 1.  Data Flow - Test Mode vs. Process Mode               3
  187.  
  188.        Figure 2.  Sample control files for Hubs and small Nets         5
  189.  
  190.        Figure 3.  Sample control file for large Nets                   7
  191.  
  192.        Figure 4.  Sample control file for Regional Coordinator         9
  193.  
  194.        Figure 5.  Sample control file for Zone Coordinators           11
  195.  
  196.        Figure 6,  Sample control file for distribution lists          12
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.                                         ii
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                                 1. Introduction
  245.  
  246.  
  247.        FidoNet, a  trade mark of Tom Jennings, was the name of the first
  248.        amateur electronic  mail program.   There  are now  several  mail
  249.        server programs  that support  FidoNet protocols.   Many  amateur
  250.        networks, large  and small,  are using  one or more of these mail
  251.        servers to communicate regularly.
  252.  
  253.        The glue  that holds an amateur network together is its nodelist,
  254.        a document  that describes  the nodes in the network, and the re-
  255.        lationship between them.  To be effective, this document must use
  256.        a consistent format, so that programs may process its information
  257.        automatically.   The FidoNet  Technical Standards Committee main-
  258.        tains, among  others, a document called FTS-0005.TXT that defines
  259.        the format  for a  FidoNet compatible  nodelist.   A copy of that
  260.        document is included in this distribution.
  261.  
  262.        Furthermore, a nodelist must be accurate and current.  An out-of-
  263.        date phone  number, for  example, is useless.  It must be updated
  264.        regularly, and  most networks  publish a  new nodelist each week.
  265.        This is  an enormous task in any network of more than a few dozen
  266.        nodes.   No one  person can  do it.   But  division of labor adds
  267.        complexity.
  268.  
  269.        Obviously, we  need a  tool that  can  help  verify  consistency,
  270.        maximize accuracy  and currency,  minimize effort,  and  minimize
  271.        cost.  MakeNL is such a tool.
  272.  
  273.        MakeNL supports  the multilevel  nodelist  generation  techniques
  274.        presently in  use in  several FidoNet  compatible electronic mail
  275.        networks.   It helps maintain nodelist segments at any level from
  276.        Hub through  Network, Region  and Zone  to the  composite distri-
  277.        bution nodelist.
  278.  
  279.        MakeNL's main  purpose for  being is to create a "submittal file"
  280.        (see definitions - section 3 on page 14) containing your nodelist
  281.        update, and to send it to your coordinator.  It can do this auto-
  282.        matically, if  you set  up its  control file  properly.   It is a
  283.        complex program  and looks  intimidating, but  it is  not  really
  284.        difficult.
  285.  
  286.        MakeNL has features to help in nodelist preparation at any level,
  287.        but it is also adaptable.  Features you don't need you may safely
  288.        ignore, and MakeNL will not complain
  289.  
  290.  
  291.  
  292.  
  293.        MakeNL                     Introduction                    Page 2
  294.  
  295.  
  296.        1.1 How to use this manual
  297.  
  298.        Section 2  is a  tutorial on setting up and operating MakeNL.  It
  299.        starts with  the simplest  case --  the lowest  level of nodelist
  300.        maintenance -- and expands in steps to Zone Coordinator.
  301.  
  302.        Sections 3  through 8  contain  detailed  reference  information.
  303.        Section 2  necessarily refers  to information  contained in later
  304.        sections.   The early  paragraphs of  section 2  contain frequent
  305.        forward references to assist the reader.
  306.  
  307.        I recommend  you read the entire document through once.  Pay par-
  308.        ticular attention  to those  parts of  section 2  that pertain to
  309.        you, but  at least  skim the rest.  Familiarize yourself with the
  310.        layout and  content of  the various sections, but do not read for
  311.        thorough understanding on your first pass.
  312.  
  313.        Carefully study section 2 a second time.  Refer to other sections
  314.        for clarification of terms as necessary.
  315.  
  316.        Select the  sample control file that best represents your partic-
  317.        ular needs.   Edit  it to fit your particular environment, as in-
  318.        dicated in section 2 and the comments in the control file.
  319.  
  320.        Make copies  of your  master data  files in  a safe place (floppy
  321.        diskette, or a directory tucked away in a far corner of your hard
  322.        disk).
  323.  
  324.        Familiarize yourself  with MakeNL by actually running it, in both
  325.        test and  process mode.  During this phase, I suggest you comment
  326.        out any  "Submit" or  "Notify" statements in your control file to
  327.        avoid generating spurious messages.
  328.  
  329.        Introduce data  errors to see how MakeNL handles them.  Make sure
  330.        you're comfortable with it before you put it on line.
  331.  
  332.        When you're  satisfied, delete  all "test case" files.  Copy your
  333.        master files  to your  master  directory.    Make  the  necessary
  334.        changes to  enable your mail server's "external event" for MakeNL
  335.        and you're up.
  336.  
  337.        MakeNL simplifies  your life.  It looks imposing, but it's really
  338.        not very difficult
  339.  
  340.  
  341.  
  342.  
  343.        MakeNL                                                     Page 3
  344.  
  345.  
  346.  
  347.               Test Mode            Directory          Process Mode
  348.                              +------------------+
  349.                   +----------|                  |----------+
  350.                   |          |      UPLOADS     |          |
  351.                   |    +-----|                  |-----+    |
  352.                   |    |     +------------------+     |    |
  353.                   |    |                              |    |
  354.                   |    |     +------------------+     |    |
  355.                   |    | /---|                  |---\ |    |
  356.                   |    |<    |     MAILFILES    |    >|    |
  357.                   |    | \---|                  |---/ |    |
  358.                   |    |     +------------------+     |    |
  359.                   |    |                              |    |
  360.                   |    |     +------------------+     |    |
  361.                   |    +---\ |                  |---\ |    |
  362.        Received   |         >|      UPDATE      |    >|    |
  363.        Update     +--------/ |                  |---/ |    |
  364.        Files                 +------------------+     |    |
  365.         - - - - - - - - - - - - - - - - - - - - - - - |    | - - - - - -
  366.        Master                +------------------+     |    |
  367.        Files                 |                  | /---+    |
  368.                              |      MASTER      |<         |
  369.                              |                  | \--------+
  370.                              +------------------+
  371.                                     |    |
  372.                                     |    +-------\   OUTPUT
  373.                                     |             >
  374.                                     +------------/   FILES
  375.  
  376.  
  377.                Figure 1.  Data Flow - Test Mode vs. Process Mode
  378.  
  379.  
  380.  
  381.  
  382.                               2. MakeNL Operation
  383.  
  384.  
  385.        2.1 Operational overview
  386.  
  387.        MakeNL operates  in two  distinct modes,  test mode  and  process
  388.        mode.   The mode  of operation  is controlled  by  the  "PROcess"
  389.        statement in your control file (see section 6.1.4 on page 23), or
  390.        by the  "/T" and "/P" command line switches (see sections 4.2 and
  391.        4.3 on page 17).
  392.  
  393.        In test  mode your  personal nodelist  segment, the  part of  the
  394.        nodelist you  maintain, and any update segments you have received
  395.        from others  are tested  for errors.   Submitters of any received
  396.        files are  notified as  indicated by the NOTify statements in the
  397.        control file,  and their files are moved to the UPDate directory.
  398.        (See section  5 on  page 20  for a description of MakeNL's direc-
  399.        tories.
  400.  
  401.  
  402.  
  403.  
  404.        MakeNL                   MakeNL Operation                  Page 4
  405.  
  406.  
  407.        In process mode your MASter directory is updated by any files re-
  408.        ceived since  the last  time MakeNL was executed in process mode.
  409.        Master data  files are used to produce your submittal and/or dis-
  410.        tribution files.
  411.  
  412.        In general,  MakeNL should  be run  in process mode once and only
  413.        once each  week.   Ideally, this  will be  done by  an  "external
  414.        event" from your mail server.  It is then automatic, and one less
  415.        thing you have to worry about.
  416.  
  417.        It may  be run  in test mode as often as desired to test received
  418.        files or changes in your own data.
  419.  
  420.        MakeNL uses  several directories  to store  data.   Section 5 de-
  421.        scribes them  in detail.  Figure 1 illustrates the data flow from
  422.        directory to  directory in the two modes of operation.  Above the
  423.        dashed line,  the data  flow all  deals with  files received from
  424.        others --  perhaps from  your Hubs  if you are a Network Host, or
  425.        from Network  Hosts if  you are  a Regional  Coordinator.   It is
  426.        clear from  this picture  that if  you do  not  receive  nodelist
  427.        updates from  others (and many of you don't), you have no use for
  428.        three of  MakeNL's data  directories, and a good deal of MakeNL's
  429.        complexity disappears.
  430.  
  431.        The following  paragraphs give  recommended set-up  and operating
  432.        procedures for various types of coordinators.
  433.  
  434.        2.2 Operation at a Hub or simple Network
  435.  
  436.        Here is  where the  nodelist update  process begins.   You have a
  437.        small nodelist segment that you maintain.  You do not receive any
  438.        update files  from anyone else.  If you are a Network Coordinator
  439.        and your  network has  Hubs, YOU maintain their data -- they just
  440.        forward the  mail.  Yours is the easiest task, so your set-up for
  441.        MakeNL is the simplest for you.
  442.  
  443.        Figure 2  shows two  variations of a MakeNL control file tailored
  444.        to your needs.  You may maintain your nodelist segment as a sepa-
  445.        rate file,  or you  may embed  your data  in your  MakeNL control
  446.        file.  (I prefer the latter method, but it is a matter of taste.)
  447.        If you  wish to  maintain your  data in a separate file, refer to
  448.        the top  half of  Figure 2  (a facsimile  of file HUB.CTL in your
  449.        distribution package).   If  you want  to keep  your data in your
  450.        control file,  refer to  the bottom half of Figure 2 (a facsimile
  451.        of file  NET-S.CTL in  your distribution package).  Refer to sec-
  452.        tions 5 and 6 as you study these files.
  453.  
  454.        In either  case, some minor editing of the control file you chose
  455.        as indicated  by comments  in the file will have you nearly ready
  456.        to go.  When you have edited the control file to your liking, re-
  457.        name it  MAKENL.CTL and  move  it  to  your  mail  server's  home
  458.        directory
  459.  
  460.  
  461.  
  462.  
  463.        MakeNL                   MakeNL Operation                  Page 5
  464.  
  465.  
  466.  
  467.        +---------------------------------------------------------------+
  468.        | ; This variation uses a "master data file" for input and      |
  469.        | ; sends output to the same file name.                         |
  470.        |                                                               |
  471.        | make hub <100> <hub.100>  ; note explicit name of file        |
  472.        |                           ; simplifies processing             |
  473.        | outfile   <hub.100>       ; master and output files have SAME |
  474.        |                           ; name                              |
  475.        |                                                               |
  476.        | submit   <host's address> ; where you send updates, CRASH     |
  477.        |                           ; and/or HOLD optional              |
  478.        | netaddress <your address> ; your network address here         |
  479.        | messages   <directory>    ; path name to mail server's        |
  480.        |                           ; mail area                         |
  481.        |                                                               |
  482.        | ; No other options are needed.  Master directory and output   |
  483.        | ; directory will default to the current directory.            |
  484.        +---------------------------------------------------------------+
  485.        | ; This variation uses "internal" data at the bottom of the    |
  486.        | ; control file.                                               |
  487.        |                                                               |
  488.        | make network <nbr>        ; No "master data file"  input data |
  489.        |                           ; is below.                         |
  490.        | outfile <explicit name>   ; output file                       |
  491.        |                                                               |
  492.        | submit     <RC's address> ; where you send updates, CRASH     |
  493.        |                           ; and/or HOLD optional              |
  494.        | netaddress <your address> ; your network address here         |
  495.        | messages   <directory>    ; path name to mail server's        |
  496.        |                           ; mail area                         |
  497.        |                                                               |
  498.        | ; No other options are needed.  Master directory and output   |
  499.        | ; directory will default to the current directory.            |
  500.        |                                                               |
  501.        | data                                                          |
  502.        |                                                               |
  503.        | ; Your source data goes here.  The advantage of this over     |
  504.        | ; the version above is that MAKENL will not reformat or change|
  505.        | ; your source data, even if you have errors.                  |
  506.        +---------------------------------------------------------------+
  507.  
  508.  
  509.             Figure 2.  Sample control files for Hubs and small Nets
  510.  
  511.  
  512.        Since you  don't have  many files to keep track of, you will exe-
  513.        cute MakeNL  from your mail server's home directory, and let your
  514.        MASter directory default to this directory as well.
  515.  
  516.        Set up  an external  event in  your mail server to execute once a
  517.        week at  a day  and time early enough to meet the deadline set by
  518.        your coordinator, but not much earlier than that.  The batch fil
  519.  
  520.  
  521.  
  522.  
  523.        MakeNL                   MakeNL Operation                  Page 6
  524.  
  525.  
  526.        fragment corresponding  to this  external event  will execute the
  527.        statement:
  528.  
  529.             MAKENL
  530.  
  531.        You will  normally ignore  MakeNL.   It will take care of itself.
  532.        When a  change occurs in your data, edit your file using your fa-
  533.        vorite editor.  After editing, execute the following DOS command:
  534.  
  535.             MAKENL /T
  536.  
  537.        just to be sure there are no errors.  If MakeNL reports an error,
  538.        repeat the above steps until you've got it right.
  539.  
  540.        If you have added new nodes to your list, and wish to inform them
  541.        of their  node number  assignments immediately,  you need  to get
  542.        your changes  into your  mail server's nodelist.  MakeNL can per-
  543.        form the first step for you if you execute the DOS command:
  544.  
  545.             MAKENL /T /M[[=<path>\]<filename>]
  546.  
  547.        The /M  switch tells  MakeNL to  merge your data with an existing
  548.        distribution nodelist into a temporary nodelist with an extension
  549.        of ".999".   To do this, MakeNL must find a distribution list not
  550.        more than  two weeks  old.   If /M is used by itself, MakeNL will
  551.        look  for  NODELIST.htu  (see  section  3.2  on  page  14  for  a
  552.        description of  this notation)  in the  current  directory.    If
  553.        either the directory or the stem generic name are different, they
  554.        must be given as a value in the /M switch.
  555.  
  556.             Examples
  557.  
  558.                  MAKENL /T /M               ; use NODELIST in current
  559.                  MAKENL /T /M=\BBS\NODELIST ; use NODELIST in \BBS\
  560.                  MAKENL /T /M=R10-LIST      ; use R10-LIST in current
  561.  
  562.        When the  external event triggers MakeNL in process mode (you are
  563.        in bed,  sound asleep)   It will create a new copy of your master
  564.        file, compare  it to the old copy, and if nothing has changed, it
  565.        will simply  delete the  new copy.   If  the file has changed, it
  566.        will update  your master  file and  create a submittal message to
  567.        send it to your coordinator.
  568.  
  569.        That's all there is to it!  MakeNL will take care of getting your
  570.        nodelist changes in on time if and when they occur.
  571.  
  572.        2.3 Operation at a large Network
  573.  
  574.        Your life  is a little more complicated than above.  You assemble
  575.        your submittal  segment from  your own  file plus  files received
  576.        from your Hubs.  Not only do you need to figure out this section.
  577.        You need to understand the forgoing one too, so that you may ren-
  578.        der assistance to your Hubs if necessary.  But cheer up, it's not
  579.        too bad
  580.  
  581.  
  582.  
  583.  
  584.        MakeNL                   MakeNL Operation                  Page 7
  585.  
  586.  
  587.  
  588.        +---------------------------------------------------------------+
  589.        |                                                               |
  590.        | make network <nbr>        ; No "master data file"  input data |
  591.        |                           ; is below.                         |
  592.        |                                                               |
  593.        | outfile <explicit name>   ; use generic name if output file   |
  594.        |                           ; is very large                     |
  595.        |                                                               |
  596.        | process    Wednesday      ; Set this day to meet deadline RC  |
  597.        |                           ; gives you                         |
  598.        |                                                               |
  599.        | master     <directory>    ; where master files reside         |
  600.        |                           ; (default - current)               |
  601.        | update     <directory>    ; where to save received files      |
  602.        |                           ; 'till processing                  |
  603.        | mailfiles  <directory>    ; where mail server places received |
  604.        |                           ; files                             |
  605.        | uploads    <directory>    ; where BBS places uploaded files   |
  606.        |                           ; (if needed)                       |
  607.        | badfiles   <directory>    ; optional "waste can" for files    |
  608.        |                           ; with fatal errors                 |
  609.        |                                                               |
  610.        | notify  receipt           ; notify both receipt and errors    |
  611.        |                           ; CRASH and/or HOLD optional        |
  612.        | submit     <RC's address> ; where you send updates, CRASH     |
  613.        |                           ; and/or HOLD optional              |
  614.        | netaddress <your address> ; your network address here         |
  615.        | messages   <directory>    ; path name to mail server's        |
  616.        |                           ; mail area                         |
  617.        |                                                               |
  618.        | ; No other options are needed.                                |
  619.        |                                                               |
  620.        | data                                                          |
  621.        |                                                               |
  622.        | ; Your source data goes here.                                 |
  623.        |                                                               |
  624.        | files                                                         |
  625.        |                                                               |
  626.        | Hub <nbr> <file name>     ; either generic or explicit file   |
  627.        |                           ; name, but must match convention   |
  628.        | Hub <nbr> <file name>     ; used by Hub.                      |
  629.        | Hub <nbr> <file name> <notification address>; if not "net/hub"|
  630.        | Hub <nbr> <file name>                                         |
  631.        | ;      etc.                                                   |
  632.        +---------------------------------------------------------------+
  633.  
  634.  
  635.                  Figure 3.  Sample control file for large Nets
  636.  
  637.  
  638.        Refer to the figure 3 (a facsimile of file NET-L.CTL in your dis-
  639.        tribution package)
  640.  
  641.  
  642.  
  643.  
  644.        MakeNL                   MakeNL Operation                  Page 8
  645.  
  646.  
  647.        The submittal file for most local networks will be less than five
  648.        kilobytes in  size.   For files this small, there is no advantage
  649.        in using a generic output file name (see section 3.2 on page 14).
  650.        Your Regional  Coordinator will  probably tell  you to use an ex-
  651.        plicit file  name.   There is  certainly no  reason  for  you  to
  652.        require your  Hubs to  use generic  submittal file names.  Notice
  653.        that the  OUTFile statement  in figure  3 indicates the use of an
  654.        explicit name.
  655.  
  656.        Rename NET-L.CTL  to MAKENL.CTL  and move it to the directory you
  657.        wish to  use as  the current  directory when  you execute MakeNL.
  658.        Usually, this  will be  your mail  server's home directory.  Edit
  659.        the file  as indicated in the comments in NET-L.CTL.  If you only
  660.        have two  or three  hubs, you  may wish to comment out the MASter
  661.        directory statement and let it default to the current directory.
  662.  
  663.        Copy your  own source  data, the part you maintain which contains
  664.        the "Host"  statement into  the control file between the DATa and
  665.        FILes statements.   Following  the FILes  statement, edit the HUB
  666.        definition statements  to match  the Hubs who submit update files
  667.        to you.  Make sure the directories exist for all path names, that
  668.        they are all distinct  directories, and if you used relative path
  669.        names, that  they are  relative to  the directory  from which you
  670.        will execute  MakeNL.   Make sure the process statement names the
  671.        right day  so that  you can  meet your  RC's submittal  deadline.
  672.        That should get your control file in order.
  673.  
  674.        Move your  current copies  of your Hubs' segment files to the di-
  675.        rectory defined as MASter in your control file.
  676.  
  677.        Set up  an external event in your mail server to execute daily at
  678.        a time  early enough that, on your process day, you will meet the
  679.        deadline set  by your  Regional Coordinator, but not much earlier
  680.        than that.   The batch file fragment corresponding to this exter-
  681.        nal event will execute the statement:
  682.  
  683.             MAKENL
  684.  
  685.                  or if you want to keep a log of activity
  686.  
  687.             MAKENL    >>MAKENL.LOG
  688.  
  689.        MakeNL is now set up to pretty well take care of itself.  On non-
  690.        process days the external event will execute MakeNL in test mode.
  691.        It will  scan the  UPLoads and MAIlfiles directories for received
  692.        files, test  them for errors, send out notifications and move the
  693.        files to the UPDate directory.
  694.  
  695.        On the  process day  MakeNL will be executed in process mode.  It
  696.        will scan  the UPLoads  and MAIlfiles directories for late files,
  697.        the UPDate  directory for files received earlier in the week, and
  698.        the MASter directory for files not updated this week
  699.  
  700.  
  701.  
  702.  
  703.        MakeNL                   MakeNL Operation                  Page 9
  704.  
  705.  
  706.  
  707.        +---------------------------------------------------------------+
  708.        | make region <nbr>         ; No "master data file"  input data |
  709.        |                           ; is below.                         |
  710.        |                                                               |
  711.        | outfile <generic name>    ; use generic name for output file  |
  712.        |                                                               |
  713.        | process    Thursday       ; Set this day to meet deadline ZC  |
  714.        |                           ; gives you                         |
  715.        |                                                               |
  716.        | arc 5      ; force ARC 6 or 7 to generate level 5 archives    |
  717.        |            ; DO NOT use ARC5 with ARC versions earlier than 6 |
  718.        |                                                               |
  719.        | master     <directory>    ; where master files reside         |
  720.        |                           ; (default - current)               |
  721.        | update     <directory>    ; where to save received files      |
  722.        |                           ; 'till processing                  |
  723.        | mailfiles  <directory>    ; where mail server places received |
  724.        |                           ; files                             |
  725.        | uploads    <directory>    ; where BBS places uploaded files   |
  726.        |                           ; (if needed)                       |
  727.        | badfiles   <directory>    ; optional "waste can" for files    |
  728.        |                           ; with fatal errors                 |
  729.        |                                                               |
  730.        | notify  errors CRASH      ; notify of errors (CRASH and/or    |
  731.        |                           ; HOLD optional)                    |
  732.        | notify  receipt           ; use either of these or both with  |
  733.        |                           ; different attributes.             |
  734.        |                                                               |
  735.        | submit     <ZC's address> ; where you send updates, CRASH     |
  736.        |                           ;  and/or HOLD optional             |
  737.        | netaddress <your address> ; your network address here         |
  738.        | messages   <directory>    ; path name to mail server's        |
  739.        |                           ; mail area                         |
  740.        |                                                               |
  741.        | data                                                          |
  742.        |                                                               |
  743.        | ; Your region source data goes here.                          |
  744.        |                                                               |
  745.        | files                                                         |
  746.        |                                                               |
  747.        | Net <nbr> <file name>     ; either generic or explicit file   |
  748.        | Net <nbr> <file name>     ; name, but must match convention   |
  749.        |                           ; used by Net.                      |
  750.        | Net <nbr> <file name> <notification address> ; if not "net/0" |
  751.        | Net <nbr> <file name>                                         |
  752.        +---------------------------------------------------------------+
  753.  
  754.  
  755.             Figure 4.  Sample control file for Regional Coordinato
  756.  
  757.  
  758.  
  759.  
  760.        MakeNL                   MakeNL Operation                 Page 10
  761.  
  762.  
  763.        All files  will be  tested (again)  for errors,  and sent to your
  764.        master output  file.  Your master copies of your Hubs' files will
  765.        be updated as necessary.
  766.  
  767.        If (and  only if) this week's output is changed from last week's,
  768.        your submittal file will be created in the current directory, and
  769.        a "file  attach" message  will be  generated to  send it  to your
  770.        Regional Coordinator.  All untouched by human hands!
  771.  
  772.        When the  data changes  in your  own nodelist  segment, edit your
  773.        data file  (usually  your  control  file)  and  execute  the  DOS
  774.        command:
  775.  
  776.             MAKENL /T
  777.                or
  778.             MAKENL /T /M   ; see discussion in the previous section
  779.  
  780.        Given a  chance, MakeNL  will do  the right  things at  the right
  781.        times.   You worry  about other  things, like  "Why can't Hub 999
  782.        send me a file without errors?  I gotta get him to use MakeNL!"
  783.  
  784.        2.4 Operation by a Regional Coordinator
  785.  
  786.        For the  most part, section 2.3 applies to you too, but there are
  787.        some differences.
  788.  
  789.        Figure 4 is a facsimile of REGION.CTL, the prototype control file
  790.        you will use.
  791.  
  792.        You have  enough files you will want to get them out of the clut-
  793.        ter of your mail server's home directory.  You will set up a sep-
  794.        arate MASter directory (see section 5.1 on page 20).
  795.  
  796.        Your output  file is  probably large enough that you will want to
  797.        take advantage  of the  benefits of  using a  generic output file
  798.        name.  In fact, your ZC may require it.
  799.  
  800.        If your  region file  is larger  than   10 kilobytes, MakeNL will
  801.        create a compressed archive by executing the program ARC.  If you
  802.        have version  6 or 7 of ARC and your ZC does not, you may want to
  803.        force ARC to produce level-5 compatible archives.
  804.  
  805.        Other than  that, substitute  Network for Hub, Region for Network
  806.        and Zone  for Region,  and follow the procedures in 2.3 using the
  807.        file REGION.CTL from your distribution package.
  808.  
  809.        2.5 Operation by a Zone Coordinator
  810.  
  811.        Life gets still more complicated, but is still manageable.
  812.  
  813.        Preparing a zone segment is much the same as preparing the region
  814.        segments of  which it  is made.   Refer  to sections  2.3 and 2.4
  815.        above, figure  5 (a facsimile of the file ZONE.CTL from your dis-
  816.        tribution package)
  817.  
  818.  
  819.  
  820.  
  821.        MakeNL                   MakeNL Operation                 Page 11
  822.  
  823.  
  824.  
  825.        +---------------------------------------------------------------+
  826.        | make zone <nbr>           ; No "master data file"  input data |
  827.        |                           ; is below.                         |
  828.        | outfile <explicit name>   ; use generic name for output file  |
  829.        |                           ; if very large                     |
  830.        | process    Thursday       ; Set this day to meet deadline ITC |
  831.        |                           ; gives you or Friday after         |
  832.        |                           ; cut-over to zone based nodelist   |
  833.        | arc 5      ; force ARC 6 or 7 to generate level 5 archives    |
  834.        |            ; DO NOT use ARC5 with ARC versions earlier than 6 |
  835.        |                                                               |
  836.        | master     <directory>    ; where master files reside         |
  837.        |                           ; (default - current)               |
  838.        | update     <directory>    ; where to save received files      |
  839.        |                           ; 'till processing                  |
  840.        | mailfiles  <directory>    ; where mail server places received |
  841.        |                           ; files                             |
  842.        | uploads    <directory>    ; where BBS places uploaded files   |
  843.        |                           ; (if needed)                       |
  844.        | badfiles   <directory>    ; optional "waste can" for files    |
  845.        |                           ; with fatal errors                 |
  846.        | notify  errors CRASH      ; notify of errors (CRASH optional) |
  847.        |                           ; Errors should not occur at this   |
  848.        |                           ; level, but. . .                   |
  849.        | submit     1:1/0          ; where you send updates, CRASH     |
  850.        |                           ; and/or HOLD optional              |
  851.        | netaddress <your address> ; your network address here         |
  852.        | messages   <directory>    ; path name to mail server's        |
  853.        |                           ; mail area                         |
  854.        |                                                               |
  855.        | data                                                          |
  856.        |                                                               |
  857.        | ; Your zone source data goes here.  Note that first           |
  858.        | ; non-comment statement must begin with the keyword "Zone"    |
  859.        | ; not "Region"                                                |
  860.        |                                                               |
  861.        | files                                                         |
  862.        |                                                               |
  863.        | Region <nbr> <generic name>                                   |
  864.        | Region <nbr> <generic name>                                   |
  865.        | Region <nbr> <generic name> <notification address> ; if not   |
  866.        |                                          ; "region/0"         |
  867.        | Region <nbr> <generic name>                                   |
  868.        | ;      etc.                                                   |
  869.        +---------------------------------------------------------------+
  870.  
  871.  
  872.              Figure 5.  Sample control file for Zone Coordinators
  873.  
  874.  
  875.        On your process day, after generating your zone segment, you will
  876.        execute MakeNL  a second  time with  a special  control  file  to
  877.        create your zone's version of the distribution nodelist.  Sectio
  878.  
  879.  
  880.  
  881.  
  882.        MakeNL                   MakeNL Operation                 Page 12
  883.  
  884.  
  885.  
  886.        +---------------------------------------------------------------+
  887.        | make composite                                                |
  888.        | name <network name>    ; eg. FidoNet or AlterNet or EGGnet    |
  889.        |                                                               |
  890.        | threshold  0 -1 ; force ARC -- no submittal difference file   |
  891.        |                                                               |
  892.        | arc 5      ; force ARC 6 or 7 to generate level 5 archives    |
  893.        |            ; DO NOT use ARC5 with ARC versions earlier than 6 |
  894.        |                                                               |
  895.        | outfile <generic name> ; recommended names:                   |
  896.        |                        ;  NODELIST - complete composite list  |
  897.        |                        ;  Zn-LIST  - zone distribution list   |
  898.        |                        ;  Rnn-LIST - region distribution list |
  899.        |                        ;  NnnnLIST - network distribution list|
  900.        |                                                               |
  901.        | outdiff <generic name> ; recommended names:                   |
  902.        |                        ;  NODEDIFF - complete composite list  |
  903.        |                        ;  Zn-DIFF  - zone distribution list   |
  904.        |                        ;  Rnn-DIFF - region distribution list |
  905.        |                        ;  NnnnDIFF - network distribution list|
  906.        |                                                               |
  907.        | master     <directory> ; same as OUTPath or MASter in         |
  908.        |                        ; previous run                         |
  909.        | outpath    .           ; put <name>.nnn in current directory  |
  910.        |                                                               |
  911.        | copyright <cpy-dist.txt>; if these three files are not path-  |
  912.        | prolog    <file name>   ; qualified, they are lodated in the  |
  913.        | epilog    <file name>   ; master directory                    |
  914.        |                                                               |
  915.        | files                                                         |
  916.        |                                                               |
  917.        | Network <nbr> <explicit name>  ; must match OUTFile name of   |
  918.        |                                ;  previous run                |
  919.        | ;   or                                                        |
  920.        | Region  <nbr> <generic name>   ; must match OUTFile name      |
  921.        | ;   or                                                        |
  922.        | Zone    <nbr> <generic name>   ; must match OUTFile name      |
  923.        | Zone    <nbr> <generic name>   ; file(s) received from        |
  924.        | ;  etc. . .                    ;  other ZC(s)                 |
  925.        +---------------------------------------------------------------+
  926.  
  927.  
  928.              Figure 6,  Sample control file for distribution lists
  929.  
  930.        (?) deals  with distribution  lists.  The only difference for ZCs
  931.        is that  they will  need to  define the MAIlfiles path to pick up
  932.        the files from the other ZCs.
  933.  
  934.        There are  several advantages  to  "zone  specific"  distribution
  935.        NODELISTs. Prologue  and epilogue  comments may  be "zone  local-
  936.        ized."  The local zone may be placed first in the list, a signif-
  937.        icant convenience to the nodes in your zone.  There will probably
  938.        be quicker and better NODELIST availability
  939.  
  940.  
  941.  
  942.  
  943.        MakeNL                   MakeNL Operation                 Page 13
  944.  
  945.  
  946.        2.6 Putting together a Distribution Nodelist Segment
  947.  
  948.        Distribution lists  (see section  3.7 on page 15) may be prepared
  949.        at any  level except  Hub, though  it is  not  recommended  below
  950.        Region.   In theory,  a distribution  list may be prepared at the
  951.        same time  your submittal  file is  prepared (MakeNL will support
  952.        this method).   In  practice, it is better to make a distribution
  953.        list in  a separate  run of  MakeNL so that the distribution list
  954.        may have  a distinct  file name,  and different copyright notices
  955.        and comments.
  956.  
  957.        Refer to  figure 6  (a facsimile  of the file DISTRIB.CTL in your
  958.        distribution package).  Now that you thoroughly understand all of
  959.        the forgoing  (you do,  don't you?),  this file  is fairly  self-
  960.        explanatory.   After you edit it to fit your specific needs, your
  961.        MakeNL external  event can  use it  to create  your  distribution
  962.        files.   If your  MakeNL external event executes once a week, the
  963.        batch file fragment is trivial:
  964.  
  965.             MAKENL
  966.             MAKENL  DISTRIB
  967.  
  968.        If your MakeNL external event is a daily event then:
  969.  
  970.             MAKENL
  971.               IF ERRORLEVEL 3 GOTO LOOP
  972.             MAKENL  DISTRIB
  973.  
  974.        Here you  make use  of the  fact that  a return code of 3, 4 or 5
  975.        means that  MakeNL was  executed in test mode.  That means it was
  976.        not your  normal process  day, so  the batch file simply restarts
  977.        your mail  server after  testing any  received files.  On process
  978.        day you will "drop through" and create distribution files
  979.  
  980.  
  981.  
  982.  
  983.        MakeNL                                                    Page 14
  984.  
  985.  
  986.                                 3. Definitions
  987.  
  988.  
  989.        Before we  proceed further,  we need  to define some terms in use
  990.        throughout this document.
  991.  
  992.        3.1 Composite Nodelist
  993.  
  994.        The composite  nodelist is defined, for our purposes, as the com-
  995.        plete list  of all  nodes in the network.  It includes all Zones,
  996.        all Regions and all local nets.
  997.  
  998.        3.2 Generic File Name
  999.  
  1000.        To MakeNL,  a generic file name is one which does not have a file
  1001.        type (or  file extension).  For example, NODELIST and FILES\ZONE1
  1002.        are generic  file names.  MakeNL does special processing on files
  1003.        when you  specify them  by generic  names.  It creates file types
  1004.        for them based on publication date and contents of the files.
  1005.  
  1006.        The publication  date is  translated into  a 3-digit day-of-year,
  1007.        represented here as "htu" where "h" is the hundreds digit, "t" is
  1008.        the tens digit and "u" is the units digit of day-of-year.  MakeNL
  1009.        recognizes and/or creates the following file types for files with
  1010.        generic names:
  1011.  
  1012.             .htu - Master files, uncompressed submittal and distribution
  1013.                       files, distribution difference files
  1014.             .Atu - Archived submittal and distribution files, archived
  1015.                       distribution difference files
  1016.             .Dtu - Submittal difference files
  1017.             .ADu - Archived submittal difference files
  1018.  
  1019.        3.3 Explicit File Name
  1020.  
  1021.        An explicit  file name,  on the  other hand, has a specified file
  1022.        type.   PROLOG.TXT is  an example.  When data files are specified
  1023.        this way,  MakeNL does  only limited  processing on  them, speci-
  1024.        fically checking  them for errors and copying them from directory
  1025.        to directory.   It makes no attempt to deal with archives or dif-
  1026.        ference files.
  1027.  
  1028.        3.4 Archive File
  1029.  
  1030.        An archive  file is  a compressed file created by the ARC program
  1031.        from System Enhancement Associates.  You must have a copy of this
  1032.        program in your current directory or on your DOS path (see "PATH"
  1033.        command in  your DOS  manual) to  make use  of this capability of
  1034.        MakeNL.
  1035.  
  1036.        The ARC  program, version  6 and later, has the ability to create
  1037.        archives compatible  with earlier  versions of  ARC.  MakeNL pro-
  1038.        vides a  configuration verb to permit the use of this capability.
  1039.        (See section 6.3.4 on page 30
  1040.  
  1041.  
  1042.  
  1043.  
  1044.        MakeNL                     Definitions                    Page 15
  1045.  
  1046.  
  1047.        3.5 Difference File
  1048.  
  1049.        A difference file is a file which defines the differences between
  1050.        an older version of a file and a newly created one.  In fact, the
  1051.        difference file (sometimes called a "diff" file from the NODEDIFF
  1052.        naming convention)  contains a  simple editing  language.  With a
  1053.        copy of  the old  file and  the difference file, MakeNL can accu-
  1054.        rately recreate the new version of file.
  1055.  
  1056.        3.6 Submittal File
  1057.  
  1058.        A submittal file is one which you will send forward up the ladder
  1059.        to be  merged with  other files from your level.  A Hub sends his
  1060.        submittal file to his network host.  The host sends his submittal
  1061.        file to  his regional coordinator, etc..  MakeNL will create your
  1062.        submittal file  for you  each week, and can even create the "file
  1063.        attach" message to send the file over the network.
  1064.  
  1065.        3.7 Distribution File
  1066.  
  1067.        Distribution files, on the other hand go the other way.  They are
  1068.        meant  for  distribution  down  the  ladder.    NODELIST.htu  and
  1069.        NODEDIFF.htu are well known examples, but let's say you are a re-
  1070.        gional coordinator,  and some of the nodes in your region have no
  1071.        interest in communicating with nodes outside the region.  To con-
  1072.        serve valuable  disk space,  they might  wish to  use a  nodelist
  1073.        which only  contains your  region.  MakeNL can create such files.
  1074.        They differ  from submittal  files only in the naming conventions
  1075.        they observe.
  1076.  
  1077.        3.8 Absolute Directory Path
  1078.  
  1079.        An absolute  path name  is one  specified from  the  disk's  root
  1080.        directory.  It will always begin with a back-slant (\) or a drive
  1081.        specifier followed  by a back-slant (C:\)  C:\BBS and \MASTER are
  1082.        examples of absolute path names.
  1083.  
  1084.        3.9 Relative Directory Path
  1085.  
  1086.        A relative path name is one specified as a subdirectory  from the
  1087.        current working  directory, without  specifying what that is.  It
  1088.        never begins  with a  back-slant.   FILES\RECEIVED and D:OPUS are
  1089.        examples of  relative path names.  In the latter case the path is
  1090.        relative to the current directory of the D drive.
  1091.  
  1092.        See your DOS manual for additional information on path names.
  1093.  
  1094.        3.10 Publication Date
  1095.  
  1096.        The "publication date" is the date of the next publication of the
  1097.        composite nodelist.   It  is always the same day of the week.  It
  1098.        is usually a Friday, but can be any day of the week
  1099.  
  1100.  
  1101.  
  1102.  
  1103.        MakeNL                     Definitions                    Page 16
  1104.  
  1105.  
  1106.        The  publication   date  is   specifically,  the  next  occurring
  1107.        publication day (today, if this is your publication day).
  1108.  
  1109.             NOTE:   Most FidoNet  compatible networks publish their
  1110.             nodelist on Friday, but a few publish on other days.  A
  1111.             special verb  is provided  to control  publication day.
  1112.             (See section 6.1.3 on page 22.
  1113.  
  1114.  
  1115.  
  1116.  
  1117.        MakeNL                                                    Page 17
  1118.  
  1119.  
  1120.                             4. MakeNL Command Line
  1121.  
  1122.  
  1123.        MakeNL is invoked with the following command line:
  1124.  
  1125.             MakeNL [<control_file_name>] [/PROCESS | /TEST]
  1126.                  [/MERGE[=<list_name>] [/NAME=<composite_name>]
  1127.  
  1128.        The switch names may be spelled out (/TEST), or abbreviated to as
  1129.        few as one letter (/T).
  1130.  
  1131.        4.1 Control file name
  1132.  
  1133.        By  default,   MakeNL  expects  to  find  a  control  file  named
  1134.        MAKENL.CTL in  the current  directory.  This can be overridden by
  1135.        placing the  name (optionally  qualified with a path) on the com-
  1136.        mand line.   The control file may have any file extension, but if
  1137.        none is given .CTL is assumed.  For example:
  1138.  
  1139.             MakeNL ZONE1
  1140.  
  1141.        causes MakeNL to use ZONE1.CTL in the current directory, and:
  1142.  
  1143.             MakeNL MASTER\NET100.CFG
  1144.  
  1145.        causes MakeNL  to use NET100.CFG in the subdirectory named MASTER
  1146.        as its control file.
  1147.  
  1148.        MakeNL must  have a  control file  and will  abort if it can find
  1149.        none.   See section  6 on page 21 for the contents of the control
  1150.        file.
  1151.  
  1152.        In operation,  MakeNL writes  a number  of progress  messages  to
  1153.        "standard output."   By default, DOS sends these messages to your
  1154.        screen, but  you may  redirect them  to a file to retain a log of
  1155.        MakeNL's activity:
  1156.  
  1157.             MAKENL   >MAKENL.LOG
  1158.  
  1159.             MAKENL  >>MAKENL.LOG
  1160.  
  1161.        In the  first case,  the log  file is  recreated fresh  each time
  1162.        MakeNL is  executed.   In the second case, MakeNL appends the re-
  1163.        sults of each execution to the end of the log file.
  1164.  
  1165.        4.2 /TEST switch
  1166.  
  1167.        The optional  "/TEST" switch,  if given,  will  force  MakeNL  to
  1168.        operate in test mode, even on the normal process day
  1169.  
  1170.  
  1171.  
  1172.  
  1173.        MakeNL                 MakeNL Command Line                Page 18
  1174.  
  1175.  
  1176.        4.3 /PROCESS switch
  1177.  
  1178.        The optional  "/PROCESS" switch,  if given,  will force MakeNL to
  1179.        operate in  process mode,  overriding the  effect  of  a  PROcess
  1180.        statement in the control file.
  1181.  
  1182.        4.4 /MERGE switch
  1183.  
  1184.        The optional  "/MERGE" switch,  if given,  will cause  MakeNL  to
  1185.        merge your updated nodelist segment with an existing distribution
  1186.        nodelist to produce a temporary nodelist containing your updates.
  1187.  
  1188.        If <list_name> is given, it must have the form:
  1189.  
  1190.             /M=[path\]<generic_name>
  1191.  
  1192.        See discussion  of MERge  control file  verb on  page 24 for more
  1193.        details.
  1194.  
  1195.        4.5 /NAME=<network_name>
  1196.  
  1197.        The optional /NAME switch is a specialized cosmetic switch.  When
  1198.        you MAKe  a composite  list (see  section 6.1.1  on page 21), the
  1199.        generated list  begins, by  default, with  the  line  "  Nodelist
  1200.        for. . ."
  1201.  
  1202.        The /NAME switch may be used to insert a network name in front of
  1203.        the first  word in  that line.  If the specified replacement name
  1204.        contains spaces, the entire parameter must be enclosed in quotes.
  1205.  
  1206.        For example,  the coordinator  for a  network operated  by the US
  1207.        Parks Service might use:
  1208.  
  1209.             MAKENL "/N=Parks Service"
  1210.  
  1211.        The first  line of  his generated  list would read "Parks Service
  1212.        Nodelist for. . ."  Note that to the right of the equal sign case
  1213.        is significant.  Any capitalization present will be preserved.
  1214.  
  1215.        A FidoNet ZC might use:
  1216.  
  1217.             MAKNL /N=FidoNet
  1218.  
  1219.        If the  MAKe statement  in your control file (see page 21) is not
  1220.        "MAKE COMPOSITE" the /NAME switch will have no effect.
  1221.  
  1222.        See also the NAMe verb in section (?), page (?)
  1223.  
  1224.  
  1225.  
  1226.  
  1227.        MakeNL                 MakeNL Command Line                Page 19
  1228.  
  1229.  
  1230.        4.6 Error return codes
  1231.  
  1232.        MakeNL terminates with ERRORLEVEL (see your DOS manual) set to
  1233.        one of the following values:
  1234.  
  1235.             0  = Process mode - no errors encountered
  1236.             1  = Process mode - no fatal errors encountered
  1237.             2  = Process mode - one or more fatal errors encountered
  1238.             3  = Test mode - no errors encountered
  1239.             4  = Test mode - no fatal errors encountered
  1240.             5  = Test mode - one or more fatal errors encountered
  1241.           254  = MakeNL aborted - I/O error
  1242.           255  = MakeNL aborted - Control file error
  1243.  
  1244.  
  1245.  
  1246.                               l
  1247.        MakeNL                                                    Page 20
  1248.  
  1249.  
  1250.                              5. MakeNL Directories
  1251.  
  1252.  
  1253.        MakeNL uses  several disk  directories in  the performance of its
  1254.        tasks.   Some are  required -- others are needed only to make use
  1255.        of special  features.  In this text, MakeNL's directories will be
  1256.        referred to by the following names.
  1257.  
  1258.        5.1 Master Directory
  1259.  
  1260.        The master  directory is  where MakeNL  stores all  of its master
  1261.        files.   Received files  will migrate  to this directory.  MakeNL
  1262.        requires a master directory.
  1263.  
  1264.        5.2 Update Directory
  1265.  
  1266.        The update directory provides interim storage for received files.
  1267.        It is  needed only if you process files received from others, and
  1268.        notify them  on receipt or when errors occur.  It prevents multi-
  1269.        ple notification.
  1270.  
  1271.        5.3 Mailfiles Directory
  1272.  
  1273.        The mailfiles  directory is  the directory  in  which  your  mail
  1274.        server receives  files.   It is  required if you receive nodelist
  1275.        segments from others via the network.
  1276.  
  1277.        5.4 Upload Directory
  1278.  
  1279.        The upload  directory is  the directory  in which your BBS stores
  1280.        uploaded files.   It  is required  if others upload nodelist seg-
  1281.        ments to your BBS.
  1282.  
  1283.        5.5 Other Directories
  1284.  
  1285.        Depending on the options selected in the control file, MakeNL may
  1286.        need access to other directories.
  1287.  
  1288.        If MakeNL  will be generating network messages it must be told in
  1289.        which directory your mail server expects to find these messages.
  1290.  
  1291.        By default,  MakeNL places  the master copy of its output file in
  1292.        the directory  with your  other master  files.  You can, however,
  1293.        define another directory to receive output files.
  1294.  
  1295.        When a  received file  has a "fatal error," one which renders the
  1296.        entire file  unusable, MakeNL  must get it out of the way to pre-
  1297.        vent further  attempts to  process it.   By  default,  it  simply
  1298.        deletes the  offending file,  but you  may define  a "bad  files"
  1299.        directory and MakeNL will move such files there.
  1300.  
  1301.        The "current directory" when MakeNL is invoked is the default di-
  1302.        rectory for MakeNL's control file
  1303.  
  1304.  
  1305.  
  1306.  
  1307.        MakeNL                                                    Page 21
  1308.  
  1309.  
  1310.                             6. MakeNL Control File
  1311.  
  1312.  
  1313.        MakeNL requires  a control  file to  define its operating parame-
  1314.        ters.   By default,  this file  is named  MAKENL.CTL, but you may
  1315.        specify another control file name on the command line.
  1316.  
  1317.        The contents  of the control file is a series of statements which
  1318.        tell MakeNL  what it  is to  do, and  how it  is to  do it.  Each
  1319.        statement begins with a verb, and may have as many as three addi-
  1320.        tional arguments.
  1321.  
  1322.        MakeNL is  not sensitive  to "case"  of characters in the control
  1323.        file.  Upper, lower or mixed case may be used.  In the discussion
  1324.        of the  control verbs  below, upper  case is used to indicate the
  1325.        minimum abbreviation required.
  1326.  
  1327.        The definitions of the control file verbs are grouped by type for
  1328.        clarity.  Except for DATA and FILES, they may appear in your con-
  1329.        trol file in any order.
  1330.  
  1331.        6.1 Control statements
  1332.  
  1333.        The following statements control the overall operation of MakeNL.
  1334.  
  1335.        6.1.1 MAKe <segment_type> [<number> [<source_file>]]
  1336.  
  1337.             A MAKe  statement is  required in  every control  file.   It
  1338.             tells MakeNL  what type of nodelist segment it is to produce
  1339.             and what kind of input to expect.
  1340.  
  1341.             <segment_type> is  one of  HUB,  NETwork,  REGion,  ZONe  or
  1342.             COMposite.
  1343.  
  1344.             <number> is  shown above as "optional."  This isn't strictly
  1345.             correct.   For all segment types except COMposite, it is re-
  1346.             quired.  It must NOT be used for COMposite.  <number> is the
  1347.             network address  number associated  with the  segment  being
  1348.             made.
  1349.  
  1350.             Even if  you are  a Zone Coordinator, there is a part of the
  1351.             nodelist segment you prepare which you, yourself maintain --
  1352.             the list  of nodes  associated directly  with  your  segment
  1353.             heading.   In the case of a ZONe segment type, this includes
  1354.             the "zone  gate" nodes.  In the case of an RC it is the list
  1355.             of "independent"  nodes in  your region.  There are two ways
  1356.             to input  your sub-segment  into MakeNL.  One is through the
  1357.             use of the DATa statement (see section (?) on page (?).  The
  1358.             other is by specifying a source file in the MAKe statement.
  1359.  
  1360.             <source_file> must  be an  explicit file name without a path
  1361.             qualifier.  The named file must exist in the directory named
  1362.             as your  master directory.   The first non-comment statemen
  1363.  
  1364.  
  1365.  
  1366.  
  1367.        MakeNL                 MakeNL Control File                Page 22
  1368.  
  1369.  
  1370.             in the  file must match the MAKe statement in <segment_type>
  1371.             and <number>.
  1372.  
  1373.             Examples:
  1374.  
  1375.                  MAKE COMPOSITE      ; make a complete nodelist
  1376.  
  1377.                  MAKE NET 100 MASTER.DAT ; input data from "master"
  1378.  
  1379.                  MAKE REGION 10      ; use DATA statement
  1380.  
  1381.        6.1.2 NAMe <network_name>
  1382.  
  1383.             When you  MAKe a  composite list  (see section  6.1.1),  the
  1384.             generated list  begins, by default, with the line " Nodelist
  1385.             for. . ."
  1386.  
  1387.             With the  NAMe verb,  you can  define a  <network_name> that
  1388.             will be  inserted in  front of  the first word of that line.
  1389.             <network_name> is  the only  parameter in  your control file
  1390.                                    ____
  1391.             that is  case-sensitive.  It will appear in the list exactly
  1392.             the way  it appears  in your  control file.   This  verb  is
  1393.             almost identical  to the  /NAME switch  (see section  4.5 on
  1394.             page 18).
  1395.  
  1396.             There are  two restrictions imposed by the NAMe verb that do
  1397.             not apply  to the  /NAME switch.   <network_name>  can be no
  1398.             more than 15 characters long, and can not contain any spaces
  1399.             or tabs.
  1400.  
  1401.             If you  use both  the NAMe  verb in the control file and the
  1402.             /NAME switch  on the  command line,  the command line switch
  1403.             will override.
  1404.  
  1405.        6.1.3 PUBlish <day_of_week>
  1406.  
  1407.             Most FidoNet  compatible networks  publish  their  nodelists
  1408.             each Friday.   For that reason, MakeNL assumes a Friday pub-
  1409.             lication day.
  1410.  
  1411.             As noted  earlier, the  file extensions  MakeNL computes for
  1412.             generic file names are determined by publication date, which
  1413.                                                              ____
  1414.             is defined  as the  next occurrence of your publication day,
  1415.                                                                     ___
  1416.             expressed as  day of year.  Obviously, your next publication
  1417.                           ___________
  1418.             date if  different if  you publish  on Saturday, than if you
  1419.             publish on Friday.
  1420.  
  1421.             The PUBlish  statement let's you inform MakeNL that you pub-
  1422.             lish your  list on  some day  other than Friday, and he will
  1423.             adjust his  generic file  name extensions  accordingly.  The
  1424.             <day_of_week> may  be a full day name, or may be abbreviated
  1425.             to as few as three characters
  1426.  
  1427.  
  1428.  
  1429.  
  1430.        MakeNL                 MakeNL Control File                Page 23
  1431.  
  1432.  
  1433.             Example:
  1434.  
  1435.                  PUBLISH SUNDAY      ; sets file extensions according to
  1436.                                      ; Sunday's date
  1437.  
  1438.             CAUTION:   Some nodelist processors may fail to operate
  1439.             correctly with  file name  extensions keyed to a day of
  1440.             week other  than Friday.    For  example,  versions  of
  1441.             EditNL earlier  than 4.20  will never  find such files.
  1442.             On the  other hand,  XLATLIST handles  all such  exten-
  1443.             sions, but  has a  problem with the first list of a new
  1444.             year if  you don't delete the list(s) from the previous
  1445.             year first.
  1446.  
  1447.        6.1.4 PROcess <day_of_week>
  1448.  
  1449.             MakeNL has  two fundamental  modes of  operation, "test" and
  1450.             "process."
  1451.  
  1452.             In test  mode, it  scans input data and checks it for errors
  1453.             and it  moves received update files to the update directory.
  1454.             Unless the  MERge statement or the /M command line switch is
  1455.             used, it does not produce any output.
  1456.  
  1457.             In process  mode MakeNL  produces an updated master file for
  1458.             your nodelist  segment and any required submittal or distri-
  1459.             bution files.  Normally you will do this once each week.
  1460.  
  1461.             If no  PROcess statement  is present, MakeNL will operate in
  1462.             process mode  unless the /T command line switch is used.  If
  1463.             the PROcess  statement is present, it controls MakeNL's mode
  1464.             of operation.   Except  on the  day specified in this state-
  1465.             ment, MakeNL will operate in test mode.  When MakeNL is exe-
  1466.             cuted on  the defined  process day,  it operates  in process
  1467.             mode.
  1468.  
  1469.             This statement  is most  useful to  coordinators who receive
  1470.             update files from others.  It permits them to operate MakeNL
  1471.             daily in an "external event" of their mail server.  It error
  1472.             checks received files and sends back notification on a daily
  1473.             basis as files are received, but only on the appropriate day
  1474.             does it  create a  submittal file and forward it up the lad-
  1475.             der.
  1476.  
  1477.             The <day_of_week> may be a full day name, or may be abbrevi-
  1478.             ated to  as few as three characters.  It should be chosen so
  1479.             that you  may meet  the submittal  deadline set  by the next
  1480.             higher coordinator.
  1481.  
  1482.             Example:
  1483.  
  1484.                   PROCESS THURSDA
  1485.  
  1486.  
  1487.  
  1488.  
  1489.        MakeNL                 MakeNL Control File                Page 24
  1490.  
  1491.  
  1492.        6.1.5 MERge [<nodelist_name>]
  1493.  
  1494.             When you add new nodes (or nets, as the case may be) to your
  1495.             list, you  might like  to notify them immediately that their
  1496.             applications have  been acted  upon.  This is complicated by
  1497.             the fact that your mail server needs to know about these new
  1498.             nodes (or nets), and that information comes from the distri-
  1499.             bution nodelist.   It may be several days before you receive
  1500.             the updated  version of the distribution nodelist containing
  1501.             the new listing.
  1502.  
  1503.             The MERge  statement tells MakeNL to merge your updated seg-
  1504.             ment into an existing distribution nodelist to create a tem-
  1505.             porary nodelist  your mail server can use.  This action will
  1506.             occur even if MakeNL is operating in test mode.
  1507.  
  1508.             By default,  MakeNL will  search for  NODELIST.htu not  more
  1509.             than two weeks old in the current directory, create a tempo-
  1510.             rary list  named NODELIST.999,  copy from  the  distribution
  1511.             list to  the temporary  list until  it finds your segment in
  1512.             the distribution  list, generate  an updated version of your
  1513.             segment in  the temporary list and finally, copy the remain-
  1514.             der of the distribution list to the temporary list.
  1515.  
  1516.             In order  to find  your segment  in the  distribution  list,
  1517.             MakeNL uses  information from the MAKe and NETaddress state-
  1518.             ments in your control file.
  1519.  
  1520.             If you  are MAKing  a HUB,  NETaddress must  provide the net
  1521.             number.   If no  NETaddress is given, the MERge command will
  1522.             be canceled.
  1523.  
  1524.             If you  are MAKing  anything other  than a  ZONE, and if the
  1525.             distribution list is a zone-based list, the zone number from
  1526.             the NETaddress  command is used to place your segment in the
  1527.             correct zone.   If  no zone  number is given, MakeNL assumes
  1528.             that your  segment goes  in the  first zone it encounters in
  1529.             the distribution list.
  1530.  
  1531.             If present, <nodelist_name> must be a generic file name, but
  1532.             may be  qualified by a path name.  It overrides the name and
  1533.             location of  the distribution  list, but the rest of the ac-
  1534.             tions are  the same.   The  temporary list  is placed in the
  1535.             same directory as the distribution list being merged.
  1536.  
  1537.             If the MERge statement is used in your control file, it will
  1538.             ALWAYS be  executed.  If you prefer to "merge on demand" use
  1539.             the /M  command line  switch instead.  It is exactly equiva-
  1540.             lent to the MERge statement. (See section 4.4 on page 18.)
  1541.  
  1542.             Example:
  1543.  
  1544.                  MERGE \BBS\NODELIS
  1545.  
  1546.  
  1547.  
  1548.  
  1549.        MakeNL                 MakeNL Control File                Page 25
  1550.  
  1551.  
  1552.        6.1.6 PRIvate <disposition>
  1553.  
  1554.             Private  nodes   (identified  by  the  PVT  keyword  in  the
  1555.             nodelist) are not universally permitted by all networks.  In
  1556.             a commercial network, for example, a node with no phone num-
  1557.             ber listing  is not particularly useful.  By default, MakeNL
  1558.             will accept these node entries contrary to a network coordi-
  1559.             nator's intentions.
  1560.  
  1561.             The PRIvate  statement permits  you to define other disposi-
  1562.             tions for  such entries.   <disposition>  must be one of OK,
  1563.             NONE, ZONE, REGION, HOST or HUB.
  1564.  
  1565.             "PRIvate OK"  is equivalent to the default action -- private
  1566.             nodes are permitted (but, of course, only within nets).
  1567.  
  1568.             NONE says  they are  not permitted.  The PVT keyword will be
  1569.             treated as an error, with a note that "Private nodes are not
  1570.             permitted in this network."
  1571.  
  1572.             If <disposition> is any of the hierarchical keywords, a pri-
  1573.             vate node  will be transformed into an "open" node by remov-
  1574.             ing the PVT keyword and substituting a known phone number in
  1575.             the phone  number field.   The  number used  is that  of the
  1576.             nearest node  at least  as high in the hierarchy as the key-
  1577.             word specified.  For instance, if "PRIvate HOST" is given, a
  1578.             private node will become a normal node with the phone number
  1579.             of the most recently encountered Host, Region or Zone state-
  1580.             ment.  Even if the previous entry were a Hub, his phone num-
  1581.             ber would not be used unless "PRIvate HUB" had been given.
  1582.  
  1583.             For fairly  obvious reasons, if you are MAKing a NETwork and
  1584.             enter the statement "PRIvate ZONE," MakeNL will abort with a
  1585.             control file  error.   It must  be able to find at least one
  1586.             phone number  to make  the substitution, and your file can't
  1587.             have any  zones or regions in it!  The hierarchical level of
  1588.             <disposition> must  be equal  to or lower than the level you
  1589.             are MAKing.   In  the case  you MAKe  COMPosite, MakeNL will
  1590.             take your word for anything your PRIvate statement tells it,
  1591.             but if no matching phone number has been found before it en-
  1592.             counters a private node, the private node will be treated as
  1593.             though the  statement were "PRIvate NONE," and will generate
  1594.             an error.
  1595.  
  1596.        6.1.7 MINphone <minimum_parts>
  1597.  
  1598.             The sixth  field of  a nodelist  entry is  the phone  number
  1599.             field.   MakeNL insures  that it meets certain minimum stan-
  1600.             dards.  It must begin and end with a digit.  It must contain
  1601.             only digits and hyphens.  There must not be two hyphens in a
  1602.             row.
  1603.  
  1604.             Phone numbers usually consist of several parts, separated by
  1605.             hyphens.   For example,  a number might have a country code
  1606.  
  1607.  
  1608.  
  1609.  
  1610.        MakeNL                 MakeNL Control File                Page 26
  1611.  
  1612.  
  1613.             and area  code, an  exchange code  and a  line number.    To
  1614.             MakeNL, a  phone number  is a  phone number.  It attaches no
  1615.             special meaning the number's various parts.
  1616.  
  1617.             Some nodelist  processing programs  do attach meaning to the
  1618.             parts of a phone number, and complain if they are not there!
  1619.             For this  reason MakeNL  will  enforce  an  additional  con-
  1620.             straint, if  told to do so.  It will insure that every phone
  1621.             number has a certain minimum number of parts.
  1622.  
  1623.             Example:
  1624.  
  1625.                  MINPHONE 4
  1626.  
  1627.             This statement  in a control file instructs MakeNL to reject
  1628.             any entry  with a  phone number  that does not have at least
  1629.             four parts.   The  number "123-4567"  would not be valid and
  1630.             would cause an error message to be issued.
  1631.  
  1632.             In a  large hierarchical network of international scope, the
  1633.             MINphone verb should only be used at the lower levels.  Hubs
  1634.             and Hosts  may expect all phone numbers to fit some standard
  1635.             format.   Except in North America, regional coordinators are
  1636.             likely to find variability in phone number format from coun-
  1637.             try to country.  A zone coordinator will certainly encounter
  1638.             such variability.   Attempts to enforce a standard number of
  1639.             parts in  a phone  number at  these levels  will not be very
  1640.             successful.
  1641.  
  1642.             This is  not a  serious constraint  on the  use of MINphone.
  1643.             The files  received by  RCs and  ZCs have  already been pro-
  1644.             cessed at least once by MakeNL at a lower level where format
  1645.             can be enforced.  There should be no need to do it again.
  1646.  
  1647.        6.1.8 BAUdrate <valid_baud_rates>
  1648.  
  1649.             The seventh  field of  a nodelist  entry is  the  baud  rate
  1650.             field.   MakeNL checks  the value  in this  field against  a
  1651.             table of  valid baud rates.  Experience has shown this to be
  1652.             necessary.   Certain types of errors can cause a part of the
  1653.             phone number  to appear to be in the baud rate field.  With-
  1654.             out a  validity check, these errors could go undetected.  By
  1655.             default, the  valid rates  are 300,  1200, 2400,  4800,  and
  1656.             9600.
  1657.  
  1658.             To accommodate future growth, the "valid baud rate" table is
  1659.             configurable through  the use  of the  BAUdrate verb.    The
  1660.             <valid_baud_rates> parameter  is a list of up to twelve (12)
  1661.             valid baud  rates (numeric strings) separated by commas.  It
  1662.             may contain  no spaces  of tabs.   It  must be  the complete
  1663.             list, and will replace MakeNL's internal table
  1664.  
  1665.  
  1666.  
  1667.  
  1668.        MakeNL                 MakeNL Control File                Page 27
  1669.  
  1670.  
  1671.             For example:
  1672.  
  1673.                  BAUDRATE 1200,2400,4800,9600
  1674.  
  1675.             This statement  would effectively  eliminate 300  baud nodes
  1676.             from your list, while:
  1677.  
  1678.                  BAUDRATE 300,1200,2400,4800,9600,14400
  1679.  
  1680.             would permit  nodes to  use 14400  baud in their entries.  A
  1681.             caveat in this case.  Any new values must be authorized from
  1682.             the top  down.   If you  used this statement and submitted a
  1683.             list with  14400 baud  nodes, the  first coordinator who did
  1684.             not have  a similar  BAUdrate statement  would reject  those
  1685.             nodes as having invalid baud rates.
  1686.  
  1687.             In general,  you can  be more restrictive than the coordina-
  1688.             tor(s) above you, but you cannot be more liberal!
  1689.  
  1690.        6.2 Defining nodelist segment directories
  1691.  
  1692.        MakeNL uses  several directories for various purposes for storage
  1693.        of nodelist  segment data.   The following statements are used to
  1694.        define to  MakeNL where  these directories are located.  They all
  1695.        have the same format:
  1696.  
  1697.             <verb> <directory_path_name>
  1698.  
  1699.        <verb> is  one of  MASter, UPDate, MAIlfiles, UPLoads or BADfiles
  1700.        as defined below.
  1701.  
  1702.        <directory_path_name> is  a relative  or absolute  directory path
  1703.        name, with or without a disk specifier.
  1704.  
  1705.        6.2.1 MASter <directory_path_name>
  1706.  
  1707.             This is the directory in which MakeNL keeps all its "master"
  1708.             files.   This includes  the master  copy of  your  submittal
  1709.             file,   master copies  of nodelist  segments  received  from
  1710.             others, your  input source  file, if  used,  and  the  three
  1711.             "comments" text  files, if used.  In addition, for each seg-
  1712.             ment given a generic name, week-old copies are kept here and
  1713.             used create and/or apply difference files.
  1714.  
  1715.             MakeNL always uses a master directory.  If this statement is
  1716.             absent, the  current directory  is used as the master direc-
  1717.             tory.
  1718.  
  1719.        6.2.2 UPLoads <directory_path_name>
  1720.  
  1721.             If others  upload update  files to  your BBS, this statement
  1722.             tells MakeNL where to look for them.  Only one upload direc-
  1723.             tory may  be named.  If your BBS supports more than one, yo
  1724.  
  1725.  
  1726.  
  1727.  
  1728.        MakeNL                 MakeNL Control File                Page 28
  1729.  
  1730.  
  1731.             need to  inform your  submitters how to upload their updates
  1732.             so that they wind up in the right directory.
  1733.  
  1734.             If you  don't receive  update files  via upload,  omit  this
  1735.             statement and MakeNL will ignore it.
  1736.  
  1737.        6.2.3 MAIlfiles <directory_path_name>
  1738.  
  1739.             If you  receive update  files from  others via network mail,
  1740.             this statement  tells MakeNL where your file server will put
  1741.             the files.
  1742.  
  1743.             If you  don't receive  update files  via network  mail, omit
  1744.             this statement and MakeNL will ignore it.
  1745.  
  1746.        6.2.4 UPDate <directory_path_name>
  1747.  
  1748.             If you  receive update  files from others by any means, this
  1749.             statement defines  a temporary  holding directory  for them.
  1750.             When MakeNL  is operated in test mode, files it finds in the
  1751.             UPLoads or  MAIlfiles directories  are moved  to this direc-
  1752.             tory.   If you use notification (and you should use at least
  1753.             error notification),  MakeNL will  generate  a  notification
  1754.             message each  time it finds a submitter's update file in one
  1755.             of those  directories.   Moving received files to the update
  1756.             directory prevents multiple notification.
  1757.  
  1758.             If received files were moved to the master directory in test
  1759.             mode, and if a subsequent difference file were received from
  1760.             one of your submitters, you might have already lost the file
  1761.             MakeNL needs to apply the difference file against!
  1762.  
  1763.             When MakeNL  operates in  process mode, it moves files found
  1764.             in any  of these directories to the master directory as part
  1765.             of its update process.
  1766.  
  1767.             If you  don't receive  update files  from others,  omit this
  1768.             statement and MakeNL will ignore it.
  1769.  
  1770.        6.2.5 BADfiles <directory_path_name>
  1771.  
  1772.             When a received file generates a fatal error, MakeNL refuses
  1773.             to process  it further.   By  default, it simply deletes the
  1774.             offending file,  but if  this directory  is defined,  MakeNL
  1775.             will move  files with  fatal errors  here.  This gives you a
  1776.             chance (if you feel so inclined) to edit the file to correct
  1777.             the error,  then move it back to say the MAIlfiles directory
  1778.             and process it again.
  1779.  
  1780.             If you  don't receive update files from others or don't want
  1781.             to correct  their errors  for them,  omit this statement and
  1782.             MakeNL will ignore it
  1783.  
  1784.  
  1785.  
  1786.  
  1787.        MakeNL                 MakeNL Control File                Page 29
  1788.  
  1789.  
  1790.        6.3 Defining output
  1791.  
  1792.        The following  statements tell MakeNL what output to generate and
  1793.        how to  generate it.   They only have effect when MakeNL operates
  1794.        in process mode.
  1795.  
  1796.        6.3.1 OUTFile <filename>
  1797.  
  1798.             This statement is required in your control file.  It defines
  1799.             the name  of your master and submittal files.  These are the
  1800.             same file  unless MakeNL  creates an archive or a difference
  1801.             file.   These files are placed in your OUTFile directory, or
  1802.             if it is not defined, your MASter directory.
  1803.  
  1804.             <filename> may be either explicit or generic, but the choice
  1805.             carries some implications with it.  Using an explicit output
  1806.             file name  inhibits some  of MakeNL's  features, but if your
  1807.             output file  is small  they may  not be  of interest to you.
  1808.             Specifically, MakeNL will create neither an archive file nor
  1809.             a difference file for explicitly named files.  The reason is
  1810.             that to  do so,  MakeNL must  have the freedom to manipulate
  1811.             file extensions,  but it  cannot do  that if  you give it an
  1812.             explicit file extension.
  1813.  
  1814.        6.3.2 OUTPath <directory_path_name>
  1815.  
  1816.             By default,  MakeNL keeps  all of its output (except a merge
  1817.             file) in  the MASter  directory.   This includes  the output
  1818.             master  file,   the  submittal   file  (if  different),  and
  1819.             distribution files.   The  OUTPath  statement,  if  present,
  1820.             tells MakeNL to keep its output in a different directory.
  1821.  
  1822.        6.3.3 THReshold <arc_size> [<diff_size>]
  1823.  
  1824.             When you  use a generic output file name, MakeNL will do its
  1825.             best to  insure that  your submittal file is small enough to
  1826.             send to your coordinator in a one-minute phone call.  It has
  1827.             two ways to compress a file.
  1828.  
  1829.             First, it can create an archive file, using the ARC program.
  1830.             This will typically achieve about 40% reduction in size.
  1831.  
  1832.             Second, it  can create  a difference  file.   This is a file
  1833.             which contains  only the differences between your new output
  1834.             file and your previous one.  This technique can achieve dra-
  1835.             matic file size reduction, but is not as safe as the former.
  1836.             It assumes that your coordinator has a copy of your previous
  1837.             file (usually  a safe assumption).  With it and the new dif-
  1838.             ference file he can reconstruct your new output file.
  1839.  
  1840.             At 2400 baud, you can transmit a file about 10000 characters
  1841.             long in  a one-minute  phone call.  If an archive file is at
  1842.             least 40%  smaller than  its uncompressed version, a file of
  1843.             up to  16666 characters can be archived and transmitted in 
  1844.  
  1845.  
  1846.  
  1847.  
  1848.        MakeNL                 MakeNL Control File                Page 30
  1849.  
  1850.  
  1851.             minute.  These are the two default thresholds MakeNL uses to
  1852.             determine  what  to  do  with  your  submittal  file.    The
  1853.             THReshold statement can override these defaults.
  1854.  
  1855.             If your submittal file is larger than <arc_size> (in bytes),
  1856.             MakeNL will  use ARC  to create an archive of it, and submit
  1857.             the archive file.
  1858.  
  1859.             If your  submittal file  is greater than <diff_size>, MakeNL
  1860.             will create  a difference  file and submit it.  If a differ-
  1861.             ence file  is still larger than <arc_size>, MakeNL will cre-
  1862.             ate an  archive of  the difference file and submit that, but
  1863.             that is the best it can do.
  1864.  
  1865.             If <diff_size> is given, it must be greater than or equal to
  1866.             <arc_size>.  If <diff_size> is not given it is calculated by
  1867.             MakeNL as 5/3 * <arc_size>.
  1868.  
  1869.             Examples:
  1870.  
  1871.                  THRESHOLD 5000 ; recommended value for 1200 baud
  1872.  
  1873.                  THR 0          ; always create an archived diff file
  1874.  
  1875.                  THR 0 -1       ; always archive -- no diff
  1876.  
  1877.                  THR -1 -1      ; turn compression off
  1878.  
  1879.        6.3.4 ARC <n>
  1880.  
  1881.             MakeNL creates  compressed archive  files by  executing  the
  1882.             program ARC by System Enhancement Associates.
  1883.  
  1884.             ARC will,  by default,  produce the  maximum compression  of
  1885.             which it  is capable.  This may not always be desirable.  If
  1886.             you have  version 6  or 7  of ARC, and the recipient of your
  1887.             archived file  does not,  he will  be unable  to unpack your
  1888.             archives.
  1889.  
  1890.             The ARC <n> verb will force these versions to create level-5
  1891.             or level-6 compatible archives, thus insuring compatibility.
  1892.             The parameter <n> must be either "5" or "6."
  1893.  
  1894.             Do not use ARC <n> if you have ARC version 5 or earlier.  It
  1895.             will cause  errors, as  will the use of "ARC 6" with version
  1896.             6!   The compatibility  level must always be LOWER that your
  1897.             version level. 
  1898.  
  1899.        6.3.5 OUTDiff <generic_filename>
  1900.  
  1901.             MakeNL's primary  mission  is  to  gather  segments  of  the
  1902.             nodelist and  assemble larger  segments for submittal to the
  1903.             next higher coordinator, until finally all the segments have
  1904.             been assembled  and the result is the network's distributio
  1905.  
  1906.  
  1907.  
  1908.  
  1909.        MakeNL                 MakeNL Control File                Page 31
  1910.  
  1911.  
  1912.             nodelist.   However, if  desired, distribution  lists may be
  1913.             created at any step along the way.
  1914.  
  1915.             Distribution lists  are actually created in pairs.  A famil-
  1916.             iar pair  is NODELIST.htu  and NODEDIFF.htu, the files which
  1917.             define the Public FidoNet Network.
  1918.  
  1919.             There is no reason why a node must use the full network list
  1920.             if a  smaller list  will suit  his needs.   Indeed, programs
  1921.             such as PRUNE are based on this philosophy.
  1922.  
  1923.             When the  OUTDiff statement  appears in  your control  file,
  1924.             MakeNL will  produce a  pair of distribution files.  OUTFile
  1925.             and OUTDiff  must specify  distinct generic  names, and they
  1926.             will become the "stem" names of your distribution files.
  1927.  
  1928.             Distribution files differ from submittal files in the naming
  1929.             conventions used to determine file extensions.  For example,
  1930.             assume:
  1931.  
  1932.                  OUTFILE REGION10
  1933.                  OUTDIFF R10-DIFF
  1934.  
  1935.             Then the following table defines the file names of generated
  1936.             submittal and distribution files:
  1937.  
  1938.                  Compression         Submittal           Distribution
  1939.  
  1940.                  None                REGION10.htu        REGION10.htu
  1941.                  Archive             REGION10.Atu        REGION10.Atu
  1942.                  Difference          REGION10.Dtu        R10-DIFF.htu
  1943.                  Both                REGION10.ADu        R10-DIFF.Atu
  1944.  
  1945.             Note that  the full  list and its archive bear the same name
  1946.             in both columns.  Indeed, they are the same files.  But sub-
  1947.             mittal files  use the  same filename  stem for  all types of
  1948.             files, while distribution difference files have unique file-
  1949.             name stems.   The  reason for  this is  to support  the tra-
  1950.             ditional  names  NODELIST  and  NODEDIFF  as  painlessly  as
  1951.             possible.
  1952.  
  1953.             Distribution files,  as with  submittal files, are placed in
  1954.             the OUTPath  directory.   Once created,  these files are ig-
  1955.             nored by  MakeNL, unless explicitly told to clean up its old
  1956.             files (see the CLEanup command below).
  1957.  
  1958.             The following  control file  fragment would  create NODELIST
  1959.             distribution files for the Public FidoNet Network
  1960.  
  1961.  
  1962.  
  1963.  
  1964.        MakeNL                 MakeNL Control File                Page 32
  1965.  
  1966.  
  1967.             Example:
  1968.  
  1969.                  MAKE COMPOSITE
  1970.                  THRESHOLD 0 -1 ; force archiving -- no submittal diff
  1971.                  OUTPATH  .        ; master list to current directory
  1972.                  OUTFILE  NODELIST ; create NODELIST.Atu
  1973.                  OUTDIFF  NODEDIFF ; create NODEDIFF.Atu
  1974.  
  1975.             When MakeNL  has finished,  three files are left in the cur-
  1976.             rent directory; NODELIST.htu, NODELIST.Atu and NODEDIFF.Atu.
  1977.             Note that  with "THRESHOLD  0 0," NODELIST.ADu would be cre-
  1978.             ated with contents identical to NODEDIFF.Atu.
  1979.  
  1980.        6.3.6 CLEanup
  1981.  
  1982.             If you  use a  generic  OUTFILE  name,  and  if  you  create
  1983.             difference and/or  archive files, they tend to accumulate in
  1984.             your OUTPATH  directory  over  time.    By  default,  MakeNL
  1985.             ignores them  completely.   This is done so that OUTPATH can
  1986.             point to a "download" directory where several editions might
  1987.             be made available to users.
  1988.  
  1989.             When  MakeNL  operates  in  process  mode  and  CLEanup  (no
  1990.             arguments) appears  in the  control file,  after  all  other
  1991.             processing is  done, it  searches the  OUTPATH directory for
  1992.             old difference  and/or archive  files  and  deletes  any  it
  1993.             finds.
  1994.  
  1995.             CLEanup has  no effect  on current  files or the handling of
  1996.             output master  files.  It has no effect whatever when MakeNL
  1997.             is operated in test mode.
  1998.  
  1999.        6.4 External message transmission
  2000.  
  2001.        MakeNL can  generate two  kinds of network messages, notification
  2002.        messages and submittal messages.
  2003.  
  2004.        Notification messages  are addressed to submitters to notify them
  2005.        of receipt of and/or errors in their submittal files.
  2006.  
  2007.        A submittal  message is  addressed to  your coordinator,  and has
  2008.        your submittal file attached.
  2009.  
  2010.        Messages created  by MakeNL  are compatible with SEAdog by System
  2011.        Enhancement Associates.   Except  for CRASH  and  HOLD  attribute
  2012.        flags, they  are compatible with Fido v11, and (I think) Fido v12
  2013.        by Tom  Jennings.   They are  probably compatible with other mail
  2014.        servers, but I cannot guarantee it.
  2015.  
  2016.        The  following   statements  control   the  generation  of  these
  2017.        messages
  2018.  
  2019.  
  2020.  
  2021.  
  2022.        MakeNL                 MakeNL Control File                Page 33
  2023.  
  2024.  
  2025.        6.4.1 NETaddress [<zone>:]<net>/<node>
  2026.  
  2027.             This statement  is used to tell MakeNL what your network ad-
  2028.             dress is.  MakeNL must know your network address in order to
  2029.             generate the "From:" field in submittal or notification mes-
  2030.             sages.   If MakeNL must create inter-zone messages, it needs
  2031.             to know  your zone  number.   In addition, your zone number,
  2032.             and if  you are  MAKing a HUB, your net number may be needed
  2033.             to properly perform a MERge operation.
  2034.  
  2035.             If your  control file  does not  contain a NETaddress state-
  2036.             ment, MakeNL will try to guess you network address from your
  2037.             MAKe statement.   If  you are  MAKing a  ZONE, your  default
  2038.             network address  is <nbr>:<nbr>/0.   If  you  are  MAKing  a
  2039.             REGION  or   NETWORK,  your   default  network   address  is
  2040.             0:<nbr>/0.  If you are MAKing a HUB, MakeNL hasn't a clue!
  2041.  
  2042.             If the  default network  address MakeNL  selects for  you is
  2043.             satisfactory, you  don't need a NETaddress statement, but it
  2044.             is recommended that you include one to remove all doubt.
  2045.  
  2046.             Examples:
  2047.  
  2048.                  NETADDRESS  100/76
  2049.  
  2050.                  NETADDRESS  1:1/0
  2051.  
  2052.        6.4.2 MESsages <directory_path_name>
  2053.  
  2054.             This statement is required if MakeNL is to generate ANY out-
  2055.             going messages.   It  tells MakeNL the name of the directory
  2056.             used by your mail server for network mail messages.
  2057.  
  2058.             Example:
  2059.  
  2060.                  MESSAGES  D:\BBS\MAIL
  2061.  
  2062.        6.4.3 SUBmit <address> [<flags>]
  2063.  
  2064.             The SUBmit statement tells MakeNL that in process mode it is
  2065.             to create  a "file  attach" message  to send  your submittal
  2066.             file to your coordinator.  <address> is his network address.
  2067.  
  2068.             Optional <flags>  may be  any or all of CRASH, HOLD or INTL.
  2069.             These should  not be  used unless  your mail server supports
  2070.             them.
  2071.  
  2072.             Example:
  2073.  
  2074.                  SUBMIT  13/0  CRASH
  2075.  
  2076.             The INTL  flag is  a special  case.  It forces MakeNL to add
  2077.             the "^AINTL:  <from> <to>"  extended  address  line  to  all
  2078.                                                                      ___
  2079.             messages it creates, even if they are not leaving your zone
  2080.  
  2081.  
  2082.  
  2083.  
  2084.        MakeNL                 MakeNL Control File                Page 34
  2085.  
  2086.  
  2087.             Indiscriminate use  of this  flag is  not recommended.   You
  2088.                                                   ___
  2089.             should use it only if your mail server needs all messages to
  2090.             contain the expanded address.
  2091.  
  2092.             NOTE:   If you don't know what I'm talking about, don't
  2093.             use the  INTL flag.  It may cause you trouble.  Consult
  2094.             your mail  server's documentation  for guidance.   Most
  2095.             mail servers  do not  require  this  feature  and  many
  2096.             consider these  messages malformed.  Two which may need
  2097.             the INTL flag are D'Bridge and FrontDoor.
  2098.  
  2099.        6.4.4 NOTify <type> [<flags>]
  2100.  
  2101.             If the  NOTify statement  is used,  when MakeNL  finds a re-
  2102.             ceived update file in either the UPLoads or MAIlfiles direc-
  2103.             tory, it  will notify  the submitter  that the  file was re-
  2104.             ceived and/or that the file contained errors.
  2105.  
  2106.             Optional <flags>  may be  any or all of CRASH, HOLD or INTL.
  2107.             These should  not be  used unless  your mail server supports
  2108.             them.   (INTL need only be specified once, and it applies to
  2109.             all messages.)
  2110.             ___
  2111.  
  2112.             <type> is one of RECeipt, ERRors or SELF.
  2113.  
  2114.             RECeipt and  ERRors control notification of nodes submitting
  2115.             files to you.  If only NOTIFY RECEIPT is used, all notifica-
  2116.             tion messages  will have  the same attributes, as defined by
  2117.             <flags>.   If only  NOTIFY ERRORS  is used, the submitter is
  2118.             NOT notified  unless his  update file  has errors.    NOTIFY
  2119.             RECEIPT and  NOTIFY ERRORS  may both  be used with different
  2120.             message attribute flags, if desired.  In other words, normal
  2121.             receipt notification may be sent "regular" mail, while error
  2122.             messages are sent "CRASH."
  2123.  
  2124.             Unless you  execute MakeNL with the "/T" switch, NOTIFY SELF
  2125.             instructs MakeNL  to enter a message to you if it encounters
  2126.             any errors in your input data.  If you edit your master file
  2127.             without testing  it and you goof (shame), the error could go
  2128.             unnoticed for  some time.   When  MakeNL is executed by your
  2129.             external event, the error will cause a message to you to ap-
  2130.             pear in you network mail area.
  2131.  
  2132.        6.5 Defining special files
  2133.  
  2134.        MakeNL uses  a number  of special files in the performance of its
  2135.        duties.   The statements in this section provide the means to de-
  2136.        fine these files and/or alter defaults.
  2137.  
  2138.        6.5.1 Output comments files
  2139.  
  2140.             When MakeNL processes nodelist segment data, it ignores com-
  2141.             ments embedded  in the  data files.   These comments are as-
  2142.             sumed to  be your notes to yourself.  They might be anythin
  2143.  
  2144.  
  2145.  
  2146.  
  2147.        MakeNL                 MakeNL Control File                Page 35
  2148.  
  2149.  
  2150.             -- voice phone numbers, suspense dates when "down" nodes are
  2151.             expected to come back on line, etc..
  2152.  
  2153.             Comments may  be placed  in submittal  files to  communicate
  2154.             information to your coordinator, or in distribution files to
  2155.             communicate information  to your users, but not by embedding
  2156.             them in your data.
  2157.  
  2158.             Instead, comments  are placed in your output files by creat-
  2159.             ing and  maintaining three special text files in your MASter
  2160.             directory.  In process mode, MakeNL searches for these files
  2161.             and, if  they exist,  copies them  into your submittal file.
  2162.             It is  not an  error if any of them does not exist.  Missing
  2163.             comments are simply ignored.
  2164.  
  2165.             When MakeNL copies any of these files to the output file, it
  2166.             examines the  first character of each line to see if it con-
  2167.             tains a "comments flag," a semicolon (;) character. Any line
  2168.             beginning with  a semicolon  is copied  as is  to the output
  2169.             file.   MakeNL inserts  ";S "  at the  beginning of any line
  2170.             which does not begin with a semicolon.
  2171.  
  2172.        6.5.1.1 COPyright <explicit_filename>
  2173.  
  2174.             By default,  MakeNL looks  for a  file named CPYRIGHT.TXT in
  2175.             the MASter  directory.   If it exists, it is assumed to be a
  2176.             copyright notice, and is copied into the output file immedi-
  2177.             ately under the identification header line.
  2178.  
  2179.             The copyright  file gets  a special treatment the other com-
  2180.             ments files  do not  get.   If a  string of four pound signs
  2181.             (####) is  found in  the first line, it is replaced with the
  2182.             current year.   Thus  "Copyright  ####"  becomes  "Copyright
  2183.             1987" automatically.   You  don't have  to remember  to edit
  2184.             your copyright notice in January.
  2185.  
  2186.             The COPyright  statement lets  you override the default name
  2187.             "CPYRIGHT.TXT" with any other explicit name.  You might need
  2188.             to do  this if,  for example, you are a Regional Coordinator
  2189.             and use two different control files to create your submittal
  2190.             file and  distribution files.   You  may use the same MASter
  2191.             directory for  both and  have different copyright notices on
  2192.             each.   In fact,  you might  name a  nonexistent  file  when
  2193.             generating your submittal file, thus eliminating the notice.
  2194.  
  2195.             Examples:
  2196.  
  2197.                  COPYRIGHT  CPY-DIST.TXT
  2198.  
  2199.                  COPYRIGHT  NONE  ; file "NONE" does not exis
  2200.  
  2201.  
  2202.  
  2203.  
  2204.        MakeNL                 MakeNL Control File                Page 36
  2205.  
  2206.  
  2207.        6.5.1.2 PROlog <explicit_filename>
  2208.  
  2209.             By default,  MakeNL looks for a file named PROLOG.TXT in the
  2210.             MASter directory.   If it exists, it is copied into the out-
  2211.             put file immediately under any copyright notice.
  2212.  
  2213.             The PROlog  statement allows  you to  override  the  default
  2214.             filename, "PROLOG.TXT"  with any explicit file name.  If the
  2215.             named file  does not  exist in the MASter directory, the ef-
  2216.             fect is to turn off prologue comments.
  2217.  
  2218.        6.5.1.3 EPIlog <explicit_filename>
  2219.  
  2220.             By default,  MakeNL looks for a file named EPILOG.TXT in the
  2221.             MASter directory.   If it exists, it is copied into the out-
  2222.             put file following all nodelist segment data.
  2223.  
  2224.             The EPIlog  statement allows  you to  override  the  default
  2225.             filename, "EPILOG.TXT"  with any explicit file name.  If the
  2226.             named file  does not  exist in the MASter directory, the ef-
  2227.             fect is to turn off epilogue comments.
  2228.  
  2229.        6.5.2 Comments from received files
  2230.  
  2231.             As stated  earlier, comments  in nodelist segment data files
  2232.             are NOT  copied into output files.  But comments in your re-
  2233.             ceived files  are probably  there to communicate information
  2234.             to YOU.  Like the old dairy cream separator, MakeNL can sep-
  2235.             arate comments from received files out into their own file.
  2236.  
  2237.        6.5.2.1 COMments <explicit_filename>
  2238.  
  2239.             When the COMments statement appears in your control file, it
  2240.             tells MakeNL  to write  the name  of each  input file to the
  2241.             named comments  file, followed  by any  comments  statements
  2242.             that appear in that file.
  2243.  
  2244.             The file  name MUST  be explicit,  but may have a path name.
  2245.             The comments file will appear in the current directory if no
  2246.             path is given.
  2247.  
  2248.             If the  COMments statement  is omitted, comments in received
  2249.             files are ignored by MakeNL.
  2250.  
  2251.        6.6 DATa
  2252.  
  2253.        The DATa  statement is  used as an alternative method of entering
  2254.        your nodelist  segment (see  MAKe on page 21).  If used, the DATa
  2255.        statement MUST follow all control statements except FILes.
  2256.  
  2257.        The DATa statement actually causes MakeNL to shift gears.  It has
  2258.        been processing  control information.   After the DATa statement,
  2259.        it begins  processing nodelist data, which immediately follows i
  2260.  
  2261.  
  2262.  
  2263.  
  2264.        MakeNL                 MakeNL Control File                Page 37
  2265.  
  2266.  
  2267.        in your control file.  The format and rules for this data are the
  2268.        same as for any nodelist data.
  2269.  
  2270.        The first  non-comment statement  encountered must match the MAKe
  2271.        statement in  <segment_type> and  <number>, or a fatal error will
  2272.        occur.
  2273.  
  2274.        6.7 FILes
  2275.  
  2276.        If you  receive segment  updates from  others, you  must use  the
  2277.        FILes statement  to define the files you receive and process.  If
  2278.        you furnish all the input data yourself, you will not use a FILes
  2279.        statement.
  2280.  
  2281.        When used, the FILes statement MUST be the last control statement
  2282.        in the  control file.   It  is followed  by a  list of file entry
  2283.        statements in the following format:
  2284.  
  2285.             <segment_type> <number> <filename> [<notify>]
  2286.  
  2287.        <segment_type> is  one of  HUB, NETwork,  REGion or  ZONe, but it
  2288.        must be  hierarchically lower  than the  MAKe <segment_type>.  In
  2289.        other words,  if MAKing  a region segment, <segment_type> must be
  2290.        either NETwork or HUB -- it may not be REGion or higher.
  2291.  
  2292.        <number> is, of course the network address number associated with
  2293.        the segment.
  2294.  
  2295.        <filename> is used by MakeNL to search through the various direc-
  2296.        tories for  the file defining this segment.  You and your submit-
  2297.        ter must  agree on  this filename.  His MakeNL must generate what
  2298.        your MakeNL  will look for.  <filename> may be either explicit or
  2299.        generic, but  it must  be defined  the same  by both you and your
  2300.        submitter.
  2301.  
  2302.        The first  non-comment statement  in an  input segment  file must
  2303.        match <segment_type> and <number>, or a fatal error occurs.
  2304.  
  2305.        When you  use notification,  MakeNL will  calculate a network ad-
  2306.        dress for  notification messages.   If  you are  MAKing a network
  2307.        segment for, say net 107, and receiving update segments from your
  2308.        Hubs, notification messages will be sent to 107/<number>.  In all
  2309.        other cases,  MakeNL sends notification messages to <number>/0 by
  2310.        default.
  2311.  
  2312.        The optional  argument <notify>  is the  network  address  MakeNL
  2313.        should use for notification messages and will override the calcu-
  2314.        lated address.
  2315.  
  2316.             Examples:
  2317.  
  2318.                  REGION    14   REGION14       14/61
  2319.                  NETWORK  100   NETWORK.10
  2320.  
  2321.  
  2322.  
  2323.  
  2324.        MakeNL                                                    Page 38
  2325.  
  2326.  
  2327.                     7. Disk and Memory Space Considerations
  2328.  
  2329.  
  2330.        If you  do not  use archiving  compression, MakeNL should execute
  2331.        satisfactorily in  about 160 kilobytes.  If you are using archiv-
  2332.        ing, you  should have  about 290  kilobytes of  memory.   IF  YOU
  2333.        ATTEMPT TO  EXECUTE ARC  WITH TOO  LITTLE MEMORY,  YOU  MAY  LOSE
  2334.        FILES!
  2335.  
  2336.        MakeNL is not as extravagant with disk space as it sounds, but if
  2337.        you are  a Regional  or Zone  Coordinator, you should do a little
  2338.        planning.
  2339.  
  2340.        Your MASter  directory will  hold one  copy of each .TXT comments
  2341.        file you use (plus backups if your editor creates them), one copy
  2342.        of each  data file with an explicit name, two copies of each data
  2343.        file with  a generic  name, and,  if you use it, one copy of your
  2344.        master input  file.   MakeNL automatically manages the data files
  2345.        in the  MASter directory  so that this is true.  Obviously, there
  2346.        can only  be one  copy of a file with an explicit name in any di-
  2347.        rectory.   Generically named  data files  more that two weeks old
  2348.        are automatically  deleted.   (The most  current file  is  always
  2349.        kept, no matter how old it is.)
  2350.  
  2351.        Your OUTPath  directory (usually  the same  as your  MASter) will
  2352.        hold one  copy of  your output  master file  if it  is explicitly
  2353.        named, and  two copies  if it is generically named.  In addition,
  2354.        when MakeNL  executes in process mode, it creates a temporary new
  2355.        output master  file, and  the OUTPath directory must have room to
  2356.        hold it.   At least one of these copies (and occasionally two, if
  2357.        there were  no changes) will be deleted before MakeNL attempts to
  2358.        do anything with or about your submittal file.
  2359.  
  2360.        If your  submittal file  is to be compressed, the compressed copy
  2361.        will also  be placed  in the  OUTPath directory.   On completion,
  2362.        there will  be only  one submittal  file, but if, for example, an
  2363.        archived diff  file is being produced, there must be space enough
  2364.        for both  until ARC  completes.   Then  the  diff  file  will  be
  2365.        deleted.
  2366.  
  2367.        It is  conceivable (though  most unlikely)  that you could have a
  2368.        copy of  each of  your data  files in  each of the subdirectories
  2369.        UPLoads, MAIlfiles and UPDate.  It is probable that by the end of
  2370.        each process  cycle you  will have  at least one copy of at least
  2371.        half of  these files in one of these directories.  When a file is
  2372.        received in compressed form, MakeNL decompresses it in the direc-
  2373.        tory that  received it,  and the  compressed version  is deleted.
  2374.        When files  are moved  from one  directory to another on the same
  2375.        drive, they  are moved  by renaming them.  No additional space is
  2376.        required for this operation.
  2377.  
  2378.        "So how  much !@#$%^ space do I need!?"  If you are a Hub or net-
  2379.        work coordinator,  not much.  Here is a guide I would suggest for
  2380.        Regional or  Zone coordinators.   Make  sure you have three time
  2381.  
  2382.  
  2383.  
  2384.  
  2385.        MakeNL         Disk and Memory Space Considerations       Page 39
  2386.  
  2387.  
  2388.        the space  required for  one set  of your generically named files
  2389.        plus two  times the space required for one set of your explicitly
  2390.        named files.
  2391.  
  2392.        With experience,  you'll get a better feel for how much space you
  2393.        need to operate MakeNL.  Before cutting yourself too fine, remem-
  2394.        ber that  MakeNL needs  some temporary  working space  while exe-
  2395.        cuting
  2396.  
  2397.  
  2398.  
  2399.  
  2400.        MakeNL                                                    Page 40
  2401.  
  2402.  
  2403.                   8. Contents of MakeNL Distribution Package
  2404.  
  2405.  
  2406.        The MakeNL distribution package consists of the following files:
  2407.  
  2408.           MAKENL.EXE   The MakeNL program
  2409.           MAKENL.PRN   This documentation file
  2410.           HUB.CTL      Sample control file for Hub Coordinators
  2411.           NET-S.CTL    Sample control file for Network Coordinators
  2412.           NET-L.CTL    Sample control file for Network Coordinators
  2413.           REGION.CTL   Sample control file for Regional Coordinators
  2414.           ZONE.CTL     Sample control file for Zone Coordinators
  2415.           DISTRIB.CTL  Sample control file for Distribution Lists
  2416.           CPYRIGHT.TXT Sample copyright notice
  2417.           PROLOG.TXT   Sample prologue file
  2418.           EPILOG.TXT   Sample epilogue file
  2419.           FTS-0005.TXT Nodelist Format Specification
  2420.  
  2421.  
  2422.  
  2423.  
  2424.        MakeNL                                                    Page 41
  2425.  
  2426.  
  2427.                          9. MakeNL License Information
  2428.  
  2429.  
  2430.        MakeNL is  distributed under  the "shareware" concept.  It may be
  2431.        freely copied  and distributed  provided all  the files listed in
  2432.        section 8  are included  in the  distribution.  But MakeNL is NOT
  2433.        FREE.
  2434.  
  2435.        If you are a non-commercial user of MakeNL, you are asked to sup-
  2436.        port its  development and  maintenance both with your suggestions
  2437.        and bug  reports and with your dollars.  No particular fee is set
  2438.        for non-commercial use.  Let your conscience be your guide.
  2439.  
  2440.        Commercial users, and users participating in a commercial network
  2441.        are required  to pay a license fee of twenty five (25) U. S. dol-
  2442.        lars for each computer on which MakeNL is installed for use.
  2443.  
  2444.        The Coordinator  of a commercial network may obtain a network li-
  2445.        cense for  a one-time  fee of  $1,500 US.   This will license all
  2446.        current and  future nodes  of the  network for the use of MakeNL.
  2447.        MakeNL and  EditNL may be licensed as a set for a one-time fee of
  2448.        $2,250.
  2449.  
  2450.        Please address all correspondence to:
  2451.  
  2452.             Ben Baker
  2453.             Baker & Associates
  2454.             One Mark Twain Plaza, Ste 325G
  2455.             Edwardsville, IL 62025
  2456.  
  2457.             (618) 656-885
  2458.  
  2459.