home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-02-12 | 155.5 KB | 2,406 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MakeNL -- Version 2.50MakeNL -- Version 2.50
-
- NODELIST Generator ProgramNODELIST Generator Program
-
-
-
-
-
- by Ben Bakerby Ben Baker
-
-
-
-
-
-
-
- Copyright 1987-1991 -- All Rights ReservedCopyright 1987-1991 -- All Rights Reserved
-
-
-
-
-
-
-
-
-
-
-
- Table of ContentsTable of Contents
-
-
-
- 1. Introduction 1
- 1.1 How to use this manual 2
-
- 2. MakeNL Operation 3
- 2.1 Operational overview 3
- 2.2 Operation at a Hub or simple Network 4
- 2.3 Operation at a large Network 6
- 2.4 Operation by a Regional Coordinator 10
- 2.5 Operation by a Zone Coordinator 10
- 2.6 Putting together a Distribution Nodelist Segment 13
-
- 3. Definitions 14
- 3.1 Composite Nodelist 14
- 3.2 Generic File Name 14
- 3.3 Explicit File Name 14
- 3.4 Archive File 14
- 3.5 Difference File 15
- 3.6 Submittal File 15
- 3.7 Distribution File 15
- 3.8 Absolute Directory Path 15
- 3.9 Relative Directory Path 15
- 3.10 Publication Date 15
-
- 4. MakeNL Command Line 17
- 4.1 Control file name 17
- 4.2 /TEST switch 17
- 4.3 /PROCESS switch 18
- 4.4 /MERGE switch 18
- 4.5 /NAME=<network_name> 18
- 4.6 Error return codes 19
-
- 5. MakeNL Directories 20
- 5.1 Master Directory 20
- 5.2 Update Directory 20
- 5.3 Mailfiles Directory 20
- 5.4 Upload Directory 20
- 5.5 Other Directories 20
-
- 6. MakeNL Control File 21
- 6.1 Control statements 21
- 6.1.1 MAKe <segment_type> [<number> [<source_file>]] 21
- 6.1.2 NAMe <network_name> 22
- 6.1.3 PUBlish <day_of_week> 22
- 6.1.4 PROcess <day_of_week> 23
- 6.1.5 MERge [<nodelist_name>] 24
-
- i
-
-
-
-
-
-
- 6.1.6 PRIvate <disposition> 25
- 6.1.7 MINphone <minimum_parts> 25
- 6.1.8 BAUdrate <valid_baud_rates> 26
- 6.2 Defining nodelist segment directories 27
- 6.2.1 MASter <directory_path_name> 27
- 6.2.2 UPLoads <directory_path_name> 27
- 6.2.3 MAIlfiles <directory_path_name> 28
- 6.2.4 UPDate <directory_path_name> 28
- 6.2.5 BADfiles <directory_path_name> 28
- 6.3 Defining output 29
- 6.3.1 OUTFile <filename> 29
- 6.3.2 OUTPath <directory_path_name> 29
- 6.3.3 THReshold <arc_size> [<diff_size>] 29
- 6.3.4 ARC <n> 30
- 6.3.5 OUTDiff <generic_filename> 30
- 6.3.6 CLEanup 32
- 6.4 External message transmission 32
- 6.4.1 NETaddress [<zone>:]<net>/<node> 33
- 6.4.2 MESsages <directory_path_name> 33
- 6.4.3 SUBmit <address> [<flags>] 33
- 6.4.4 NOTify <type> [<flags>] 34
- 6.5 Defining special files 34
- 6.5.1 Output comments files 34
- 6.5.1.1 COPyright <explicit_filename> 35
- 6.5.1.2 PROlog <explicit_filename> 36
- 6.5.1.3 EPIlog <explicit_filename> 36
- 6.5.2 Comments from received files 36
- 6.5.2.1 COMments <explicit_filename> 36
- 6.6 DATa 36
- 6.7 FILes 37
-
- 7. Disk and Memory Space Considerations 38
-
- 8. Contents of MakeNL Distribution Package 40
-
- 9. MakeNL License Information 41
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ii
-
-
-
-
-
-
-
-
-
- Table of FiguresTable of Figures
-
-
-
-
-
-
- Figure 1. Data Flow - Test Mode vs. Process Mode 3
-
- Figure 2. Sample control files for Hubs and small Nets 5
-
- Figure 3. Sample control file for large Nets 7
-
- Figure 4. Sample control file for Regional Coordinator 9
-
- Figure 5. Sample control file for Zone Coordinators 11
-
- Figure 6, Sample control file for distribution lists 12
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- iii
-
-
-
-
-
-
-
-
-
-
-
- 1. Introduction1. Introduction
-
-
- FidoNetFidoNet, a trade mark of Tom Jennings, was the name of the first
- amateur electronic mail program. There are now several mail
- server programs that support FidoNet protocols. Many amateur
- networks, large and small, are using one or more of these mail
- servers to communicate regularly.
-
- The glue that holds an amateur network together is its nodelist,
- a document that describes the nodes in the network, and the re-
- lationship between them. To be effective, this document must use
- a consistent format, so that programs may process its information
- automatically. The FidoNet Technical Standards Committee main-
- tains, among others, a document called FTS-0005.TXT that defines
- the format for a FidoNet compatible nodelist. A copy of that
- document is included in this distribution.
-
- Furthermore, a nodelist must be accurate and current. An out-of-
- date phone number, for example, is useless. It must be updated
- regularly, and most networks publish a new nodelist each week.
- This is an enormous task in any network of more than a few dozen
- nodes. No one person can do it. But division of labor adds
- complexity.
-
- Obviously, we need a tool that can help verify consistency,
- maximize accuracy and currency, minimize effort, and minimize
- cost. MakeNLMakeNL is such a tool.
-
- MakeNLMakeNL supports the multilevel nodelist generation techniques
- presently in use in several FidoNet compatible electronic mail
- networks. It helps maintain nodelist segments at any level from
- Hub through Network, Region and Zone to the composite distri-
- bution nodelist.
-
- MakeNLMakeNL's main purpose for being is to create a "submittal file"
- (see definitions - section 3 on page 14) containing your nodelist
- update, and to send it to your coordinator. It can do this auto-
- matically, if you set up its control file properly. It is a
- complex program and looks intimidating, but it is not really
- difficult.
-
- MakeNLMakeNL has features to help in nodelist preparation at any level,
- but it is also adaptable. Features you don't need you may safely
- ignore, and MakeNLMakeNL will not complain.
-
-
-
- MakeNL Introduction Page MakeNL Introduction Page 22
-
-
- 1.1 How to use this manual1.1 How to use this manual
-
- Section 2 is a tutorial on setting up and operating MakeNLMakeNL. It
- starts with the simplest case -- the lowest level of nodelist
- maintenance -- and expands in steps to Zone Coordinator.
-
- Sections 3 through 8 contain detailed reference information.
- Section 2 necessarily refers to information contained in later
- sections. The early paragraphs of section 2 contain frequent
- forward references to assist the reader.
-
- I recommend you read the entire document through once. Pay par-
- ticular attention to those parts of section 2 that pertain to
- you, but at least skim the rest. Familiarize yourself with the
- layout and content of the various sections, but do not read for
- thorough understanding on your first pass.
-
- Carefully study section 2 a second time. Refer to other sections
- for clarification of terms as necessary.
-
- Select the sample control file that best represents your partic-
- ular needs. Edit it to fit your particular environment, as in-
- dicated in section 2 and the comments in the control file.
-
- Make copies of your master data files in a safe place (floppy
- diskette, or a directory tucked away in a far corner of your hard
- disk).
-
- Familiarize yourself with MakeNLMakeNL by actually running it, in both
- test and process mode. During this phase, I suggest you comment
- out any "Submit" or "Notify" statements in your control file to
- avoid generating spurious messages.
-
- Introduce data errors to see how MakeNLMakeNL handles them. Make sure
- you're comfortable with it before you put it on line.
-
- When you're satisfied, delete all "test case" files. Copy your
- master files to your master directory. Make the necessary
- changes to enable your mail server's "external event" for MakeNLMakeNL
- and you're up.
-
- MakeNLMakeNL simplifies your life. It looks imposing, but it's really
- not very difficult.
-
-
-
- MakeNL Page MakeNL Page 33
-
-
-
- Test Mode Directory Process Mode Test Mode Directory Process Mode
- +------------------+ +------------------+
- +----------| |----------+ +----------| |----------+
- | | UPLOADS | | | | UPLOADS | |
- | +-----| |-----+ | | +-----| |-----+ |
- | | +------------------+ | | | | +------------------+ | |
- | | | | | | | |
- | | +------------------+ | | | | +------------------+ | |
- | | /---| |---\ | | | | /---| |---\ | |
- | |< | MAILFILES | >| | | |< | MAILFILES | >| |
- | | \---| |---/ | | | | \---| |---/ | |
- | | +------------------+ | | | | +------------------+ | |
- | | | | | | | |
- | | +------------------+ | | | | +------------------+ | |
- | +---\ | |---\ | | | +---\ | |---\ | |
- Received | >| UPDATE | >| |Received | >| UPDATE | >| |
- Update +--------/ | |---/ | |Update +--------/ | |---/ | |
- Files +------------------+ | |Files +------------------+ | |
- - - - - - - - - - - - - - - - - - - - - - - - | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | - - - - - -
- Master +------------------+ | |Master +------------------+ | |
- Files | | /---+ |Files | | /---+ |
- | MASTER |< | | MASTER |< |
- | | \--------+ | | \--------+
- +------------------+ +------------------+
- | | | |
- | +-------\ OUTPUT | +-------\ OUTPUT
- | > | >
- +------------/ FILES +------------/ FILES
-
-
- Figure Figure 11. Data Flow - Test Mode vs. Process Mode. Data Flow - Test Mode vs. Process Mode
-
-
-
-
- 2. MakeNL Operation2. MakeNL Operation
-
-
- 2.1 Operational overview2.1 Operational overview
-
- MakeNLMakeNL operates in two distinct modes, test mode and process
- mode. The mode of operation is controlled by the "PROcess"
- statement in your control file (see section 6.1.4 on page 23), or
- by the "/T" and "/P" command line switches (see sections 4.2 and
- 4.3 on page 17).
-
- In test mode your personal nodelist segment, the part of the
- nodelist you maintain, and any update segments you have received
- from others are tested for errors. Submitters of any received
- files are notified as indicated by the NOTify statements in the
- control file, and their files are moved to the UPDate directory.
- (See section 5 on page 20 for a description of MakeNLMakeNL's direc-
- tories.)
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 44
-
-
- In process mode your MASter directory is updated by any files re-
- ceived since the last time MakeNLMakeNL was executed in process mode.
- Master data files are used to produce your submittal and/or dis-
- tribution files.
-
- In general, MakeNLMakeNL should be run in process mode once and only
- once each week. Ideally, this will be done by an "external
- event" from your mail server. It is then automatic, and one less
- thing you have to worry about.
-
- It may be run in test mode as often as desired to test received
- files or changes in your own data.
-
- MakeNLMakeNL uses several directories to store data. Section 5 de-
- scribes them in detail. Figure 1 illustrates the data flow from
- directory to directory in the two modes of operation. Above the
- dashed line, the data flow all deals with files received from
- others -- perhaps from your Hubs if you are a Network Host, or
- from Network Hosts if you are a Regional Coordinator. It is
- clear from this picture that if you do not receive nodelist
- updates from others (and many of you don't), you have no use for
- three of MakeNLMakeNL's data directories, and a good deal of MakeNLMakeNL's
- complexity disappears.
-
- The following paragraphs give recommended set-up and operating
- procedures for various types of coordinators.
-
- 2.2 Operation at a Hub or simple Network2.2 Operation at a Hub or simple Network
-
- Here is where the nodelist update process begins. You have a
- small nodelist segment that you maintain. You do not receive any
- update files from anyone else. If you are a Network Coordinator
- and your network has Hubs, YOU maintain their data -- they just
- forward the mail. Yours is the easiest task, so your set-up for
- MakeNLMakeNL is the simplest for you.
-
- Figure 2 shows two variations of a MakeNLMakeNL control file tailored
- to your needs. You may maintain your nodelist segment as a sepa-
- rate file, or you may embed your data in your MakeNLMakeNL control
- file. (I prefer the latter method, but it is a matter of taste.)
- If you wish to maintain your data in a separate file, refer to
- the top half of Figure 2 (a facsimile of file HUB.CTL in your
- distribution package). If you want to keep your data in your
- control file, refer to the bottom half of Figure 2 (a facsimile
- of file NET-S.CTL in your distribution package). Refer to sec-
- tions 5 and 6 as you study these files.
-
- In either case, some minor editing of the control file you chose
- as indicated by comments in the file will have you nearly ready
- to go. When you have edited the control file to your liking, re-
- name it MAKENL.CTL and move it to your mail server's home
- directory.
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 55
-
-
-
- +---------------------------------------------------------------++---------------------------------------------------------------+
- | ; This variation uses a "master data file" for input and || ; This variation uses a "master data file" for input and |
- | ; sends output to the same file name. || ; sends output to the same file name. |
- | || |
- | make hub <100> <hub.100> ; note explicit name of file || make hub <100> <hub.100> ; note explicit name of file |
- | ; simplifies processing || ; simplifies processing |
- | outfile <hub.100> ; master and output files have SAME || outfile <hub.100> ; master and output files have SAME |
- | ; name || ; name |
- | || |
- | submit <host's address> ; where you send updates, CRASH || submit <host's address> ; where you send updates, CRASH |
- | ; and/or HOLD optional || ; and/or HOLD optional |
- | netaddress <your address> ; your network address here || netaddress <your address> ; your network address here |
- | messages <directory> ; path name to mail server's || messages <directory> ; path name to mail server's |
- | ; mail area || ; mail area |
- | || |
- | ; No other options are needed. Master directory and output || ; No other options are needed. Master directory and output |
- | ; directory will default to the current directory. || ; directory will default to the current directory. |
- +---------------------------------------------------------------++---------------------------------------------------------------+
- | ; This variation uses "internal" data at the bottom of the || ; This variation uses "internal" data at the bottom of the |
- | ; control file. || ; control file. |
- | || |
- | make network <nbr> ; No "master data file" input data || make network <nbr> ; No "master data file" input data |
- | ; is below. || ; is below. |
- | outfile <explicit name> ; output file || outfile <explicit name> ; output file |
- | || |
- | submit <RC's address> ; where you send updates, CRASH || submit <RC's address> ; where you send updates, CRASH |
- | ; and/or HOLD optional || ; and/or HOLD optional |
- | netaddress <your address> ; your network address here || netaddress <your address> ; your network address here |
- | messages <directory> ; path name to mail server's || messages <directory> ; path name to mail server's |
- | ; mail area || ; mail area |
- | || |
- | ; No other options are needed. Master directory and output || ; No other options are needed. Master directory and output |
- | ; directory will default to the current directory. || ; directory will default to the current directory. |
- | || |
- | data || data |
- | || |
- | ; Your source data goes here. The advantage of this over || ; Your source data goes here. The advantage of this over |
- | ; the version above is that MAKENL will not reformat or change|| ; the version above is that MAKENL will not reformat or change|
- | ; your source data, even if you have errors. || ; your source data, even if you have errors. |
- +---------------------------------------------------------------++---------------------------------------------------------------+
-
-
- Figure Figure 22. Sample control files for Hubs and small Nets. Sample control files for Hubs and small Nets
-
-
- Since you don't have many files to keep track of, you will exe-
- cute MakeNLMakeNL from your mail server's home directory, and let your
- MASter directory default to this directory as well.
-
- Set up an external event in your mail server to execute once a
- week at a day and time early enough to meet the deadline set by
- your coordinator, but not much earlier than that. The batch file
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 66
-
-
- fragment corresponding to this external event will execute the
- statement:
-
- MAKENLMAKENL
-
- You will normally ignore MakeNLMakeNL. It will take care of itself.
- When a change occurs in your data, edit your file using your fa-
- vorite editor. After editing, execute the following DOS command:
-
- MAKENL /TMAKENL /T
-
- just to be sure there are no errors. If MakeNLMakeNL reports an error,
- repeat the above steps until you've got it right.
-
- If you have added new nodes to your list, and wish to inform them
- of their node number assignments immediately, you need to get
- your changes into your mail server's nodelist. MakeNLMakeNL can per-
- form the first step for you if you execute the DOS command:
-
- MAKENL /T /M[[=<path>\]<filename>]MAKENL /T /M[[=<path>\]<filename>]
-
- The /M switch tells MakeNLMakeNL to merge your data with an existing
- distribution nodelist into a temporary nodelist with an extension
- of ".999". To do this, MakeNLMakeNL must find a distribution list not
- more than two weeks old. If /M is used by itself, MakeNLMakeNL will
- look for NODELIST.htu (see section 3.2 on page 14 for a
- description of this notation) in the current directory. If
- either the directory or the stem generic name are different, they
- must be given as a value in the /M switch.
-
- ExamplesExamples
-
- MAKENL /T /M ; use NODELIST in currentMAKENL /T /M ; use NODELIST in current
- MAKENL /T /M=\BBS\NODELIST ; use NODELIST in \BBS\MAKENL /T /M=\BBS\NODELIST ; use NODELIST in \BBS\
- MAKENL /T /M=R10-LIST ; use R10-LIST in currentMAKENL /T /M=R10-LIST ; use R10-LIST in current
-
- When the external event triggers MakeNLMakeNL in process mode (you are
- in bed, sound asleep) It will create a new copy of your master
- file, compare it to the old copy, and if nothing has changed, it
- will simply delete the new copy. If the file has changed, it
- will update your master file and create a submittal message to
- send it to your coordinator.
-
- That's all there is to it! MakeNLMakeNL will take care of getting your
- nodelist changes in on time if and when they occur.
-
- 2.3 Operation at a large Network2.3 Operation at a large Network
-
- Your life is a little more complicated than above. You assemble
- your submittal segment from your own file plus files received
- from your Hubs. Not only do you need to figure out this section.
- You need to understand the forgoing one too, so that you may ren-
- der assistance to your Hubs if necessary. But cheer up, it's not
- too bad!
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 77
-
-
-
- +---------------------------------------------------------------++---------------------------------------------------------------+
- | || |
- | make network <nbr> ; No "master data file" input data || make network <nbr> ; No "master data file" input data |
- | ; is below. || ; is below. |
- | || |
- | outfile <explicit name> ; use generic name if output file || outfile <explicit name> ; use generic name if output file |
- | ; is very large || ; is very large |
- | || |
- | process Wednesday ; Set this day to meet deadline RC || process Wednesday ; Set this day to meet deadline RC |
- | ; gives you || ; gives you |
- | || |
- | master <directory> ; where master files reside || master <directory> ; where master files reside |
- | ; (default - current) || ; (default - current) |
- | update <directory> ; where to save received files || update <directory> ; where to save received files |
- | ; 'till processing || ; 'till processing |
- | mailfiles <directory> ; where mail server places received || mailfiles <directory> ; where mail server places received |
- | ; files || ; files |
- | uploads <directory> ; where BBS places uploaded files || uploads <directory> ; where BBS places uploaded files |
- | ; (if needed) || ; (if needed) |
- | badfiles <directory> ; optional "waste can" for files || badfiles <directory> ; optional "waste can" for files |
- | ; with fatal errors || ; with fatal errors |
- | || |
- | notify receipt ; notify both receipt and errors || notify receipt ; notify both receipt and errors |
- | ; CRASH and/or HOLD optional || ; CRASH and/or HOLD optional |
- | submit <RC's address> ; where you send updates, CRASH || submit <RC's address> ; where you send updates, CRASH |
- | ; and/or HOLD optional || ; and/or HOLD optional |
- | netaddress <your address> ; your network address here || netaddress <your address> ; your network address here |
- | messages <directory> ; path name to mail server's || messages <directory> ; path name to mail server's |
- | ; mail area || ; mail area |
- | || |
- | ; No other options are needed. || ; No other options are needed. |
- | || |
- | data || data |
- | || |
- | ; Your source data goes here. || ; Your source data goes here. |
- | || |
- | files || files |
- | || |
- | Hub <nbr> <file name> ; either generic or explicit file || Hub <nbr> <file name> ; either generic or explicit file |
- | ; name, but must match convention || ; name, but must match convention |
- | Hub <nbr> <file name> ; used by Hub. || Hub <nbr> <file name> ; used by Hub. |
- | Hub <nbr> <file name> <notification address>; if not "net/hub"|| Hub <nbr> <file name> <notification address>; if not "net/hub"|
- | Hub <nbr> <file name> || Hub <nbr> <file name> |
- | ; etc. || ; etc. |
- +---------------------------------------------------------------++---------------------------------------------------------------+
-
-
- Figure Figure 33. Sample control file for large Nets. Sample control file for large Nets
-
-
- Refer to the figure 3 (a facsimile of file NET-L.CTL in your dis-
- tribution package).
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 88
-
-
- The submittal file for most local networks will be less than five
- kilobytes in size. For files this small, there is no advantage
- in using a generic output file name (see section 3.2 on page 14).
- Your Regional Coordinator will probably tell you to use an ex-
- plicit file name. There is certainly no reason for you to
- require your Hubs to use generic submittal file names. Notice
- that the OUTFile statement in figure 3 indicates the use of an
- explicit name.
-
- Rename NET-L.CTL to MAKENL.CTL and move it to the directory you
- wish to use as the current directory when you execute MakeNLMakeNL.
- Usually, this will be your mail server's home directory. Edit
- the file as indicated in the comments in NET-L.CTL. If you only
- have two or three hubs, you may wish to comment out the MASter
- directory statement and let it default to the current directory.
-
- Copy your own source data, the part you maintain which contains
- the "Host" statement into the control file between the DATa and
- FILes statements. Following the FILes statement, edit the HUB
- definition statements to match the Hubs who submit update files
- to you. Make sure the directories exist for all path names, that
- they are all distinctdistinct directories, and if you used relative path
- names, that they are relative to the directory from which you
- will execute MakeNLMakeNL. Make sure the process statement names the
- right day so that you can meet your RC's submittal deadline.
- That should get your control file in order.
-
- Move your current copies of your Hubs' segment files to the di-
- rectory defined as MASter in your control file.
-
- Set up an external event in your mail server to execute daily at
- a time early enough that, on your process day, you will meet the
- deadline set by your Regional Coordinator, but not much earlier
- than that. The batch file fragment corresponding to this exter-
- nal event will execute the statement:
-
- MAKENLMAKENL
-
- or if you want to keep a log of activityor if you want to keep a log of activity
-
- MAKENL >>MAKENL.LOGMAKENL >>MAKENL.LOG
-
- MakeNLMakeNL is now set up to pretty well take care of itself. On non-
- process days the external event will execute MakeNLMakeNL in test mode.
- It will scan the UPLoads and MAIlfiles directories for received
- files, test them for errors, send out notifications and move the
- files to the UPDate directory.
-
- On the process day MakeNLMakeNL will be executed in process mode. It
- will scan the UPLoads and MAIlfiles directories for late files,
- the UPDate directory for files received earlier in the week, and
- the MASter directory for files not updated this week.
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 99
-
-
-
- +---------------------------------------------------------------++---------------------------------------------------------------+
- | make region <nbr> ; No "master data file" input data || make region <nbr> ; No "master data file" input data |
- | ; is below. || ; is below. |
- | || |
- | outfile <generic name> ; use generic name for output file || outfile <generic name> ; use generic name for output file |
- | || |
- | process Thursday ; Set this day to meet deadline ZC || process Thursday ; Set this day to meet deadline ZC |
- | ; gives you || ; gives you |
- | || |
- | arc 5 ; force ARC 6 or 7 to generate level 5 archives || arc 5 ; force ARC 6 or 7 to generate level 5 archives |
- | ; DO NOT use ARC5 with ARC versions earlier than 6 || ; DO NOT use ARC5 with ARC versions earlier than 6 |
- | || |
- | master <directory> ; where master files reside || master <directory> ; where master files reside |
- | ; (default - current) || ; (default - current) |
- | update <directory> ; where to save received files || update <directory> ; where to save received files |
- | ; 'till processing || ; 'till processing |
- | mailfiles <directory> ; where mail server places received || mailfiles <directory> ; where mail server places received |
- | ; files || ; files |
- | uploads <directory> ; where BBS places uploaded files || uploads <directory> ; where BBS places uploaded files |
- | ; (if needed) || ; (if needed) |
- | badfiles <directory> ; optional "waste can" for files || badfiles <directory> ; optional "waste can" for files |
- | ; with fatal errors || ; with fatal errors |
- | || |
- | notify errors CRASH ; notify of errors (CRASH and/or || notify errors CRASH ; notify of errors (CRASH and/or |
- | ; HOLD optional) || ; HOLD optional) |
- | notify receipt ; use either of these or both with || notify receipt ; use either of these or both with |
- | ; different attributes. || ; different attributes. |
- | || |
- | submit <ZC's address> ; where you send updates, CRASH || submit <ZC's address> ; where you send updates, CRASH |
- | ; and/or HOLD optional || ; and/or HOLD optional |
- | netaddress <your address> ; your network address here || netaddress <your address> ; your network address here |
- | messages <directory> ; path name to mail server's || messages <directory> ; path name to mail server's |
- | ; mail area || ; mail area |
- | || |
- | data || data |
- | || |
- | ; Your region source data goes here. || ; Your region source data goes here. |
- | || |
- | files || files |
- | || |
- | Net <nbr> <file name> ; either generic or explicit file || Net <nbr> <file name> ; either generic or explicit file |
- | Net <nbr> <file name> ; name, but must match convention || Net <nbr> <file name> ; name, but must match convention |
- | ; used by Net. || ; used by Net. |
- | Net <nbr> <file name> <notification address> ; if not "net/0" || Net <nbr> <file name> <notification address> ; if not "net/0" |
- | Net <nbr> <file name> || Net <nbr> <file name> |
- +---------------------------------------------------------------++---------------------------------------------------------------+
-
-
- Figure Figure 44. Sample control file for Regional Coordinator. Sample control file for Regional Coordinator
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 1010
-
-
- All files will be tested (again) for errors, and sent to your
- master output file. Your master copies of your Hubs' files will
- be updated as necessary.
-
- If (and only if) this week's output is changed from last week's,
- your submittal file will be created in the current directory, and
- a "file attach" message will be generated to send it to your
- Regional Coordinator. All untouched by human hands!
-
- When the data changes in your own nodelist segment, edit your
- data file (usually your control file) and execute the DOS
- command:
-
- MAKENL /T
- or
- MAKENL /T /M ; see discussion in the previous section
-
- Given a chance, MakeNLMakeNL will do the right things at the right
- times. You worry about other things, like "Why can't Hub 999
- send me a file without errors? I gotta get him to use MakeNLto use MakeNL!"
-
- 2.4 Operation by a Regional Coordinator2.4 Operation by a Regional Coordinator
-
- For the most part, section 2.3 applies to you too, but there are
- some differences.
-
- Figure 4 is a facsimile of REGION.CTL, the prototype control file
- you will use.
-
- You have enough files you will want to get them out of the clut-
- ter of your mail server's home directory. You will set up a sep-
- arate MASter directory (see section 5.1 on page 20).
-
- Your output file is probably large enough that you will want to
- take advantage of the benefits of using a generic output file
- name. In fact, your ZC may require it.
-
- If your region file is larger than 10 kilobytes, MakeNLMakeNL will
- create a compressed archive by executing the program ARC. If you
- have version 6 or 7 of ARC and your ZC does not, you may want to
- force ARC to produce level-5 compatible archives.
-
- Other than that, substitute Network for Hub, Region for Network
- and Zone for Region, and follow the procedures in 2.3 using the
- file REGION.CTL from your distribution package.
-
- 2.5 Operation by a Zone Coordinator2.5 Operation by a Zone Coordinator
-
- Life gets still more complicated, but is still manageable.
-
- Preparing a zone segment is much the same as preparing the region
- segments of which it is made. Refer to sections 2.3 and 2.4
- above, figure 5 (a facsimile of the file ZONE.CTL from your dis-
- tribution package).
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 1111
-
-
-
- +---------------------------------------------------------------++---------------------------------------------------------------+
- | make zone <nbr> ; No "master data file" input data || make zone <nbr> ; No "master data file" input data |
- | ; is below. || ; is below. |
- | outfile <explicit name> ; use generic name for output file || outfile <explicit name> ; use generic name for output file |
- | ; if very large || ; if very large |
- | process Thursday ; Set this day to meet deadline ITC || process Thursday ; Set this day to meet deadline ITC |
- | ; gives you or Friday after || ; gives you or Friday after |
- | ; cut-over to zone based nodelist || ; cut-over to zone based nodelist |
- | arc 5 ; force ARC 6 or 7 to generate level 5 archives || arc 5 ; force ARC 6 or 7 to generate level 5 archives |
- | ; DO NOT use ARC5 with ARC versions earlier than 6 || ; DO NOT use ARC5 with ARC versions earlier than 6 |
- | || |
- | master <directory> ; where master files reside || master <directory> ; where master files reside |
- | ; (default - current) || ; (default - current) |
- | update <directory> ; where to save received files || update <directory> ; where to save received files |
- | ; 'till processing || ; 'till processing |
- | mailfiles <directory> ; where mail server places received || mailfiles <directory> ; where mail server places received |
- | ; files || ; files |
- | uploads <directory> ; where BBS places uploaded files || uploads <directory> ; where BBS places uploaded files |
- | ; (if needed) || ; (if needed) |
- | badfiles <directory> ; optional "waste can" for files || badfiles <directory> ; optional "waste can" for files |
- | ; with fatal errors || ; with fatal errors |
- | notify errors CRASH ; notify of errors (CRASH optional) || notify errors CRASH ; notify of errors (CRASH optional) |
- | ; Errors should not occur at this || ; Errors should not occur at this |
- | ; level, but. . . || ; level, but. . . |
- | submit 1:1/0 ; where you send updates, CRASH || submit 1:1/0 ; where you send updates, CRASH |
- | ; and/or HOLD optional || ; and/or HOLD optional |
- | netaddress <your address> ; your network address here || netaddress <your address> ; your network address here |
- | messages <directory> ; path name to mail server's || messages <directory> ; path name to mail server's |
- | ; mail area || ; mail area |
- | || |
- | data || data |
- | || |
- | ; Your zone source data goes here. Note that first || ; Your zone source data goes here. Note that first |
- | ; non-comment statement must begin with the keyword "Zone" || ; non-comment statement must begin with the keyword "Zone" |
- | ; not "Region" || ; not "Region" |
- | || |
- | files || files |
- | || |
- | Region <nbr> <generic name> || Region <nbr> <generic name> |
- | Region <nbr> <generic name> || Region <nbr> <generic name> |
- | Region <nbr> <generic name> <notification address> ; if not || Region <nbr> <generic name> <notification address> ; if not |
- | ; "region/0" || ; "region/0" |
- | Region <nbr> <generic name> || Region <nbr> <generic name> |
- | ; etc. || ; etc. |
- +---------------------------------------------------------------++---------------------------------------------------------------+
-
-
- Figure Figure 55. Sample control file for Zone Coordinators. Sample control file for Zone Coordinators
-
-
- On your process day, after generating your zone segment, you will
- execute MakeNLMakeNL a second time with a special control file to
- create your zone's version of the distribution nodelist. Section
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 1212
-
-
-
- +---------------------------------------------------------------++---------------------------------------------------------------+
- | make composite || make composite |
- | name <network name> ; eg. FidoNet or AlterNet or EGGnet || name <network name> ; eg. FidoNet or AlterNet or EGGnet |
- | || |
- | threshold 0 -1 ; force ARC -- no submittal difference file || threshold 0 -1 ; force ARC -- no submittal difference file |
- | || |
- | arc 5 ; force ARC 6 or 7 to generate level 5 archives || arc 5 ; force ARC 6 or 7 to generate level 5 archives |
- | ; DO NOT use ARC5 with ARC versions earlier than 6 || ; DO NOT use ARC5 with ARC versions earlier than 6 |
- | || |
- | outfile <generic name> ; recommended names: || outfile <generic name> ; recommended names: |
- | ; NODELIST - complete composite list || ; NODELIST - complete composite list |
- | ; Zn-LIST - zone distribution list || ; Zn-LIST - zone distribution list |
- | ; Rnn-LIST - region distribution list || ; Rnn-LIST - region distribution list |
- | ; NnnnLIST - network distribution list|| ; NnnnLIST - network distribution list|
- | || |
- | outdiff <generic name> ; recommended names: || outdiff <generic name> ; recommended names: |
- | ; NODEDIFF - complete composite list || ; NODEDIFF - complete composite list |
- | ; Zn-DIFF - zone distribution list || ; Zn-DIFF - zone distribution list |
- | ; Rnn-DIFF - region distribution list || ; Rnn-DIFF - region distribution list |
- | ; NnnnDIFF - network distribution list|| ; NnnnDIFF - network distribution list|
- | || |
- | master <directory> ; same as OUTPath or MASter in || master <directory> ; same as OUTPath or MASter in |
- | ; previous run || ; previous run |
- | outpath . ; put <name>.nnn in current directory || outpath . ; put <name>.nnn in current directory |
- | || |
- | copyright <cpy-dist.txt>; if these three files are not path- || copyright <cpy-dist.txt>; if these three files are not path- |
- | prolog <file name> ; qualified, they are lodated in the || prolog <file name> ; qualified, they are lodated in the |
- | epilog <file name> ; master directory || epilog <file name> ; master directory |
- | || |
- | files || files |
- | || |
- | Network <nbr> <explicit name> ; must match OUTFile name of || Network <nbr> <explicit name> ; must match OUTFile name of |
- | ; previous run || ; previous run |
- | ; or || ; or |
- | Region <nbr> <generic name> ; must match OUTFile name || Region <nbr> <generic name> ; must match OUTFile name |
- | ; or || ; or |
- | Zone <nbr> <generic name> ; must match OUTFile name || Zone <nbr> <generic name> ; must match OUTFile name |
- | Zone <nbr> <generic name> ; file(s) received from || Zone <nbr> <generic name> ; file(s) received from |
- | ; etc. . . ; other ZC(s) || ; etc. . . ; other ZC(s) |
- +---------------------------------------------------------------++---------------------------------------------------------------+
-
-
- Figure Figure 66, Sample control file for distribution lists, Sample control file for distribution lists
-
- (?) deals with distribution lists. The only difference for ZCs
- is that they will need to define the MAIlfiles path to pick up
- the files from the other ZCs.
-
- There are several advantages to "zone specific" distribution
- NODELISTs. Prologue and epilogue comments may be "zone local-
- ized." The local zone may be placed first in the list, a signif-
- icant convenience to the nodes in your zone. There will probably
- be quicker and better NODELIST availability.
-
-
-
- MakeNL MakeNL Operation Page MakeNL MakeNL Operation Page 1313
-
-
- 2.6 Putting together a Distribution Nodelist Segment2.6 Putting together a Distribution Nodelist Segment
-
- Distribution lists (see section 3.7 on page 15) may be prepared
- at any level except Hub, though it is not recommended below
- Region. In theory, a distribution list may be prepared at the
- same time your submittal file is prepared (MakeNLMakeNL will support
- this method). In practice, it is better to make a distribution
- list in a separate run of MakeNLMakeNL so that the distribution list
- may have a distinct file name, and different copyright notices
- and comments.
-
- Refer to figure 6 (a facsimile of the file DISTRIB.CTL in your
- distribution package). Now that you thoroughly understand all of
- the forgoing (you do, don't you?), this file is fairly self-
- explanatory. After you edit it to fit your specific needs, your
- MakeNLMakeNL external event can use it to create your distribution
- files. If your MakeNLMakeNL external event executes once a week, the
- batch file fragment is trivial:
-
- MAKENL
- MAKENL DISTRIB
-
- If your MakeNLMakeNL external event is a daily event then:
-
- MAKENL MAKENL
- IF ERRORLEVEL 3 GOTO LOOP IF ERRORLEVEL 3 GOTO LOOP
- MAKENL DISTRIB MAKENL DISTRIB
-
- Here you make use of the fact that a return code of 3, 4 or 5
- means that MakeNLMakeNL was executed in test mode. That means it was
- not your normal process day, so the batch file simply restarts
- your mail server after testing any received files. On process
- day you will "drop through" and create distribution files.
-
-
-
- MakeNL Page MakeNL Page 1414
-
-
- 3. Definitions3. Definitions
-
-
- Before we proceed further, we need to define some terms in use
- throughout this document.
-
- 3.1 Composite Nodelist3.1 Composite Nodelist
-
- The composite nodelist is defined, for our purposes, as the com-
- plete list of all nodes in the network. It includes all Zones,
- all Regions and all local nets.
-
- 3.2 Generic File Name3.2 Generic File Name
-
- To MakeNLMakeNL, a generic file name is one which does not have a file
- type (or file extension). For example, NODELIST and FILES\ZONE1
- are generic file names. MakeNLMakeNL does special processing on files
- when you specify them by generic names. It creates file types
- for them based on publication date and contents of the files.
-
- The publication date is translated into a 3-digit day-of-year,
- represented here as "htu" where "h" is the hundreds digit, "t" is
- the tens digit and "u" is the units digit of day-of-year. MakeNLMakeNL
- recognizes and/or creates the following file types for files with
- generic names:
-
- .htu - Master files, uncompressed submittal and distribution
- files, distribution difference files
- .Atu - Archived submittal and distribution files, archived
- distribution difference files
- .Dtu - Submittal difference files
- .ADu - Archived submittal difference files
-
- 3.3 Explicit File Name3.3 Explicit File Name
-
- An explicit file name, on the other hand, has a specified file
- type. PROLOG.TXT is an example. When data files are specified
- this way, MakeNLMakeNL does only limited processing on them, speci-
- fically checking them for errors and copying them from directory
- to directory. It makes no attempt to deal with archives or dif-
- ference files.
-
- 3.4 Archive File3.4 Archive File
-
- An archive file is a compressed file created by the ARC program
- from System Enhancement Associates. You must have a copy of this
- program in your current directory or on your DOS path (see "PATH"
- command in your DOS manual) to make use of this capability of
- MakeNLMakeNL.
-
- The ARC program, version 6 and later, has the ability to create
- archives compatible with earlier versions of ARC. MakeNLMakeNL pro-
- vides a configuration verb to permit the use of this capability.
- (See section 6.3.4 on page 30)
-
-
-
- MakeNL Definitions Page MakeNL Definitions Page 1515
-
-
- 3.5 Difference File3.5 Difference File
-
- A difference file is a file which defines the differences between
- an older version of a file and a newly created one. In fact, the
- difference file (sometimes called a "diff" file from the NODEDIFF
- naming convention) contains a simple editing language. With a
- copy of the old file and the difference file, MakeNLMakeNL can accu-
- rately recreate the new version of file.
-
- 3.6 Submittal File3.6 Submittal File
-
- A submittal file is one which you will send forward up the ladder
- to be merged with other files from your level. A Hub sends his
- submittal file to his network host. The host sends his submittal
- file to his regional coordinator, etc.. MakeNLMakeNL will create your
- submittal file for you each week, and can even create the "file
- attach" message to send the file over the network.
-
- 3.7 Distribution File3.7 Distribution File
-
- Distribution files, on the other hand go the other way. They are
- meant for distribution down the ladder. NODELIST.htu and
- NODEDIFF.htu are well known examples, but let's say you are a re-
- gional coordinator, and some of the nodes in your region have no
- interest in communicating with nodes outside the region. To con-
- serve valuable disk space, they might wish to use a nodelist
- which only contains your region. MakeNLMakeNL can create such files.
- They differ from submittal files only in the naming conventions
- they observe.
-
- 3.8 Absolute Directory Path3.8 Absolute Directory Path
-
- An absolute path name is one specified from the disk's root
- directory. It will always begin with a back-slant (\) or a drive
- specifier followed by a back-slant (C:\) C:\BBS and \MASTER are
- examples of absolute path names.
-
- 3.9 Relative Directory Path3.9 Relative Directory Path
-
- A relative path name is one specified as a subdirectory from the
- current working directory, without specifying what that is. It
- never begins with a back-slant. FILES\RECEIVED and D:OPUS are
- examples of relative path names. In the latter case the path is
- relative to the current directory of the D drive.
-
- See your DOS manual for additional information on path names.
-
- 3.10 Publication Date3.10 Publication Date
-
- The "publication date" is the date of the next publication of the
- composite nodelist. It is always the same day of the week. It
- is usually a Friday, but can be any day of the week.
-
-
-
- MakeNL Definitions Page MakeNL Definitions Page 1616
-
-
- The publication date is specifically, the next occurring
- publication day (today, if this is your publication day).
-
- NOTE: Most FidoNet compatible networks publish their
- nodelist on Friday, but a few publish on other days. A
- special verb is provided to control publication day.
- (See section 6.1.3 on page 22.)
-
-
-
- MakeNL Page MakeNL Page 1717
-
-
- 4. MakeNL Command Line4. MakeNL Command Line
-
-
- MakeNLMakeNL is invoked with the following command line:
-
- MakeNL [<control_file_name>] [/PROCESS | /TEST]MakeNL [<control_file_name>] [/PROCESS | /TEST]
- [/MERGE[=<list_name>] [/NAME=<composite_name>][/MERGE[=<list_name>] [/NAME=<composite_name>]
-
- The switch names may be spelled out (/TEST), or abbreviated to as
- few as one letter (/T).
-
- 4.1 Control file name4.1 Control file name
-
- By default, MakeNLMakeNL expects to find a control file named
- MAKENL.CTL in the current directory. This can be overridden by
- placing the name (optionally qualified with a path) on the com-
- mand line. The control file may have any file extension, but if
- none is given .CTL is assumed. For example:
-
- MakeNL ZONE1MakeNL ZONE1
-
- causes MakeNLMakeNL to use ZONE1.CTL in the current directory, and:
-
- MakeNL MASTER\NET100.CFGMakeNL MASTER\NET100.CFG
-
- causes MakeNLMakeNL to use NET100.CFG in the subdirectory named MASTER
- as its control file.
-
- MakeNLMakeNL must have a control file and will abort if it can find
- none. See section 6 on page 21 for the contents of the control
- file.
-
- In operation, MakeNLMakeNL writes a number of progress messages to
- "standard output." By default, DOS sends these messages to your
- screen, but you may redirect them to a file to retain a log of
- MakeNLMakeNL's activity:
-
- MAKENL >MAKENL.LOGMAKENL >MAKENL.LOG
-
- MAKENL >>MAKENL.LOGMAKENL >>MAKENL.LOG
-
- In the first case, the log file is recreated fresh each time
- MakeNLMakeNL is executed. In the second case, MakeNLMakeNL appends the re-
- sults of each execution to the end of the log file.
-
- 4.2 /TEST switch4.2 /TEST switch
-
- The optional "/TEST" switch, if given, will force MakeNLMakeNL to
- operate in test mode, even on the normal process day.
-
-
-
- MakeNL MakeNL Command Line Page MakeNL MakeNL Command Line Page 1818
-
-
- 4.3 /PROCESS switch4.3 /PROCESS switch
-
- The optional "/PROCESS" switch, if given, will force MakeNLMakeNL to
- operate in process mode, overriding the effect of a PROcess
- statement in the control file.
-
- 4.4 /MERGE switch4.4 /MERGE switch
-
- The optional "/MERGE" switch, if given, will cause MakeNLMakeNL to
- merge your updated nodelist segment with an existing distribution
- nodelist to produce a temporary nodelist containing your updates.
-
- If <list_name> is given, it must have the form:
-
- /M=[path\]<generic_name>/M=[path\]<generic_name>
-
- See discussion of MERge control file verb on page 24 for more
- details.
-
- 4.5 /NAME=<network_name>4.5 /NAME=<network_name>
-
- The optional /NAME switch is a specialized cosmetic switch. When
- you MAKe a composite list (see section 6.1.1 on page 21), the
- generated list begins, by default, with the line " Nodelist
- for. . ."
-
- The /NAME switch may be used to insert a network name in front of
- the first word in that line. If the specified replacement name
- contains spaces, the entire parameter must be enclosed in quotes.
-
- For example, the coordinator for a network operated by the US
- Parks Service might use:
-
- MAKENL "/N=Parks Service"MAKENL "/N=Parks Service"
-
- The first line of his generated list would read "Parks Service
- Nodelist for. . ." Note that to the right of the equal sign casecase
- is significantis significant. Any capitalization present will be preserved.
-
- A FidoNet ZC might use:
-
- MAKNL /N=FidoNetMAKNL /N=FidoNet
-
- If the MAKe statement in your control file (see page 21) is not
- "MAKE COMPOSITE" the /NAME switch will have no effect.
-
- See also the NAMe verb in section (?), page (?).
-
-
-
- MakeNL MakeNL Command Line Page MakeNL MakeNL Command Line Page 1919
-
-
- 4.6 Error return codes4.6 Error return codes
-
- MakeNLMakeNL terminates with ERRORLEVEL (see your DOS manual) set to
- one of the following values:
-
- 0 = Process mode - no errors encountered
- 1 = Process mode - no fatal errors encountered
- 2 = Process mode - one or more fatal errors encountered
- 3 = Test mode - no errors encountered
- 4 = Test mode - no fatal errors encountered
- 5 = Test mode - one or more fatal errors encountered
- 254 = MakeNLMakeNL aborted - I/O error
- 255 = MakeNLMakeNL aborted - Control file error
-
-
-
- MakeNL Page MakeNL Page 2020
-
-
- 5. MakeNL Directories5. MakeNL Directories
-
-
- MakeNLMakeNL uses several disk directories in the performance of its
- tasks. Some are required -- others are needed only to make use
- of special features. In this text, MakeNLMakeNL's directories will be
- referred to by the following names.
-
- 5.1 Master Directory5.1 Master Directory
-
- The master directory is where MakeNLMakeNL stores all of its master
- files. Received files will migrate to this directory. MakeNLMakeNL
- requires a master directory.
-
- 5.2 Update Directory5.2 Update Directory
-
- The update directory provides interim storage for received files.
- It is needed only if you process files received from others, and
- notify them on receipt or when errors occur. It prevents multi-
- ple notification.
-
- 5.3 Mailfiles Directory5.3 Mailfiles Directory
-
- The mailfiles directory is the directory in which your mail
- server receives files. It is required if you receive nodelist
- segments from others via the network.
-
- 5.4 Upload Directory5.4 Upload Directory
-
- The upload directory is the directory in which your BBS stores
- uploaded files. It is required if others upload nodelist seg-
- ments to your BBS.
-
- 5.5 Other Directories5.5 Other Directories
-
- Depending on the options selected in the control file, MakeNLMakeNL may
- need access to other directories.
-
- If MakeNLMakeNL will be generating network messages it must be told in
- which directory your mail server expects to find these messages.
-
- By default, MakeNLMakeNL places the master copy of its output file in
- the directory with your other master files. You can, however,
- define another directory to receive output files.
-
- When a received file has a "fatal error," one which renders the
- entire file unusable, MakeNLMakeNL must get it out of the way to pre-
- vent further attempts to process it. By default, it simply
- deletes the offending file, but you may define a "bad files"
- directory and MakeNLMakeNL will move such files there.
-
- The "current directory" when MakeNLMakeNL is invoked is the default di-
- rectory for MakeNLMakeNL's control file.
-
-
-
- MakeNL Page MakeNL Page 2121
-
-
- 6. MakeNL Control File6. MakeNL Control File
-
-
- MakeNLMakeNL requires a control file to define its operating parame-
- ters. By default, this file is named MAKENL.CTL, but you may
- specify another control file name on the command line.
-
- The contents of the control file is a series of statements which
- tell MakeNLMakeNL what it is to do, and how it is to do it. Each
- statement begins with a verb, and may have as many as three addi-
- tional arguments.
-
- MakeNLMakeNL is not sensitive to "case" of characters in the control
- file. Upper, lower or mixed case may be used. In the discussion
- of the control verbs below, upper case is used to indicate the
- minimum abbreviation required.
-
- The definitions of the control file verbs are grouped by type for
- clarity. Except for DATA and FILES, they may appear in your con-
- trol file in any order.
-
- 6.1 Control statements6.1 Control statements
-
- The following statements control the overall operation of MakeNLMakeNL.
-
- 6.1.1 MAKe <segment_type> [<number> [<source_file>]]6.1.1 MAKe <segment_type> [<number> [<source_file>]]
-
- A MAKe statement is required in every control file. It
- tells MakeNLMakeNL what type of nodelist segment it is to produce
- and what kind of input to expect.
-
- <segment_type> is one of HUB, NETwork, REGion, ZONe or
- COMposite.
-
- <number> is shown above as "optional." This isn't strictly
- correct. For all segment types except COMposite, it is re-
- quired. It must NOT be used for COMposite. <number> is the
- network address number associated with the segment being
- made.
-
- Even if you are a Zone Coordinator, there is a part of the
- nodelist segment you prepare which you, yourself maintain --
- the list of nodes associated directly with your segment
- heading. In the case of a ZONe segment type, this includes
- the "zone gate" nodes. In the case of an RC it is the list
- of "independent" nodes in your region. There are two ways
- to input your sub-segment into MakeNLMakeNL. One is through the
- use of the DATa statement (see section (?) on page (?). The
- other is by specifying a source file in the MAKe statement.
-
- <source_file> must be an explicit file name without a path
- qualifier. The named file must exist in the directory named
- as your master directory. The first non-comment statement
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2222
-
-
- in the file must match the MAKe statement in <segment_type>
- and <number>.
-
- Examples:Examples:
-
- MAKE COMPOSITE ; make a complete nodelistMAKE COMPOSITE ; make a complete nodelist
-
- MAKE NET 100 MASTER.DAT ; input data from "master"MAKE NET 100 MASTER.DAT ; input data from "master"
-
- MAKE REGION 10 ; use DATA statementMAKE REGION 10 ; use DATA statement
-
- 6.1.2 NAMe <network_name>6.1.2 NAMe <network_name>
-
- When you MAKe a composite list (see section 6.1.1), the
- generated list begins, by default, with the line " Nodelist
- for. . ."
-
- With the NAMe verb, you can define a <network_name> that
- will be inserted in front of the first word of that line.
- <network_name> is the only parameter in your control file ____
- that is case-sensitive. It will appear in the list exactly
- the way it appears in your control file. This verb is
- almost identical to the /NAME switch (see section 4.5 on
- page 18).
-
- There are two restrictions imposed by the NAMe verb that do
- not apply to the /NAME switch. <network_name> can be no
- more than 15 characters long, and can not contain any spaces
- or tabs.
-
- If you use both the NAMe verb in the control file and the
- /NAME switch on the command line, the command line switch
- will override.
-
- 6.1.3 PUBlish <day_of_week>6.1.3 PUBlish <day_of_week>
-
- Most FidoNet compatible networks publish their nodelists
- each Friday. For that reason, MakeNLMakeNL assumes a Friday pub-
- lication day.
-
- As noted earlier, the file extensions MakeNLMakeNL computes for
- generic file names are determined by publication date, which ____
- is defined as the next occurrence of your publication day, ___
- expressed as day of year. Obviously, your next publication ___________
- date if different if you publish on Saturday, than if you
- publish on Friday.
-
- The PUBlish statement let's you inform MakeNLMakeNL that you pub-
- lish your list on some day other than Friday, and he will
- adjust his generic file name extensions accordingly. The
- <day_of_week> may be a full day name, or may be abbreviated
- to as few as three characters.
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2323
-
-
- Example:Example:
-
- PUBLISH SUNDAY ; sets file extensions according toPUBLISH SUNDAY ; sets file extensions according to
- ; Sunday's date ; Sunday's date
-
- CAUTION: Some nodelist processors may fail to operateCAUTION: Some nodelist processors may fail to operate
- correctly with file name extensions keyed to a day ofcorrectly with file name extensions keyed to a day of
- week other than Friday. For example, versions ofweek other than Friday. For example, versions of
- EditNL earlier than 4.20 will never find such files.EditNL earlier than 4.20 will never find such files.
- On the other hand, XLATLIST handles all such exten-On the other hand, XLATLIST handles all such exten-
- sions, but has a problem with the first list of a newsions, but has a problem with the first list of a new
- year if you don't delete the list(s) from the previousyear if you don't delete the list(s) from the previous
- year first.year first.
-
- 6.1.4 PROcess <day_of_week>6.1.4 PROcess <day_of_week>
-
- MakeNLMakeNL has two fundamental modes of operation, "test" and
- "process."
-
- In test mode, it scans input data and checks it for errors
- and it moves received update files to the update directory.
- Unless the MERge statement or the /M command line switch is
- used, it does not produce any output.
-
- In process mode MakeNLMakeNL produces an updated master file for
- your nodelist segment and any required submittal or distri-
- bution files. Normally you will do this once each week.
-
- If no PROcess statement is present, MakeNLMakeNL will operate in
- process mode unless the /T command line switch is used. If
- the PROcess statement is present, it controls MakeNLMakeNL's mode
- of operation. Except on the day specified in this state-
- ment, MakeNLMakeNL will operate in test mode. When MakeNLMakeNL is exe-
- cuted on the defined process day, it operates in process
- mode.
-
- This statement is most useful to coordinators who receive
- update files from others. It permits them to operate MakeNLMakeNL
- daily in an "external event" of their mail server. It error
- checks received files and sends back notification on a daily
- basis as files are received, but only on the appropriate day
- does it create a submittal file and forward it up the lad-
- der.
-
- The <day_of_week> may be a full day name, or may be abbrevi-
- ated to as few as three characters. It should be chosen so
- that you may meet the submittal deadline set by the next
- higher coordinator.
-
- Example:Example:
-
- PROCESS THURSDAY PROCESS THURSDAY
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2424
-
-
- 6.1.5 MERge [<nodelist_name>]6.1.5 MERge [<nodelist_name>]
-
- When you add new nodes (or nets, as the case may be) to your
- list, you might like to notify them immediately that their
- applications have been acted upon. This is complicated by
- the fact that your mail server needs to know about these new
- nodes (or nets), and that information comes from the distri-
- bution nodelist. It may be several days before you receive
- the updated version of the distribution nodelist containing
- the new listing.
-
- The MERge statement tells MakeNLMakeNL to merge your updated seg-
- ment into an existing distribution nodelist to create a tem-
- porary nodelist your mail server can use. This action will
- occur even if MakeNLMakeNL is operating in test mode.
-
- By default, MakeNLMakeNL will search for NODELIST.htu not more
- than two weeks old in the current directory, create a tempo-
- rary list named NODELIST.999, copy from the distribution
- list to the temporary list until it finds your segment in
- the distribution list, generate an updated version of your
- segment in the temporary list and finally, copy the remain-
- der of the distribution list to the temporary list.
-
- In order to find your segment in the distribution list,
- MakeNLMakeNL uses information from the MAKe and NETaddress state-
- ments in your control file.
-
- If you are MAKing a HUB, NETaddress must provide the net
- number. If no NETaddress is given, the MERge command will
- be canceled.
-
- If you are MAKing anything other than a ZONE, and if the
- distribution list is a zone-based list, the zone number from
- the NETaddress command is used to place your segment in the
- correct zone. If no zone number is given, MakeNLMakeNL assumes
- that your segment goes in the first zone it encounters in
- the distribution list.
-
- If present, <nodelist_name> must be a generic file name, but
- may be qualified by a path name. It overrides the name and
- location of the distribution list, but the rest of the ac-
- tions are the same. The temporary list is placed in the
- same directory as the distribution list being merged.
-
- If the MERge statement is used in your control file, it will
- ALWAYS be executed. If you prefer to "merge on demand" use
- the /M command line switch instead. It is exactly equiva-
- lent to the MERge statement. (See section 4.4 on page 18.)
-
- Example:Example:
-
- MERGE \BBS\NODELISTMERGE \BBS\NODELIST
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2525
-
-
- 6.1.6 PRIvate <disposition>6.1.6 PRIvate <disposition>
-
- Private nodes (identified by the PVT keyword in the
- nodelist) are not universally permitted by all networks. In
- a commercial network, for example, a node with no phone num-
- ber listing is not particularly useful. By default, MakeNLMakeNL
- will accept these node entries contrary to a network coordi-
- nator's intentions.
-
- The PRIvate statement permits you to define other disposi-
- tions for such entries. <disposition> must be one of OK,
- NONE, ZONE, REGION, HOST or HUB.
-
- "PRIvate OK" is equivalent to the default action -- private
- nodes are permitted (but, of course, only within nets).
-
- NONE says they are not permitted. The PVT keyword will be
- treated as an error, with a note that "Private nodes are not
- permitted in this network."
-
- If <disposition> is any of the hierarchical keywords, a pri-
- vate node will be transformed into an "open" node by remov-
- ing the PVT keyword and substituting a known phone number in
- the phone number field. The number used is that of the
- nearest node at least as high in the hierarchy as the key-
- word specified. For instance, if "PRIvate HOST" is given, a
- private node will become a normal node with the phone number
- of the most recently encountered Host, Region or Zone state-
- ment. Even if the previous entry were a Hub, his phone num-
- ber would not be used unless "PRIvate HUB" had been given.
-
- For fairly obvious reasons, if you are MAKing a NETwork and
- enter the statement "PRIvate ZONE," MakeNLMakeNL will abort with a
- control file error. It must be able to find at least one
- phone number to make the substitution, and your file can't
- have any zones or regions in it! The hierarchical level of
- <disposition> must be equal to or lower than the level you
- are MAKing. In the case you MAKe COMPosite, MakeNLMakeNL will
- take your word for anything your PRIvate statement tells it,
- but if no matching phone number has been found before it en-
- counters a private node, the private node will be treated as
- though the statement were "PRIvate NONE," and will generate
- an error.
-
- 6.1.7 MINphone <minimum_parts>6.1.7 MINphone <minimum_parts>
-
- The sixth field of a nodelist entry is the phone number
- field. MakeNLMakeNL insures that it meets certain minimum stan-
- dards. It must begin and end with a digit. It must contain
- only digits and hyphens. There must not be two hyphens in a
- row.
-
- Phone numbers usually consist of several parts, separated by
- hyphens. For example, a number might have a country code,
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2626
-
-
- and area code, an exchange code and a line number. To
- MakeNLMakeNL, a phone number is a phone number. It attaches no
- special meaning the number's various parts.
-
- Some nodelist processing programs do attach meaning to the
- parts of a phone number, and complain if they are not there!
- For this reason MakeNLMakeNL will enforce an additional con-
- straint, if told to do so. It will insure that every phone
- number has a certain minimum number of parts.
-
- Example:Example:
-
- MINPHONE 4MINPHONE 4
-
- This statement in a control file instructs MakeNLMakeNL to reject
- any entry with a phone number that does not have at least
- four parts. The number "123-4567" would not be valid and
- would cause an error message to be issued.
-
- In a large hierarchical network of international scope, the
- MINphone verb should only be used at the lower levels. Hubs
- and Hosts may expect all phone numbers to fit some standard
- format. Except in North America, regional coordinators are
- likely to find variability in phone number format from coun-
- try to country. A zone coordinator will certainly encounter
- such variability. Attempts to enforce a standard number of
- parts in a phone number at these levels will not be very
- successful.
-
- This is not a serious constraint on the use of MINphone.
- The files received by RCs and ZCs have already been pro-
- cessed at least once by MakeNLMakeNL at a lower level where format
- can be enforced. There should be no need to do it again.
-
- 6.1.8 BAUdrate <valid_baud_rates>6.1.8 BAUdrate <valid_baud_rates>
-
- The seventh field of a nodelist entry is the baud rate
- field. MakeNLMakeNL checks the value in this field against a
- table of valid baud rates. Experience has shown this to be
- necessary. Certain types of errors can cause a part of the
- phone number to appear to be in the baud rate field. With-
- out a validity check, these errors could go undetected. By
- default, the valid rates are 300, 1200, 2400, 4800, and
- 9600.
-
- To accommodate future growth, the "valid baud rate" table is
- configurable through the use of the BAUdrate verb. The
- <valid_baud_rates> parameter is a list of up to twelve (12)
- valid baud rates (numeric strings) separated by commas. It
- may contain no spaces of tabs. It must be the complete
- list, and will replace MakeNLMakeNL's internal table.
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2727
-
-
- For example:For example:
-
- BAUDRATE 1200,2400,4800,9600BAUDRATE 1200,2400,4800,9600
-
- This statement would effectively eliminate 300 baud nodes
- from your list, while:
-
- BAUDRATE 300,1200,2400,4800,9600,14400 BAUDRATE 300,1200,2400,4800,9600,14400
-
- would permit nodes to use 14400 baud in their entries. A
- caveat in this case. Any new values must be authorized from
- the top down. If you used this statement and submitted a
- list with 14400 baud nodes, the first coordinator who did
- not have a similar BAUdrate statement would reject those
- nodes as having invalid baud rates.
-
- In general, you can be more restrictive than the coordina-
- tor(s) above you, but you cannot be more liberal!cannot be more liberal!
-
- 6.2 Defining nodelist segment directories6.2 Defining nodelist segment directories
-
- MakeNLMakeNL uses several directories for various purposes for storage
- of nodelist segment data. The following statements are used to
- define to MakeNLMakeNL where these directories are located. They all
- have the same format:
-
- <verb> <directory_path_name><verb> <directory_path_name>
-
- <verb> is one of MASter, UPDate, MAIlfiles, UPLoads or BADfiles
- as defined below.
-
- <directory_path_name> is a relative or absolute directory path
- name, with or without a disk specifier.
-
- 6.2.1 MASter <directory_path_name>6.2.1 MASter <directory_path_name>
-
- This is the directory in which MakeNLMakeNL keeps all its "master"
- files. This includes the master copy of your submittal
- file, master copies of nodelist segments received from
- others, your input source file, if used, and the three
- "comments" text files, if used. In addition, for each seg-
- ment given a generic name, week-old copies are kept here and
- used create and/or apply difference files.
-
- MakeNLMakeNL always uses a master directory. If this statement is
- absent, the current directory is used as the master direc-
- tory.
-
- 6.2.2 UPLoads <directory_path_name>6.2.2 UPLoads <directory_path_name>
-
- If others upload update files to your BBS, this statement
- tells MakeNLMakeNL where to look for them. Only one upload direc-
- tory may be named. If your BBS supports more than one, you
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2828
-
-
- need to inform your submitters how to upload their updates
- so that they wind up in the right directory.
-
- If you don't receive update files via upload, omit this
- statement and MakeNLMakeNL will ignore it.
-
- 6.2.3 MAIlfiles <directory_path_name>6.2.3 MAIlfiles <directory_path_name>
-
- If you receive update files from others via network mail,
- this statement tells MakeNLMakeNL where your file server will put
- the files.
-
- If you don't receive update files via network mail, omit
- this statement and MakeNLMakeNL will ignore it.
-
- 6.2.4 UPDate <directory_path_name>6.2.4 UPDate <directory_path_name>
-
- If you receive update files from others by any means, this
- statement defines a temporary holding directory for them.
- When MakeNLMakeNL is operated in test mode, files it finds in the
- UPLoads or MAIlfiles directories are moved to this direc-
- tory. If you use notification (and you should use at least
- error notification), MakeNLMakeNL will generate a notification
- message each time it finds a submitter's update file in one
- of those directories. Moving received files to the update
- directory prevents multiple notification.
-
- If received files were moved to the master directory in test
- mode, and if a subsequent difference file were received from
- one of your submitters, you might have already lost the file
- MakeNLMakeNL needs to apply the difference file against!
-
- When MakeNLMakeNL operates in process mode, it moves files found
- in any of these directories to the master directory as part
- of its update process.
-
- If you don't receive update files from others, omit this
- statement and MakeNLMakeNL will ignore it.
-
- 6.2.5 BADfiles <directory_path_name>6.2.5 BADfiles <directory_path_name>
-
- When a received file generates a fatal error, MakeNLMakeNL refuses
- to process it further. By default, it simply deletes the
- offending file, but if this directory is defined, MakeNLMakeNL
- will move files with fatal errors here. This gives you a
- chance (if you feel so inclined) to edit the file to correct
- the error, then move it back to say the MAIlfiles directory
- and process it again.
-
- If you don't receive update files from others or don't want
- to correct their errors for them, omit this statement and
- MakeNLMakeNL will ignore it.
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 2929
-
-
- 6.3 Defining output6.3 Defining output
-
- The following statements tell MakeNLMakeNL what output to generate and
- how to generate it. They only have effect when MakeNLMakeNL operates
- in process mode.
-
- 6.3.1 OUTFile <filename>6.3.1 OUTFile <filename>
-
- This statement is required in your control file. It defines
- the name of your master and submittal files. These are the
- same file unless MakeNLMakeNL creates an archive or a difference
- file. These files are placed in your OUTFile directory, or
- if it is not defined, your MASter directory.
-
- <filename> may be either explicit or generic, but the choice
- carries some implications with it. Using an explicit output
- file name inhibits some of MakeNLMakeNL's features, but if your
- output file is small they may not be of interest to you.
- Specifically, MakeNLMakeNL will create neither an archive file nor
- a difference file for explicitly named files. The reason is
- that to do so, MakeNLMakeNL must have the freedom to manipulate
- file extensions, but it cannot do that if you give it an
- explicit file extension.
-
- 6.3.2 OUTPath <directory_path_name>6.3.2 OUTPath <directory_path_name>
-
- By default, MakeNLMakeNL keeps all of its output (except a merge
- file) in the MASter directory. This includes the output
- master file, the submittal file (if different), and
- distribution files. The OUTPath statement, if present,
- tells MakeNLMakeNL to keep its output in a different directory.
-
- 6.3.3 THReshold <arc_size> [<diff_size>]6.3.3 THReshold <arc_size> [<diff_size>]
-
- When you use a generic output file name, MakeNLMakeNL will do its
- best to insure that your submittal file is small enough to
- send to your coordinator in a one-minute phone call. It has
- two ways to compress a file.
-
- First, it can create an archive file, using the ARC program.
- This will typically achieve about 40% reduction in size.
-
- Second, it can create a difference file. This is a file
- which contains only the differences between your new output
- file and your previous one. This technique can achieve dra-
- matic file size reduction, but is not as safe as the former.
- It assumes that your coordinator has a copy of your previous
- file (usually a safe assumption). With it and the new dif-
- ference file he can reconstruct your new output file.
-
- At 2400 baud, you can transmit a file about 10000 characters
- long in a one-minute phone call. If an archive file is at
- least 40% smaller than its uncompressed version, a file of
- up to 16666 characters can be archived and transmitted in a
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3030
-
-
- minute. These are the two default thresholds MakeNLMakeNL uses to
- determine what to do with your submittal file. The
- THReshold statement can override these defaults.
-
- If your submittal file is larger than <arc_size> (in bytes),
- MakeNLMakeNL will use ARC to create an archive of it, and submit
- the archive file.
-
- If your submittal file is greater than <diff_size>, MakeNLMakeNL
- will create a difference file and submit it. If a differ-
- ence file is still larger than <arc_size>, MakeNLMakeNL will cre-
- ate an archive of the difference file and submit that, but
- that is the best it can do.
-
- If <diff_size> is given, it must be greater than or equal to
- <arc_size>. If <diff_size> is not given it is calculated by
- MakeNLMakeNL as 5/3 * <arc_size>.
-
- Examples:Examples:
-
- THRESHOLD 5000 ; recommended value for 1200 baudTHRESHOLD 5000 ; recommended value for 1200 baud
-
- THR 0 ; always create an archived diff fileTHR 0 ; always create an archived diff file
-
- THR 0 -1 ; always archive -- no diffTHR 0 -1 ; always archive -- no diff
-
- THR -1 -1 ; turn compression offTHR -1 -1 ; turn compression off
-
- 6.3.4 ARC <n>6.3.4 ARC <n>
-
- MakeNLMakeNL creates compressed archive files by executing the
- program ARC by System Enhancement Associates.
-
- ARC will, by default, produce the maximum compression of
- which it is capable. This may not always be desirable. If
- you have version 6 or 7 of ARC, and the recipient of your
- archived file does not, he will be unable to unpack your
- archives.
-
- The ARC <n> verb will force these versions to create level-5
- or level-6 compatible archives, thus insuring compatibility.
- The parameter <n> must be either "5" or "6."
-
- 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
- will cause errors, as will the use of "ARC 6" with versionwill cause errors, as will the use of "ARC 6" with version
- 6!6! The compatibility level must always be LOWER that yourThe compatibility level must always be LOWER that your
- version level. version level.
-
- 6.3.5 OUTDiff <generic_filename>6.3.5 OUTDiff <generic_filename>
-
- MakeNLMakeNL's primary mission is to gather segments of the
- nodelist and assemble larger segments for submittal to the
- next higher coordinator, until finally all the segments have
- been assembled and the result is the network's distribution
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3131
-
-
- nodelist. However, if desired, distribution lists may be
- created at any step along the way.
-
- Distribution lists are actually created in pairs. A famil-
- iar pair is NODELIST.htu and NODEDIFF.htu, the files which
- define the Public FidoNet Network.
-
- There is no reason why a node must use the full network list
- if a smaller list will suit his needs. Indeed, programs
- such as PRUNE are based on this philosophy.
-
- When the OUTDiff statement appears in your control file,
- MakeNLMakeNL will produce a pair of distribution files. OUTFile
- and OUTDiff must specify distinct generic names, and they
- will become the "stem" names of your distribution files.
-
- Distribution files differ from submittal files in the naming
- conventions used to determine file extensions. For example,
- assume:
-
- OUTFILE REGION10
- OUTDIFF R10-DIFF
-
- Then the following table defines the file names of generated
- submittal and distribution files:
-
- Compression Submittal Distribution
-
- None REGION10.htu REGION10.htu
- Archive REGION10.Atu REGION10.Atu
- Difference REGION10.Dtu R10-DIFF.htu
- Both REGION10.ADu R10-DIFF.Atu
-
- Note that the full list and its archive bear the same name
- in both columns. Indeed, they are the same files. But sub-
- mittal files use the same filename stem for all types of
- files, while distribution difference files have unique file-
- name stems. The reason for this is to support the tra-
- ditional names NODELIST and NODEDIFF as painlessly as
- possible.
-
- Distribution files, as with submittal files, are placed in
- the OUTPath directory. Once created, these files are ig-
- nored by MakeNLMakeNL, unless explicitly told to clean up its old
- files (see the CLEanup command below).
-
- The following control file fragment would create NODELIST
- distribution files for the Public FidoNet Network.
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3232
-
-
- Example:Example:
-
- MAKE COMPOSITEMAKE COMPOSITE
- THRESHOLD 0 -1 ; force archiving -- no submittal diffTHRESHOLD 0 -1 ; force archiving -- no submittal diff
- OUTPATH . ; master list to current directoryOUTPATH . ; master list to current directory
- OUTFILE NODELIST ; create NODELIST.AtuOUTFILE NODELIST ; create NODELIST.Atu
- OUTDIFF NODEDIFF ; create NODEDIFF.AtuOUTDIFF NODEDIFF ; create NODEDIFF.Atu
-
- When MakeNLMakeNL has finished, three files are left in the cur-
- rent directory; NODELIST.htu, NODELIST.Atu and NODEDIFF.Atu.
- Note that with "THRESHOLD 0 0," NODELIST.ADu would be cre-
- ated with contents identical to NODEDIFF.Atu.
-
- 6.3.6 CLEanup6.3.6 CLEanup
-
- If you use a generic OUTFILE name, and if you create
- difference and/or archive files, they tend to accumulate in
- your OUTPATH directory over time. By default, MakeNLMakeNL
- ignores them completely. This is done so that OUTPATH can
- point to a "download" directory where several editions might
- be made available to users.
-
- When MakeNLMakeNL operates in process mode and CLEanup (no
- arguments) appears in the control file, after all other
- processing is done, it searches the OUTPATH directory for
- old difference and/or archive files and deletes any it
- finds.
-
- CLEanup has no effect on current files or the handling of
- output master files. It has no effect whatever when MakeNLMakeNL
- is operated in test mode.
-
- 6.4 External message transmission6.4 External message transmission
-
- MakeNLMakeNL can generate two kinds of network messages, notification
- messages and submittal messages.
-
- Notification messages are addressed to submitters to notify them
- of receipt of and/or errors in their submittal files.
-
- A submittal message is addressed to your coordinator, and has
- your submittal file attached.
-
- Messages created by MakeNLMakeNL are compatible with SEAdog by System
- Enhancement Associates. Except for CRASH and HOLD attribute
- flags, they are compatible with Fido v11, and (I think) Fido v12
- by Tom Jennings. They are probably compatible with other mail
- servers, but I cannot guarantee it.
-
- The following statements control the generation of these
- messages.
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3333
-
-
- 6.4.1 NETaddress [<zone>:]<net>/<node>6.4.1 NETaddress [<zone>:]<net>/<node>
-
- This statement is used to tell MakeNLMakeNL what your network ad-
- dress is. MakeNLMakeNL must know your network address in order to
- generate the "From:" field in submittal or notification mes-
- sages. If MakeNLMakeNL must create inter-zone messages, it needs
- to know your zone number. In addition, your zone number,
- and if you are MAKing a HUB, your net number may be needed
- to properly perform a MERge operation.
-
- If your control file does not contain a NETaddress state-
- ment, MakeNLMakeNL will try to guess you network address from your
- MAKe statement. If you are MAKing a ZONE, your default
- network address is <nbr>:<nbr>/0. If you are MAKing a
- REGION or NETWORK, your default network address is
- 0:<nbr>/0. If you are MAKing a HUB, MakeNLMakeNL hasn't a clue!
-
- If the default network address MakeNLMakeNL selects for you is
- satisfactory, you don't need a NETaddress statement, but it
- is recommended that you include one to remove all doubt.
-
- Examples:Examples:
-
- NETADDRESS 100/76NETADDRESS 100/76
-
- NETADDRESS 1:1/0NETADDRESS 1:1/0
-
- 6.4.2 MESsages <directory_path_name>6.4.2 MESsages <directory_path_name>
-
- This statement is required if MakeNLMakeNL is to generate ANY out-
- going messages. It tells MakeNLMakeNL the name of the directory
- used by your mail server for network mail messages.
-
- Example:Example:
-
- MESSAGES D:\BBS\MAILMESSAGES D:\BBS\MAIL
-
- 6.4.3 SUBmit <address> [<flags>]6.4.3 SUBmit <address> [<flags>]
-
- The SUBmit statement tells MakeNLMakeNL that in process mode it is
- to create a "file attach" message to send your submittal
- file to your coordinator. <address> is his network address.
-
- Optional <flags> may be any or all of CRASH, HOLD or INTL.
- These should not be used unless your mail server supports
- them.
-
- Example:Example:
-
- SUBMIT 13/0 CRASHSUBMIT 13/0 CRASH
-
- The INTL flag is a special case. It forces MakeNLMakeNL to add
- the "^AINTL: <from> <to>" extended address line to all ___
- messages it creates, even if they are not leaving your zone.
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3434
-
-
- Indiscriminate use of this flag is not recommended. You ___
- should use it only if your mail server needs all messages to
- contain the expanded address.
-
- 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
- use the INTL flag. It may cause you trouble. Consultuse the INTL flag. It may cause you trouble. Consult
- your mail server's documentation for guidance. Mostyour mail server's documentation for guidance. Most
- mail servers do not require this feature and manymail servers do not require this feature and many
- consider these messages malformed. Two which may needconsider these messages malformed. Two which may need
- the INTL flag are D'Bridge and FrontDoor.the INTL flag are D'Bridge and FrontDoor.
-
- 6.4.4 NOTify <type> [<flags>]6.4.4 NOTify <type> [<flags>]
-
- If the NOTify statement is used, when MakeNLMakeNL finds a re-
- ceived update file in either the UPLoads or MAIlfiles direc-
- tory, it will notify the submitter that the file was re-
- ceived and/or that the file contained errors.
-
- Optional <flags> may be any or all of CRASH, HOLD or INTL.
- These should not be used unless your mail server supports
- them. (INTL need only be specified once, and it applies to
- all messages.) ___
-
- <type> is one of RECeipt, ERRors or SELF.
-
- RECeipt and ERRors control notification of nodes submitting
- files to you. If only NOTIFY RECEIPT is used, all notifica-
- tion messages will have the same attributes, as defined by
- <flags>. If only NOTIFY ERRORS is used, the submitter is
- NOT notified unless his update file has errors. NOTIFY
- RECEIPT and NOTIFY ERRORS may both be used with different
- message attribute flags, if desired. In other words, normal
- receipt notification may be sent "regular" mail, while error
- messages are sent "CRASH."
-
- Unless you execute MakeNLMakeNL with the "/T" switch, NOTIFY SELF
- instructs MakeNLMakeNL to enter a message to youyou if it encounters
- any errors in youryour input data. If you edit your master file
- without testing it and you goof (shame), the error could go
- unnoticed for some time. When MakeNLMakeNL is executed by your
- external event, the error will cause a message to you to ap-
- pear in you network mail area.
-
- 6.5 Defining special files6.5 Defining special files
-
- MakeNLMakeNL uses a number of special files in the performance of its
- duties. The statements in this section provide the means to de-
- fine these files and/or alter defaults.
-
- 6.5.1 Output comments files6.5.1 Output comments files
-
- When MakeNLMakeNL processes nodelist segment data, it ignores com-
- ments embedded in the data files. These comments are as-
- sumed to be your notes to yourself. They might be anything
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3535
-
-
- -- voice phone numbers, suspense dates when "down" nodes are
- expected to come back on line, etc..
-
- Comments may be placed in submittal files to communicate
- information to your coordinator, or in distribution files to
- communicate information to your users, but notnot by embedding
- them in your data.
-
- Instead, comments are placed in your output files by creat-
- ing and maintaining three special text files in your MASter
- directory. In process mode, MakeNLMakeNL searches for these files
- and, if they exist, copies them into your submittal file.
- It is notnot an error if any of them does not exist. Missing
- comments are simply ignored.
-
- When MakeNLMakeNL copies any of these files to the output file, it
- examines the first character of each line to see if it con-
- tains a "comments flag," a semicolon (;) character. Any line
- beginning with a semicolon is copied as is to the output
- file. MakeNLMakeNL inserts ";S " at the beginning of any line
- which does not begin with a semicolon.
-
- 6.5.1.1 COPyright <explicit_filename>6.5.1.1 COPyright <explicit_filename>
-
- By default, MakeNLMakeNL looks for a file named CPYRIGHT.TXT in
- the MASter directory. If it exists, it is assumed to be a
- copyright notice, and is copied into the output file immedi-
- ately under the identification header line.
-
- The copyright file gets a special treatment the other com-
- ments files do not get. If a string of four pound signs
- (####) is found in the first line, it is replaced with the
- current year. Thus "Copyright ####" becomes "Copyright
- 1987" automatically. You don't have to remember to edit
- your copyright notice in January.
-
- The COPyright statement lets you override the default name
- "CPYRIGHT.TXT" with any other explicit name. You might need
- to do this if, for example, you are a Regional Coordinator
- and use two different control files to create your submittal
- file and distribution files. You may use the same MASter
- directory for both and have different copyright notices on
- each. In fact, you might name a nonexistent file when
- generating your submittal file, thus eliminating the notice.
-
- Examples:Examples:
-
- COPYRIGHT CPY-DIST.TXTCOPYRIGHT CPY-DIST.TXT
-
- COPYRIGHT NONE ; file "NONE" does not existCOPYRIGHT NONE ; file "NONE" does not exist
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3636
-
-
- 6.5.1.2 PROlog <explicit_filename>6.5.1.2 PROlog <explicit_filename>
-
- By default, MakeNLMakeNL looks for a file named PROLOG.TXT in the
- MASter directory. If it exists, it is copied into the out-
- put file immediately under any copyright notice.
-
- The PROlog statement allows you to override the default
- filename, "PROLOG.TXT" with any explicit file name. If the
- named file does not exist in the MASter directory, the ef-
- fect is to turn off prologue comments.
-
- 6.5.1.3 EPIlog <explicit_filename>6.5.1.3 EPIlog <explicit_filename>
-
- By default, MakeNLMakeNL looks for a file named EPILOG.TXT in the
- MASter directory. If it exists, it is copied into the out-
- put file following all nodelist segment data.
-
- The EPIlog statement allows you to override the default
- filename, "EPILOG.TXT" with any explicit file name. If the
- named file does not exist in the MASter directory, the ef-
- fect is to turn off epilogue comments.
-
- 6.5.2 Comments from received files6.5.2 Comments from received files
-
- As stated earlier, comments in nodelist segment data files
- are NOT copied into output files. But comments in your re-
- ceived files are probably there to communicate information
- to YOU. Like the old dairy cream separator, MakeNLMakeNL can sep-
- arate comments from received files out into their own file.
-
- 6.5.2.1 COMments <explicit_filename>6.5.2.1 COMments <explicit_filename>
-
- When the COMments statement appears in your control file, it
- tells MakeNLMakeNL to write the name of each input file to the
- named comments file, followed by any comments statements
- that appear in that file.
-
- The file name MUST be explicit, but may have a path name.
- The comments file will appear in the current directory if no
- path is given.
-
- If the COMments statement is omitted, comments in received
- files are ignored by MakeNLMakeNL.
-
- 6.6 DATa6.6 DATa
-
- The DATa statement is used as an alternative method of entering
- your nodelist segment (see MAKe on page 21). If used, the DATa
- statement MUST follow all control statements except FILes.
-
- The DATa statement actually causes MakeNLMakeNL to shift gears. It has
- been processing control information. After the DATa statement,
- it begins processing nodelist data, which immediately follows it
-
-
-
- MakeNL MakeNL Control File Page MakeNL MakeNL Control File Page 3737
-
-
- in your control file. The format and rules for this data are the
- same as for any nodelist data.
-
- The first non-comment statement encountered must match the MAKe
- statement in <segment_type> and <number>, or a fatal error will
- occur.
-
- 6.7 FILes6.7 FILes
-
- If you receive segment updates from others, you must use the
- FILes statement to define the files you receive and process. If
- you furnish all the input data yourself, you will not use a FILes
- statement.
-
- When used, the FILes statement MUST be the last control statement
- in the control file. It is followed by a list of file entry
- statements in the following format:
-
- <segment_type> <number> <filename> [<notify>]<segment_type> <number> <filename> [<notify>]
-
- <segment_type> is one of HUB, NETwork, REGion or ZONe, but it
- must be hierarchically lower than the MAKe <segment_type>. In
- other words, if MAKing a region segment, <segment_type> must be
- either NETwork or HUB -- it may not be REGion or higher.
-
- <number> is, of course the network address number associated with
- the segment.
-
- <filename> is used by MakeNLMakeNL to search through the various direc-
- tories for the file defining this segment. You and your submit-
- ter must agree on this filename. His MakeNLMakeNL must generate what
- your MakeNLMakeNL will look for. <filename> may be either explicit or
- generic, but it must be defined the same by both you and your
- submitter.
-
- The first non-comment statement in an input segment file must
- match <segment_type> and <number>, or a fatal error occurs.
-
- When you use notification, MakeNLMakeNL will calculate a network ad-
- dress for notification messages. If you are MAKing a network
- segment for, say net 107, and receiving update segments from your
- Hubs, notification messages will be sent to 107/<number>. In all
- other cases, MakeNLMakeNL sends notification messages to <number>/0 by
- default.
-
- The optional argument <notify> is the network address MakeNLMakeNL
- should use for notification messages and will override the calcu-
- lated address.
-
- Examples:Examples:
-
- REGION 14 REGION14 14/61REGION 14 REGION14 14/61
- NETWORK 100 NETWORK.100NETWORK 100 NETWORK.100
-
-
-
- MakeNL Page MakeNL Page 3838
-
-
- 7. Disk and Memory Space Considerations7. Disk and Memory Space Considerations
-
-
- If you do not use archiving compression, MakeNL should executeIf you do not use archiving compression, MakeNL should execute
- satisfactorily in about 160 kilobytes. If you are using archiv-satisfactorily in about 160 kilobytes. If you are using archiv-
- ing, you should have about 290 kilobytes of memory. IF YOUing, you should have about 290 kilobytes of memory. IF YOU
- ATTEMPT TO EXECUTE ARC WITH TOO LITTLE MEMORY, YOU MAY LOSEATTEMPT TO EXECUTE ARC WITH TOO LITTLE MEMORY, YOU MAY LOSE
- FILES!FILES!
-
- MakeNLMakeNL is not as extravagant with disk space as it sounds, but if
- you are a Regional or Zone Coordinator, you should do a little
- planning.
-
- Your MASter directory will hold one copy of each .TXT comments
- file you use (plus backups if your editor creates them), one copy
- of each data file with an explicit name, two copies of each data
- file with a generic name, and, if you use it, one copy of your
- master input file. MakeNLMakeNL automatically manages the data files
- in the MASter directory so that this is true. Obviously, there
- can only be one copy of a file with an explicit name in any di-
- rectory. Generically named data files more that two weeks old
- are automatically deleted. (The most current file is always
- kept, no matter how old it is.)
-
- Your OUTPath directory (usually the same as your MASter) will
- hold one copy of your output master file if it is explicitly
- named, and two copies if it is generically named. In addition,
- when MakeNLMakeNL executes in process mode, it creates a temporary new
- output master file, and the OUTPath directory must have room to
- hold it. At least one of these copies (and occasionally two, if
- there were no changes) will be deleted before MakeNLMakeNL attempts to
- do anything with or about your submittal file.
-
- If your submittal file is to be compressed, the compressed copy
- will also be placed in the OUTPath directory. On completion,
- there will be only one submittal file, but if, for example, an
- archived diff file is being produced, there must be space enough
- for both until ARC completes. Then the diff file will be
- deleted.
-
- It is conceivable (though most unlikely) that you could have a
- copy of each of your data files in each of the subdirectories
- UPLoads, MAIlfiles and UPDate. It is probable that by the end of
- each process cycle you will have at least one copy of at least
- half of these files in one of these directories. When a file is
- received in compressed form, MakeNLMakeNL decompresses it in the direc-
- tory that received it, and the compressed version is deleted.
- When files are moved from one directory to another on the same
- drive, they are moved by renaming them. No additional space is
- required for this operation.
-
- "So how much !@#$%^ space do I need!?" If you are a Hub or net-
- work coordinator, not much. Here is a guide I would suggest for
- Regional or Zone coordinators. Make sure you have three times
-
-
-
- MakeNL Disk and Memory Space Considerations Page MakeNL Disk and Memory Space Considerations Page 3939
-
-
- the space required for one set of your generically named files
- plus two times the space required for one set of your explicitly
- named files.
-
- With experience, you'll get a better feel for how much space you
- need to operate MakeNLMakeNL. Before cutting yourself too fine, remem-
- ber that MakeNLMakeNL needs some temporary working space while exe-
- cuting.
-
-
-
- MakeNL Page MakeNL Page 4040
-
-
- 8. Contents of MakeNL Distribution Package8. Contents of MakeNL Distribution Package
-
-
- The MakeNLMakeNL distribution package consists of the following files:
-
- MAKENL.EXE The MakeNLMakeNL program
- MAKENL.PRN This documentation file
- HUB.CTL Sample control file for Hub Coordinators
- NET-S.CTL Sample control file for Network Coordinators
- NET-L.CTL Sample control file for Network Coordinators
- REGION.CTL Sample control file for Regional Coordinators
- ZONE.CTL Sample control file for Zone Coordinators
- DISTRIB.CTL Sample control file for Distribution Lists
- CPYRIGHT.TXT Sample copyright notice
- PROLOG.TXT Sample prologue file
- EPILOG.TXT Sample epilogue file
- FTS-0005.TXT Nodelist Format Specifications
-
-
-
- MakeNL Page MakeNL Page 4141
-
-
- 9. MakeNL License Information9. MakeNL License Information
-
-
- MakeNLMakeNL is distributed under the "shareware" concept. It may be
- freely copied and distributed provided all the files listed in
- section 8 are included in the distribution. But MakeNLMakeNL is NOTNOT
- FREEFREE.
-
- If you are a non-commercial user of MakeNLMakeNL, you are asked to sup-
- port its development and maintenance both with your suggestions
- and bug reports and with your dollars. No particular fee is set
- for non-commercial use. Let your conscience be your guide.
-
- Commercial users, and users participating in a commercial network
- are required to pay a license fee of twenty five (25) U. S. dol-
- lars for each computer on which MakeNLMakeNL is installed for use.
-
- The Coordinator of a commercial network may obtain a network li-
- cense for a one-time fee of $1,500 US. This will license all
- current and future nodes of the network for the use of MakeNLMakeNL.
- MakeNLMakeNL and EditNLEditNL may be licensed as a set for a one-time fee of
- $2,250.
-
- Please address all correspondence to:
-
- Ben Baker
- Baker & Associates
- One Mark Twain Plaza, Ste 325G
- Edwardsville, IL 62025
-
- (618) 656-8850