home *** CD-ROM | disk | FTP | other *** search
/ The Best of Windows 95.com 1996 September / WIN95_09961.iso / mailsrv / LSV95.ZIP / win95.z / listfile.memo < prev    next >
Text File  |  1995-05-24  |  26KB  |  607 lines

  1.              LISTSERV historical documentation, release 1.5m
  2.              -----------------------------------------------
  3.                     Copyright Eric Thomas 1986,1987
  4.  
  5.  
  6.  
  7.        +---------------------------------------------------------+
  8.        |         Revised LISTSERV: File Server Functions         |
  9.        +---------------------------------------------------------+
  10.        |                                                         |
  11.        |     Document number: U01-006a-0 (October 17th, 1987)    |
  12.        |                                                         |
  13.        |  Document fileid: "LISTFILE MEMO"  (from "Info FILEs")  |
  14.        +---------------------------------------------------------+
  15.  
  16.  
  17.  
  18.   Preface
  19.  
  20.  
  21.  
  22.   This  manual  is an introductory guide to the file-server functions of
  23.   LISTSERV that are available to general users.   It applies  solely  to
  24.   the  Revised  LISTSERV  software (also known as FRECP11-LISTSERV).  In
  25.   particular, the functions described in this  document  do  not  neces-
  26.   sarily apply to the NETSERV software unless otherwise specified.
  27.  
  28.   This  document  is designed to be used in conjunction with the Revised
  29.   LISTSERV: User's Guide, (Document Number U01-001)  and  assumes  basic
  30.   knowledge  of the LISTSERV functions available to general users.  File
  31.   owners should refer to the Revised LISTSERV: File  Maintainer's  Guide
  32.   (Document  number  M01-008)  for  a  more  technical discussion of the
  33.   internal format of filelist entries and a description  of  the  privi-
  34.   leged file-maintenance commands available to file owners.
  35.  
  36.  
  37.  
  38.   Conventions
  39.   -----------
  40.  
  41.   The  following  typographical conventions have been made in this docu-
  42.   ment to improve its readability:
  43.  
  44. | o   Recent changes in the publication are indicated by a vertical  bar
  45. |     in the left margin.
  46.  
  47. ! o   Intermediate  changes  between two releases of the document ("Pre-
  48. !     releases") are flagged with  an  exclamation  point  in  the  left
  49. !     margin.    Features described in this fashion should be considered
  50. !     as not documented and not officially supported until the  exclama-
  51. !     tion point is removed.
  52.  
  53. > o   Temporary   restrictions  or  circumventions  are  marked  with  a
  54. >     "greater than" sign in the left margin. This sign may also be used
  55. >     to signal obsolete features for which support will be  dropped  in
  56. >     the next release.
  57.  
  58.   o   This  manual duplicates some parts of the Revised LISTSERV: User's
  59.       Guide (Document Number  U01-001)  for  easier  reference.    Those
  60.       excerpts are delimited by runs of ">>>" and "<<<" signs.
  61.  
  62. +
  63. + Paragraphs  marked with a '+' sign in the left margin contain detailed
  64. + explanations for  experienced  users  and  can  be  skipped  at  first
  65. + reading.
  66. +
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.   ****************
  76.   * Introduction *
  77.   ****************
  78.  
  79.  
  80.   Although  the  primary  function of LISTSERV is to distribute mail and
  81.   files to predefined distribution lists, it may  often  be  desired  to
  82.   provide  the  subscribers  of  the  list with a set of data or program
  83.   files to be periodically maintained by a particular person or  set  of
  84.   persons.     Apart  from  the  obvious  example  of  list  "notebooks"
  85.   (archives), working groups might want to provide minutes  of  internal
  86.   meetings  held by some of the subscribers, technical groups might want
  87.   to share application programs related to some software  they  are  all
  88.   using, etc.
  89.  
  90.   It was decided that the most convenient way of meeting these needs was
  91.   to provide basic, non-specialized file-server functions along with the
  92.   mail-processing  functions of LISTSERV.  Those functions would have to
  93.   provide powerful yet list-based file access control  and  remote  file
  94.   updating  facilities, under the control of both the list owner and the
  95.   LISTSERV management.
  96.  
  97.   Automatic distribution of updated materials to subscribers was another
  98.   major concern since it makes this distribution more efficient whenever
  99.   the list is supported by more than one peer server, and  relieves  the
  100.   file  maintainer  of the burden of preparing the list of subscribers -
  101.   the users request such distribution directly from the  server  without
  102.   any intervention from the file maintainer.
  103.  
  104.   It  was  decided  that LISTSERV should conform to the well-implemented
  105.   and well-accepted standard command  set  of  the  NETSERV  file-server
  106.   developped  by  Berthold  Pasch  <PASCH@DHDIBM1>  for EARN.   Commands
  107.   should be similar enough so as not to confuse unexperienced users  who
  108.   switch  from one type of server to the other, with additional commands
  109.   or parameters being provided if needed.  The LISTSERV commands  should
  110.   conform  to  the  general  LISTSERV  conventions  whenever  there is a
  111.   conflict between the LISTSERV and NETSERV commands, the best  solution
  112.   being  of  course to support both conventions to allow for application
  113.   programs written for NETSERV to operate with LISTSERV with  a  minimal
  114.   amount of changes.
  115.  
  116.   A  presentation of the set of commands that were retained will follow.
  117.   You should note that a significant number of these commands  have  the
  118.   same  syntax for LISTSERV and NETSERV and yet operate very differently
  119.   on the two servers (the best example being the PW command).
  120.  
  121.  
  122.  
  123.  
  124.   *************
  125.   * FILELISTs *
  126.   *************
  127.  
  128.  
  129.   Several "file directories" (FILELISTs) were  required  to  allow  each
  130.   list to have its own set of files, independently from the other lists,
  131.   and  to  make  it possible to hide the very existence of private files
  132.   from those users who are not supposed  to  retrieve  them.    LISTSERV
  133.   maintains  a  number of FILELISTs which can be nested in each other if
  134.   needed.  The "root" filelist is called LISTSERV FILELIST and is always
  135.   maintained by the LISTSERV management. In UNIX terms, a FILELIST is  a
  136.   "directory"which  can contain sub-directories (any level of nesting is
  137.   allowed) and is defined upwards in the tree structure  with  the  root
  138.   being LISTSERV FILELIST.
  139.  
  140.   To  review the contents of a filelist, you can either request it to be
  141.   sent to you by means of the usual GET command (see later  on)  or  use
  142.   the special command INDEX as follows:
  143.  
  144.     >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  145. !   INDex     <filelist_name>     <F=fformat> <CLASS=fclass>
  146.  
  147.       Sends you the specified filelist (defaults to LISTSERV
  148.       FILELIST). This command is strictly equivalent to "GET
  149.       filelist_name  FILELIST" and  has been  made available
  150.       for  compatibility  with  other file  servers  on  the
  151.       network.
  152.     <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  153.  
  154.   LISTSERV  filelists  are almost fully compatible with the ones you may
  155.   obtain from NETSERV.  The header of the filelist will provide informa-
  156.   tion about the contents of the filelist directory and a list  of  File
  157.   Access  Codes  (FACs)  which  will  be  used  later in the body of the
  158.   filelist to identify who is authorized to retrieve the files or  store
  159.   them  into  the  server.   This FAC list is included between "banners"
  160.   made of an asterisk, a blank and a  full  line  of  colons,  and  will
  161.   usually  have  been  commented  by  the  maintainer of the filelist to
  162.   provide more information as to whom the FACs refer to.
  163.  
  164.   The body of the filelist  will  contain  file  declarations,  possibly
  165.   interspersed with comment lines.  Comment lines start with an asterisk
  166.   in column one.  The format of the file-declaration lines is as follows
  167.   (column  numbers  have  been given for easier reference by application
  168.   programmers):
  169.  
  170.   +--------------------------------------------------------------------+
  171.   |         1 3       12         23  26  31  35                        |
  172.   |         | |        |          |   |   |   |                        |
  173.   |           filename filetype   get put rfm lrecl                    |
  174.   |           SAMPLE   FILE       ALL CTL VP    106                    |
  175.   |                                                                    |
  176.   |          41    47       56       65                                |
  177.   |           |     |        |        |                                |
  178.   |           nrecs date     time     description                      |
  179.   |              85 86/11/12 19:50:14 Dummy file                       |
  180.   |                                                                    |
  181.   | Figure 1.  File-definition line format                             |
  182.   +--------------------------------------------------------------------+
  183.  
  184.   filename  is the 'name' of the file as  it  should  appear  in  a  GET
  185.             command.
  186.  
  187.   filetype  is  the  'type'  of  the  file  as it should appear in a GET
  188.             command.
  189.  
  190.   get       is the FAC that controls read access to the file.  That  is,
  191.             people  who do not "meet" that FAC will not be able to issue
  192.             GET commands for the file.
  193.  
  194.   put       is the FAC that controls write access to the file.   Usually
  195.             points to the file maintainers.
  196.  
  197.   rfm       is  the  record-format  of  the  file.   The first letter is
  198.             either "V" for "Variable length records" or "F"  for  "Fixed
  199.             length  records", while the second letter will be set to "P"
  200.             for "Packed format  files"  or  left  blank  for  non-packed
  201.             files.    Note  that  packed  files  will  be  automatically
  202.             unpacked prior to being sent to you as a  result  of  a  GET
  203.             command  or Automatic File Distribution process; however, if
  204.             you obtain a direct LINK to  the  disk  on  which  they  are
  205.             stored, you will find them to be in packed format.
  206.  
  207.   nrecs     is  the  number  of records in the file.  Files flagged with
  208.             nrecs = 0 and dots in the other fields are not yet available
  209.             but can be subscribed to or stored by their maintainer.
  210.  
  211.   date/time is the date the file was last updated,  in  yy/mm/dd  format
  212.             (this  makes  it easier to sort the filelist by date).  Note
  213.             that the process of updating the "date" field in a  filelist
  214.             causes  the filelist itself to be flagged as changed and the
  215.             corresponding date/time in its entry up the  tree  structure
  216.             to be modified accordingly.
  217.  
  218.  
  219.  
  220.  
  221.   **********************
  222.   * Ordering the files *
  223.   **********************
  224.  
  225.  
  226.  
  227.  
  228.   The GET command
  229.   ---------------
  230.  
  231.  
  232.     >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  233. !   GET     fn ft <filelist_name> <F=fformat> <CLASS=fclass>
  234.  
  235.       Sends  you   the  requested  file  provided   you  are
  236.       authorized to retrieve it.
  237.  
  238.       Synonyms  have  been  defined for  the  GETND,  GETDD,
  239. !     GETPP,  GETLP and  GET80 commands  of Netserv.  "GETND
  240.       xxxx" is translated to "GET xxxx F=Netdata", etc. Note
  241.       that  in  this  implementation, GETPP  and  GET80  are
  242.       strictly  equivalents and  will cause  the file  to be
  243.       sent in  Listserv-Punch format  if its  logical record
  244.       length  is  greater than  80.  Send  an "Info  LPUNch"
  245.       command  to   LISTSERV  for  more   information  about
  246.       Listserv-Punch format.
  247.     <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  248.  
  249.   You  can use the GET command, or its synonym SENDme, to request a file
  250.   to be sent to you.  You must specify the filename and filetype of  the
  251.   file  as their appear in the filelist, and you may optionally append a
  252.   third parameter to the command to indicate  from  which  filelist  you
  253.   want the search for the file to start.  This parameter is normally not
  254.   required  unless  there  is more than one file available from LISTSERV
  255.   with the filename  and  filetype  you  are  requesting.    Application
  256.   programs  which  issue  GET commands to LISTSERV and know the filelist
  257.   name should specify it since it speeds up the filelist  search.    The
  258.   default is to start at the root filelist, of course.
  259.  
  260.  
  261. +
  262. + For  security  reasons, files with a filetype of "FILELIST" are always
  263. + sought from the root filelist, regardless of  the  filelist  parameter
  264. + specified on the command.
  265. +
  266.  
  267.  
  268. ! The   LISTSERV-standard   "file-format"(F=fformat)   and  "file-class"
  269. ! (CLASS=fclass) keywords are supported on this command.   Additionally,
  270.   synonyms  have  been defined for the NETSERV GETxx (e.g. GETND, GETDD)
  271.   commands.  Note that the NETSERV GET80  format  is  not  supported  by
  272.   LISTSERV;    LISTSERV-Punch   (refer   to   the   "Revised   LISTSERV:
  273.   LISTSERV-Punch Implementation Guide" - Document Number R01-007  -  for
  274.   more details) format is substituted.
  275.  
  276.   The  LISTSERV GET command is compatible with the NETSERV one, with the
  277.   exception of:
  278.  
  279.   o   The GET80 format restriction.
  280.  
  281. ! o   The addition of the optional file-format and file-class keywords.
  282.  
  283.   o   The addition of the optional filelist-name parameter.
  284.  
  285. > o   The "prologtext" feature of NETSERV, which is not  implemented  in
  286. >     the LISTSERV GET command.
  287.  
  288.  
  289.  
  290.   The GETALL command
  291.   ------------------
  292.  
  293.  
  294.  
  295. !   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  296. !   GETALL    fn ft <filelist>    <F=fformat> <CLASS=fclass>
  297.  
  298. !     Sends  you the  requested file  provided that  you are
  299. !     either authorized to GET  it (refer to the description
  300. !     of  the GET  command  for more  details),  or you  are
  301. !     authorized to PUT the filelist  that defines it or any
  302. !     other  filelist  in  the   same  branch  up  the  tree
  303. !     structure.
  304. !   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  305.  
  306. ! The GETALL command allows filelist owners to retrieve files defined in
  307. ! a filelist that they can PUT, but which they are not allowed to access
  308. ! via  the GET command because their File Access Codes prevent it.  That
  309. ! is, whenever the command originator would be able to change  the  File
  310. ! Access  Code  that  prevents him from retrieving the file by modifying
  311. ! the filelist in which it is defined, he is allowed to obtain the  file
  312. ! directly by means of a GETALL command.
  313.  
  314.  
  315. +
  316.  
  317. + o   It  should  be  noted  that  the GETALL command can be used in all
  318. +     instances where the GET command would  be  accepted.    Since  the
  319. +     syntax  is  identical, it can be systematically substituted to GET
  320. +     whenever desired.   You should note,  however,  that  it  takes  a
  321. +     significantly  higher  amount  of  processor  time  to LISTSERV to
  322. +     process a GETALL command.  You should therefore  avoid  using  the
  323. +     GETALL command on a regular basis, and give yourself GET authority
  324. +     on all the files you plan to retrieve regularly.
  325.  
  326. + o   The  GETALL  command  will only bypass the File Access Code access
  327. +     restriction.  If any File Access Verification Exit has been estab-
  328. +     lished for the file, it will still receive control and might still
  329. +     deny access to the file.
  330.  
  331. + o   The LISTSERV operation staff normally has PUT access over the root
  332. +     filelist, LISTSERV FILELIST.   This implies having  GETALL  access
  333. +     over all the files stored on the local server.
  334.  
  335. +
  336.  
  337.  
  338.  
  339.  
  340.   The GIVE command
  341.   ----------------
  342.  
  343.  
  344.  
  345.     >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  346.     GIVE      fn ft <filelist> <TO> userid@node <F=fformat>
  347. !                                            <CLASS=fclass>
  348.  
  349.       Sends  the requested  file  to  the specified  userid,
  350.       provided  you  would  be  authorized  to  retrieve  it
  351.       yourself by means of a GET command.
  352.  
  353.       The  destination userid  will receive  a mail  message
  354.       saying that you requested the  file to be sent to him.
  355.       You will  get a copy  of all  messages sent to  him so
  356.       that  you  are informed  if  some  error occurs  while
  357.       sending the file.
  358.     <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  359.  
  360. ! The  GIVE  command  allows  you  to request LISTSERV to send a file or
  361. ! package to another network user.  This is very useful when you want to
  362. ! send a file to some user who is not authorized to retrieve it but  who
  363. ! is topologically nearer to the server than to you.  It also allows you
  364. ! to order files for people who are not able to issue the requests them-
  365. ! selves,  for example people behind a one-way gateway which allows mail
  366. ! to be received but not sent out to LISTSERV.
  367.  
  368.  
  369. +
  370.  
  371. + o   The filelist maintainer has the option to disable the GIVE command
  372. +     on a file-per-file basis.  This will usually have  been  done  for
  373. +     confidential  files  or  large  files  which  should not leave the
  374. +     server's node.
  375.  
  376. + o   For technical reasons, it is not possible to GIVE a LIST file: the
  377. +     present inter-server command protocol does not allow a destination
  378. +     address different from the command  origin  address,  which  would
  379. +     make  it  impossible  to  consistently forward the GIVE request to
  380. +     other servers.
  381.  
  382. +
  383.  
  384.  
  385.  
  386.  
  387.  
  388.   ************
  389.   * Packages *
  390.   ************
  391.  
  392.  
  393.   The term "package" refers to a set of program or data files which  are
  394.   supposed  to be retrieved together under normal conditions.  Provision
  395.   has been made to allow users to retrieve those packages with a  single
  396.   command,  and  to  subscribe to it as a whole with updated versions of
  397.   only the individual changed files being sent out.  The package  exists
  398.   independently  of  its individual components which can still be refer-
  399.   enced separately.
  400.  
  401.   With each package is associated a dummy file and  a  definition  file.
  402.   The  dummy  file  has  a fileid of "package-name PACKAGE" and does not
  403.   really exist.  However, ordering this dummy file will cause the  whole
  404.   set of files to be sent to you.  Similarly, subscribing to this single
  405.   dummy file will result in a global subscription for all the components
  406.   of  the  package.    As a rule of thumb, the dummy file should be used
  407.   whenever reference is made to the package as a whole.
  408.  
  409.   The definition file has a fileid of "package-name $PACKAGE" and  lists
  410.   the  set of files that are contained in the package.  Unlike the dummy
  411.   file, it really exists and can be retrieved as any other normal  file.
  412.   It  will  usually list itself as the first file of the package so that
  413.   you get a copy of it and you can check you have received all  required
  414.   files  before  starting  to use the package.  It may reference another
  415.   package which is required for the package you ordered to be used  (any
  416.   level of nesting is allowed).  If you subscribe to a package via Auto-
  417.   matic  File Distribution (qqv), you will automatically receive updated
  418.   versions of all the corresponding sub-packages if  they  are  updated.
  419.   Similarly, ordering the package will cause all sub-packages to be sent
  420.   to you.
  421.  
  422.  
  423. +
  424. + Application  programmers  wishing  to  parse the contents of a package
  425. + file should use the following algorithm:
  426.  
  427. + o   Blank lines and lines starting with an asterisk are comment  lines
  428. +     and should be ignored.
  429.  
  430. + o   Each  non-comment  line  describes  a  file  which  belongs to the
  431. +     package.  The first two words of  the  line  are  the  (mandatory)
  432. +     filename  and  filetype,  the third word is the optional filelist,
  433. +     and all remaining words are  optional  comments  which  should  be
  434. +     ignored.    The  program  should  be  able to handle any number of
  435. +     blanks between words as well as before the first word in the line.
  436.  
  437. +
  438.  
  439.  
  440.  
  441.  
  442.  
  443.   *************
  444.   * Notebooks *
  445.   *************
  446.  
  447.  
  448.   LISTSERV is able to automatically keep notebooks for  a  list  if  the
  449.   list  owner  so  desires.    Those  notebooks  are listed in a special
  450.   filelist called "NOTEBOOK FILELIST", which is automatically maintained
  451.   by the server according to the parameters specified in the headers  of
  452. ! its  various  lists.   They will also be automatically appended to the
  453. ! corresponding "listname FILELIST"(if it  exists)  so  as  to  make  it
  454. ! possible  to  get a listing of all archive files kept for a particular
  455. ! list without having to retrieve the whole  NOTEBOOK  FILELIST.  If  no
  456. ! "listname FILELIST" has been prepared by the list owner, LISTSERV will
  457. ! automatically create a dummy one with no file-definition entries other
  458. ! than  the  ones  for the notebook files kept for the list.  This dummy
  459. ! filelist can be retrieved or  subscribed  to  (via  the  AFD  and  FUI
  460. ! commands) as if it were a normal filelist.
  461.  
  462. ! The  NOTEBOOK FILELIST can be subscribed to via FUI, but its retrieval
  463. ! has been restricted to registered Node Administrators (NADs) as it  is
  464. ! usually  a  very  large  file  prone  to  generate significant network
  465. ! traffic.
  466.  
  467.  
  468.   The files listed in the NOTEBOOK filelist are just like  normal  files
  469.   and can be retrieved as indicated by their GET File Access Code.  They
  470.   can  be  subscribed  to  as  normal files, and can even be modified or
  471.   deleted by their owners, as indicated by their PUT FAC (which  usually
  472.   points  to  the  list  owners).    However,  once such a file has been
  473.   deleted, it will disappear permanently from  the  filelist,  unlike  a
  474.   normal  file  which  would  be  forced  to  nrecs = 0 but would remain
  475.   listed.
  476.  
  477.  
  478.  
  479. +
  480. + Any archive file can be ordered either as "filename filetype listname"
  481. + or as "filename filetype NOTEBOOK".   The two  syntaxes  will  produce
  482. + strictly  equivalent  results,  regardless  of  whether  the  NOTEBOOK
  483. + filelist has been made available to general users by the  local  LIST-
  484. + SERV  management  or not.   However, it is recommended that the latter
  485. + form be preferred in application programs as it will result in  better
  486. + response  time  from the server:  the NOTEBOOK filelist always denotes
  487. + list archive files whereas the listname filelist might  contain  other
  488. + files, which makes it impossible to optimize the search algorithm.
  489. +
  490.  
  491.  
  492.  
  493.  
  494.  
  495.   *************************************
  496.   * Appendix A.  The LISTSERV Library *
  497.   *************************************
  498.  
  499.       o User's guide  . . . . . . . . . . . . . . . . . . . .  (U01-001)
  500.  
  501.       o List Manager's guide  . . . . . . . . . . . . . . . .  (M01-002)
  502.  
  503.       o Installation guide  . . . . . . . . . . . . . . . . .  (S01-003)
  504.  
  505.       o Application Programmer's guide  . . . . . . . . . . .  (A01-004)
  506.  
  507.       o Maintenance guide . . . . . . . . . . . . . . . . . .  (S01-005)
  508.  
  509.   --> o File Server Functions . . . . . . . . . . . . . . . .  (U01-006)
  510.  
  511.       o Listserv-Punch Implementation . . . . . . . . . . . .  (R01-007)
  512.  
  513.       o File Maintainer's guide . . . . . . . . . . . . . . .  (M01-008)
  514.  
  515.       o BITNET-Oriented Presentation  . . . . . . . . . . . .  (P01-009)
  516.  
  517.       o Public Utilities Reference  . . . . . . . . . . . . .  (A01-010)
  518.  
  519.       o Licensed Utilities Reference  . . . . . . . . . . . .  (S01-011)
  520.  
  521.       o Database Functions  . . . . . . . . . . . . . . . . .  (U01-012)
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.   LISTSERV Document Numbers
  532.   -------------------------
  533.  
  534.                                 U 01 - 006 - 0
  535.                                 _ __   ___   _
  536.                                 |  |    |    |
  537.   Document Class     -----------+  |    |    |
  538.                                    |    |    |
  539.                                    |    |    |
  540.                                    |    |    |
  541.   Product Number     --------------+    |    |
  542.                                         |    |
  543.                                         |    |
  544.                                         |    |
  545.   Publication Number -------------------+    |
  546.                                              |
  547.                                              |
  548.                                              |
  549.   Revision Number    ------------------------+
  550.  
  551.  
  552.  
  553.   Document Class
  554.  
  555.  
  556.   The  Document Class indicates for which category of persons the publi-
  557.   cation was written.  The current classes are:
  558.  
  559.   A    Documents intended for Application Programmers.   These  publica-
  560.        tions are usually very technical.
  561.  
  562.   M    Documents  intended for Software Managers, i.e.  operators, "list
  563.        owners", "file maintainers", et al.
  564.  
  565.   P    General Presentation documents intended for persons  who  do  not
  566.        have  any  particular knowledge in the product.  These are gener-
  567.        ally non-technical documents.
  568.  
  569.   R    Reference documents  defining  protocols  used  by  the  product.
  570.        These  documents  are  very technical and are intended for people
  571.        who have to write interfaces for the product or attempt  to  port
  572.        it  to  an  operating  system or environment for which it was not
  573.        originally written.
  574.  
  575.   S    Documents intended for Systems Programmers,  i.e.    the  persons
  576.        responsible for the installation and operation of the product.
  577.  
  578.   U    Documents intended for General Users.
  579.  
  580.  
  581.  
  582.  
  583.   Product Number
  584.  
  585.  
  586.   The  Product  Number is a unique number associated with the product to
  587.   which the publication relates.  Number 01 refers to  LISTSERV,  number
  588.   02 corresponds to the NETINFO sub-product, etc.
  589.  
  590.  
  591.  
  592.   Publication Number
  593.  
  594.  
  595.   This  is a unique number associated with the publication.  Publication
  596.   Numbers are assigned sequentially, disregarding  the  Document  Class.
  597.   There is a different set of Publication Numbers for each product.
  598.  
  599.  
  600.  
  601.   Revision Number
  602.  
  603.  
  604.   This number is incremented at every release change in the publication.
  605.   Fractional numbers indicate intermediate changes between two releases.
  606.  
  607.