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