\documentstyle[11pt,twoside,simplemargins,fancyheadings]{report}
% The styles in the above line require the following lines in .environment:
%	attach sipb
%	setenv TEXINPUTS .:/mit/sipb/lib/tex/macros:/usr/athena/lib/tex/macros

% Set margins
\setleftmargin{1in}
\setrightmargin{1in}
\settopmargin{1in}
\setbottommargin{1in}

% Set headers and footers
\pagestyle{fancy}
\lhead{}
\chead{\large \sc \underline{Discuss}}
\rhead{}
\setlength{\headrulewidth}{0in}
\lfoot{MIT SIPB}
\rfoot{Revision 1.6}

% Section modifications
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}

% Special text style commands
\newcommand{\prompt}{{\bf athena{\tt\%}} }	% Athena prompt
\newcommand{\Discuss}{{\sc Discuss}}		% Discuss logo
\newcommand{\client}[1]{{\em #1}}		% Style for Discuss client name
\newcommand{\meeting}[1]{{\em #1}}		% Style for meeting name
\newcommand{\user}[1]{``{\bf #1}''}		% Style for user input
% Style for buttons in xdsc and xdiscuss
\newcommand{\button}[1]{\fbox{\raisebox{0mm}[1.5ex][0ex]{\bf #1}}}

% Describe title page

% Allow symbol footnote for title
\def\thefootnote{\fnsymbol{footnote}}

\title{% Discuss Logo
	\begin{center}
	\hspace*{1mm}\special{psfile=logo hoffset=-250}\hspace*{1mm}
	\vspace{2cm}
	\end{center}
	{\huge{\sc Using Discuss}}%
	\thanks{Copyright \copyright\ 1992 Student Information Processing Board
		of the Massachusetts Institute of Technology}}

\date{\small Revision 1.6\\June 1992}

\author{\large{\bf The Student Information Processing Board}\\\\
	{\small Stan Zanarotti}\\
	{\small Ken Raeburn}\\
	{\small Nancy Gilman}\\
	{\small Richard Barbalace}
}

% End of Preamble

\begin{document}

% Title page
\maketitle
\def\thefootnote{\arabic{footnote}} % Return to arabic footnotes
\newpage

% Table of Contents
\pagenumbering{roman}
%%% Kludge to make LaTeX think TOC is 0pt high so it will all fit on one page.
\setbox0\vbox{\vspace{-1cm}\tableofcontents{}}\dp0=0in\ht0=0in\box0
\newpage
\pagenumbering{arabic}

\section{Introduction}
\subsection{What is \Discuss?}

\Discuss\ is a networked electronic conferencing system.  Similar
to the bulletin boards that have become popular on microcomputers, it differs
in its accessibility from time-sharing machines and workstations on
the network.  \Discuss\ allows a user to attend a set of electronic
meetings for discussing various topics.  Each meeting has its own
specific focus, such as a project, class, or special interest.

Users may select (``attend'') meetings, and read messages
(``transactions'') that have been entered in those meetings.  A user may
also enter new transactions into a meeting, either by replying to
a previous one or starting one on a new topic.

\subsection{Clients and Servers}

\Discuss\ uses a client/server model of networking.  A client is a program
run by you, the user, to read meetings and otherwise work with \Discuss.
\Discuss\ servers actually store the information kept in the meetings, while
the \Discuss\ client programs handle the user interface.  When a user runs
a \Discuss\ client program, it contacts the various servers to manipulate
the meetings.

Three main \Discuss\ client programs are available:  terminal-oriented
\client{discuss} for running in an {\bf xterm} window or over dialup;
\client{edsc} for running within {\bf emacs}; and an {\bf X}-based client,
\client{xdsc} which opens a new window.  The use of each of these clients
is described in the following sections.

Because of the networked nature of this system, some sort of
authentication scheme needs to be used.  If such a scheme is not used,
it becomes easy to generate fake electronic mail messages and enter
them as transactions.  In order to prevent fake transactions and to
ensure privacy, the Kerberos system, developed on MIT's Project
Athena, is being used to authenticate user transactions.  Although
Kerberos is not completely secure, it is the most secure system now
available, even if it is not the simplest.  If you are using an Athena
workstation, there is nothing further you need to do to use Kerberos;
you can start using \Discuss\ immediately.  If you are not on an Athena
workstation, refer to Section 8.1 for more information about using
Kerberos.

\subsection{Keeping track of meetings}

\Discuss\ does not keep a central list of all \Discuss\ meetings.
Instead, it maintains a list for each user of the meetings that they
attend.  To specify a meeting you can use the meeting name, or your
own abbreviation.  For example, the \meeting{Discuss\_development}
meeting  could be known as \meeting{discuss} to one user, \meeting{dsc}
to another, or by both to yet another user.  All this information, as
well as the information needed by the client programs, is stored in a
file called {\bf .meetings} in your home directory.  Without this file,
\Discuss\ will not be able to locate meetings.

\subsection{\Discuss\ client programs}

The best way to understand the ideas above is to start playing
with the system.  They should become clear after a little practice.
Each of the following three sections describe one of the \Discuss\ client
programs available on Athena.\footnote{Throughout this document,
\Discuss\ client names, such as \client{discuss}, are printed in italics.
\Discuss\ meetings also are displayed in italic print.  Commands that the
user should enter or keys that should be pressed are quoted in boldface.
Output from the clients is shown in typewriter print.}  Each has its own
advantages, and which one you decide to use is a matter of preference.

Most users start by using \client{discuss}, a no-frills client which can
be run at any time and which provides help for every command.  While
\client{xdsc} cannot be run over dialup and is more limited than
\client{discuss}, \client{xdsc} provides an intuitive, pretty interphase
designed to be as user-friendly as possible.  The \client{edsc} client is
convenient to those who are fond of using {\bf emacs}; it is perhaps less
easy to become accustomed to than \client{xdsc}, but may be run over dialup.

\section{Using \client{discuss}}

Here is a step-by-step explanation of how to use the client \client{discuss},
which may be run in an {\bf xterm} window or over dialup.

\subsection{Initial setup}

To run \Discuss\ in an xterm window, enter \user{discuss} at your \prompt
prompt.  The first thing it will do is look for
a {\bf .meetings} file.  If you do not have one it will assume this is your
first time running \Discuss.  The client will then ask you
if you want to create a {\bf .meetings} file.  Enter \user{y} for yes.  Your
first time using \Discuss\ a prototype {\bf .meetings} file will be created
in your home directory for you.

Running \client{discuss} without a {\bf .meetings} file looks like this:

\begin{quote}
\begin{verbatim}
athena% discuss
discuss: No such file or directory

If you are using discuss for the first time, or if you have only used the
experimental version of discuss, you need to run the 'dsc_setup'
command from the shell.

Run dsc_setup now? (y or n)  y

Running dsc_setup...
  Creating .meetings file:
  done.
discuss:
\end{verbatim}
\end{quote}

The version of this program distributed on Athena will give you a
{\bf .meetings} file that includes two meetings, called \meeting{New\_Meetings}
and \meeting{Everybody}.  The former is for announcements of new meetings,
and the latter is for random announcements, questions, and anything else that
may be of general interest.

\subsection{Adding and reading meetings}
  The meetings you currently attend are listed in your {\bf .meetings} file.
To list the meetings in this file enter the \user{list\_meetings} command:

\begin{quote}
\begin{verbatim}
discuss:  list_meetings
 Flags  Meeting
 -----  -------
 c      New_Meetings, new_meetings
 c      Everybody, eve
discuss:
\end{verbatim}
\end{quote}

The ``c'' flag means that the meeting has changed so that it contains
new unread transactions.  To attend the \meeting{New\_Meetings} meeting,
simply \user{goto} it.  You may use any of the names listed to attend a
meeting.\footnote{The {\bf .meetings} implementation allows for any number
of names for a meeting.  The names are kept in a comma-separated list in
the {\bf .meetings} file, which you can edit with {\bf emacs} if you wish
to change meetings' names.}  Note the underscore character in the name
\meeting{new\_meetings}.  You should see something like this:

\begin{quote}
\begin{verbatim}
discuss:  goto new_meetings
New_Meetings meeting;  433 new, 433 last.
discuss:
\end{verbatim}
\end{quote}

Apparently over 400 transactions have been entered in this meeting,
none of which have you read yet.  The transactions in \meeting{New\_Meetings}
can be used to add the meetings you wish to ``attend'' to your personal
list of meetings.  Perhaps the best way to find meetings that interest
you is to read through all of the transactions in \meeting{New\_Meetings}.
We start by listing the first hundred transactions:

\begin{quote}
\begin{verbatim}
discuss:  list first,first+100
 [0001]*  (2) 10/29/86 21:54 wesommer     Reason for this meeting
 [0034]   (9) 04/10/87 23:54 rlk          Athena_Flames meeting
 [0045]  (10) 04/11/87 04:24 spook        Athena_Meetings meeting
 [0052]   (8) 04/12/87 02:35 rfrench      Stories meeting
 [0060]  (13) 04/22/87 12:29 tony         laser-lovers meeting
 [0070]  (11) 05/01/87 17:06 geer         x-conversion-meeting meeting
 [0071]   (9) 05/14/87 17:11 tony         MDQS_development meeting
 [0073]   (6) 05/17/87 03:05 rfrench      GNU_C meeting
 [0076]   (6) 05/17/87 03:07 rfrench      Printers meeting
 [0080]   (9) 05/20/87 21:20 tytso        Quotes_Misquotes_and_Out_of_Con...
 [0081]   (9) 05/21/87 02:02 rfrench      Bug_GNU_Emacs meeting
 [0093]  (11) 06/05/87 13:35 ambar        MIT_Clearing_House meeting
 [0094]  (35) 06/07/87 00:21 tytso        RISKS Forum meeting
 [0101]   (8) 06/29/87 16:20 wesommer     SMS meeting
discuss:
\end{verbatim}
\end{quote}

The different columns in the listing show the number of each specified
``transaction'' in the meeting (with a ``*'' next to the ``current'' one),
the length in lines, the date and time of entry of the transaction,
the user who entered the transaction, and the title given to it.  Note 
that some numbers are unused in the sequence; these transactions have been
deleted, probably by the user who put them there.  They are therefore
invisible to you, unless retrieved by the writers of the transactions at
a later time.

Transactions are selected by strings called ``transaction
specifiers''.  Usually a transaction specifier is just a transaction
number, but it can also be a range or a keyword.  We could have entered
``list 1:101'' to get the preceding list.  To specify the first ten
messages you can type ``1,10'' or ``1:10''.  Keywords (``current'', ``all'',
``last'', ``first'', ``next'', ``prev'', etc.) can be used to refer to
individual transactions or a range of transactions.  Expressions (``last-10'',
``current+2'') allow transaction specifiers to be combined, and also
demonstrate that \client{discuss} can do simple arithmetic.  Other transaction
specifiers have to do with chaining (``lref'', ``fref'', ``pref'', ``nref'',
etc.), which is discussed below.  And still others can make using
\Discuss\ a lot easier, like ``new'', which are the transactions at the
end of a meeting that you have not seen.  The \client{discuss} command
interface milks transaction specifiers for all it can get, and you
should too.  For more information type \user{help spec} in \client{discuss}.

As mentioned above, looking through all of \meeting{New\_Meetings} is
one of the best ways to find those meetings which interest you.  To learn
more about  a meeting listed in \meeting{New\_Meetings}, \user{print} the
corresponding transaction.  (This transaction is usually the same as the
first transaction in the announced meeting).  For instance, if
\meeting{Quotes\_Misquotes\_and\_Out\_of\_Con\ldots}\footnote{The ellipsis
simply means the meeting title was too long to fit on a single
line  and has been truncated.} has you wondering, you
would do the following:

\begin{quote}
\begin{verbatim}
discuss:  print 80
[0080] tytso@ATHENA.MIT.EDU  New_Meetings  05/20/87 21:20 (9 lines)
Subject: Quotes_Misquotes_and_Out_of_Context_Quotes meeting
  Meeting Name:  Quotes_Misquotes_and_Out_of_Context_Quotes
  Host:          BLOOM-BEACON.MIT.EDU
  Pathname:      /usr/spool/discuss/quotes
  Participation: Public

This is the reincarnation of the "quotes" discuss meeting, moved
to Bloom-Beacon, that creater of fine quality news and other sundry
information.  Please put quotes in here and leave .plan files for\end{verbatim}
\vspace{-1.5mm} %%% kludge, \end{verbatim} messes up interline spacing
{\tt OTHER slanders and libels......}\footnote{A reference to the
\meeting{Central\_America} meeting, which archives all changed {\bf .plan}
files each night.}\\
{\tt--{[0080]}--\\
\^{ }L\\ %%% kludge, just a terrible kludge
discuss:}
\end{quote}

The ``host'' and ``pathname'' fields are for the \user{add\_meeting}
routine to use to tell \Discuss\ where to find the meeting.  The
``participation'' field has no effect on the access control; it simply
states whether the announcer considers the meeting to be public or
private in nature.

The \^{ }L at the end of the transaction marks the end of the message.  If
you are reading a range of transactions, the \^{ }L signals the \user{print}
command (which uses {\bf more} by default) to stop and wait for you to press
the space bar before going on to the next transaction.  If a transaction takes
up more space than can fit on a single screen, \user{print} will put up the
first screen and wait for you to press the spacebar before going on to the
next screen.

If you want to read the transactions in \meeting{quotes}, you need to add the
meeting to your personal list of meetings with the command \user{add\_meeting}:

\begin{quote}
\begin{verbatim}
discuss:  add_meeting
Transaction [0080] Meeting quotes (quotes) added.
discuss:
\end{verbatim}
\end{quote}

With no arguments, \user{add\_meeting} looks at the current transaction for
a meeting announcement, and adds that meeting to your private list of
meetings.  If you had not printed the meeting announcement first, then
you would receive an error since \user{add\_meeting} would not know what
meeting you wanted to attend.

In addition to adding a meeting after printing a meeting announcement in
\meeting{New\_Meetings}, the \user{add\_meeting} command can take two types
of arguments to allow for more ways of adding meetings.  Entering
\user{add\_meeting 80} would also cause \meeting{quotes} to be added by
causing the command to check transaction 80.  Another way this meeting
can be added is by specifying the full host and pathname fields with
\user{add\_meeting bloom-beacon.mit.edu:/usr/spool/discuss/quotes}; note
the colon separating the host and pathname.  This last method is useful
if you do not know where the meeting is announced.

Now \user{list\_meetings} (or \user{lsm} for short) will show your
new addition:

\begin{quote}
\begin{verbatim}
discuss:  lsm
 Flags  Meeting
 -----  -------
 c      New_meetings, new_meetings
 c      Everybody, eve
 c      quotes, quotes
discuss:
\end{verbatim}
\end{quote}

\subsection{Chains}

Looking at the \Discuss\ logo on the cover, you will notice that the letters
are linked together by chains.  From the above examples, you should also notice
that \Discuss\ numbers transactions from [0001] on.  Chains group
transactions by subject.

When a user enters a new transaction into a \Discuss\ meeting, he or she
has the choice of starting a new chain, or adding onto an existing chain.
The \user{talk} command will prompt the user for a subject, and will enter
the transaction as the start of a new chain.  The \user{reply} command
takes an already existing transaction, and adds the new transaction
onto the old transaction's chain.  The subject of this new transaction
is formed by prepending ``Re:'' to the old subject.  So a transaction
chain roughly corresponds to a single conversation.

\Discuss\ provides commands that allow you to take advantage of the
chaining structure.  When \Discuss\ prints a transaction, it prints out
the ``pref'' (previous reference) and ``nref'' (next reference) of that
transaction.  These are the previous and next transactions within the
chain, respectively.  By using these numbers, or taking advantage of
the ``pref'' and ``nref'' transaction specifiers, you can travel through
the chain.  Other chain-related transaction specifiers are ``fref'' and
``lref'', which refer to the beginning and end of the chain.

\subsection{Saying something}
As stated above, there are two ways you can enter a new transaction in
a meeting.  To start a new chain, use the \user{talk} command (\user{t}
for short), which can also be given as \user{enter} or
\user{send}.\footnote{The reasons behind having three different names are
mostly historical; Multics Forum had the concept of an ``unprocessed''
transaction, one for which the text has been entered but has not been
sent to a meeting.  The ``talk'' command would start processing (input)
of a new transaction, which was not necessarily saved.  The ``enter'' or
``send'' command would save the unprocessed transaction in the meeting.
In \Discuss, unprocessed transactions have not been implemented.}  \Discuss\
will ask for a subject which will be printed at the head of the message
and displayed with \user{list}.  It will then allow you to type in the
transaction.  All input up to a \user{Control-D} or a \user{.} on a line
by itself will be taken as the text of the message.  Once you type in the
\user{.} or \user{Control-D}, the input will be entered as a new transaction.
If you make a mistake during input, don't worry.  By typing in
\user{$\sim$e}\footnote{This is taken from the Berkeley Mail command.} on
a line by itself, \Discuss\ will start up an editor on the text you've
entered so far.\footnote{\Discuss\ will use the environment variable
{\bf EDITOR}, or {\bf /bin/ed} if {\bf EDITOR} is not set.  Athena's
default startup files set the {\bf EDITOR} environment variable to
{\bf emacs}.  You may also specify another editor for \Discuss\ by
setting the environment variable {\bf DISCUSS\_EDITOR}.}  Once you have
saved the text and exited from the editor, the new transaction will be
entered into the meeting.

The other way of entering a transaction is to reply to an existing
transaction.  For this, use the \user{reply} command (\user{rp} for short).
This will ask for input as with \user{talk}, except the subject will
automatically be taken from the original transaction.  The transaction
will be entered as a response to the current transaction (by default),
or the transaction specified.

\subsection{Oops, I didn't mean to say that}

If you decide the transaction you just entered is politically incorrect,
politically correct, or for some other reason should not be there, it can
be deleted.  Only the owner of a transaction (that is, the user who posted it),
or someone with delete access to the meeting (see the section below
on access control), can \user{delete} the transaction.  Once deleted,
transactions can be retrieved by the owner, or someone with delete access,
using the \user{retrieve} command.

\subsection{Summary of useful commands}

The following is a list of common \client{discuss} commands, and their
abbreviations, as well as a short description of each.  This is not
necessarily a complete list of available commands.

% List format for help summary:  centered on dashes, labels in boldface.
\begin{list}{}%
	{\setlength{\labelwidth}{75mm}%
	\setlength{\leftmargin}{75mm}%
	\renewcommand{\makelabel}[1]{{\hfil \bf #1} ---}}
\setlength{\parskip}{-1.5mm} % Prevent double-spacing between items
\item[help]			Show help file on a specified command.
\item[list\_requests, lr, ?]	List available commands.
\item[list\_meetings, lsm]	List meetings you attend and check for changes.
\item[check\_meetings, ckm]	Check for changed meetings.
\item[next\_meeting, nm]	Go to next changed meeting.
\item[add\_meeting, add\_mtg, am]	Add a meeting to your personal list.
\item[delete\_meeting, del\_mtg, dm]	Delete meeting from your personal list.
\item[goto, go, g]		Go to the specified meeting.
\item[list, ls]			List transactions in a meeting.
\item[print, pr, p]		Print a transaction.
\item[next]			Print next transaction.
\item[prev]			Print previous transation.
\item[nref]			Print next reference.
\item[pref]			Print previous reference.
\item[read\_new, rn]		Print new transactions in changed meetings.
\item[talk, enter, send, t]	Enter a new transaction.
\item[reply, rp]		Reply to a transaction.
\item[write, w]			Write a transaction into a file.
\item[delete, dl, d]		Delete a transaction.
\item[retrieve, rt]		Retrieve a deleted transaction.
\item[status]			Show status information.
\item[announce\_meeting, ann\_mtg, anm]	Announce a meeting's existence.
\item[list\_acl, la]		List access control list.
\item[set\_acl, sa]		Add principal to access control list.
\item[delete\_acl, da]		Remove principal from access control list.
\item[quit, exit, q]		Quit.
\end{list}

\Discuss\ provides its own help facility:  there is an equivalent of
a manual page for each command within \Discuss, and also for ``access''
and ``specifiers''.  In \client{discuss}, enter \user{help foo} for
information on command or topic ``foo''.

\section{Using \client{edsc} --- emacs \Discuss\ mode}

\subsection{Getting started}

\Discuss\ can be run within {\bf emacs} by running a sub-process called
\client{edsc}.  Like \client{discuss}, \client{edsc} can be run over
dialup or in a new window.  If you are already using {\bf emacs}, enter
\user{Meta-x discuss}:  hold down on the Meta key (labelled Alt or Compose
on many workstations), press the letter \user{x}, then enter the command
\user{discuss}.  This will start the \client{edsc} process and load your
meetings.

If you want to run \Discuss\ within a new {\bf emacs} editor, enter the
command \user{emacs -f discuss} at your \prompt prompt.  The ``-f''
tells {\bf emacs} to start the \client{edsc} function automatically.

If this is your first time ever running \Discuss, then \client{edsc} will
create a {\bf .meetings} file in which to store information about your
meetings.  Your personal list of meetings will begin with the two default
meetings \meeting{New\_Meetings} and \meeting{Everybody}.  The former is
for announcements of new meetings, and the latter is for random announcements,
questions, and anything else that may be of general interest.

The status line (the reverse-video, penultimate line in the window) should
display that the current {\bf emacs} buffer is named {\bf *meetings*} and
that \Discuss\ is being run.  A message saying ``Listing meetings...done.''
will be shown in the minibuffer, the final line where messages about what
\client{edsc} is doing are shown and where certain commands are entered.
After a short time to load, the main {\bf emacs} window will show something
like this:

\begin{quote}
\begin{verbatim}
 Flags   Meeting name
 -----   ------------
 c       New_Meetings, new_meetings
 c       Everybody, eve
\end{verbatim}
\end{quote}

The ``c'' flag means that the meeting has changed so that it contains new
unread transactions.

\subsection{Adding and reading meetings}

The cursor should be next to \meeting{New\_Meetings}.  Aside from being
able to move the cursor with the cursor keys or mouse, you can use the
keys \user{n} to move to the next changed meeting and \user{p} to move
to the previous changed meeting; as normal, \user{Ctrl-n} moves to the
next line and \user{Ctrl-p} moves to the previous line.

To attend the \meeting{New\_Meetings} meeting, simply move the cursor
next to \meeting{New\_Meetings} and type \user{g} to ``goto'' the meeting.
The status line will display that the buffer has changed to the
{\bf *New\_Meetings meeting*} and will list the number of your current
transaction followed by the total number of transactions in the meeting.
The main window will show the current transaction.

Similar to when the meetings list was displayed, you can use the keys \user{n}
to move to the next transaction and \user{p} to move to the previous
transaction.  Also, \user{Meta-n} will move to the next transaction in
the current chain and \user{Meta-p} will move to the previous transaction
in the current chain; chains group transactions by subject.  These latter
commands allow you to take advantage of the chaining structure of \Discuss\
and more readily follow the topic of conversation.  Unlike the
\client{discuss} client, \client{edsc} is unable to list ranges of
transactions.

The typical way to add new meetings is to go to \meeting{New\_Meetings}
and then use the keys \user{n} and \user{p} to view transactions.  At
a meeting you are interested in adding, press \user{a}; this will
automatically add the meeting in the current announcement to your
personal list.  Pressing \user{l} will then list all your new meetings.

\subsection{Saying something}

Mentioned above is the idea of chains, sets of transactions having the
same subject and forming part of a continuing conversation.  When you
enter a new transaction into a \Discuss\ meeting, you have the choice of
starting a new chain or adding onto an existing chain.  To start a new
chain while in a meeting, press \user{t} for ``talk''; you may then
enter the subject and body of your message.  To reply to an already
existing transaction, press \user{r}; replying will complete the subject
field for you by prepending ``Re:'' to the old subject.  After pressing
\user{r}, the emacs window will split to display the current transaction
in the upper half and to allow you to enter your reply in the bottom half.
  
After you enter the text of your transaction, which can be editted in
normal {\bf emacs} fashion, type \user{Ctrl-c Ctrl-c} (yes, twice) to
send it to \Discuss\ to be placed in the meeting.  If instead you decide
not to enter the transaction, typing \user{Ctrl-c Ctrl-]} (right bracket)
will cancel your message without putting it in the meeting.

\subsection{Summary of useful commands}

To get \client{edsc} to display a help buffer listing available commands,
press \user{Ctrl-h m}.  With the cursor in the help buffer, you can page
up and down its contents with \user{Meta-v} and \user{Ctrl-v}.  With the
cursor back in the \Discuss\ buffer, pressing \user{Ctrl-x 1} will hide
the help buffer and return the window to the original single \Discuss\
buffer.  If you lose the \Discuss\ buffer among other ones, simply entering
\user{Meta-x discuss} will return to where you left off.  There are
separate help buffers for the meetings listing and for inside a meeting,
as different commands are available in each.  Pressing \user{Ctrl-h m} will
automatically provide the appropriate help.

Here is a short summary of the more common commands used at the meetings
list:\footnote{The behavior of the spacebar can be modified so that it
automagically ``does the right thing'':  pressing spacebar can enter the
next changed meeting, page through to the end of a transaction, and continue
to the next transaction; pressing delete would have the opposite effect.  To
get this behavior, place \user{(setq discuss-DWIM t)} in your {\bf .emacs}
file.  ``DWIM'' stands for ``Do What I Mean''.  Alternately, you can press
\user{Escape Escape spacebar} (twice, not the Meta key), then at the ``Eval:''
prompt enter \user{(setq discuss-DWIM t)} to have the same effect.  To return
to the default behavior, remove the line from your {\bf .emacs} file or
press \user{Escape Escape spacebar} and enter \user{(setq discuss-DWIM nil)}.
This feature is recommended mostly for people who feel comfortable with
the more arcane features of {\bf emacs}.}
% List format for help summary:  centered on dashes, labels in boldface.
\begin{list}{}%
	{\setlength{\labelwidth}{30mm}%
	\setlength{\leftmargin}{35mm}%
	\renewcommand{\makelabel}[1]{{\hfil \bf #1} ---}}
\setlength{\parskip}{-1.5mm} % Prevent double-spacing between items
\item[n, spacebar]  Go to the next meeting that has unread transactions.
\item[p, delete]    Go to the previous meeting that has unread transactions.
\item[Ctrl-n]	Go to the next line in the listing.
\item[Ctrl-p]	Go to the previous line in the listing.
\item[l]	List all meetings attended.
\item[g]	Go to the meeting by the cursor.
\item[a]	Add meeting; host and pathname will be requested.
\item[d]	Delete meeting; verification will be requested.
\item[c]	Catch up; mark all transactions in the meeting as read.
\item[q]	Quit \Discuss\ mode.
\end{list}

Here is a short summary of the common commands used from within a meeting:
\begin{list}{}%
	{\setlength{\labelwidth}{30mm}%
	\setlength{\leftmargin}{35mm}%
	\renewcommand{\makelabel}[1]{{\hfil \bf #1} ---}}
\setlength{\parskip}{-1.5mm} % Prevent double-spacing between items
\item[spacebar]	Scroll to next screen of this transaction.
\item[delete]	Scroll to previous screen of this transaction.
\item[n]	Move to Next transaction in meeting.
\item[p]	Move to Previous transaction in meeting.
\item[Meta-n]	Move to Next transaction in chain.
\item[Meta-p]	Move to Previous transaction in chain.
\font\gross=ambi10 %%% Kludge brought to you by bert to get bold characters
\item[{\gross\char'076}] Move to Last transaction in meeting.
\item[{\gross\char'074}] Move to First transaction in meeting.
\item[g]	Goto transaction number specified.
\item[t]	Talk; enter a new transaction.
\item[r]	Reply to current transaction.
\item[f]	Forward this transaction via mail.
\item[c]	Catch up.  Mark all transactions in this meeting as read.
\item[l]	Mark transaction as highest-seen and leave meeting.
\item[d]	Delete transaction, and move forward.
\item[Ctrl-d]	Delete transaction, and move backward.
\item[R]	Retrieve a deleted transaction.
\item[a]	Add meeting.
\item[q]	Quit meeting.
\end{list}

In addition, pressing \user{Ctrl-h k {\em key}} will give a description of
the function of {\em key}.

\section{Using \client{xdsc}}
% Much of this section was taken directly from the xdsc man page
% written by Andy Oakland <sao@athena> who has granted permission
% to use the material.

The \client{xdsc} program provides a window-oriented user-friendly interface
to the \Discuss\ system.\footnote{\client{xdsc} currently uses an
\client{edsc} co-process which does the actual communication with
\Discuss.  By default, \client{xdsc} runs {\bf /usr/athena/etc/edsc}.
If you want to use a different {\bf edsc}, set the environment variable
{\bf EDSC} to its full pathname.}  Much of the below is derived from the
\client{xdsc} manual page.  To see this helpful information, enter
\user{man xdsc} at your \prompt prompt.

\subsection{Getting started}
To start \client{xdsc}, you need to be using a workstation running the
{\bf X} window system.  At a public Athena workstation, enter the command
\user{xdsc \&} at your \prompt prompt; the ampersand lets \client{xdsc}
run in the background, freeing your {\bf xterm} to do other work.  When
the window outline appears, move the window where you want it to be placed
and click on a mouse button to set it down.

\subsection{Basic screen layout}

You will see that \client{xdsc} displays a single window, divided into five
areas:
\begin{enumerate}
\item A row of eight buttons, some with pull-down command menus.

\item A text window containing a listing of the meetings which the user 
attends.  This window can be also used to display a listing of the 
transactions within a single meeting.

\item A single line of text displaying the current status.

\item A row of seven buttons, some with pull-down command menus.

\item A second text window, used to show the text of the current transaction.
\end{enumerate}

Also, an assortment of popup windows will appear as necessary.  These are
intended to be self-explanatory.

The three middle lines separating the regions have a small square near their
right end.  By clicking on and dragging these squares with the mouse, you can 
adjust the relative sizes of the text panes.

\subsection{How to use \client{xdsc}}

This section will provide an introduction on how to use \client{xdsc}.  It
explains how to read transactions, how to add and delete meetings from the
list of meetings you attend, and how to enter transactions of your own.
Each \client{xdsc} command button is explained.

\subsubsection{Upper text pane}
The upper text pane initially contains a listing of the
meetings you attend.  The current meeting, i.e., the one
from which you are reading transactions, will have a plus
sign (``+'') next to it.  To change meetings, you can either
double-click on a meeting's line with the first mouse button, or
use the \button{Up} and \button{Down} buttons or the arrow keys as described
below.  If this is the first time you have used \Discuss\ in any form,
only two meetings will be listed, namely \meeting{New\_Meetings} and
\meeting{Everybody}.  The former is for announcements of new meetings,
and the latter is for random announcements, questions, and anything else 
that may be of general interest.  You can use the configure button,
as described below, to add more meetings.

Changed meetings, those with new unread transactions, will
have a ``c'' next to their name.

This window can also be used, via the \button{mode} button, to show a
list of transactions within the current meeting.  In this mode,
double-clicking on a transaction's line with the first mouse button
will cause the transaction's text to be displayed in the lower window.

\subsubsection{Upper control area}
The upper control area contains commands of a global nature:

\begin{description}
\setlength{\parskip}{0mm} % Prevent double-spacing between items
\item[\button{Down}] Moves the current meeting to the next one with unread
transactions.  If there is no such meeting, a warning popup will appear.

\item[\button{Up}] Moves the current meeting to the previous one with unread
transactions.  If there is no such meeting, a warning popup will appear.

\item[\button{update}] Queries \Discuss\ for an updated meetings list.  The
new list will reflect any transactions which may
have been entered since the last update, as well as any
changes you may have made to the list of meetings you attend.

\item[\button{configure}]
Pops up a menu with two entries:  \button{add meeting} and
\button{delete meeting}.  These are used to modify the list
of meetings you attend.  Selecting one of these
items will pop up a dialog box with fields to complete.
These fields may be cryptic to the novice, but
fear not:  if the current transaction is the
announcement of a new meeting, the fields will
already be filled in, and the user need only confirm
the action by pressing the \button{Add} or \button{Delete} button at
the bottom of the dialog box.

The typical way to add new meetings is to enter \meeting{New\_Meetings}
and select the transaction mode (described below).  Then use the cursor
keys to move through the transactions, pressing \user{Return} to display a
meeting announcement, and then using \button{add meeting} within the
\button{configure} menu to approve the addition.

You will need to press update before these new meetings will appear
in your list of meetings.

\item[\button{mode}] Pops up a menu with two entries:  \button{transactions}
and \button{meetings}.  Selecting either of these makes the upper
window display either a list of transactions in the
current meeting or a list of meetings attended, as
appropriate.  Note that while in ``transactions''
mode, you cannot move between meetings.

\item[\button{show}] This button is only active while in transactions
mode, as it controls which transactions are listed.
It pops up a menu with three entries:  \button{unread}, \button{all},
and \button{back ten}.  \button{unread} causes the unread transactions
to be listed.  \button{all} summons up a list of all transactions in
the meeting (Warning:  this can take a while!).  Finally, \button{back
ten} adds the ten immediately previous transactions to the top of the
list, and is usually used for searching backwards for a recent transaction.

\item[\button{HELP}] Displays a screen of help, briefly explaining what
the buttons currently on the screen do.  To get rid
of this screen, press the \button{dismiss} button at its bottom.

\item[\button{QUIT}] Exits the application.
\end{description}

\subsubsection{Status line}

The status line briefly summarizes what \client{xdsc} is doing at the
moment.  It typically lists the current meeting, the range
of transaction numbers within this meeting, and the current
meeting number.  This line is also used for status messages
when \client{xdsc} is doing something which may take a while, such as
reading the headers for all the transactions in the \meeting{Everybody}
meeting.

\subsubsection{Lower text pane}
The lower text pane contains the text of the current transaction,
or is blank if there is no current transaction.

\subsubsection{Lower control area}
The lower control area contains commands which operate on
the current transaction or meeting.

\begin{description}
\setlength{\parskip}{0mm} % Prevent double-spacing between items
\item[\button{next}] Moves to the next transaction in the current meeting.

\item[\button{prev}] Moves to the previous transaction in the current meeting.

\item[\button{Next in chain}]
Moves to the next transaction in the same chain as the current transaction.

\item[\button{Prev in chain}]
Moves to the previous transaction in the same chain as the current transaction.

\item[\button{goto}] Pops up a three-entry menu used for moving to specific
transactions.  Selecting \button{number} pops up a dialog box prompting you
for a specific transaction number to view.  Selecting \button{first} or
\button{last} moves to the start or the end of the current meeting,
respectively.  Selecting \button{start of chain} or \button{end of chain}
moves to the first or the last transaction in the current chain, respectively.

\item[\button{enter}] Used for entering a transaction in the current meeting.  It pops
up a menu with two entries, \button{reply} and \button{new transaction}.
Selecting \button{reply} will add the transaction to the chain of the current
transaction, while \button{new} will start a chain on a new subject.

After you select one of these entries, a dialog box will appear with a subject
line and a text widget.  For replies, the subject line will have a default
already filled in, while new transactions will have a blank subject line
which the user should fill in.  The text widget is a standard Athena text
widget, where you can use {\bf emacs} commands to enter the body of your
transaction.

When done entering the body of your transaction, press the \button{Send}
button to enter the transaction into the meeting.  Press \button{Abort}
if you decide not to send the transaction.

\item[\button{write}] Used for writing the current transaction to a file.  It pops
up a dialog box where the user can enter a file name, and pressing the
\button{Write} button causes the transaction to be saved to this
file.\footnote{The greyed out \button{mail to someone} button is
a feature that has not yet been implemented.}
\end{description}

\subsection{Keyboard equivalents}
\client{xdsc} has been designed to minimize dependence on a mouse.
Nearly every function can be accessed with one or two keystrokes,
and the user's hands almost never need to leave the keyboard.  The
keyboard equivalent for any button is always the first letter of its
label, and hitting this key has exactly the same action as pressing the
button itself.  Note that uppercase and lowercase letters can be distinct.

For example, the lowercase \user{n} and \user{p} keys are synonyms for the
\button{next} and \button{prev} buttons, for going to the next and
previous transactions, while uppercase \user{N} and \user{P} stand for
\button{Next-in-chain} and \button{Prev-in-chain}, respectively.

If a button triggers a menu, the menu will appear and take focus.  Hitting
a key corresponding to the first letter of a menu entry will fire off that
entry and pop down the menu.  Any key which does not match a menu entry
will abort the menu and pop it down without any action.

When a simple popup dialog box appears, such as \button{goto-number},
pressing \user{Return} will make it do its default action.  You can
abort a dialog box by pressing the \user{Escape} key.  For complex dialog
boxes, i.e., those with more than one text field, \user{Return}
moves focus between the text fields and \user{Ctrl-Return} makes
it do its default action.

The arrow keys can be used to move the text caret up and
down in the upper text window.  Pressing \user{Return} then reads
whatever meeting or transaction the caret is sitting on.

Finally, in a way similar to {\bf rn}, the space bar is bound to
``do the right thing''.  If the user is reading a transaction,
the space bar will scroll one page down.  If at the end of a
transaction, it moves to the next transaction, and if at the
end of a meeting, it moves to the next changed meeting.  If
there are no further transactions to read, it does nothing.
The \user{Delete} key performs the opposite functions.

%
% This section was written by Richard Barbalace, but it was decided that
% the xdiscuss client is not yet useful enough to merit a section.  It is
% left here to provide a foundation for an additional section in case the
% xdiscuss client is improved.
%
%\section{Using \client{xdiscuss}}
%
%The \client{xdiscuss} program provides a window-oriented user interface
%to the \Discuss\ system, but in a more limited (and perhaps less
%``user-friendly'') manner than \client{xdsc}.  To start \client{xdiscuss},
%you need to be using a workstation running the {\bf X} window system.  At
%a public Athena workstation, enter \user{add sipb} at your \prompt prompt;
%this is necessary because \client{xdiscuss} resides in the sipb locker.
%Then  enter the \user{xdiscuss \&} at your prompt; the ``\&'' lets
%\client{xdiscuss} run in the background, freeing your {\bf xterm} to do
%other work.  When the window outline appears, move the window where you
%want it to be placed and click on a mouse button to set it down.
%
%Currently, \client{xdiscuss} has no help facilities and no manual page.
%
%\subsection{Primary window}
%
%You will see that \client{xdiscuss} displays a single window, divided into
%four areas:
%\begin{enumerate}
%\item A top control line with two buttons.
%
%\item A title line which states the applications name and version.
%
%\item A list of meetings which may scroll off the bottom of the window.
%
%\item A scrollbar which works similar to an xterm scrollbar to move through
%the meetings list.
%\end{enumerate}
%
%In this window, only the mouse has any control; typing at the keyboard
%has no effect.  The control line and meetings list are described below.
%
%\subsubsection{Control line}
%The top control line contains two buttons:  \button{check meetings} and
%\button{quit}.  
%
%The \button{check meetings} button will query \Discuss\ for an updated
%meeting list.  The new list will reflect any transactions which may have
%been entered since the last update, as well as any changes you may have
%made to the meetings you attend.
%
%The \button{quit} button will cause \client{xdiscuss} and all its child
%windows to exit.
%
%\subsubsection{List of meetings}
%
%You may click on the scroll bar to move through your meetings.  Clicking
%on a meeting enters it, and pops up another window which you may set with
%the mouse.  In this new window, transactions can be read and entered.
%
%\subsection{Meetings window}
%
%The meetings window that is brought up when you select a meeting is divided
%into two main sections:  an upper control area and a lower text area.
%The lower text area displays the current transaction beginning with its
%subject line.  A scrollbar enables you to move down the message.
%The upper control area has several lines for manipulating meetings.
%\begin{enumerate}
%\item The top line of the control area has four buttons for viewing
%transactions in the current meeting:
%\begin{description}
%\setlength{\parskip}{0mm} % Prevent double-spacing between items
%\item[Previous] Moves to the previous transaction in the current meeting.
%\item[Next] Moves to the next transaction in the current meeting.
%\item[First] Moves to the first transaction in the current meeting.
%\item[Last] Moves to the last transaction in the current meeting.
%\end{description}
%
%\item The second line is identical to the first, except that it views
%transactions only in the current chain, that is, those that are part of
%a single conversation all having the same subject.
%
%\item The third line has four more buttons:
%\begin{description}
%\setlength{\parskip}{0mm} % Prevent double-spacing between items
%\item[enter new transaction] Brings up a window for starting a new chain.
%\item[reply] Brings up a window for replying to a previous transaction,
%continuing its old chain.
%\item[quit meeting] Closes the meetings window and leaves the meeting.
%\item[abort window] Identical to the \button{quit meeting} button.
%\end{description}
%
%\item The fourth line states the meeting name and its range of transactions.
%
%\item The fifth line, which may be blank, displays error messages.
%
%\item The sixth line displays the author of the current transaction, the
%transaction number, its date and time, and number of lines.
%
%\item The final line of the control area contains two buttons \button{flagged}
%and \button{not flagged} which give error messages in the fifth line.
%\end{enumerate}
%
%\subsection{New transaction window}
%
%Both the \button{enter new transaction} and the \button{reply} buttons
%will bring up another window when clicked.  Replying will automatically
%complete the subject line while entering a new transaction will request
%a subject.  After entering your message, end with a \user{Control-D} or
%a \user{.} on a line by itself.  This works the same as in \client{discuss},
%except that if you make a mistake you have no easy way of recovering from it.
%
%The \client{xdiscuss} program will try to bring up a new window each time
%you click on a meeting or on the \button{enter new transaction} and the
%\button{reply} buttons.  This ``feature'' of bringing up multiple windows
%is not generally useful, so you should avoid randomly clicking at things.
%Further, the only way to close a new transaction window without entering a
%transaction is to quit \client{xdiscuss}.  These characteristics and other
%limitations make most users work with one of the other \Discuss\ clients.

\section{Finding Interesting Meetings}

So you're all set to become addicted to \Discuss, but you only have two
meetings.  Here's how to find perhaps dozens of meetings to occupy your time.

\subsection{Where to look}

Perhaps the best way to find meetings that interest you is to read through
all the transactions in the \meeting{New\_Meetings} meeting.  The
transactions in \meeting{New\_Meetings} can be used to add those meetings
you wish to attend to your personal list of meetings.  Spending time browsing
through \meeting{New\_Meetings} can prove to be worth the effort.  Another
way to learn of interesting meetings is to find out from your friends which
ones they attend.

\subsection{Some existing meetings}

Several popular and long-running meetings are listed below, each with a
brief description of the topics typically found in them.  The number in
brackets corresponds to the transaction number of the meeting anouncement
in \meeting{New\_Meetings} which you can use to add the meeting.  Several
of these meetings are set up to be the recipients of one or more mailing
lists.  Such lists are generally set up as read-only; if you wish to reply,
then you should send to the mailing list.  Reading these archived lists in
\Discuss\ allows one to decrease the amount of mail received and to save disk
space.  The two meetings \meeting{New\_Meetings} and \meeting{Everybody} that
are created in the default {\bf .meetings} file are ones you will most likely
want to keep.

\begin{description}
\setlength{\parskip}{0mm} % Prevent double-spacing between items
\item[New\_Meetings, new\_meetings] --- Announcements of new meetings,
and a good place to find the meetings you want to attend.

\item[Everybody, eve] --- Talk and flamage on topics of general interest.

\item[Central\_America, ca] [0163] --- An offshoot of a previous version called
\meeting{Panama}.  Each primary transaction contains all the {\bf .plan} files
that have been changed since the previous day.  Some of these start some
interesting chains.

\item[Quotes\_Misquotes\ldots, quotes] [0080] --- A collection of funny,
embarrassing, witty, or out-of-context quotes made by various people.

\item[Professors\_Quote\_Board, pqb] [0143] --- Similar to \meeting{quotes},
but reserved for quotes made by professors and other instructors.

\item[mit.bboard] [0411] --- Recipient of the newsgroup ``mit.board'', a
bulletin board for public announcements, lost \& found, for-sale notices, etc.

\item[Athena\_MSGS, msgs] [0105] --- Recipient of the ``usermsgs'' maillist.

\item[Compact\_Disc, cd] [0148] --- Recipient of the ``cd'' maillist for
discussion and bartering of cd's.

\item[Science Fiction \& Fantasy, sff] [0256] --- Chat about sci-fi and fantasy
books and their authors.

\item[Depressing\_Thoughts, coatrack] [0166] --- A ``coatrack'' on which to
leave one's problems, take those worries off one's chest, and sigh.

\item[Cheery\_Thoughts, ping] [0329]--- An alternative to \meeting{coatrack}
for optimists and others to express the nice things in life.  Also look
for \meeting{Amusing\_Thoughts}, \meeting{Scary\_Thoughts},
\meeting{Bogus\_Thoughts}, \meeting{Flaming\_Thoughts},
\meeting{Other\_Thoughts}, and more.

\item[Discuss\_development, discuss] [0106] --- For discussion (pun intended)
of the development of \Discuss, mention of bugs discovered, changes introduced.
\end{description}

\subsection{Your .meetings file}

As stated in the introduction, \Discuss\ does not keep a central list
of all \Discuss\ meetings. Instead, it maintains a personal list for
each user of the meetings that they attend.  This list contains the
information needed by the client programs to access the meetings stored
on \Discuss\ servers, including the host and pathnames to each meeting.
To specify a meeting you can use the meeting name, or your own abbreviation.
All this information is stored in a file called {\bf .meetings} in your
home directory.  Without this file, \Discuss\ will not be able to locate
the meetings you attend.

You can change the name and/or location of this file by setting the
environment variable {\bf MEETINGS} to indicate its new pathname.\footnote{To
set an environment variable, place a line such as \user{setenv MEETINGS
/mit/username/meetings\_file} in your {\bf .environment} file; if you do not
have a {\bf .environment} file, you can create one with {\bf emacs} or
another editor.}  This file is deleted and re-created by \Discuss\ in
the process of updating the information in it, so that a system crash
or program interruption will not cause a loss of data.\footnote{Since
the meetings file is deleted during each update, however, you should
not set it up to refer to a symbolic link, because the link will simply
be removed.}

The {\bf .meetings} file contains one line for each meeting you attend,
each line being divided into six fields partitioned by colons:
\begin{enumerate}
\setlength{\parskip}{-2mm} % Prevent double-spacing between items
\item Determines what flags are set, ``changed'' being the most common flag.
\item Time the meeting was last visited or changed.
\item Number of the highest transaction seen.
\item Host on which the meeting is stored.
\item Pathname of the meeting on its host.
\item Names and abbreviations for the meeting, separated by commas.
\end{enumerate}
These fields are re-created each time you use \Discuss, and generally you
will have no need to edit them directly.  However, you may wish to change
or add your own abbreviations for meetings' names, which can be done using
{\bf emacs} or another editor.

If---when you start a \Discuss\ client or try listing your meetings---you
get an error such as ``Invalid format in meetings file'' or ``Can't get
list of meetings'' or (in \client{xdsc}) ``Segmentation fault'', then
there is probably an error in your {\bf .meetings} file.  Look through
it for illegal numbers, misentered paths, and blank lines.

\section{Chains}

In the \Discuss\ logo pictured on the cover, the letters are linked together
by chains.  A ``chain'' is a set of transactions linked together by the
same subject.

When a user enters a new transaction into a \Discuss\ meeting, the user has
the choice of starting a new chain or adding onto an existing chain.
The ``talk'' command will prompt the user for a subject, and will enter
the transaction as the start of a new chain.  The ``reply'' command
takes an already existing transaction, and adds the new transaction
onto the old transaction's chain.  The subject of this new transaction
is formed by prepending ``Re:'' to the old subject.  So a transaction
chain roughly corresponds to a single conversation within the meeting.

\Discuss\ provides commands that allow you to take advantage of the
chaining structure.  When \Discuss\ prints a transaction, it displays
the pref (previous reference) and nref (next reference) of that
transaction.  These are the previous and next transactions within the
chain, respectively.  By using these numbers, or taking advantage of
the ``pref'' and ``nref'' transaction specifiers, you can travel through
the chain and follow the particular conversation.  Other chain-related
transaction specifiers are ``fref'' and ``lref'', which refer to the
beginning and end of the chain.  Although the various clients have
different names for these chaining commands, they all allow for such
actions.

\section{Searching with \client{dsgrep}}

The other day you saw some transaction about that seminar you wanted
to attend, but you forget the room number.  Or you can't quite remember what
Prof. Mattuck said last week to cause his class to break into laughter.
How can you search through the dozens of transactions since then and
find the one you want?  To search \Discuss\ meetings for a key word or
regular expression, you can enter the {\bf dsgrep} command at your \prompt
prompt.  This command will print either the title or the contents of matching
transactions.  For example:

\begin{quote}
\begin{verbatim}
athena% dsgrep -e gluco -a -p -i -n 100 pqb
pqb [518]: prof. brown  7.05
"Alpha-D-Glucopyranosyl-(1-4)-Beta-D-Glucopyranose"
"...it is clear, since this is a real compound, that no one would want
to say that..."
*** End of Transaction ***
athena%
\end{verbatim}
\end{quote}

The options on the command line search the titles and bodies of the last
hundred transactions in \meeting{Professors\_Quote\_Board}, ignoring
upper/lowercase, for ``gluco'' and print all matching transactions.  The
\client{dsgrep} program has its own manual page describing its use and
other options which you can read by entering {\bf man dsgrep} at your
\prompt prompt.

\section{Access Control}

\subsection{Kerberos and \Discuss}

This document is not intended to go into the details of Kerberos;
it only explains what you need to do in order to use \Discuss.
Basically you need to be registered with Kerberos, and each
time you login you need to be ``authenticated'' by getting a set of
``tickets''.  The procedure for this is explained below.

\begin{itemize}
\item On Athena, you have a Kerberos password if you are
able to login to an Athena workstation.  You will get Kerberos tickets
automatically when you login.

\item If you login to a non-Athena timesharing system to use \Discuss, run
{\bf kinit} before using \Discuss\ (it will ask for your username and
password), and {\bf kdestroy} after you are finished.  It's not a bad idea
to put {\bf kdestroy -f} in your {\bf .logout} file.  If {\bf kinit} fails,
contact your Kerberos administrator.  At LCS, this is Greg Troxel (username
{\bf gdt@lcs.mit.edu}).
\end{itemize}

If you do not get Kerberos tickets by doing one of the above, you will
probably get error messages from \Discuss\ mentioning ``Kerberos''
(such as ``Can't read Kerberos ticket file''), and will be treated as
an anonymous user by \Discuss, except for meetings on your local
machine.  If you have Kerberos tickets you will be treated as a
Kerberos-authenticated user.

\subsection{Possible access modes}

The access modes that can be granted to a user are the
following:

\begin{description}
\setlength{\parskip}{0mm} % Prevent double-spacing between items
\item[A: answer] --- User can enter replies to existing transactions.
Without ``own'' access, however, he will not be able to delete his own
transactions.

\item[C: chairman] --- Allows the user to modify the access list; this
grants the user (indirectly) any access modes he desires.

\item[D: delete] --- User can delete and retrieve transactions.

\item[O: own] --- User can read, delete, and retrieve his own submissions
to the meeting, i.e., those he entered.

\item[R: read] --- User can read any (non-deleted) transaction in the
meeting.

\item[S: status] --- User can retrieve certain information about the
meeting, such as the number of transactions or access control list.

\item[W: write] --- User may start new transaction chains in the meeting.
Without ``own'' access, however, he will not be able to delete his
transactions.

\end{description}

\subsection{Chairman access}

The chairman or chairpersons of a meeting can modify the access control
list; they therefore can decide who can do what within the meeting.
Chairman access does not automatically bypass the other access control
terms; thus a chairman can give himself ``acorsw'' access (add,
chairman, own, read, status, and write, but not delete) to prevent
himself from accidentally deleting a transaction, although he can
explicitly change the access to permit himself to do so.

\subsection{Anonymous transactions}

Sometimes a transaction will be entered as being from user ``???''.
This means that the authentication (discussed above) failed:
the \Discuss\ server had no proof of the user's identity.  The ``???''
userid can appear in the access control list, and can be given restricted
access; thus, a meeting can be set up to allow an unauthenticated
user to read, but require authentication for entering transactions.

\section{More Help}

Look in sections 2.6 and 3.4 for summaries of useful commands in
\client{discuss} and \client{edsc}.

\subsection{Help files}

\Discuss\ provides its own help facility:  there is an equivalent of
a manual page for each command within \Discuss, and also for ``access''
and ``specifiers''.  In \client{discuss}, enter \user{help foo} for
information on command or topic ``foo''.  Manual pages are available
for \client{discuss} and \client{xdsc} by entering \user{man discuss}
and \user{man xdsc}, respectively.  In \client{edsc}, pressing
\user{?} or \user{Ctrl-h m} will give a short summary of commands.

\subsection{Who to gripe to\ldots}
If you wish to report bugs in the Athena release, please send mail to
\meeting{bugs@athena.mit.edu}; you may wish to use the \user{sendbug}
command at your \prompt prompt to do this.  If you have complaints,
suggestions, or any other comments concerning the workings of \Discuss,
please enter them into the \meeting{Discuss\_development} meeting, or
send them via electronic mail to \meeting{discussers@athena.mit.edu}.
Also feel free to stop by the SIPB office (W20-557, x3-7788) to ask questions.

\newpage
\section{Acknowledgements}

\Discuss\ is a project started by Bill Sommerfeld, Ken Raeburn, and Stan
Zanarotti of the Student Information Processing Board (SIPB) at MIT.
It grew out of an interest in developing a networked version of Forum,
the electronic conferencing system on Multics.  Multics Forum was
originally written by Jay Pattin, J. Spencer Love, and Jeff Schiller,
all SIPB members.  Stan had also developed a previous conferencing system
on VAX/VMS that was named DISCUSS.  \Discuss\ borrowed many ideas from
these older systems.

\Discuss\ has received generous support from three departments at MIT:
the Laboratory for Computer Science, Project Athena, and Information
Systems.  They allowed the above individuals to spend time on
the project, in hopes of a usable system.  Other SIPB members have
contributed to \Discuss, notably Robert French and Ted T'so.  Andy Oakland
of DCNS deserves credit for writing the \client{xdsc} client and providing
its man page from which parts of this document were written.  Lucien W. Van
Elsen also deserves credit for writing the \client{dsgrep} program.

On Athena, over 32,000 transactions (not even including mail feeds) have
been entered in more than 200 \Discuss\ meetings.  A warm thank you goes
out to all users who have made \Discuss\ a successful system.

\end{document}
