home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / SNEWS191.ZIP / SNEWS.DOC < prev    next >
Encoding:
Text File  |  1993-08-25  |  36.1 KB  |  815 lines

  1.  
  2.                             Simple NEWS 1.91
  3.                             ================
  4.                              August 25, 1993
  5.  
  6.                              by John McCombs
  7.  
  8.                   Modified by Michael Studte, John Dennis,
  9.                     Kai Uwe Rommel and Daniel Fandrich
  10.  
  11.  
  12. INTRODUCTION
  13. ============
  14.  
  15.     'Simple NEWS' is an news add-on for UUPC.  It is designed to handle
  16.     Usenet news as a leaf node, and offers:
  17.  
  18.       - Threaded news reading.  This allows you to be much more
  19.         selective about what you read, enabling you to cover many more
  20.         newsgroups.
  21.  
  22.       - When a cross-posted article is read, the news-reader
  23.         marks all the other instances of the article as read, too.
  24.  
  25.       - Separate rc files are kept for each user which record the individual
  26.         articles that you have seen.  This is in contrast to some readers
  27.         which simply record the highest article number read.
  28.  
  29.       - Usual range of response facilities: follow-up news, reply by mail,
  30.         forward by mail, save article/thread to disk.
  31.  
  32.       - The extract function (key "w") saves articles to a user-specified
  33.         file in the UUPC mailbox format (with a header of 20 hex 01's).
  34.         Thus, extracted news articles can be read with the mail program
  35.         later, at the user's convenience.
  36.  
  37.       - Built-in support for ISO 8859/1/2/3/4/9 character sets (RFC 1341
  38.         and RFC 1342) and a single key interface to the metamail MIME
  39.         decoder (or other user-specified program).
  40.  
  41.       - Article storage in two files per newsgroup, rather than one file per
  42.         article.  This results in an enormous saving (up to 3:1) in disk
  43.         space on disks with a default cluster size of 4 KB per cluster.
  44.  
  45.       - Processing of batched compressed or uncompressed news.  Control
  46.         messages are not processed.
  47.  
  48.       - Duplicate cross-posted articles are killed during the unbatch stage.
  49.  
  50.       - Post articles are unbatched and uncompressed.  You can only post
  51.         to your 'mailserv' -- you cannot feed another site.  Posting can
  52.         only be done from within the news reader SNews.
  53.  
  54.       - 'Received date' oriented expire to maintain the news database.
  55.  
  56.       - Works with UUPC/extended 1.11n or greater.
  57.  
  58.     I looked at porting Tass and wnews, but in the end decided they were
  59.     far more effort than it was worth, as these news systems were more
  60.     complicated than was necessary for a single user (at a time) DOS
  61.     implementation, especially when the PC is likely to be a leaf node.
  62.  
  63.     Generally, the algorithms used are simple, but the speed is adequate
  64.     for a feed for several users expiring after 5-10 days.  The main
  65.     bottleneck occurs during the 'expire' operation, which must rewrite
  66.     the entire news database.
  67.  
  68.     'Simple NEWS' was built rather quickly (and it shows in places :-) to
  69.     suit my own needs.  I'm distributing it in the hope you might find it
  70.     useful. [jm]
  71.  
  72.     [Posting is a bit of a kludge.  The D... and X... files are created,
  73.     then queued using the UUCP program.  If you look in the source code
  74.     you will see this is all a bit dodgy.  I should sort this out some
  75.     time.  I've tested it by posting to a Waffle system which isn't all
  76.     that fussy, and by posting to a CNEWS/Unix SYSV system, which is
  77.     rather particular].
  78.  
  79.  
  80.   System Requirements
  81.   -------------------
  82.  
  83.     - A minimum of PC-XT with 120k free RAM running under MS-DOS 2.0 or
  84.       newer (has been tested on versions 3.3 and newer).  The unbatch
  85.       program requires much more free RAM if it invokes uncompress on the
  86.       received batches (i.e. not UUPC/extended ver. 1.11x).  If you use a
  87.       lot of TSR's, you could get around this by having your feed use 12 bit
  88.       compression instead of the default 16 bit.
  89.  
  90.     - 200k disk space for the program files plus several megabytes for the
  91.       newsbase, depending on size of the feed.
  92.  
  93.     - You must have installed UUPC/extended and the optional program, UUCP
  94.       in particular.  UUPC/extended version 1.11n and on should work.  You
  95.       do not need any UUPC sources to build Simple NEWS.
  96.  
  97.     The SNews newsreader can be used by multiple users to read news on a
  98.     network if the following conditions are met: TempDir is different for
  99.     each computer, articles are not posted simultaneously to the same
  100.     group by more than one user, and the newsbase manipulation commands
  101.     unbatch.exe, expire.exe and rmgroup.exe are only run when no other
  102.     programs are using the newsbase.
  103.  
  104.     The sources have been compiled with Borland's TC ver. 2.0 and BC++.
  105.     Porting to other MS-DOS ANSI C compilers should be relatively easy.
  106.     [Known non-ANSI functions include Borland's console I/O routines, and
  107.     the intdos() function].
  108.  
  109.     Support for OS/2 has been added to this version of SNews on an
  110.     experimental basis.  Although it appears to be stable, it has not yet
  111.     been as thoroughly tested as the MS-DOS version, so please report any
  112.     problems you have to the author.
  113.  
  114.  
  115.   Introduction to Version 1.91
  116.   ----------------------------
  117.  
  118.     This is an updated version of SNews version 1.90 for MS-DOS.  Two
  119.     derivatives of older versions of SNews are available: for OS/2 (SNews/2
  120.     ver. 2.0), and for running under KA9Q NOS (SNews ver. 1.21).  The OS/2
  121.     version is a "bound" executable and should work under MS-DOS as well.
  122.  
  123.     Please see the section at the end of this file "MAJOR CHANGES TO SNEWS
  124.     1.91" for specific information that differs from previous versions of
  125.     SNews.
  126.  
  127.  
  128.   Support
  129.   -------
  130.  
  131.     I don't want to be *deluged* with complaints, bug reports, or
  132.     suggestions for improvements.  I can think of enough of these for
  133.     myself, :-).  And no whining about the dodgy processing of the headers.
  134.     This will be fixed sometime.
  135.  
  136.     If you have a problem, please try hard to solve it before you contact
  137.     me.  If you find a bug let me know.  Unless a bug absolutely cripples
  138.     you, you'll have to wait for the next release.  This policy arises
  139.     largely out of the fact that email costs me $$$. [jm]
  140.  
  141.     When contacting the author(s) with a problem, contact the last author
  142.     mentioned for whichever version of SNews you are using.  The original
  143.     author cannot be responsible for changes made by a third party (and,
  144.     according to the license, cannot be held responsible for an unchanged
  145.     version, either). [df]
  146.  
  147.  
  148. CAVEATS AND COPYRIGHT
  149. =====================
  150.  
  151.     Version 1.12 of this software is copyright (1991) by John McCombs,
  152.                  Christchurch, New Zealand  <john@ahuriri.gen.nz>
  153.  
  154.     Version 1.90 is copyright 1992 by Michael Studte/John Dennis (Shinohara
  155.                  Industries)
  156.  
  157.     Version 1.91 is copyright 1993 by Daniel Fandrich <dan@fch.wimsey.bc.ca>
  158.                  or <72365.306@compuserve.com> (some portions are copyright
  159.                  1992 by Kai Uwe Rommel <rommel@jonas.bofe.sub.org> or
  160.                  <rommel@informatik.tu-muenchen.de>, and copyright 1985,
  161.                  1989 by Bill Davidsen)
  162.  
  163.     This package is free software, but NOT public domain; you can
  164.     redistribute it and/or modify it under the terms of the GNU
  165.     General Public License, version 1, as published by the Free Software
  166.     Foundation.
  167.  
  168.     This program is distributed in the hope that it will be useful,
  169.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  170.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  171.     GNU General Public License for more details.
  172.  
  173.     See the file COPYING, which contains a copy of the GNU General
  174.     Public License.
  175.  
  176.     The compress program and documentation included with the SNews
  177.     distribution were not written by the SNews authors and are not a formal
  178.     part of SNews.  The are part of the public domain compress ported by
  179.     Donald J. Gloistein.
  180.  
  181.  
  182. ACKNOWLEDGMENTS
  183. ===============
  184.  
  185.     I'd like to thank Steve Kohlenberger, of PreSoft Architects, for
  186.     making suggestions and doing some testing for me. [jm]
  187.  
  188.   Version 1.90 Acknowledgements
  189.   -----------------------------
  190.  
  191.     First of all, thanks to John McCombs for allowing us to modify his
  192.     code. A great little program that we hope to make just a touch
  193.     better.
  194.     To all people who made suggestions and bug reports up to this
  195.     point, you guys are too numerous to mention. Thanks one and all. [ms/jd]
  196.  
  197.   Version 1.91 Acknowledgements
  198.   -----------------------------
  199.  
  200.     Thanks to Kai Uwe Rommel for his SNews/2 bug fixes, to Thomas
  201.     Oeser and Kosta Kostis for their ISO 8859/X character maps, to
  202.     W. John Guineau for beta-testing this version under Windows, to Eric
  203.     Trepanier for the OS/2 modifications, and to Mike McLagan and the
  204.     snews-dev-l mailing list folks for suggestions and feedback. [df]
  205.  
  206.  
  207. INSTALLATION
  208. ============
  209.  
  210.     1.  First get UUPC/extended going and delivering news batches into the
  211.         'incoming' directory.  The name of this directory is set in the
  212.         UUPC.RC file using the 'NewsDir' variable.  The incoming directory
  213.         *must* be reserved solely for this purpose, and it must have
  214.         no files in it other than the news batches that 'uuxqt' will
  215.         create there.
  216.  
  217.         SNews requires that your UUPC.RC or PERSONAL.RC files contain the
  218.         following items (see the FILES AND DIRECTORIES section below for
  219.         information on setting them): MailServ, NodeName, Domain, NewsDir,
  220.         MailBox, Name, Home.
  221.  
  222.     2.  Put "set UUPCNEWS=c:\uucp\news" in your autoexec.bat.  This is
  223.         the 'root' directory for your news system.  The news control files
  224.         are placed here and the news database is a subdirectory
  225.         of this directory.  UUPCNEWS must be *different* from the 'NewsDir'
  226.         specified in the UUPC.RC file.
  227.  
  228.     3.  Create the SNEWS.RC file in your home directory (the one
  229.         where PERSONAL.RC is located).  This can be easily
  230.         done by copying the file PERSONAL.RC to SNEWS.RC or by
  231.         manually creating one.
  232.  
  233.         SNEWS.RC has been separately created to accommodate the new
  234.         variables that can be set for SNews, and should be pointed to by the
  235.         SNEWSRC environment variable.  It is possible to use your
  236.         PERSONAL.RC file instead, pointed to by UUPCUSRRC as per the UUPC
  237.         standard, but UUPC will complain about the presence of any of SNews'
  238.         extended variables (marked + in the list below) (although it will
  239.         work correctly).
  240.  
  241.         A sample SNEWS.RC file is included. (See it for more
  242.         documentation on how to customise SNews.)
  243.  
  244.     4.  Create the 'active' file in this directory, using 'addgroup'.
  245.         For example:
  246.  
  247.             addgroup alt.sources comp.sys.ibm.pc -m comp.risks
  248.  
  249.         This initializes three groups in your newsbase.
  250.  
  251.         ADDGROUP could be run from a batch file so that you can easily
  252.         re-initialise the news system, should the need ever arise.
  253.         An example 'active.bat' file is included.
  254.  
  255.     5.  Put the .exe files into a directory in the DOS PATH.  The
  256.         compress.exe program is not a formal part of SNews, and can be
  257.         replaced by any Unix-compatible uncompress program.
  258.  
  259.         The OS/2 version also requires the file C2.DLL, which should be put
  260.         into the directory specified by the LIBPATH environment variable.
  261.  
  262.     6.  Call your host and get some news.  Copy some of these batches into
  263.         another directory so that you can use them again for testing
  264.         purposes.
  265.  
  266.         Run 'unbatch'.  This is where most problems occur.  Check the
  267.         following:
  268.  
  269.            - That your news disk is not full.
  270.  
  271.            - That the 'TempDir' directory specified in the UUPC.RC
  272.              file exists.  Check that there is also room on this drive; to
  273.              uncompress large batches, you could need up to 1 MB free space.
  274.  
  275.            - Before the unbatch there should be some files with names
  276.              like '290f8f99.001'.  These are the news batches.
  277.  
  278.            - Dump the first part of one of these batches.  The file
  279.              should start with '#! cunbatch'.  If it doesn't, check that
  280.              your host is sending compressed, batched news to you.
  281.  
  282.            - Run 'unbatch -n'.  The -n switch tells unbatch to feed the
  283.              first batch to compress and then stop.  If you look in TempDir
  284.              you should see the file '$unbatch', which is the uncompressed
  285.              version of the first news batch.
  286.  
  287.              If the uncompress fails, check that you are using the
  288.              compress.exe supplied with Simple NEWS.  If you have another
  289.              compress.exe, make sure the SNews one is first on the DOS
  290.              PATH.
  291.  
  292.              Compress is run with the command line 'compress -d $unbatch.z',
  293.              and it must *not* convert Unix type linefeeds to DOS style
  294.              cr/lf.
  295.  
  296.              Look in '$unbatch' with an editor.  You should see news
  297.              articles separated by the string '#rnews <number>'.
  298.  
  299.     7.  Modify UUIO.BAT putting "unbatch" after the last line of the
  300.         file.
  301.  
  302.     Once you have done this, you should have your batches processed
  303.     automatically after transfer.  Use SNews to read your news, and
  304.     run expire once in a while to deleted the old stuff.  You could
  305.     stick the expire in your autoexec file.
  306.  
  307.  
  308. FILES AND DIRECTORIES
  309. =====================
  310.  
  311.   Executable Directory
  312.   --------------------
  313.  
  314.       SNews' program files can be placed in any directory that is included
  315.       in the PATH statement.  Normally, they are put into the same directory
  316.       as the UUPC/extended programs.  Programs which are part of SNews are
  317.       unbatch.exe, snews.exe, expire.exe, addgroup.exe and rmgroup.exe.
  318.       compress.exe is also required, but is not a formal part of SNews.
  319.  
  320.   News Directory
  321.   --------------
  322.  
  323.       This is the top level directory for Simple NEWS where the news control
  324.       files are kept, and the parent of the newsbase directory.  This
  325.       directory is defined by the environment variable UUPCNEWS.
  326.  
  327.     HISTORY - The history file contains a list of the message-id's of all
  328.       the cross-posted articles in the database.  It is used by the
  329.       news-reader to find all the instances of a cross-posted article,
  330.       and by unbatch to kill duplicate cross-posted articles.  The file
  331.       fields are message-id, received date in seconds (Unix date), and the
  332.       newsgroup name & article number for each instance of the article.
  333.       The history entries are added by 'unbatch' and deleted by 'expire'.
  334.       The history file is located in the news base directory.
  335.  
  336.     ACTIVE - The active file contains a list of the newsgroups we expect to
  337.      get.  All incoming articles to newsgroups not defined in the active file
  338.      are posted to junk. You should use 'addgroup' and 'rmgroup' to maintain
  339.      the active file to guarantee the validity of the newsbase -- using an
  340.      editor on the active file risks destroying your news structure.
  341.  
  342.      Each entry in the active file has form of
  343.                "alt.sources 87297268 00000000 00000000 y".
  344.      The first number is the filename of the file where the articles are
  345.      stored.  The next two numbers are the lowest article number
  346.      (minus 1) and the highest article number, respectively.
  347.      The three numbers MUST be EXACTLY 8 digits long with EXACTLY one space
  348.      between them.  The last field is the posting status of the group.
  349.      If you can post to the group, it is y; if not, n.  If the group is
  350.      moderated, it is m (and is currently treated as n by SNews).
  351.      The active file is located in the news base directory.
  352.  
  353.     POST.LOG - This file, which is in the news base directory, is a log
  354.       of all postings.  You can read this file with 'mail' using the
  355.       -f option.
  356.       The posting log file is located in the news base directory.
  357.  
  358.   Incoming News Batch Directory
  359.   -----------------------------
  360.  
  361.       Newsbatches are placed by UUPC's rnews program into the directory
  362.       defined by the 'NewsDir' UUPC.RC variable.  Unbatch processes the
  363.       batches from this directory, and deletes them when done.  The
  364.       incoming directory is often a subdirectory of the news directory.
  365.  
  366.   News Base Directory
  367.   -------------------
  368.  
  369.       This directory is always called NEWSBASE and is located off the news
  370.       directory.  It contains the files containing the actual articles and
  371.       their corresponding index files.
  372.  
  373.     ARTICLES - There is one text file and one index file for each newsgroup.
  374.       The name of the text file is found in the second field of the
  375.       corresponding entry in the active file.  For example, if the news
  376.       base directory is d:\uucp\news then articles in comp.sys.ibm.pc might
  377.       be in a file called:
  378.  
  379.         d:\uucp\news\newsbase\87297243
  380.  
  381.       and the index file will be:
  382.  
  383.         d:\uucp\news\newsbase\87297243.IDX
  384.  
  385.       Don't change these files by hand - use 'expire' to do the deletion
  386.       to keep the active file in sync.  Use 'addgroup' to create them
  387.       and 'rmgroup' to remove them.
  388.  
  389.     INDEX FILES - Each newsgroup has an index file which has information
  390.       about the articles in that newsgroup.  The format is
  391.  
  392.           00000000 00000001 687297893  Re: senior (humph!)
  393.           00001927 00000002 687297893  need rx02 controller.
  394.           00002801 00000003 687297893  Re: senior (humph!)
  395.           00003707 00000004 687297893  Another dumb luser story
  396.  
  397.       The first field is the offset of the article in the text file. The
  398.       second field is the article number.  The third field is the date/time
  399.       that the article was added to the database (in Unix format), and the
  400.       fourth field is the article subject.  This latter field is used by
  401.       the newsreader to build the threads.
  402.  
  403.   User Home Directory
  404.   -------------------
  405.  
  406.       This directory contains files which can be different for different
  407.       users.  It is specified by the 'Home' variable in the SNEWS.RC or
  408.       PERSONAL.RC file, which in turn is specified with the SNEWSRC or
  409.       UUPCUSRRC environment variable.
  410.  
  411.     SNEWS.NRC - This file has a list of the articles which a user has
  412.       seen.  Each user has his own SNEWS.NRC file which is located in the
  413.       user's home directory.
  414.  
  415.       The nrc files are created and maintained automatically by the news
  416.       reader and should not be edited by hand.  If one becomes corrupted,
  417.       just delete it.
  418.  
  419.     ALIASES - To keep track of users you mail often, you can give them
  420.       nicknames which are expanded to their full email addresses.  These
  421.       aliases are located in the file specified by the 'Aliases=', which
  422.       specifies one alias per line.  For example:
  423.  
  424.           joe     "Joe Blo" <joseph@mcmurdo.aq>
  425.  
  426.       Mail or articles forwarded to the user "joe" would actually be sent to
  427.       joseph@mcmurdo.aq.
  428.  
  429.     SIGNATURE - Each article you write can have a few lines of identifying
  430.       information appended -- the signature (or .signature) file.  It is
  431.       specified by the 'Signature=' configuration variable.
  432.  
  433.  
  434.     UUPC.RC, PERSONAL.RC - These file contain the information specific to
  435.       your SNews setup, and are also required for UUPC/extended.  All the
  436.       variables required by SNews are normally specified as part of the
  437.       UUPC/extended installation, and need not be changed for SNews (see
  438.       the UUPC/extended documentation to set up these variables for UUPC's
  439.       use).
  440.  
  441.       The required variables in the UUPC.RC file are:
  442.                 MailServ=bighost     - uucp name of your news feed host
  443.  
  444.                 NodeName=mymachine   - your local uucp name
  445.  
  446.                 Domain=mymachine.bighost.com  - your local domain name
  447.  
  448.                 NewsDir=c:\uucp\news\incoming  - where batches of news are
  449.                    deposited by 'uuxqt' (where 'unbatch' looks for work)
  450.  
  451.         The required variables in the PERSONAL.RC file are:
  452.  
  453.                 Mailbox=joe     - Your "account name" (your mailbox name)
  454.  
  455.                 Name=Joe Bloggs - Your "real" name
  456.  
  457.                 Home=d:/usr/joe - Personal "home" directory
  458.  
  459.       Optional variables are:
  460.  
  461.                 TempDir=c:/temp/  - Directory to place temporary files
  462.                    If not found, TempDir is set to the environment variable
  463.                    TEMP or TMP, and defaults to the current directory.
  464.  
  465.                 Signature=sig - Signature file (in home directory)
  466.  
  467.                 Aliases=d:/uupc/aliases.txt - full path to alias file,
  468.                    which is a UUPC mail style alias file.
  469.  
  470.                 Organization=This here Company Ltd.  - Your company or
  471.                    organization's name to appear in posted articles.
  472.  
  473.                 Replyto=whoami@this.system - A Reply-To address
  474.                    that will be included in posted article headers.
  475.  
  476.                 Editor=q %s  - Editor to be used for entering articles.
  477.                    %s is replaced by the file name to edit.  If not found,
  478.                    Editor is set to the environment variable EDITOR, and
  479.                    defaults to edit %s
  480.  
  481.                 Uncompress=uncompress %s  - Program to use to decompress a
  482.                    compressed news batch.  %s is replaced by the file name to
  483.                    uncompress.  This variable defaults to compress -d %s
  484.  
  485.              +  HotPipe=metamail %s  - Program to run when F4 is pressed.
  486.                    The %s parameter, if present, is changed to the temporary
  487.                    file name containing the current article.  If no %s is
  488.                    present, the article is piped into the program's standard
  489.                    input.  Normally used to decode MIME articles by piping
  490.                    them through metamail, this could also be used to
  491.                    uudecode articles (uudecode -i), print articles (cat
  492.                    >prn) or many other uses.  This variable defaults to
  493.                    metamail %s
  494.  
  495.              +  Extract=~/extract.mbo  - File in which to place articles
  496.                    extracted with 'w' command.  Articles are saved in mailbox
  497.                    format for reading with mail -f extract.mbo.  This variable
  498.                    defaults to extract.nws in the current directory.
  499.  
  500.         The following colour variables define the look of your system, and
  501.         allow people on monochrome systems to define the screen output
  502.         differently from colour-screen users.
  503.  
  504.              +  colorhelpf=<col>  - Help screen foreground
  505.              +  colorhelpb=<col>  - Help screen background
  506.              +  colortextf=<col>  - Text window foreground
  507.              +  colortextb=<col>  - Text window background
  508.              +  colorheadb=<col>  - Screen header background
  509.              +  colorheadf=<col>  - Screen header foreground
  510.              +  colormsgb=<col>   - Message line (bottom) background
  511.              +  colormsgf=<col>   - Message line foreground
  512.  
  513.         <col> can be of the following colours:
  514.  
  515.             whi  - grey             note: the shortened names do not have
  516.             bla  - black                  to be used - only the first 3
  517.             blu  - blue                   letters of the colour are
  518.             gre  - green                  significant
  519.             red  - red
  520.             mag  - magenta
  521.             cya  - cyan
  522.             yel  - yellow
  523.  
  524.           add "+" to the end of these and you will get the high intensity
  525.           version of the same colour.  e.g.  whi+  = white  cya+ = light cyan
  526.           and so on.  Fiddle round with it till you get the colours you want.
  527.  
  528.  
  529. SNEWS - NEWS READER
  530. ===================
  531.  
  532.     SNews is a threaded news reader, somewhat reminiscent of Tass.  The
  533.     display has three levels: choose a newsgroup, choose a thread, and
  534.     read an article.  At each level, the Home/End/PgUp/PgDn/UpArr/DnArr
  535.     can be used to move around.  ENTER selects whatever you are
  536.     pointing at, and TAB moves you to the next unread group/article.
  537.     To read the all of a thread (read and unread) keep hitting ENTER.
  538.     ESCAPE takes you back a level.
  539.  
  540.     'h' or F1 invokes a help screen,  'c' marks all articles in a group as
  541.     read.  'p' posts an article from any level.  '!' starts a command-line
  542.     shell to let you execute DOS commands (type EXIT to return to SNews).
  543.     F2 displays the values set via the SNEWS.RC file.  'x' toggles a rot13
  544.     conversion of the article.  PgUp from the start of the article will
  545.     display all the headers.  Holding the control key down while pressing
  546.     the left or right arrows skips 9 articles and places you on the 10th
  547.     article.
  548.  
  549.     The '/' key starts a case-insensitive text search from the current cursor
  550.     position to the end of data.  From the group or thread selection levels,
  551.     the group or thread name only is searched.  From the article display
  552.     level, the article body text is searched.  A search which finds no
  553.     matches places the cursor at the end of available data.
  554.  
  555.     [Several keys used in the trn newsreader work to shadow SNews' own
  556.     commands.  This makes switching to SNews from trn/rn somewhat easier.
  557.     Note that these keys must be considered undocumented, and may change in
  558.     future versions!]
  559.  
  560.     If an article has a MIME Content-Type header line, SNews will look for a
  561.     charset= parameter and display the article with that character set,
  562.     if supported.  Currently, those include US-ASCII, ISO-8859-1 through
  563.     ISO-8859-4, ISO-8859-9, and X-IBM-CP-437; the current character set can
  564.     be changed to the next in the series by pressing 'F3'.  From: and
  565.     Subject: header lines conforming to RFC-1342 will also be displayed with
  566.     the defined character set (if supported).
  567.  
  568.     The characters displayed will match the desired character as closely as
  569.     possible using the glyphs available in the current code page.  Code pages
  570.     supported are 437 (standard IBM PC) and 850 (Multilingual/Latin I) -- press
  571.     'F2' to see the current code page and character set.  If a symbol is not
  572.     defined in the current code page, the closest appropriate one will be
  573.     substituted.  If no symbols are appropriate in context, a question mark
  574.     '?' is displayed instead.
  575.  
  576.     Only Content-Type text/plain with Content-Transfer-Encoding type 7bit or
  577.     8bit are currently supported.  Other MIME types can be decoded by pressing
  578.     the 'F4' key to invoke metamail or whichever program has been set up by
  579.     the HotPipe config variable.
  580.  
  581.     SNews maintains a list in the user's .nrc file of which articles have
  582.     been seen.  This file is called SNEWS.NRC and is located in the user's
  583.     home directory.
  584.  
  585.     In the group and thread levels, the number of unread articles, if any,
  586.     is displayed, followed by the total number of articles, in brackets,
  587.     for each group/thread.
  588.  
  589.     The threads are constructed in the order that the articles were unbatched
  590.     which is usually pretty close to the chronological order.
  591.  
  592.     SNews allows stepping forward and backward through articles with the
  593.     arrow keys.  The right arrow key will take you to the next article in
  594.     the current thread, while the left arrow takes you to the previous
  595.     article.
  596.  
  597.     When you read a cross-posted article, all the other instances of that
  598.     article in the other newsgroups are also marked as read.  This saves
  599.     you having to sort out which articles you have previously seen.  If
  600.     you use 'c' to mark all the articles in a group as read, the instances
  601.     of cross-posted articles in other groups are *not* marked.
  602.  
  603.     Free memory is shown in [] at the top of each page.  Since each article
  604.     must be read into memory before it can be displayed, this figure give a
  605.     rough indication of the longest article that can be read.  Allow 100k
  606.     per 1 000 article lines.
  607.  
  608.  
  609.   Posting
  610.   -------
  611.  
  612.     You can only post to newsgroups with a 'y' in the posting status column
  613.     of the active file, which is set using the addgroup program.  This is a
  614.     suitable way to prevent posts to a moderated group (to which articles must
  615.     be mailed instead of posted).  When following up an article, SNews will
  616.     eliminate cross-posted groups and will send the article in the current
  617.     group only.  Cross-posted group names entered manually must all exist in
  618.     the active file, and must have posting permission set to 'y'.
  619.  
  620.     Your signature file (if specified) is added to the end of your article
  621.     before the editor is started.  Replying to an article (via mail) does not
  622.     append the signature, as uupc's mail command will add it (if the autosig
  623.     option is set).
  624.  
  625.     MIME headers are not added to articles sent.  Adding or changing article
  626.     headers is not currently possible.
  627.  
  628.     A copy of each post is saved in a file called 'post.log' in the news base
  629.     directory.  This file may be perused using mail, with a command like
  630.  
  631.         mail -f \uucp\news\post.log
  632.  
  633.     When reading an article, 'r' and 'f' allow a mail reply and a news
  634.     follow-up of the current article, respectively.  You are given the
  635.     option of quoting the article.  A limitation causes unreliable results
  636.     when the mailed message Subject: contains a double quote (").
  637.  
  638.  
  639. UNBATCH
  640. =======
  641.  
  642.     Just run it.  It looks for work in the UUPC.RC NewsDir directory,
  643.     and tosses the articles into the files defined in the active file.
  644.     News batches are removed as they are successfully processed.
  645.  
  646.     The "-n" option causes the program to halt after uncompressing the
  647.     first batch, without unbatching it.  The uncompressed file remains in
  648.     the temp directory.  This switch is helpful in tracing unpacking problems.
  649.  
  650.     The "-x n" option sets the debug level to n (between 0 and 2).  Higher
  651.     numbers display more information about the unbatching process.
  652.  
  653.     COMPRESS.EXE must be on the PATH unless the Uncompress= variable is set
  654.     in the config file.  Unbatch requires around 500k of free memory for the
  655.     uncompress of 16 bit news batches.
  656.  
  657.     If Ctrl-Break is pressed while unbatch is running, execution is halted
  658.     at the end of the current batch (which, depending on its size, could be
  659.     a while).
  660.  
  661.  
  662. EXPIRE
  663. ======
  664.  
  665.     Expire takes at least two arguments: the number of days preceded by a
  666.     dash, and the groups to expire.  For instance:
  667.  
  668.         expire -5 rec.* *.sources.*
  669.  
  670.     will delete articles 5 days or older from all rec and sources groups in the
  671.     news base.  The group names are matched based on *nix 'sh' pattern
  672.     matching rules, which include ? to match one character, * to match as
  673.     many characters as necessary, and [] to match any one of the characters
  674.     between the brackets.  If no newsgroup name is given, all newsgroups in
  675.     the active file will be expired.
  676.  
  677.     An alternate form of the expire command is shown in this example:
  678.  
  679.         expire -e 5 -n rec.* *.sources.*
  680.  
  681.     This form is similar to that used by the expire included with
  682.     UUPC/extended's news support.  The -e specifies the number of days before
  683.     which articles will be expired, and the -n indicates a newsgroup name
  684.     follows.
  685.  
  686.     Expire will not run without correctly-formatted command-line arguments,
  687.     to avoid accidentally expiring your newsbase.  Be sure to specify a
  688.     group name, though, or expire will affect every group.
  689.  
  690.     Expire will give you a summary of the number of articles and size
  691.     of the remaining news database, and of the articles deleted.
  692.  
  693.  
  694. ADDGROUP
  695. ========
  696.  
  697.     The 'addgroup' utility is used to create or add groups to the active
  698.     file.  For example:
  699.  
  700.         addgroup alt.sources comp.sys.ibm.pc -m comp.risks
  701.  
  702.     will add three groups, creating an new active file if none exists.
  703.     The newsgroup files in the 'newsbase' directory are also created.
  704.  
  705.     The first two groups (alt.sources and comp.sys.ibm.pc.misc) are
  706.     unmoderated groups.  The last (comp.risks) is a moderated group, specified
  707.     by -m before the name.  Other switches include -y (the default) for a
  708.     normal, unmoderated which you are allowed to post to, and -n for a group
  709.     to which you are not allowed to post.
  710.  
  711.     Local groups (those to which articles are not forwarded to the host) can
  712.     be specified using the -l switch.  The default is -r (remote).
  713.  
  714.     A switch applies to all groups following it, until another switch is
  715.     encountered which specifies a new value.
  716.  
  717.  
  718. RMGROUP
  719. =======
  720.  
  721.     To remove a newsgroup, simply run rmgroup, followed by the newsgroup
  722.     names.  For example:
  723.  
  724.         rmgroup alt.sources comp.sys.ibm.pc.misc comp.sys.ibm.pc
  725.  
  726.     This will remove the files and delete the entry from the active file.
  727.  
  728.  
  729.  
  730. COMPRESS
  731. ========
  732.  
  733.     Since a news feed is normally compressed before transmission to save
  734.     downloading time, a Unix-compatible uncompress program is required to
  735.     uncompress each batch.  The -d switch causes compress.exe to uncompress
  736.     a file, and is used by default in unbatch to uncompress news.  The
  737.     program used to uncompress can be changed using the Uncompress= variable
  738.     in one of the config files.
  739.  
  740.     The compress program and its documentation (compress.exe and
  741.     compress.doc) included with the SNews distribution are not a formal
  742.     part of SNews.  They are included since they are inevitably needed,
  743.     and constitute a nice, public domain version of Unix compress.  If you
  744.     are interested in the workings of compress, see the documentation file
  745.     compress.doc.
  746.  
  747.  
  748. HELP!
  749. =====
  750.  
  751.     Here are some hints to keep in mind if a problem occurs:
  752.  
  753.     You should not edit/delete the active file or the news database files
  754.     by hand.  Use only addgroup/rmgroup/unbatch/expire for these tasks.
  755.  
  756.     The history and *.nrc files should not be edited by hand, but
  757.     deleting them is not fatal.  If they get corrupted, just delete
  758.     them.
  759.  
  760.     The active file, article text files and index files are all checked
  761.     to ensure that they stay in sync.  If something gets corrupted, you
  762.     will probably see the message "snews: article xxx found when yyy
  763.     expected".  You can probably fix the problem by using rmgroup to delete
  764.     the affected group, then using addgroup to put it back.  The most likely
  765.     cause of this problem is 'unbatch' or 'expire' crashing.  
  766.  
  767.     If things get really messed up your only option may be to re-init the
  768.     news system by deleting all news-related files and starting anew.
  769.  
  770.     You may only post to groups with a 'y' in the last column of the active
  771.     file.  To post to a moderated group, find the email address for article
  772.     submissions and use UUPC's mail command to send your article.
  773.  
  774.     All SNews programs respond to '-?', '/?' and '/help' command line
  775.     switches by displaying a short description of allowed options.
  776.  
  777.  
  778. -------------------------------------------------------------------------
  779.  
  780. MAJOR CHANGES TO SNEWS 1.91
  781. ===========================
  782.  
  783. The most significant changes from SNews version 1.90 are listed here.  For
  784. a detailed list, see the file CHANGES included with the SNews source code
  785. archive.  To upgrade to version 1.91 from a previous version, see the file
  786. UPGRADE.DOC.
  787.  
  788. - User's .NRC file is now called SNEWS.NRC and is located in the user's home
  789. directory instead of the news directory
  790.  
  791. - Color commands have been changed to conform to UUPC's config file format.
  792. e.g. color msgf blu  becomes:  colormsgf=blu
  793.  
  794. - Eliminated the need for the NG file completely.  Now, postable groups
  795. are specified on the addgroup command line, and is stored in the active file.
  796. `y' means you can post to the group, `n' means you can't, `m' means the group
  797. is moderated.  `m' is currently not implemented anywhere and is treated as
  798. 'n'.
  799.  
  800. - Added ISO-8859-1 (and other) character set support for code pages 437
  801. (default IBM PC) and 850 (multilingual) while displaying article headers
  802. (RFC 1342) and article bodies with Content-Type: text/plain (part of MIME,
  803. RFC 1341)
  804.  
  805. - Periodic program hangup bugs fixed
  806.  
  807. - Fixed a bug in unbatch which caused all cross-posted articles to
  808. nonexistent groups to be junked, even when one group exists.
  809.  
  810. - Added duplicate cross-posted article deletion in unbatch.
  811.  
  812.  
  813.       - --
  814. Good luck and may the News be with you!
  815.