home *** CD-ROM | disk | FTP | other *** search
/ World of OS/2 / W_OS_2.BIN / FAN.DOC < prev    next >
Text File  |  1993-10-17  |  76KB  |  1,813 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                         FAN
  17.  
  18.                 File Announcement Utility, version 2.10/beta Manual
  19.  
  20.            Copyright 1992, 1993 by David G. Fisher.  All rights reserved.
  21.  
  22.  
  23.  
  24.        Introduction
  25.             What is FAN?..........................................4
  26.             Disclaimer............................................5
  27.             Documentation/Credits.................................6
  28.             Registering FAN.......................................7
  29.             Submitting Bug Reports................................8
  30.  
  31.        Using FAN
  32.             The Basic Philosophy..................................9
  33.             Description of Syntax................................10
  34.             Defining Month Names.................................12
  35.  
  36.        Message Area Formats......................................13
  37.             Format - Packet (*.PKT)..............................13
  38.             Format - *.MSG.......................................13
  39.             Format - Squish......................................13
  40.             Format - ASCII Text File.............................13
  41.             Announcing messages to ASCII text files..............14
  42.             Announcing messages to NetMail.......................15
  43.             Announcing messages to local message bases...........16
  44.             Defining Announcement Areas..........................17
  45.  
  46.        Description of Announcement Area Components
  47.             MsgAreaName..........................................18
  48.             MsgAreaType..........................................18
  49.             MsgAreaPath..........................................18
  50.             From.................................................19
  51.             To...................................................19
  52.             Subj.................................................19
  53.             Attributes...........................................19
  54.             AddressFrom..........................................19
  55.             AddressTo............................................19
  56.             MonthIndex...........................................19
  57.             Announce.............................................20
  58.             Exclude..............................................20
  59.  
  60.        Message Construction
  61.             Templates............................................21
  62.             Valid Template Macros................................22
  63.             Sorting and Grouping File Announcements..............25
  64.             Testing Your Templates and Message Formats...........26
  65.  
  66.        Defining a FILES.BBS Announcement Area....................27
  67.             Maximus CBCS and Opus Alternatives...................27
  68.                  MaximusFileAreaFileName <file name>.............27
  69.                  MaximusFileArea <area name> <FAN announce name>.27
  70.  
  71.        Using the File Logging Feature............................29
  72.             AnnounceLogFile......................................29
  73.             AnnounceLogTemplate..................................29
  74.             AnnounceLogMonthIndex................................29
  75.  
  76.        Special Tick Considerations
  77.             Reading Tick's Configuration File....................30
  78.             Bad Tick Files.......................................30
  79.             Announcing Locally "Hatched" Files...................30
  80.             Using SEAL's FileDesc Statement......................30
  81.  
  82.  
  83.  
  84.        Unresolved (Unresolvable?) Bugs...........................31
  85.             Using FAN with ZMail under DOS.......................31
  86.             Using FAN with AutoBoot 2.00 and Opus under DOS......31
  87.  
  88.        Future Possible Features/Enhancements.....................32
  89.  
  90.        Appendices
  91.             Appendix A - Example REXX procedure calling FAN......33
  92.             Appendix B - Example DOS procedures calling FAN......35
  93.             Appendix C - Examples that place BBS caller
  94.             information in DOS Environment Variables.............38
  95.  
  96.  
  97.        FAN Users Manual                                              Page 4
  98.        ----------------------------------------------------------------------
  99.  
  100.        What is FAN?
  101.  
  102.        FAN creates message announcements to announce new file arrivals by
  103.        scanning - either or both - standard FILES.BBS files and .TIC files
  104.        generated by file distribution systems running Barry Geller's TICK
  105.        utility, or .TIC clone programs such as AllFix.
  106.  
  107.        FAN was originally inspired by Doug Belkofer's RFD [R]eceived [F]or
  108.        [D]istribution, an MS-DOS program that works beautifully on .TIC
  109.        processed files, but lacked other features I desired, such as support
  110.        for long file descriptions, FILES.BBS files, or would run under OS/2.
  111.  
  112.        After many versions, FAN has evolved into an incredibly different and
  113.        more advanced program than RFD.  FAN can be configured to announce
  114.        files in a variety of customized formats.  The following is an example
  115.        of FAN's potential:
  116.  
  117.        From:   Dave Fisher of 1:170/110@fidonet.org
  118.        To:     All
  119.        Subj:   New Arrival(s) on LiveNet
  120.        Attr:
  121.        Arrivals ____________________________________________________ 1:170/110
  122.  
  123.        The following file(s) were received here for distribution
  124.        on 20 Sep 92 at 02:07:52:
  125.  
  126.        FAN_201.ARJ   235168 19-Sep-93  File Announcement Utility, Version 2.01, OS/2
  127.                                        or DOS.  FAN will allow you to create
  128.                                        customized announcements (Squish, *.MSG,
  129.                                        *.PKT, Ascii) for files received via FDN's OR
  130.                                        from new entries in FILES.BBS file areas.
  131.                                        Enhanced formatting for long, justified
  132.                                        descriptions.  Just like this!  Distributed
  133.                                        via FWBBS from 1:170/110.
  134.  
  135.  
  136.        --- FAN 2.01 Reg+
  137.         * Origin: LiveNet!  Tulsa's OS/2 Warehouse.  918-481-5715 (1:170/110)
  138.  
  139.        FAN custom formats file descriptions up to 1024 characters in length,
  140.        creating announcements that can also include information such as the
  141.        following:
  142.  
  143.             File Name
  144.             Size in Bytes or Kilobytes
  145.             Distribution Area Tag Name
  146.             Originating Address,
  147.             File Date (expressed in many different ways),
  148.             Name of FDN area, etc.
  149.  
  150.        File announcments can be grouped and sorted in a variety of ways, and
  151.        be written to *.PKT, *.MSG, Ascii Text, or Squish formatted message
  152.        bases.
  153.  
  154.        FAN is a bound program (which means it will run under OS/2 or DOS).
  155.  
  156.  
  157.        FAN Users Manual                                              Page 5
  158.        ----------------------------------------------------------------------
  159.  
  160.        Disclaimer
  161.  
  162.        This program is shareware.  There is absolutely no warranty for this
  163.        program or guarantee it will work.  The user of this program assumes
  164.        all risk.  While I feel confident this program will not harm your
  165.        system in any way, by using this program, you agree to assume full
  166.        responsibility for any adverse effect to your system.
  167.  
  168.        Where applicable, all trademarks referred to here are the property of
  169.        their owners.
  170.  
  171.  
  172.        FAN Users Manual                                              Page 6
  173.        ----------------------------------------------------------------------
  174.  
  175.        Documentation/Credits
  176.  
  177.        There are five document files that describe FAN.
  178.  
  179.  
  180.        REGISTER.DOC
  181.  
  182.             This file explains the registration process for FAN.
  183.  
  184.        FAN.DOC
  185.  
  186.             The file you are reading is a basic description and
  187.             introduction to FAN.
  188.  
  189.             Many thanks to Bill Whitehouse and Raymond Beriau for their
  190.             helpful, editorial comments, and contributions to this
  191.             document!
  192.  
  193.        HISTORY.DOC
  194.  
  195.             History of changes to FAN should serve as a good reference to
  196.             track new FAN enhancements as they are added.
  197.  
  198.        CONTENTS.DOC
  199.  
  200.             Content listing of all the files that are distributed with FAN
  201.             and a brief description of each one.
  202.  
  203.        FAN.CFG
  204.  
  205.             The accompanying FAN.CFG configuration file is heavily
  206.             documented and demonstrates how I use FAN on my system. It is
  207.             a companion to this document, included to illustrate how FAN's
  208.             default settings are modified and how Announcement Areas are
  209.             defined.
  210.  
  211.  
  212.        FAN Users Manual                                              Page 7
  213.        ----------------------------------------------------------------------
  214.  
  215.        Registering FAN
  216.  
  217.        FAN is probably one of the most easy programs to register.  To
  218.        register, please read the document REGISTER.DOC.
  219.  
  220.  
  221.        FAN Users Manual                                              Page 8
  222.        ----------------------------------------------------------------------
  223.  
  224.        Submitting Bug Reports
  225.  
  226.        When submitting a bug report, please read the following guidelines.
  227.        Invaritably when someone reports a bug in FAN, I will have to write
  228.        back asking for one or more of the following items.  Performing these
  229.        tasks first will ensure that I will be able to identify the problem
  230.        quickly.
  231.  
  232.        1.   Write a brief description of the problem.
  233.  
  234.        2.   Run FAN using the undocumented qualifier /debug=<level>.
  235.  
  236.             I guess this qualifier isn't so `undocumented' now. :)  Adding
  237.             this qualifier to the command line will make FAN write quite a
  238.             bit of information to STDOUT (normally the screen).  Redirect
  239.             this to a file (say called DEBUG.OUT) and send it to me with
  240.             your bug report.  For example:
  241.  
  242.             FAN /debug=5 [...] > DEBUG.OUT
  243.  
  244.             Debug levels range from 1 to 5.  Please run at debug level 5
  245.             when submitting a bug report.  This will give me the most
  246.             detailed information concerning the internal processing of
  247.             FAN.
  248.  
  249.        3.   Include any relevant output files.
  250.  
  251.             This could include *.PKT files, log files, ASCII formatted
  252.             message files --whatever-- you feel would help shed some light
  253.             on FAN's abnormal behavior.
  254.  
  255.        4.   Include a copy of your configuration file.
  256.  
  257.             This is important!  Many times the bug may be due to a
  258.             configuration error, in which case I need to make FAN more
  259.             intelligent concerning the processing of the configuration
  260.             file, or more clear concerning the instructions when
  261.             configuring FAN.
  262.  
  263.        Bug reports may be submitted to me at any of the following addresses:
  264.  
  265.             Dave Fisher
  266.             LiveNet OS/2 BBS
  267.  
  268.             1:170/110@fidonet.org
  269.             40:4372/0 (ibmNET)
  270.             81:202/201 (OS2NET)
  271.  
  272.        Also, please don't hesitate to send enhancement suggestions.  FAN
  273.        wouldn't be what it is today without your thoughtful recommendations.
  274.  
  275.  
  276.        FAN Users Manual                                              Page 9
  277.        ----------------------------------------------------------------------
  278.  
  279.        The Basic Philosophy
  280.  
  281.        FAN is designed to run on two separate occasions:
  282.  
  283.             1.   After your mailer receives *.TIC files but before they are
  284.                  processed by TICK. And...
  285.  
  286.             2.   After new files are uploaded to file areas you want FAN to
  287.                  monitor (i.e., FILES.BBS files).
  288.  
  289.        I run FAN on my own system only when the mailer exits to process mail
  290.        and *.TIC files are found in the Inbound Directory. This a matter of
  291.        personal preference; FAN will announce any new arrivals since its last
  292.        run.
  293.  
  294.        If you want announcements to identify BBS uploaders by name you should
  295.        run FAN whenever new uploads are detected at caller log-off.
  296.  
  297.        See Appendix A for an OS/2 REXX example that processes my incoming
  298.        *.TIC files.
  299.  
  300.        See Appendix B for three DOS batch file examples.  The first two
  301.        examples processes *.TIC files, and the third demonstates how to use
  302.        DOS's ATTRIB.EXE and a choice of two other shareware utilities to
  303.        detect new BBS uploads and prompt FAN announcements.
  304.  
  305.        See Appendix C and the accompanying FAN.CFG and file templates for
  306.        examples that place BBS caller information in environment variables
  307.        FAN can use in its announcements.
  308.  
  309.        Once FAN identifies file(s) to announce, it checks its configuration
  310.        file for each "Announcement Area" you have defined.
  311.  
  312.        When received files match an Announcement Area, FAN creates the
  313.        announcment in the file format you have chosen (*.PKT, *.MSG, etc.).
  314.  
  315.        *.PKT files created by FAN are suitable for mail processing software,
  316.        such as Squish or oMMM.  FAN's *.PKT file adheres to FTS-0001 Fidonet
  317.        mail packet standards.  Simply execute your mail processing software
  318.        to import echomail once these packets are created.
  319.  
  320.  
  321.        FAN Users Manual                                              Page 10
  322.        ----------------------------------------------------------------------
  323.  
  324.        Description of Syntax
  325.  
  326.        FAN
  327.             /Config = <path+file name>          default: FAN.CFG
  328.             /[no]Log                            default: NoLog
  329.             /LogFile = <path+file name>         default: None
  330.             /LogLevel = <1..4>                  default: 4
  331.             /[no]LogWarnings                    default: LogWarnings
  332.             /[no]Quiet                          default: NoQuiet
  333.             /TossLogFile = <path+file name>     default: None
  334.             /FileArea = ( Areaname1, ... )      default: All Areas
  335.             /TestMode                           default: NoTestMode
  336.             /Debug=<0..5>                       default: 0 (no debug)
  337.  
  338.        Notes on the syntax:
  339.  
  340.             Qualifiers can appear in any order, in any case, and are only
  341.             significant to four characters.  /TossLogFile, for instance,
  342.             is the same as /toss.
  343.  
  344.        Qualifiers
  345.  
  346.        /Config = <path+file name>
  347.  
  348.             This is the name of the configuration file.  The default is
  349.             FAN.CFG in the current directory.  If you prefer, you can
  350.             define an environment variable using the DOS SET command
  351.             instead, with the following syntax:
  352.  
  353.             Set FAN_CONFIG=<path+filename>
  354.  
  355.        /[no]Log
  356.  
  357.             This qualifier will turn the logging function on and off.
  358.             Default is NoLog.
  359.  
  360.        /LogFile = <path+file name>
  361.  
  362.             This qualifier defines the name of the log file.
  363.  
  364.        /LogLevel = <1..4>
  365.  
  366.             This qualifier defines the level of log file detail.  Level 1
  367.             is the least detailed, while Level 4 is the most verbose.  The
  368.             levels indicate the 'importance' of a message, where Level 1
  369.             is the most important (usually error messages).
  370.  
  371.        /[no]LogWarnings
  372.  
  373.             This qualifier will run instruct FAN is print or not print
  374.             warning messages.  Warning messages simply point out possible
  375.             inconsistencies in your configuration of FAN.  They do not
  376.             suppress messages of a more serious nature.  For example, you
  377.             may be running FAN using a TIC configuration file, and
  378.             neglected to announce a couple of the areas in this file.  FAN
  379.             will issue a warning indicating the area does not appear in
  380.             any Announcement Definitions.  However, it may also be you do
  381.  
  382.  
  383.        FAN Users Manual                                              Page 11
  384.        ----------------------------------------------------------------------
  385.  
  386.             NOT wish to announce those areas, thus the warning messages
  387.             would be unwanted.
  388.  
  389.             I would suggest to let FAN run the first few times for all
  390.             warning messages, until you feel things are running smoothly.
  391.             Then add the /NoLogWarn qualifier to FAN command line (or
  392.             state NoLogWarnings in the configuration file) after several
  393.             actual runs.
  394.  
  395.        /[no]Quiet
  396.  
  397.             This qualifier controls whether FAN should print detailed
  398.             output to the "standard output device", which is normally the
  399.             screen.  Set it to /Quiet and all you see are the program
  400.             copyright line and any error messages.  The default is
  401.             /NoQuiet.
  402.  
  403.        /TossLogFile
  404.  
  405.             This qualifier instructs FAN to write the message area names
  406.             it processes to a specific file, enabling your tosser/scanner
  407.             (such as Squish or oMMM) to limit its processing to those
  408.             listed areas.
  409.  
  410.        /FileAreas = ( Areaname1, Areaname2, ... )
  411.  
  412.             This qualifier will allow you to run FAN and restrict the
  413.             announcements to occur ONLY within the list *.TIC/File areas.
  414.             The area names used are the TIC file area names (such as
  415.             SDSMAX), or the area names you have defined in the FAN
  416.             configuration file using the FILESBBS statements.
  417.  
  418.             This qualifier is especially convenient if you want to
  419.             announce files that a particular user uploaded to a particular
  420.             file area, and want to use environment variables to indicate
  421.             his/her name as the author of the upload.  By restricting the
  422.             announcements to ONLY that file area, you limit the risk of
  423.             announcing other new file arrivals erroneously with the
  424.             uploader's name.
  425.  
  426.        /[no]TestMode
  427.  
  428.             This qualifier will run FAN in its test mode.  For a
  429.             description of this test mode, please refer to the section
  430.             entitled "Testing Your Messages and Message Formats".
  431.  
  432.        /Debug=<0..5>
  433.  
  434.             This qualifier will instruct FAN to print internal processing
  435.             information to STDOUT.  This qualifier is useful when
  436.             submitting bug reports, or trying to solve a problem in the
  437.             configuration.  At the highest debug level (5), quite a bit of
  438.             information will displayed.
  439.  
  440.  
  441.        FAN Users Manual                                              Page 12
  442.        ----------------------------------------------------------------------
  443.  
  444.        Defining Month Names
  445.  
  446.        In order to accomodate multiple languages, as well as different month
  447.        name formats, different "month lists" can be defined in the FAN
  448.        configuration file.  Each list of month names has an index number
  449.        associated with it.  This number can be specified in each Announcement
  450.        Area Definition.  If it is not specifically specified in an
  451.        Announcement Area Definition, Month List 1 will be used.
  452.  
  453.        A Month List has the following format:
  454.  
  455.        Months [index number] [month names]
  456.  
  457.        There can be up to 9 different month lists (index numbers 1-9), each
  458.        starting with the keyword 'Months'.  The month names can be separated
  459.        by spaces or commas, and must all be listed on the same line.
  460.  
  461.        Month lists can be referenced within a message by either using the
  462.        MonthIndex keyword in the Announcement Area Definition, or using the
  463.        tokens [filemonthname1] to [filemonthname9] in the message template
  464.        files.  By using the month token [filemonthname] in the template
  465.        files, it is possible to mix different month name formats within one
  466.        single message.
  467.  
  468.  
  469.        FAN Users Manual                                              Page 13
  470.        ----------------------------------------------------------------------
  471.  
  472.        Message Area Formats
  473.  
  474.        FAN will create announcement messages in a variety of message formats.
  475.        These formats are as follows:
  476.  
  477.             Format - Packet (*.PKT)
  478.  
  479.             Packet, or *.PKT, files are normally received by network
  480.             front-end mailers such as BinkleyTerm and FrontDoor.  These
  481.             files are then processed by your tossing/scanning software and
  482.             entered into the appropriate message area, whether that be
  483.             echomail or netmail.
  484.  
  485.             If your message base is not supported by FAN, you would use
  486.             this option and define your DefaultMsgType as "Packet".
  487.  
  488.             Format - *.MSG
  489.  
  490.             *.MSG formatted message bases are the defacto FidoNet
  491.             standard.  However, more efficient message base formats are
  492.             becoming more popular, such as Squish.
  493.  
  494.             Format - Squish
  495.  
  496.             Squish formatted message bases area created and maintained by
  497.             the SQUISH software created by Scott Dudley.  Each message
  498.             base is stored in one file with a companion index file for
  499.             efficient searches and quick access.
  500.  
  501.             Format - ASCII Text File
  502.  
  503.             FAN recognizes a special message area type which does not
  504.             really relate to FidoNet at all.  Instead of sending messages
  505.             to a special formatted file such as Squish or *.PKT files, FAN
  506.             can write messages to a flat ASCII text file.  This makes
  507.             extremely flexible since the format of this file is up to you
  508.             when you design the message template files.
  509.  
  510.  
  511.        FAN Users Manual                                              Page 14
  512.        ----------------------------------------------------------------------
  513.  
  514.        Announcing messages to ASCII text files
  515.  
  516.        One powerful feature of FAN is the ability to announce messages to a
  517.        variety of ASCII text files in a variety of formats.  These text files
  518.        can be used as input to virus scanning software or news items for QWK
  519.        downloaders.  This feature is similar to the AnnounceLogFile, but
  520.        much, much more flexible.  There is no limit to the number of ASCII
  521.        Announce Areas that can be defined.
  522.  
  523.        Please note!  FAN will append to the ASCII text file if it already
  524.        exists.  Thus, if you intend the ASCII text file for a temporary use
  525.        (such as input for virus scanning), be sure to delete it after you are
  526.        done.
  527.  
  528.        In order to define ASCII text files, simply create an Announcement
  529.        Definition with the special keyword "ASCII", a message type
  530.        (MsgAreaType) of "ASCII", and include the statement "MsgAreaPath".
  531.        For example:
  532.  
  533.             MsgAreaName     ASCII
  534.  
  535.             MsgAreaType     ASCII
  536.             MsgAreaPath     c:\bbs\fan\allfiles.txt
  537.             MonthIndex      2
  538.             PrefixTemplate  c:\bbs\fan\pascii.tpl
  539.             FileTemplate    c:\bbs\fan\local.tpl
  540.             SuffixTemplate  c:\bbs\fan\sascii.tpl
  541.  
  542.             Announce        *
  543.  
  544.        For example, the above can be used to create nicely formatted messages
  545.        as news items to QWK downloaders.  All file areas will be announced
  546.        (since a wildcard match of "*" is used in the Announce statement)
  547.        using the specified templates.  Notice that it is not necessary to
  548.        specify "From", "To", "Subj", and/or "Attributes" statements since
  549.        these are not used within creation of the messages.  If you wish to
  550.        include this information in the annoncement, simply include it within
  551.        one of the prefix or suffix templates.
  552.  
  553.             MsgAreaName     ASCII
  554.  
  555.             MsgAreaType     ASCII
  556.             MsgAreaPath     c:\bbs\fan\ibmnet.txt
  557.             PrefixTemplate  None
  558.             SuffixTemplate  None
  559.             FileTemplate    c:\bbs\fan\fascii.tpl
  560.  
  561.             Announce        IBMOS2FX IBMDOSFX IBMEWS IBMINFO IBMTCPIP
  562.  
  563.        The above example illustrates the use of an ASCII area creating a
  564.        "raw" text file which can be used as input into another software
  565.        package.  Notice the prefix and suffix templates have been disabled.
  566.        This is necessary if default prefix and suffix templates have been
  567.        defined earlier in FAN.
  568.  
  569.  
  570.        FAN Users Manual                                              Page 15
  571.        ----------------------------------------------------------------------
  572.  
  573.        Announcing messages to NetMail
  574.  
  575.        If you wish to send an announcement to a particular person via
  576.        netmail, create the Announcment Definition in the usual manner with
  577.        the following exceptions:
  578.  
  579.             1.  Define the MsgAreaName as 'NETMAIL', and
  580.             2.  Include the keyword 'AddressTo'.
  581.  
  582.        For example:
  583.  
  584.             MsgAreaName     NETMAIL
  585.  
  586.             AddressFrom     1:170/110
  587.             AddressTo       1:170/110.7
  588.             From            Dave Fisher
  589.             To              Mark Barbee
  590.             Subj            New OS/2 files received via ibmNET
  591.             Attributes      LP
  592.             FileTemplate    c:\bbs\fan\local.tpl
  593.  
  594.             Announce        IBMOS2FX
  595.  
  596.        The message area name 'NETMAIL' will instruct FAN to format the
  597.        message for NetMail, and not EchoMail, which simply means there will
  598.        be no ^aAREA control line, no tag/origin line, no ^aPATH or ^aSEEN-BY
  599.        control lines, etc.  The addresses can be full 4D format of
  600.        <zone>:<net>/<node>.<point>.
  601.  
  602.  
  603.        FAN Users Manual                                              Page 16
  604.        ----------------------------------------------------------------------
  605.  
  606.        Announcing messages to local message bases
  607.  
  608.        If you instruct FAN to write a message in *.PKT format to a local
  609.        message base, special consideration must be given to these message
  610.        bases since they are not set up for incoming/outgoing echomail.  In
  611.        other words, these message bases are local to your system, and
  612.        messages are never scanned out to other systems.
  613.  
  614.        Normally, you do not have to define these message bases in your
  615.        tossing/scanning software.  However, since you have instructed FAN to
  616.        create *.PKT messages, you will have to define these local areas for
  617.        your particular tossing/scanning software.  For example, for Squish,
  618.        you simply define the area by creating an echo tag name and use your
  619.        address as the origination node:
  620.  
  621.             EchoArea  LOCAL      c:\max\msg\local   -$  170/110
  622.  
  623.        In this example, the MsgAreaName used in FAN will be "LOCAL" and the
  624.        origination node for the messages is my FidoNet node number, 170/110
  625.        (your own address would go here).
  626.  
  627.        For Opus, you would add the lines ECHOMAIL and SCAN to you local
  628.        message area and scan it to your address as follows:
  629.  
  630.        AREA    0007    SDS
  631.                NAME    SDS/SDN_In
  632.                PUBLIC MESSAGES ONLY
  633.                ACCESS PRIV     Disgrace
  634.                EDIT PRIV       Sysop
  635.                PEEK PRIV       Sysop
  636.                PATH            E:\MSG\SDS_IN\
  637.                TITLE           Incoming Software Distribution Files
  638.                MAXLINES        60
  639.                ECHOMAIL        FILESIN
  640.                SCAN            129/112
  641.        END AREA
  642.  
  643.        In the above example, you would identify the MsgAreaName in FAN as
  644.        "FILESIN".  The address after "SCAN" would be your own.
  645.  
  646.  
  647.        FAN Users Manual                                              Page 17
  648.        ----------------------------------------------------------------------
  649.  
  650.        Defining Announcement Areas
  651.  
  652.        Announcement Areas are central to defining FAN's operation.
  653.  
  654.        They include all the information FAN needs to create messages destined
  655.        for echomail, netmail, or a message area/base.
  656.  
  657.        Announcement areas are defined in the configuration file, each
  658.        beginning with the keyword 'MsgAreaName'.  It is important to note
  659.        that this area name is the "message area tag name" of the echo for
  660.        announcements, NOT the tag name of the File Distribution Area (used in
  661.        Tick and FILESBSS definitions).
  662.  
  663.        Each announcement area has the following 3 basic parts:
  664.  
  665.             1.   The Echo Tag Name (keyword 'MsgAreaName')
  666.             2.   Message Header Specific Information (keywords, 'From', 'To',
  667.                  'Subj', etc.)
  668.             3.   FDN Tag Names to announce (keyword 'Announce') or exclude
  669.                  (keyword 'Exclude')
  670.  
  671.        Each announcement area is fully self-contained, and does not effect
  672.        any other announcement area definitions.
  673.  
  674.  
  675.        FAN Users Manual                                              Page 18
  676.        ----------------------------------------------------------------------
  677.  
  678.        MsgAreaName
  679.  
  680.        The MsgAreaName is the name echo tag name of the message base.  All
  681.        files received which are part of the groups in the Announce lines will
  682.        have announcement messages created for this message base.
  683.        MsgAreaType
  684.  
  685.        Each announcement definition can create the announcement message in a
  686.        variety of formats.  These formats range from FTS-0001 *.PKT files
  687.        which will be placed in your incoming mail directory to actual message
  688.        bases (such as Squish formatted bases).  Keywords for the different
  689.        area types are Packet, *.MSG, Squish, or ASCII.  Please see the
  690.        section "Message Area Formats" for a list and description of each area
  691.        type available.
  692.  
  693.        Please note:  If the message area is formatted as *.MSG or Squish
  694.        message base, enable one or more of the FAN configuration statements
  695.        MaximusMsgAreaFileName, SquishCfgFileName, or AreasBBSFileName.  This
  696.        will cause FAN to fill in the MsgAreaType and MsgAreaPath for you, and
  697.        reduce the amount of work it would take for you to maintain the FAN
  698.        configuration file.
  699.  
  700.        Also, if you choose a default message type of *.PKT
  701.        (DefaultMsgAreaType), and define one of the above Maximus/Squish
  702.        control files, THE DEFAULT MESSAGE TYPE MAY BE OVERRIDDEN for any
  703.        given message area.  For example, if you announce to a message area
  704.        called NEWFILES and FAN finds this definition in the Squish (or other)
  705.        configuration file, then FAN will automatically override the default
  706.        message type for that area (NEWFILES in this case) and set it to the
  707.        type of message area found in the configuration file.
  708.  
  709.        If a message area is defined in a configuration file and you want to
  710.        force a specific message type, simply use the keyword MsgAreaType
  711.        within the Announcement Definition itself.
  712.  
  713.        MsgAreaPath
  714.  
  715.        This configuration statement has different meanings based on the
  716.        MsgAreaType.  They are as follows:
  717.  
  718.             MsgAreaType Packet
  719.  
  720.             MsgAreaPath is not used for *.PKT messages.  The configuration
  721.             statement PacketPath will be used for the message path.
  722.  
  723.             MsgAreaType *.MSG
  724.  
  725.             MsgAreaPath is the directory name of the *.MSG message base.
  726.             If you have configured FAN to read your Maximus, Squish, or
  727.             AREAS.BBS configuration file, you will not have to define
  728.             MsgAreaPath.
  729.  
  730.             MsgAreaType Squish
  731.  
  732.             MsgAreaPath is the directory plus base name of the Squish
  733.             message base.  If you have configured FAN to read your
  734.             Maximus, Squish, or AREAS.BBS configuration file, you will not
  735.             have to define MsgAreaPath.
  736.  
  737.  
  738.        FAN Users Manual                                              Page 19
  739.        ----------------------------------------------------------------------
  740.  
  741.  
  742.             MsgAreaType Ascii
  743.  
  744.             MsgAreaPath is the full path and filename of the ascii file to
  745.             create.
  746.  
  747.        From
  748.  
  749.        This is the name of the "person" that is credited as sending the
  750.        announcement.  You can even user YOUR name here!  The default is "File
  751.        Announcer".
  752.  
  753.        To
  754.  
  755.        This is the name of the "person" to whom the message is written.  The
  756.        default is "All".
  757.  
  758.        Subj
  759.  
  760.        This is the subject line of the message.  The default is "Files
  761.        received for distribution".
  762.  
  763.        Attributes
  764.  
  765.        These are one letter keywords toggling FAN message attributes.
  766.  
  767.             P = Private
  768.             C = Crash
  769.             H = Hold
  770.             K = Kill/Sent
  771.             L = Local
  772.             F = Forward
  773.             R = Read/Received
  774.             S = Sent
  775.             X = Scanned (Squish only)
  776.  
  777.        Many mail processing software packages will need the Local flag set on
  778.        the message ('L').  One or more of the following attributes can be
  779.        combined on the same line, with no intervening spaces.  For example,
  780.        to mark a message as Private and Local, either "LP" or "PL" would be
  781.        acceptable (without the quote marks).
  782.  
  783.        AddressFrom
  784.  
  785.        This is the address to use for the newly created message packet.
  786.        Normally, FAN will use the default address defined at the top of the
  787.        configuration file.  However, it is possible to create annoucements
  788.        for other networks using an alternate address by specifying
  789.        'AddressFrom' within the announcement definition.
  790.  
  791.        AddressTo
  792.  
  793.        When sending messages via NetMail (instead of being destined to an
  794.        EchoMail message base), 'AddressTo' will define the node address of
  795.        the receiving party.
  796.        MonthIndex
  797.  
  798.  
  799.        FAN Users Manual                                              Page 20
  800.        ----------------------------------------------------------------------
  801.  
  802.        If a 'MonthIndex' is not specified, the Month List defined as Index 1
  803.        will be used.  Otherwise, 'MonthIndex' will define a different month
  804.        list.  Whenever the template token [filemonthname] or [curmonthname]
  805.        is encountered, the default Month List for the Announcement Area will
  806.        be used.
  807.  
  808.        Announce
  809.  
  810.        These are the names of the File Distribution Areas for which you wish
  811.        to create announcement messages.  You can have one or more lines using
  812.        the keyword 'Announce'.  One or more Tick File Areas can be defined
  813.        can be defined on each 'Announce' line.  Simply separate each Tick
  814.        File Area name with a space.
  815.        You may also specify wildcarded File Distribution Areas in the
  816.        Announce statement.  Valid wildcards are the asterick and the question
  817.        mark.  An asterick matches to one or more characters, while the
  818.        question mark matches only one character.  For example, an Announce
  819.        name of "IBMO??FX" would match to IBMOS2FX, but not IBMDOSFX.  An
  820.        Announce name of IBM*FX would match to both of the above example File
  821.        Distribution Areas.
  822.  
  823.        Exclude
  824.  
  825.        Since Announce areas can contain wildcards, it may be necessary to
  826.        restrict some areas from being caught in the wildcarded match.  For
  827.        example, if you want to announce most of your File Distribution Areas,
  828.        except for a select few (such as private or beta File Distribution
  829.        Areas), the Exclude statement can be used.
  830.  
  831.        For example, if you wish to include all ibmNET FDN areas, except the
  832.        private sysop area, you would specify:
  833.  
  834.             Announce IBM*
  835.             Exclude  IBMNET
  836.  
  837.        The format of the Exclude statement is identical to the Announce
  838.        statement explained above.
  839.  
  840.  
  841.        FAN Users Manual                                              Page 21
  842.        ----------------------------------------------------------------------
  843.  
  844.        Templates
  845.  
  846.        FAN composes the body of each message with three templates.
  847.  
  848.        "FileTemplate" determines the form and content of each file
  849.        announcement.  "PrefixTemplate" and "SuffixTemplate" assign any
  850.        opening and closing remarks you choose to run at the top and bottom of
  851.        each message.  "GroupTemplate" will be used when sorting is active,
  852.        and will appear at the beginning of each "group" of files.
  853.  
  854.        PrefixTemplate usually consists of a short sentence describing the
  855.        purpose of the message, along with the time and date the announced
  856.        files were received on your system.  SuffixTemplate might include
  857.        other systems you distribute the files announced here to, File Request
  858.        limitations, etc.
  859.  
  860.        The GroupTemplate normally includes some type of group header/divider
  861.        information, such as the TIC/FILESBBS group description, etc.
  862.  
  863.        If PrefixTemplate, FileTemplate, or SuffixTemplate are not part of an
  864.        Announcement Definition (i.e., they are defined BEFORE any
  865.        Announcement Definitions), then that template will pertain to all
  866.        Announcement Definitions.  This default behavior can be overridden by
  867.        defining the template within the Announcement Definition itself.
  868.        Please see the example FAN.CFG enclosed in the FAN distribution
  869.        archive for examples.
  870.  
  871.        For example, if the following were defined within your FAN
  872.        configuration file:
  873.  
  874.             FileTemplate DEF_FILE.TPL
  875.  
  876.             MsgAreaName MESSAGE_BASE_1
  877.             From ....
  878.             To   ....
  879.  
  880.             MsgAreaName MESSAGE_BASE_2
  881.             From ....
  882.             To   ....
  883.             FileTemplate LOCAL.TPL
  884.  
  885.             MsgAreaName MESSAGE_BASE_3
  886.             From ....
  887.             To   ....
  888.  
  889.        The file template DEF_FILE.TPL will be used for MESSAGE_BASE_1 and
  890.        MESSAGE_BASE_3, while the file template LOCAL.TPL will be used for
  891.        MESSAGE_BASE_2.
  892.  
  893.  
  894.        FAN Users Manual                                              Page 22
  895.        ----------------------------------------------------------------------
  896.  
  897.        Valid Template Macros
  898.  
  899.        All FAN macros, or tokens, are expanded as the message is created.
  900.        They are not case sensative (i.e., they can be in upper or lower
  901.        case).  The basic syntax of a macro is as follows:
  902.  
  903.             [ macroname, macro options, ... ]
  904.  
  905.        A macro is enclosed within brackets, and can include one or more macro
  906.        options which effect the appearance of the final formatted text.  The
  907.        order of the macro options are not significant.  Macro options are
  908.        only significant to 4 characters.  Thus, "TRUNCATE" is the same as
  909.        "TRUN" or "TRUNC".  See below for a list of macro options.
  910.  
  911.        The following macros are valid within ANY of the templates, as
  912.        well as specified To:, From:, and Subj: fields in FAN's configuration
  913.        file.
  914.  
  915.             The following macros expand various aspects of the current
  916.             date of the announcement:
  917.  
  918.             [curdate]           Current date in "DD [month name] YY" format
  919.             [curtime]           Current time in "HH:MM:SS" format
  920.             [curmonthname]      Current month name (using DefaultMonthIndex)
  921.             [curmonthname1..9]  Current month name using index N (1-9)
  922.             [curmonth]          Current month number (01-12)
  923.             [curday]            Current day number (01-31)
  924.             [curyear]           Current year number (i.e., "93")
  925.             [curyear4]          Current year number (i.e., "1993")
  926.  
  927.             Miscellaneous macros:
  928.  
  929.             [totalsize]         The total size of all files announced in the
  930.                                 message, in bytes
  931.             [totalsizeKB]       The total size of all files announced in the
  932.                                 message, in kilobytes (rounded to one decimal
  933.                                 place, i.e., 130.8 kilobytes).
  934.             [env:varname]       A valid DOS environment variable "VARNAME".
  935.                                 For example, if the user's name who uploaded
  936.                                 a file is in the environment variable ULNAME,
  937.                                 then this macro would be expressed as
  938.                                 [env:ULNAME].
  939.             [text,"???"]        Normally, text is simply written within the
  940.                                 template file without any translation.
  941.                                 However, it is possible to have FAN perform
  942.                                 the same formatting functions on
  943.                                 miscellaneous text as it does on macro
  944.                                 tokens.  For example, if you wanted a portion
  945.                                 of text to be a continuation of the previous
  946.                                 margined paragraph, specify something liek
  947.                                 [text,"Uploaded by ",MARGINS:30:78] instead
  948.                                 of simply writing "Uploaded by " directly
  949.                                 into the template file.
  950.  
  951.        The following macros are valid ONLY within the FileTemplate or
  952.        GroupTemplate:
  953.  
  954.  
  955.        FAN Users Manual                                              Page 23
  956.        ----------------------------------------------------------------------
  957.  
  958.             [filepath]          The full path name of the file received.
  959.                                 This is the physical directory location of
  960.                                 the file on your machine.
  961.             [filename]          The name of the file received
  962.             [filefullname]      The full path and file name ([filepath] +
  963.                                 [filename])
  964.             [filebasename]      The base filename without extension (i.e.,
  965.                                 "TEST")
  966.             [fileext]           The file extension (i.e., "ZIP")
  967.             [filesize]          The size of the file in bytes
  968.             [filesizeKB]        The size of the file in Kilobytes
  969.             [areatagname]       The TICK/FILESBBS file distribution area tag
  970.                                 name
  971.             [fileareadesc]      The TICK/FILESBBS file distribution area
  972.                                 description
  973.             [fileorigin]        The address where the file originated
  974.             [filedesc]          The complete description of the file (up to
  975.                                 1024 characters)
  976.             [fileyear]          The file date year, expressed as two digits
  977.                                 (i.e., "93")
  978.             [fileyear4]         The file date year, expressed as four digits
  979.                                 (i.e., "1993")
  980.             [filemonthname1..9] The file date month, expressed as text as
  981.                                 defined in the configuration file (using the
  982.                                 'Months' keyword).  If a number does not
  983.                                 follow [filemonthname], then the default
  984.                                 Month List will be used.  Otherwise, specific
  985.                                 month lists can be specified by using
  986.                                 [filemonthname1], [filemonthname2], ...
  987.                                 [filemonthname9], where the number is the
  988.                                 Index Number of the Month List.
  989.             [filemonth]         The file date month, expressed as two digits
  990.             [fileday]           The file date day, expressed as two digits
  991.  
  992.        Any macro can also include any the following format options:
  993.  
  994.             Number
  995.  
  996.             A number after the macro name will force the expanded text to
  997.             the indicated field length.  The actual text will not be
  998.             truncated.  Thus, if the actual length of the expanded text is
  999.             greater than "Number", then the output will be greater than
  1000.             "Number".  If the actual length of the expanded text is less
  1001.             than "Number", spaces will be padded until the length is
  1002.             "Number".  For example, if you want a 12 character fixed
  1003.             length field for the file/TIC area tag name, specify
  1004.             [areatagname,12].
  1005.  
  1006.             TRUNCATE
  1007.  
  1008.             Only applicable if a field length is specified.  If the actual
  1009.             length of the expanded text is greater than the field length
  1010.             indicated, the text will be truncated to the specified field
  1011.             length.  For example, if you only want up to 25 characters of
  1012.             the file description text, specify [filedesc,TRUNCATE,25].
  1013.  
  1014.             RIGHT
  1015.  
  1016.  
  1017.        FAN Users Manual                                              Page 24
  1018.        ----------------------------------------------------------------------
  1019.  
  1020.             Only applicable if a field length is specified.  This macro
  1021.             option will right justify the text.  For example, if you wish
  1022.             to have the file size right justified within a 10 character
  1023.             field, the syntax would be: [filesize,RIGHT,10].
  1024.  
  1025.             MARGINS:left:right
  1026.  
  1027.             One powerful feature of FAN is the ability to left and right
  1028.             justify text.  This is extremely handy if you want to format
  1029.             long file description lines, or create paragraph-like output.
  1030.  
  1031.             It is important to note that when MARGINS are spcified and FAN
  1032.             writes to a line of formatted text, it will NOT overwright
  1033.             previous text.  Thus, if your output line is already 50
  1034.             characters in length, and you specify a left margin of "30",
  1035.             FAN will append to the line until it hits the right margin.
  1036.             When a new line is created, FAN will move to the left margin
  1037.             and begin writing again.  In this way, it is possible to
  1038.             create "paragraphs" if you specify the same left and right
  1039.             margins for the output text.
  1040.  
  1041.             For example, if you wish to create a paragraph that begins
  1042.             with the file description and ends with the name of the TIC
  1043.             area tag and origin address of the file, you would specify:
  1044.  
  1045.             Desc: [filedesc,MARGINS:6:45] - [text,"Distributed via ",
  1046.                  MARGINS:6:45][areatagname,MARGINS:6:45][text,
  1047.                  " from ",MARGINS:6:45][fileorigin,MARGINS:6:45]
  1048.  
  1049.             The above should all be one line, it was broken ino three
  1050.             lines for readability.  It would produce output similar to:
  1051.  
  1052.             Desc: Listing of files available on the IBM Canada
  1053.                   BBS systems - Distributed via IBMNET from
  1054.                   40:649/312
  1055.  
  1056.             The left and right margins start at the count of zero, not
  1057.             one.  Thus, MARGINS:0:79 is a full 80 character line, from 0
  1058.             to 79.
  1059.  
  1060.        See the accompanying .TPL files for examples of actual usage.
  1061.  
  1062.  
  1063.        FAN Users Manual                                              Page 25
  1064.        ----------------------------------------------------------------------
  1065.  
  1066.        Sorting and Grouping File Announcements
  1067.  
  1068.        FAN can sort and/or group file announcements in the order they were
  1069.        received, or alphabetically by filename and/or TIC/FILESBBS tag name.
  1070.  
  1071.        Sort methods available are:
  1072.  
  1073.             None   :  No sort.  Files will be announced in the order they
  1074.                       are processed.
  1075.             Alpha  :  Files will be sorted alphabetically by filename.
  1076.             Group  :  Files will be sorted by group (TIC/FILESBBS) name,
  1077.                       tag and then alphabetically by filename within the
  1078.                       group.
  1079.  
  1080.        The sort method can also be Announcement Definition specific.  Thus,
  1081.        you can have different sorting/presentation strategies for different
  1082.        message areas.  If defined outside any Announcement Definition, this
  1083.        will become the default for any areas in which a SortMethod is not
  1084.        specified.
  1085.  
  1086.        When choosing a sort method Alpha or Group, the GroupTemplate, if
  1087.        defined, will be used.
  1088.  
  1089.  
  1090.        FAN Users Manual                                              Page 26
  1091.        ----------------------------------------------------------------------
  1092.  
  1093.        Testing Your Templates and Message Formats
  1094.  
  1095.        In order to experiment and refine the format of your messages, FAN has
  1096.        a "test" mode.  This test mode will enable you to test FAN without
  1097.        actually creating *.PKT's in your mailer's inbound directory, and
  1098.        possibly toss those messages by mistake.  In this mode, the following
  1099.        conditions apply:
  1100.  
  1101.             1.   All messages intended for a *.PKT will instead be written
  1102.             to an ascii text file.  This file will be the name of the echo
  1103.             area (MsgAreaName) meant to receive the message with an
  1104.             extension of *.TST, or if the MsgAreaName is ASCII, then
  1105.             MsgAreaPath will be used (the path will be stripped from the
  1106.             filename first).  If the name of the echo area exceeds 8
  1107.             characters, only the first 8 characters of the echo area name
  1108.             will be used.  Thus, if the echo area name is "LOCAL", the
  1109.             name of the file will be "LOCAL.TST".
  1110.  
  1111.             These files will be created in the current directory.
  1112.  
  1113.             2.   The log file name, if specified, will be overridden.  The
  1114.             new log file name will be "TEST.LOG" and will be created in
  1115.             the current directory.
  1116.  
  1117.             3.   No entries will be written to AnnounceList.
  1118.  
  1119.             4.   No entries will be written to AnnounceLogFile.
  1120.  
  1121.             5.   *.RAD files for locally hatched files using TIC will NOT
  1122.             be deleted.
  1123.  
  1124.             6.   FAN will look in the current directory for *.TIC or
  1125.             FILES.BBS files to create announcements.
  1126.  
  1127.             7.   Path names will be stripped from the template files
  1128.             defined in FAN.CFG.  FAN will look for these template files in
  1129.             the current directory.
  1130.  
  1131.        To invoke FAN in test mode, simply use the qualifier "/TestMode", or
  1132.        simply "/Test".
  1133.  
  1134.        For example:
  1135.  
  1136.             FAN /test [...]
  1137.  
  1138.        A quick, easy way to test your templates is to create a test directory
  1139.        and either save a few of your *.TIC files, or if you do not receive
  1140.        *.TIC files, create a test FILES.BBS file with a few entries.  Since
  1141.        FAN looks in the current directory for these files while in test mode,
  1142.        nothing in your "live", active directories will change.
  1143.  
  1144.  
  1145.        FAN Users Manual                                              Page 27
  1146.        ----------------------------------------------------------------------
  1147.  
  1148.        Defining a FILES.BBS Announcement Area
  1149.  
  1150.        It is possible to have FAN announce new files that are uploaded to
  1151.        your system by having it monitor one or more FILES.BBS files.  FAN
  1152.        keeps a database of files that have already been announced.  In this
  1153.        way, FAN can identify new FILES.BBS entries (see keyword
  1154.        'AnnounceList' in the configuration file).
  1155.  
  1156.        There are four parts to the FILES.BBS definition:
  1157.  
  1158.             FILESBBS_FileName [filename]
  1159.  
  1160.             This is the full path and file name of the FILES.BBS file.  On
  1161.             most systems, this will be [path]\FILES.BBS.  Some systems,
  1162.             however, use different file names.
  1163.  
  1164.             FILESBBS_Files [pathname]
  1165.  
  1166.             This is the path where the actual files listed in the
  1167.             FILES.BBS file reside.  Some systems keep all their
  1168.             downloadable files in one directory, which are referenced by
  1169.             different FILES.BBS files.
  1170.  
  1171.             FILESBBS_AnnounceName [name]
  1172.  
  1173.             When you are writing the Announcement Definition in the FAN
  1174.             configuration file, the TIC area tag name is specified on the
  1175.             'Announce' line.  Since there is no TIC area tag name
  1176.             associated with your FILESBBS file area, FILESBBS_AnnounceName
  1177.             is used to create a "dummy" TIC tag name to use on the
  1178.             'Announce' line.
  1179.  
  1180.             FILESBBS_Description [description]
  1181.  
  1182.             This is the description of the FILESBBS area.  It will be used
  1183.             when expanding the template macro [fileareadesc].
  1184.  
  1185.        All the above keywords MUST be used in the order that they are
  1186.        describe above (i.e., FILESBBS_FileName, FILESBBS_Files,
  1187.        FILESBBS_AnnounceName, and then FILESBBS_Description).
  1188.  
  1189.        Maximus CBCS and Opus Alternatives
  1190.  
  1191.        If you are running Maximus or Opus, FAN can read the path information
  1192.        directly from your file area control file.  Simply use the keywords
  1193.        MaximusFileAreaFileName and MaximusFileArea.  If you specify the
  1194.        FILES.BBS areas here, you do not have to define them using the
  1195.        FILESBBS FAN keywords.
  1196.  
  1197.        MaximusFileAreaFileName <file name>
  1198.  
  1199.        This keyword specifies the name of the control file which contains all
  1200.        the downloadable directory information for file sections on your BBS.
  1201.  
  1202.        MaximusFileArea <area name> <FAN announce name>
  1203.  
  1204.        This keyword attaches a specific "announce name" to each file area you
  1205.        wish FAN to monitor.  The announce name can be the same for every
  1206.  
  1207.  
  1208.        FAN Users Manual                                              Page 28
  1209.        ----------------------------------------------------------------------
  1210.  
  1211.        area, or different.  It is usually helpful to use different announce
  1212.        names for each area, since this announce name can be included in the
  1213.        text of the announcement message itself using the [areatagname] token
  1214.        (see section Message Construction).
  1215.  
  1216.        For example, if you had the following areas:
  1217.  
  1218.        MaximusFileArea             98          NEWOS2FILES
  1219.        MaximusFileArea             99          NEWGENFILES
  1220.        MaximusFileArea             20          OS2UTILS
  1221.        MaximusFileArea             21          OS2GAMES
  1222.        MaximusFileArea             50          OPUSBBSFILES
  1223.        MaximusFileArea            S01          SYSOPFILES
  1224.  
  1225.        You could then choose to announce all those areas to specific message
  1226.        bases in a variety of ways.  For example, if you wanted to publically
  1227.        announce the arrival of files in all the areas above except S01, which
  1228.        should be private to the Sysop only, the following Announcement
  1229.        Definitions could be constructed:
  1230.  
  1231.        MsgAreaName     LOCAL
  1232.        From            Dave Fisher
  1233.        To              All
  1234.        Subj            New files received
  1235.        Attributes      L
  1236.        Announce        NEWOS2FILES NEWGENFILES OS2UTILS OS2GAMES
  1237.        Announce        OPUSBBSFILES
  1238.  
  1239.        MsgAreaName     LOCAL
  1240.        From            Dave Fisher
  1241.        To              Dave Fisher
  1242.        Subj            New private sysop files received
  1243.        Attributes      LP
  1244.        Announce        SYSOPFILES
  1245.  
  1246.  
  1247.        FAN Users Manual                                              Page 29
  1248.        ----------------------------------------------------------------------
  1249.  
  1250.        Using the File Logging Feature
  1251.  
  1252.        FAN can create a log of all files found for announcement.  This log
  1253.        can be used for a variety of purposes.  It can be used as input for
  1254.        virus scanners, download/upload tracking programs, or simply as a
  1255.        historical reference of all files that have been received via TIC or
  1256.        user upload.
  1257.  
  1258.        The format of the log file is user-definable.  The same file macros
  1259.        that are available for announcements are also available here.
  1260.  
  1261.        Please note:  you may find that creating an ASCII formatted
  1262.        announcement area will better suit your needs.  The ASCII format was a
  1263.        later enhancement, and is more flexible than the file logging feature
  1264.        since you can have multiple ASCII formatted announcement areas (and
  1265.        consequently multiple "log" files) and also have the ability to define
  1266.        which file distribution areas will be included or excluded.
  1267.  
  1268.        AnnounceLogFile
  1269.  
  1270.        This keyword defines the actual file name of the log file.  This log
  1271.        file will be appended to each time FAN finds new files to announce.
  1272.  
  1273.        AnnounceLogTemplate
  1274.  
  1275.        This keyword defines the format of each file entry in the
  1276.        'AnnounceLogFile'.  If 'AnnounceLogTemplate' is not defined, the file
  1277.        will be formatted with one entry per line using the following macro
  1278.        format:  "[filename,12]  [filemonth]/[fileday]/[fileyear4]
  1279.        [filesize,RIGHT,7]  [areatagname,10]   [filedesc]".  This macro format
  1280.        will produce a listing of files as follows:
  1281.  
  1282.        FAN_146.ZIP   11/11/1992     150206 SDSMAX    New FAN release!
  1283.  
  1284.        AnnounceLogMonthIndex
  1285.  
  1286.        This keyword indicates which set of month names to use if
  1287.        [filemonthname] is specified in the AnnounceLogTemplate.  If it is not
  1288.        defined, the first set of month names will be used (index 1).
  1289.  
  1290.  
  1291.        FAN Users Manual                                              Page 30
  1292.        ----------------------------------------------------------------------
  1293.  
  1294.        Reading Tick's Configuration File
  1295.  
  1296.        FAN will read Tick's configuration file if you specify the path and
  1297.        name of the file using the keyword 'TickConfigurationFile'.
  1298.  
  1299.        You will want to use this feature only if you are "hatching" files
  1300.        into a file distribution network and want FAN to processes the
  1301.        resulting *.RAD files created by Tick.
  1302.        Bad Tick Files
  1303.  
  1304.        When Tick has trouble with an incoming file (bad CRC, invalid
  1305.        password, etc.), it will rename the *.TIC file to *.BAD.
  1306.  
  1307.        FAN can announce these files using the special TIC file area tag
  1308.        "BAD_TICS".  Simple specify BAD_TICS on the 'Announce' line in your
  1309.        Announcement Definition just as you would any other file area tag
  1310.        name.  Please see the example configuration file, FAN.CFG, for an
  1311.        example.
  1312.  
  1313.        I strongly recommend that Tick first be run in it's "check only" mode.
  1314.        In this mode, Tick will first check all the *.TIC files for valid
  1315.        CRC's, file names, password matches, etc and rename an invalid *.TIC
  1316.        files to *.BAD.  Then, FAN will announce these *.BAD files to you
  1317.        privately while announcing all the good *.TIC files publically.
  1318.        Otherwise, if you only run Tick once, FAN will possibly erroneously
  1319.        announce *.TIC files that are later renamed *.BAD by Tick.
  1320.  
  1321.        To use the "check only" mode, first run Tick with the /OC option on
  1322.        the command line.  Then run Tick again without that option.  See
  1323.        Appendix A for an example using this method.
  1324.  
  1325.        Announcing Locally "Hatched" Files
  1326.  
  1327.        If you enable the RAID keyword in your Tick configuration file, any
  1328.        files hatched from your system can also be announced using FAN.  With
  1329.        this keyword enabled, Tick will create *.RAD files in the Tick Hold
  1330.        directory.
  1331.  
  1332.        FAN will scan the Tick Hold Directory for *.RAD files.  After it reads
  1333.        the *.RAD files, it will delete them to prevent duplicate
  1334.        announcements.
  1335.  
  1336.        'TickConfigurationFile' must be defined in your FAN configuration file
  1337.        in order to process *.RAD files.
  1338.        Using SEAL's FileDesc Statement
  1339.  
  1340.        SEAL, an excellent echo/file remote management program by Robert
  1341.        Presland, supports file area descriptions.  If you use this utility,
  1342.        FAN will automatically read these descriptions from the ;FileDesc
  1343.        statements found in the TICK configuration file.  These descriptions
  1344.        are accessed using the [fileareadesc] token.
  1345.  
  1346.  
  1347.        FAN Users Manual                                              Page 31
  1348.        ----------------------------------------------------------------------
  1349.  
  1350.        Unresolved (Unresolvable?) Bugs
  1351.  
  1352.        The following bugs have been reported and are unresolved.  If you have
  1353.        any information that would be helpful in determining a solution to the
  1354.        following problem reports, please netmail me at any of the addresses
  1355.        listed at the top of this document.  Any help would be much
  1356.        appreciated!
  1357.  
  1358.        Using FAN with ZMail under DOS
  1359.  
  1360.        One beta tester using ZMail noticed that ZMail would report the error
  1361.        "Short Packet" when processing the mail packets (*.PKT files) created
  1362.        by FAN.  It would appear that this is a warning message only since
  1363.        ZMail then proceeded to process the packet and distribute the mail
  1364.        correctly.
  1365.  
  1366.        I have been unable to determine exactly what ZMail means by "Short
  1367.        Packet".
  1368.  
  1369.        Using FAN with AutoBoot 2.00 and Opus under DOS
  1370.  
  1371.        One beta tester noticed an odd memory corruption problem using FAN
  1372.        with AutoBoot and Opus.  After running FAN he tried to compile his
  1373.        Opus control (*.CTL) files.  The compiler would insert "garbaged"
  1374.        lines after some of his AREA statements.  If he first removed AutoBoot
  1375.        from his AUTOEXEC.BAT and rebooted, then everything worked normally.
  1376.        He could run FAN and the Opus compiler without errors.  Once he
  1377.        installed AutoBoot and ran FAN again, the errors returned.
  1378.  
  1379.        He is running the BBS on a 386 with 2MB RAM and QEMM memory manager.
  1380.  
  1381.  
  1382.        FAN Users Manual                                              Page 32
  1383.        ----------------------------------------------------------------------
  1384.  
  1385.        Future Possible Features/Enhancements
  1386.  
  1387.        + New configuration file keyword:  CatagoryCode
  1388.  
  1389.             Create a new token [catcode] which will expand to the catagory
  1390.             code for a particular file area.  For example:
  1391.  
  1392.             CatagoryCode       FTSC      001
  1393.             CatagoryCode       SDS-BBS   002
  1394.             CatagoryCode       SDSADMIN  003
  1395.             CatagoryCode       SDSBINK   004
  1396.             CatagoryCode       SDSMAX    005
  1397.             CatagoryCode       SDSRBBS   006
  1398.             CatagoryCode       SOFTDIST  007
  1399.  
  1400.             Thus, if a file was being announced from any of those areas,
  1401.             [catcode] would expand to the catagory code associated with
  1402.             appropriate area.
  1403.  
  1404.        + Multiple origin lines
  1405.  
  1406.             Add the ability to define multiple origin lines which can then
  1407.             be specified as an "index" in various announce areas, much as
  1408.             the Months keyword is used.  Thus, origin lines can be in
  1409.             different languages or have different "flavors".  For example,
  1410.             instead of:
  1411.  
  1412.        OriginLine   LiveNet!  Tulsa's OS/2 Warehouse.  918-481-5715
  1413.  
  1414.             you might have several different origin lines:
  1415.  
  1416.        OriginLine 1  LiveNet!  Tulsa's OS/2 Warehouse.  918-481-5715
  1417.        OriginLine 2  LiveNet!  South US ibmNET Host.  918-481-5715
  1418.        OriginLine 3  LiveNet!  An OS/2 dedicated system.  918-481-5715
  1419.  
  1420.             These origin lines can then be referenced in an Announcement
  1421.             Definition using the keyword OriginLineIndex.
  1422.  
  1423.        + Support to scan RA's new FILE database format
  1424.  
  1425.             Currently, FAN only processed *.TIC or FILES.BBS formatted
  1426.             files.  A future enhancement will be to also be able to read
  1427.             RA's 2.xx FILE database format.
  1428.  
  1429.  
  1430.        FAN Users Manual                                              Page 33
  1431.        ----------------------------------------------------------------------
  1432.  
  1433.        Appendix A - Example REXX procedure calling FAN
  1434.  
  1435.        /*------------------------------------------------------------*
  1436.         * TICK.CMD                                                   *
  1437.         *                                                            *
  1438.         * Rexx procedure to process *.TIC files                      *
  1439.         *------------------------------------------------------------*/
  1440.  
  1441.        echo off
  1442.  
  1443.        cls
  1444.  
  1445.        isfile "c:\binkley\inbound\*.tic"
  1446.  
  1447.        if ( rc <= 0 ) then
  1448.            return              /* No *.TIC files received */
  1449.  
  1450.        call bbslog "Tick", "Initiating TICK"
  1451.  
  1452.        /*
  1453.         * Run TICK in "check only" mode so that any bad *.TIC files are
  1454.         * renamed to *.BAD.  These files will then not be erroneously
  1455.         * announced using FAN later.
  1456.         */
  1457.  
  1458.        "c:"
  1459.  
  1460.        cd "\bbs\tick"
  1461.  
  1462.        TICP "/OC >> c:\bbs\logs\tick.log"
  1463.  
  1464.        if rc <> 0 then
  1465.            do
  1466.            call bbslog "Tick", "ERROR ", rc, " returned from TICK /OC"
  1467.            return
  1468.            end
  1469.  
  1470.        /*
  1471.         * Set the archive dates to the "True" archive date.
  1472.         */
  1473.  
  1474.        truedate "c:\binkley\inbound\* /Quiet"
  1475.  
  1476.        /*
  1477.         * Call FAN (File Announcement Utility) to send out announcement
  1478.         * messages.
  1479.         */
  1480.  
  1481.        "c:"
  1482.  
  1483.        cd "\bbs\fan"
  1484.  
  1485.        fan "/tosslog = c:\bbs\fan\fantoss.log"
  1486.  
  1487.        /*
  1488.         * Scan and Toss the newly created messages from FAN
  1489.         */
  1490.  
  1491.  
  1492.        FAN Users Manual                                              Page 34
  1493.        ----------------------------------------------------------------------
  1494.  
  1495.        "c:"
  1496.        cd "\bbs\squish"
  1497.  
  1498.        squish "IN OUT SQUASH -fc:\bbs\fan\fantoss.log"
  1499.  
  1500.        del "c:\bbs\fan\fantoss.log > nul: 2>&1"
  1501.  
  1502.        /*
  1503.         * Now call TICK to do the actual distribution
  1504.         */
  1505.  
  1506.        "c:"
  1507.  
  1508.        cd "\bbs\tick"
  1509.  
  1510.        TICP ">> c:\bbs\logs\tick.log"
  1511.  
  1512.        if rc <> 0 then
  1513.            do
  1514.            call bbslog "Tick", "ERROR ", rc, " returned from TICK"
  1515.            return
  1516.            end
  1517.  
  1518.        /*
  1519.         * Update Maximus's global download file database
  1520.         */
  1521.  
  1522.        "c:"
  1523.        cd "\bbs\max\system"
  1524.  
  1525.        fb
  1526.  
  1527.        call bbslog "Tick", "Completed TICK"
  1528.  
  1529.        exit
  1530.  
  1531.  
  1532.        FAN Users Manual                                              Page 35
  1533.        ----------------------------------------------------------------------
  1534.  
  1535.  
  1536.        Appendix B - Example DOS procedures calling FAN
  1537.  
  1538.             This is an example DOS batch file contributed by
  1539.             Raymond Beriau (1:242/90) meant to execute after your
  1540.             mailer recieves mail.
  1541.  
  1542.        echo Checking to see if there are .TIC files
  1543.        if exist c:\netfile\*.tic goto tick_ok
  1544.        if not exist c:\netfile\*.fle goto exit
  1545.  
  1546.        :tick_ok
  1547.        for %%d in (d: cd\max\tick) do %%d
  1548.        logentry TICK Checking Received Files... >> d:\bink\bink.log
  1549.        tick /ctic.cfg /oc >> d:\max\tickdir\tick.log
  1550.  
  1551.        :fan_fido
  1552.        logentry FAN  Creating File Announcements... >> d:\bink\bink.log
  1553.        fan /Config=fan.cfg /Quiet /TossLogFile=echotoss.log
  1554.  
  1555.        :tick
  1556.        logentry TICK Processing Received Files... >> d:\bink\bink.log
  1557.        tick /ctic.cfg >> d:\max\tickdir\tick.log
  1558.  
  1559.        :squish
  1560.        cd\max
  1561.        logentry TICK SQUISH Processing >> d:\bink\bink.log
  1562.        squish out squash -csquish.cfg -aareas.bbs -fechotoss.log
  1563.        if exist echotoss.log del echotoss.log
  1564.  
  1565.        :update
  1566.        logentry TICK Updating Maximus FileList... >> d:\bink\bink.log
  1567.        fb d:\max\area.dat
  1568.        x_list xlist.ctl
  1569.  
  1570.        :exit
  1571.        quit
  1572.  
  1573.  
  1574.        FAN Users Manual                                              Page 36
  1575.        ----------------------------------------------------------------------
  1576.  
  1577.             Another DOS batch file example executed after your
  1578.             mailer recieves mail.
  1579.  
  1580.        Rem     FAN Processing Following *.Tic File Arrivals
  1581.  
  1582.        :TOSS_IN
  1583.  
  1584.        Rem     Are There *.Tic Files?
  1585.  
  1586.         If Not Exist c:\In\*.Tic GoTo Mail
  1587.  
  1588.        Cd\Files
  1589.  
  1590.        Rem      Cyclical Redundancy Check (CRC) of file integrity, measured
  1591.        Rem      against CRC values listed in accompanying *.Tic files,
  1592.        Rem      renaming *.Tic to *.Bad if CRCs don't match.
  1593.  
  1594.            Tick /cC:\Cfg\Tic.cfg /oc >> D:\Bink\System.Log
  1595.  
  1596.        Rem      FAN Command Line
  1597.  
  1598.            Fan.Exe  /Conf=C:\Cfg\Fan.Cfg /Quiet
  1599.                       /TossLogFile=C:\Bink\EchoToss.Log
  1600.  
  1601.        Rem      TICK File Processing Command Line
  1602.  
  1603.            Tick /cC:\Cfg\Tic.Cfg
  1604.  
  1605.        Rem      Update Maximus FileList Database
  1606.  
  1607.            If NOT Errorlevel 1 Fb.Exe D:\Max\Area.Dat X_list Xlist.Ctl
  1608.  
  1609.        Rem      Turn Off Files.Bbs Archive Bit
  1610.  
  1611.            C:\Dos\Attrib -a D:\New\Files.bbs
  1612.  
  1613.        :MAIL
  1614.        CD\In
  1615.           For %%a In (mo tu we th fr sa su pk) Do If Exist *.%%a* GoTo UNPACK
  1616.  
  1617.        GoTo MAILER
  1618.  
  1619.        :UNPACK
  1620.        Rem      Toss & Link Inbound EchoMail, Net Mail Packing & Routing...
  1621.  
  1622.        Cd\Bink
  1623.  
  1624.        Squish In Squash Link -cc:\Cfg\Squish.Cfg -aC:\Cfg\Areas.Bbs
  1625.                              -fEchoToss.Log
  1626.        If Exist EchoToss.Log Del EchoToss.Log
  1627.  
  1628.        :EXIT
  1629.  
  1630.        GoTo MAILER
  1631.  
  1632.  
  1633.        FAN Users Manual                                              Page 37
  1634.        ----------------------------------------------------------------------
  1635.  
  1636.             A DOS batch file example to detect and announce new BBS
  1637.             uploads at logoff.
  1638.  
  1639.        Rem    The following TARGET and 4DOS command lines represent two
  1640.        Rem    ways to accomplish the same thing: execute a DOS command
  1641.        Rem    only if a check of specified Files.Bbs files reveals an
  1642.        Rem    archive bit turned off (-A). If the archive bit is on (+A),
  1643.        Rem    meaning no uploads recently modified the Files.Bbs, FAN
  1644.        Rem    doesn't waste its time thrashing disk for nothing.
  1645.  
  1646.        C:\Util\Target d:\new\files.bbs -z -c"GoTo FAN"
  1647.  
  1648.        Rem    -=-=-=-=-=-=-=-=-=-
  1649.        Rem    TARGET15.LZH   73907 07-21-92  File Locator & Manipulator.
  1650.                                              Target 1.5 (C) 1992, by McAfee
  1651.        Rem    -=-=-=-=-=-=-=-=-=-
  1652.        Rem    Opps, TARGET came up empty.
  1653.  
  1654.        GoTo MAIL_OUT
  1655.  
  1656.        If %@ATTRIB[d:\new\files.bbs,N] == 1 GoTo MAIL_OUT
  1657.  
  1658.        Rem      -=-=-=-=-=-=-=-=-=-
  1659.        Rem      4DOS401P.ARJ  263649 06-14-92  DOS Command.Com replacement.
  1660.        Rem                                     Program Executables &
  1661.        Rem                                     Support Files. 4DOS v4.01
  1662.        Rem                                     (C) 1988-1992, JP Software Inc.
  1663.  
  1664.        :FAN
  1665.        Rem      -=-=-=-=-=-=-=-=-=-
  1666.        Rem      FAN Command Line
  1667.        Rem      -=-=-=-=-=-=-=-=-=-
  1668.  
  1669.        Fan.Exe  /Conf=C:\Cfg\Fan.Cfg /Quiet
  1670.                   /TossLogFile=C:\Bink\EchoToss.Log
  1671.  
  1672.        Rem      Turn off Files.Bbs Archive Bit
  1673.  
  1674.        C:\Dos\Attrib -a d:\new\files.bbs
  1675.  
  1676.        :MAIL_OUT
  1677.  
  1678.        Squish Out Squash Link -cc:\Cfg\Squish.Cfg -aC:\Cfg\Areas.Bbs
  1679.                               -fEchoToss.Log
  1680.  
  1681.        If Exist EchoToss.Log Del EchoToss.Log
  1682.  
  1683.  
  1684.        FAN Users Manual                                              Page 38
  1685.        ----------------------------------------------------------------------
  1686.  
  1687.        Appendix C - Examples that place BBS caller information in DOS Environment
  1688.        Variables
  1689.  
  1690.        The following example was written with RemoteAccess v1.11 in mind but
  1691.        should work as well for any QuickBbs system or one of its clones.
  1692.  
  1693.        Hitting the [U]pload prompt should execute a (Type 12) questionnaire that
  1694.        looks something like this:
  1695.  
  1696.        ---------------------------| Begin Example |----------------------------
  1697.  
  1698.        ClearScreen
  1699.        ChangeColor 14 0
  1700.        Display "Please describe what you're sending.|"
  1701.        Display "       We haven't a clue.|"
  1702.        Display " Make it as detailed as you like.||"
  1703.        ;
  1704.        ;  Two choices here, each accomplish more or less the same thing:
  1705.        ;
  1706.        MenuCmnd 7 C:\COMMAND.COM /C Echo Set WHOUP=*F *L>C:\Qbbs\WhoUp.Bat
  1707.        ;
  1708.        ;                -   OR   -
  1709.        ;
  1710.        MenuCmnd 7 *SWhoUp.Bat
  1711.        ;
  1712.        ; This command looks in RA's system directory for the file called
  1713.        ; WHOUP.RAT, expands any 'User Parameter Codes' it finds within
  1714.        ; it and creates WHOUP.BAT in the same directory. My WHOUP.RAT
  1715.        ; file contains 'Full UserName', 'User Location' and 'User
  1716.        ; FirstName' codes and looks like this:
  1717.        ;
  1718.        ; Set whoup=A
  1719.        ; Set loc=B
  1720.        ; Set fn=W
  1721.        ;
  1722.        MenuCmnd 33 D:\New\ /L
  1723.        ;
  1724.        ; The '/L' upload switch above enables long descriptions.
  1725.        ;
  1726.        Quit
  1727.  
  1728.        ----------------------------| End Example |-----------------------------
  1729.  
  1730.        The following commands are executed at BBS logoff:
  1731.  
  1732.        ---------------------------| Begin Example |----------------------------
  1733.  
  1734.        If Exist C:\Qbbs\WhoUp.Bat For %%a In (Call Del) Do %%a C:\Qbbs\WhoUp.Bat
  1735.        Target D:\New\Files.Bbs -z -c"C:\Bink\FAN.Exe /Conf = C:\Cfg\Fan.Cfg"
  1736.        For %%a In (FN LOC WHOUP) Do Set %%a=
  1737.  
  1738.        ----------------------------| End Example |-----------------------------
  1739.  
  1740.        -------------------------| File: PRELOCAL.FAN |-------------------------
  1741.        This just in from %eLOC . . .
  1742.  
  1743.        ------------------------------| End File |------------------------------
  1744.  
  1745.  
  1746.        FAN Users Manual                                              Page 39
  1747.        ----------------------------------------------------------------------
  1748.  
  1749.        -------------------------| File: SUFLOCAL.FAN |-------------------------
  1750.        Total Kilobytes: %QKb
  1751.  
  1752.        (Thanks, %eFN!)
  1753.  
  1754.        ------------------------------| End File |------------------------------
  1755.  
  1756.        ---------------------------| File: FAN.CFG |----------------------------
  1757.  
  1758.        ;
  1759.        ; NetMail announcement area
  1760.        ; -------------------------
  1761.  
  1762.        MsgAreaName     NETMAIL
  1763.  
  1764.        AddressFrom     1:323/109
  1765.        AddressTo       1:323/108
  1766.        From            %eWHOUP
  1767.        To              His Dudeness
  1768.        Subj            Cosmic Debris Landed On The Mudflat
  1769.        Attributes      LPK
  1770.  
  1771.        Announce        MUDFLAT SHESAW Local_Uploads
  1772.  
  1773.        ;
  1774.        ;
  1775.        ; Local Upload announcement area
  1776.        ; ------------------------------
  1777.  
  1778.        MsgAreaName      ARRIVALS
  1779.  
  1780.        PrefixTemplate   C:\Cfg\PreLocal.Fan
  1781.        SuffixTemplate   C:\Cfg\SufLocal.Fan
  1782.        Announce         Local_Uploads
  1783.        From             %eWHOUP
  1784.        To               %eWHOUP
  1785.        Subj             Something I just uploaded...
  1786.  
  1787.        ;
  1788.        ------------------------------| End File |------------------------------
  1789.  
  1790.        Date:   Fri Feb 15 1993  15:42:00
  1791.        From:   Joe Blow
  1792.        To:     Joe Blow
  1793.        Subj:   Something I just uploaded...
  1794.        Attr:
  1795.        New File Arrivals              -------------------------------
  1796.  
  1797.        This just in from Pothole, R.I. . . .
  1798.  
  1799.        TEST            31 05-Feb-93 This is a test. Had it been an actual alert,
  1800.                                     you'd have been notified where to tune in
  1801.                                     your area...
  1802.  
  1803.        Total Kilobytes: 0.0Kb
  1804.  
  1805.        (Thanks, Joe!)
  1806.  
  1807.  
  1808.        FAN Users Manual                                              Page 40
  1809.        ----------------------------------------------------------------------
  1810.  
  1811.  
  1812.        --- FAN 1.63 beta
  1813.         * Origin: MudFlat File Distribution - Looking for a file? Ask! (1:323/109)