<HTML>
<HEAD><TITLE>LISTPROC - Preliminary User's Guide</TITLE></HEAD>
<BODY>
<PRE>
			ListProcessor version 6.0

			         July 1993

			  Preliminary User's Guide


Contents:
---------

1) <A HREF="#whatis">What is ListProcessor</A>
2) <A HREF="#howtouse">How do I use the ListProcessor</A>
   2.1) <A HREF="#users">Regular users</A>
   2.2) <A HREF="#owners">List owners</A>
3) <A HREF="#archives">Archives</A>
4) <A HREF="#format">Format of requests</A>


<A NAME="whatis">1) What is ListProcessor</A>
------------------------

ListProcessor is a system that automates mailing lists and archives. Users
may add themselves to mailing lists supported by ListProcessor, post messages,
review the members of a list, etc. The system also maintains hierarchical
archives of files that users may get. Archives and mailing lists may be private,
which means that a password is required for archive access, and that the owner
of a private mailing list decides who may suscribe and who may not. Lists may
also be moderated, in which case the owner decides which messages are made
public, and which are flushed.


<A NAME="howtouse">2) How do I use the ListProcessor</A>
---------------------------------

There are two levels of users: a) regular users who subscribe to lists and
send/receive messages and get files from archives, and b) list owners who
oversee the functioning of lists. There is of course a system manager that
oversees the entire operation.

List owners have certain privileges: they can add and remove users from their
lists, reject postings to moderated lists, manipulate addresses, etc.

All users interact with ListProcessor by email. ListProcessor understands a very
limited set of requests and expects a fixed syntax for each one of those. Users
send email to $LISTPROC when they wish to have a request processed. If
users want to send a message to a mailing list, they email to list-name@address
instead.


<A NAME="users">2.1) Regular users</A>
------------------

Usually, the first thing that a regular user will want to do is find out which
lists are available for subscription. He should then send email to
$LISTPROC with a 'lists' request in the body of the message and nothing
else.

He then subscribes to a list called foo by sending another email to
$LISTPROC with the following request:

		subscribe foo  &lt;His Name&gt;

where  &lt;His Name&gt;should let people know who he is.

Once subscribed, he may send messages to foo@address. He may remove himself
from that list later on by issuing a:

		unsubscribe foo

request to $LISTPROC.

To access the archives, an 'index' request is sent to $LISTPROC to find
out what archives are available and what files may be obtained from these
archives. A user then may request one or more files via a 'get' request. For
example:

	get products/database/name/version/fixes patch

will send the file patch from that archive. In the case of binary files, what
the user receives is a uuencoded file, possibly split in parts due to its size.
Archives may be searched with the 'search' request which accepts an egrep(1)-
style pattern,

For extensive information on all requests, $LISTPROC accepts requests
like 'help [topic]' where 'topic' is a request.


<A NAME="owners">2.2) List owners</A>
----------------

List owners are users who have special privileges on the lists they are
assigned to. Each mailing list has at leat one primary owner and may have
infinite secondary ones. The primary owner will be the recipient of all error
messages and may set more preferences by contacting the system's manager;
these preferences include requests to be copied on certain user requests. For
example, an owner may wish to be notified when someone subscribed to his list,
or when someone signed off.

Each list is accessed by an owner via a password. All owner requests require
that password. In addition, the email address of the owner is verified for
such requests.

The following owner requests (which should always be sent to $LISTPROC)
are recognized (refer to the man page for hidden owner requests not mentioned
here):

a)	reports  &lt;list&gt; &lt;password&gt;

A copy of the report files on list activity are sent to the owner.

b)	edit  &lt;list&gt; &lt;passwrod&gt;  &lt;file&gt;

Each list is controlled through some system files. These include the
subscribers file, the welcoming message, the aliases file and the ignored file
(enemies of the list). Refer to the man page for more information.

c)	put  &lt;list&gt; &lt;password&gt;  &lt;keyword&gt; [args]

The aboved edited files may be put back using this request. The owner may also
put new aliases and enemies to the database. Refer to the man page for more
information.

d)	approve  &lt;list&gt; &lt;password&gt;  &lt;tag&gt;

If a list is moderated, each message sent by a regular user is forwarded to
the primary owner for review, editing and approval. Each such message is
identified by a unique tag number. The owner sends back the approved message
to $LISTPROC preceded by the above request, and provides the proper tag
number.

e)	discard  &lt;list&gt; &lt;password&gt;  &lt;tag&gt;

This is the opposite of 'approve'. A message that is not approved or discarded
will remain in the queue for ever.


<A NAME="archives">3) Archives</A>
-----------

Each mailing list may have its messages automatically archived. This can be
useful for newcomers who want to catch up with the discussion, or for posting
and archiving FAQ's.

The system may also keep archives of patches, and other types of files. As
explained before, archives may be private in which case passwords are required
for access for both the 'index' and 'get' requests.


<A NAME="format">4) Format of requests</A>
---------------------

For the most part, requests span a single line. However, for whatever the
reason a request may be continued on another line if it is terminated by &amp;\n
(ambersand followed by carriage return).

Requests like 'put' may take a file as argument (like the subscribers file, or
the welcoming message). In these cases, the actual text follows the 'put'
request and spans till the end of the message. For example, here is a session
where the owner would put the welcoming message:

<TT>
% mail $LISTPROC
Subject: 

put my-list my-password welcome

Welcome to the my-list list. You may sign off any time by sending the 
following request to $LISTPROC:

	sign off my-list

Enjoy!
^D
%
</TT>
</PRE>
</BODY>
</HTML>
