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