5 The Rand MH Message Handling System:
9 The UCI BBoards Facility
14 Wed May 21 21:03:57 PDT 1986
21 This document discusses how to process BBoards using the
23 Rand MH system. In particular, this guide discusses: check-
25 ing the status of a BBoard, viewing new messages, archive
27 handling, composing mail destined for a BBoard, and reply-
29 ing to a message posted to a BBoard.
32 Although this document is based on the standard MH
34 user manual[MH], this document is meant to supplement, not
36 supersede, that lengthier work.
39 Comments concerning this documentation should be ad-
41 dressed to the Internet mailbox Bug-MH@ICS.UCI.EDU.
45 _____________________________________
46 y Computer Mail: MRose@NRTC.NORTHROP.COM.
49 The Rand MH Message Handling System:
53 The UCI BBoards Facility
59 The MH system described herein is based on the original Rand MH system.
61 It has been extensively developed (perhaps too much so) by Marshall Rose and
63 John Romine at the University of California, Irvine. Einar Stefferud, Jerry Sweet,
65 and Terry Domae provided numerous suggestions to improve the UCI version of
70 In particular, the UCI BBoards facility, which was suggested by Einar
72 Stefferud, has been in place at the University of California, Irvine (in one form or
74 another) for the last two and one-half years. The UCI BBoards facilities runs under
76 both MMDF and SendMail, and, in a more restricted form, under stand-alone MH.
82 The Regents of the University of California wish to make it known that:
86 "Although each program has been tested by its contributor, no warranty, express or
87 implied, is made by the contributor or the University of California, as to the accuracy
88 and functioning of the program and related program material, nor shall the fact of
89 distribution constitute any such warranty, and no responsibility is assumed by the
90 contributor or the University of California in connection herewith."
96 This document explains how to use the UCI BBoards facility to a user
98 familiar with MH and the UNIX1 operating system in general. A large degree of
100 expertise is not assumed. This document does not attempt to introduce MH to the
102 novice user (for that task, consult the MH tutorial known as [MH.TUT]). Additional
104 information on the programs discussed here (particularly bbc) is to be found in
110 _____________________________________
111 1 UNIX is a trademark of AT&T Bell Laboratories.
121 In this document, certain TEX-formatting conventions are adhered to:
124 1. The names of UNIX commands, such as comp, are presented in text
129 2. Arguments to programs, such as `msgs' , are presented in typewriter
131 style and delimited by single-quotes.
134 3. UNIX pathnames and envariables, such as /usr/uci/ and $ SIGNATURE ,
136 are presented in slanted roman.
139 4. Text presenting an example, such as
145 is presented in typewriter style.
151 MH is a very powerful message handling system that runs under the UNIX
153 operating system. One of the many features which MH offers is an interface to
155 the UCI BBoards facility. This facility permits the efficient distribution of interest
157 group messages on a single host, a group of hosts under a single administration,
159 and the ARPA Internet community.
162 Described simply, a interest group is composed of a number of subscribers
164 with a common interest. These subscribers post mail to a single address, known
166 as a distribution address. From this distribution address, a copy of the message
168 is sent to each subscriber. Each group has a moderator, which is the person that
170 runs the the group. This moderator can usually be reached at a special address,
172 known as a request address. Usually, the responsibilities of the moderator are quite
174 simple, since the mail system handles the distribution to subscribers automatically.
176 In some cases, the interest group, instead of being distributed directly to its
178 subscribers, is put into a digest format by the moderator and then sent to the
180 subscribers. Although this requires more work on the part of the moderator, such
182 groups tend to be better organized.
185 Unfortunately, there are a few problems with the scheme outlined above.
187 First, if two users on the same host subscribe to the same interest group, two copies
189 of the message get delivered. This is wasteful of both processor and disk resources.
192 Second, some of these groups carry a lot of traffic. Although subscription
194 to an group does indicate interest on the part of a subscriber, it is usually not
196 interesting to get 50 messages or so delivered to the user's private maildrop each
198 day, interspersed with personal mail, that is likely to be of a much more important
204 Third, if a subscriber on the distribution list for a group becomes "bad"
206 somehow, the originator of the message and not the moderator of the group is
208 notified. It is not uncommon for a large list to have 10 or so bogus addresses
210 present. This results in the originator being flooded with "error messages" from
212 mailers across the ARPA Internet stating that a given address on the list was bad.
214 Needless to say, the originator usually could not care less if the bogus addresses
216 got a copy of the message or not. The originator is merely interested in posting a
218 message to the group at large. Furthermore, the moderator of the group does care
220 if there are bogus addresses on the list, but ironically does not receive notification.
223 To solve all of these problems, the UCI BBoards facility introduces a new
225 entity into the picture: all interest group mail is handled by a special component of
227 the mail system. The distribution address maps to a special channel that performs
229 several actions. First, if local delivery is to be performed, then a copy of the
231 message is placed in a global maildrop for the interest group with a timestamp
233 and a unique number. Local users can read messages posted for the interest group
235 by reading the file. Second, if further distribution is to take place, a copy of
237 the message is sent to the distribution address in such a way that if any of the
239 addresses are bogus, the failure notice is sent to the maintainer of the group and
244 This scheme has several advantages: First, messages delivered to the host
246 are processed and saved once in a globally accessible area. The UCI BBoards
248 facility supports software which allows a user to query the interest group for
250 new messages and to read those messages in the MH-style. Second, once a host
252 subscribes to an interest group, a user can add or remove him/herself from the list
254 without contacting the moderator. Third, a hierarchical distribution scheme can
256 be constructed to further reduce the amount of message traffic. Fourth, errors are
258 prevented from propagating. When an address on the distribution list goes bad,
260 the request address immediately responsible for the address is notified. Usually,
262 this is the local PostMaster and not the group moderator.
265 In addition to solving the problems outlined above, the UCI BBoards facility
267 supports several other capabilities. BBoards may be automatically archived in
269 order to conserve disk space and reduce processing time when reading them.
272 Special alias files may be generated which allow the MH user to shorten
274 address type-in. For example, instead of sending to ``SF-Lovers@Rutgers'' ,
276 a user of MH usually sends to ``SF-Lovers'' and the MH aliasing facility
278 automatically makes the appropriate expansion in the headers of the outgoing
280 message. Hence, one need only know the name of a interest group and not its
286 Finally, the UCI BBoards facility supports private interest groups using the
288 UNIX group access mechanism. This allows a group of people on the same or
290 different machines to conduct a private discussion.
293 The practical upshot of all this is that the UCI BBoards facility automates the
295 vast majority of BBoards handling from the point of view of both the PostMaster
303 Usually the term BBoard is used interchangeably with the terms discussion
305 group and interest group. This is true of the discussion that follows.
308 The messages for a BBoard delivered locally are kept in the same format as a
310 maildrop.2 Unlike the user's private maildrop however, the inc program is not run
312 to incorporate new BBoard messages into the user's MH ``+inbox'' folder. The
314 programs which are used will be discussed momentarily.
317 Each message in a BBoard maildrop has a unique number and a timestamp.
319 The number, called the BBoard-ID, is always ascending. The BBoard-ID of a
321 message should NOT be confused with the message number of a message, which
323 can change as messages are removed from the BBoard. The BBoard-ID is a value
325 which is unique for every message delivered locally to the BBoard.
328 To read BBoards, the MH user invokes bbc. The bbc program has several
330 switches to direct it's action. The `-topics' switch to bbc tells the MH user about
332 the status of a BBoard. The `-check' switch to bbc lets the MH user check on the
334 activity of a BBoard. The `-read' switch to bbc invokes the msh program on the
336 BBoard. msh is a monolithic program which contains most of the functionality of
338 MH in a single program. These commands are now discussed in greater detail.
343 The `-topics' option to the bbc program can be used to report information
345 about a BBoard that does not pertain to the user's reading habits. If the MH users
353 then bbc will list the following information for all BBoards received on the host:
356 - the official name of the BBoard
359 - the number of messages delivered to the BBoard (but not necessarily
364 _____________________________________
365 2 Actually, your site might be running with all BBoards kept on a single host. MH supports the
367 remote access of BBoards using a modified version of the ARPA Post Office Protocol (POP). This
368 has the advantage that it saves a lot of disk space, and incurs only a modest performance penalty.
372 - the date and time of the last message delivered to the BBoard
376 In addition to `-topics' , if the `-verbose' option is given to bbc, then more
378 information is listed:
381 - any aliases the BBoard is known as
384 - the local leaders of the BBoard
387 - the file that the BBoard is locally delivered to
390 - the "global" distribution address
393 - the "global" request address
396 - the host that distributes the BBoard to the local host
399 - the addresses to which this host distributes
402 - miscellaneous information (presently only archiving status)
406 Naturally, bbc can be invoked with the `-topics' option and one or more BBoard
408 names listed on its command line. For example
411 bbc -topics unix-wizards
414 is completely acceptable _ it tells bbc to report the status of the BBoard
421 The `-check' option to the bbc program can be used to check for new BBoard
423 messages in a synchronous fashion (i.e., when you specifically ask for it). The MH
431 and bbc consults the profile entry for ``bboards:'' in the user's .mh_profile file.
433 For each BBoard listed, bbc prints one of several messages depending on the status
435 of both the BBoard and the user's reading habits (for example, in the case of the
437 mythical BBoard ``foo'' ):
440 1. ``foo -- n items unseen''
442 This message indicates items in the BBoard have not been seen by the
444 user. When bbc is invoked with the ``quiet'' switch, this is the only
446 informative message that bbc will print out. Users of MH usually put
452 in their $ HOME/.login file.
461 3. ``foo -- n items (none seen)''
463 The BBoard has n items in it, but the user hasn't seen any.
466 4. ``foo -- n items (all seen)''
468 The BBoard is non-empty, and the user has seen everything in it.
471 5. ``foo -- n items seen out of m''
473 The BBoard has at most m n items that the user has not seen.
477 It is important to note that bbc performs its calculations on BBoard-ID:s and not
479 the messages actually present in a BBoard. This means that the numbers given by
481 bbc are maximal end-points. When bbc says n, bbc means "at most n".
484 Naturally, bbc can be invoked with the `-check' option and one or more
486 BBoards listed on its command line. For example
489 bbc -check info-c poli-sci
492 is completely acceptable _ it tells bbc to check on the BBoards ``info-c'' and
497 There are two ways to check for new BBoard messages in an asynchronous
499 fashion: using the CShell variable $ mail and running the useto program.
502 Asynchronous Checking with the CShell
504 The CShell has a variable called $ mail . This variable can contain one or more
506 words. Each word should be a filename where the shell should check for new mail.
508 The check is performed after a specified time interval has elapsed just before the
510 shell would prompt the user.
513 If the first word of $ mail is a number, then this number specifies a different
515 checking interval, in seconds, than the default, which is 10 minutes.
518 Whenever the time interval elapses and the shell is ready to prompt the user,
520 the shell looks at the file and decides if new messages have arrived. If so, it says
526 if only one file is present in $ mail . Otherwise, if more than one file is present in
528 $ mail , then the shell says
534 whenever there is new mail in the file called ``foo'' .
538 To find out what file is associated with a BBoard, say ``info-unix'' , the
543 bbc -topics -verbose info-unix
546 Usually the local file for a BBoard has an extension of .mbox .
549 Asynchronous Checking with Useto
551 In contrast to using the $mail variable in the CShell, the MH user might
553 employ useto instead.3 The useto program is a continuous update display that
555 prints information on the status line of your terminal. Needless to say, your
557 terminal must support a status line in order to run useto. Not all terminals have
559 this capability, but for those that do it's usually well worth the effort to run useto.
562 For example, users of MH could put
565 useto -bepf tcp-ip sftp % D % M % d % h:% m% z% b % n.tty% t:% l1
568 in their $ HOME/.login file. This command line to useto says to inform the user of
571 - the current date and time
574 - new mail for the user
577 - new messages for the BBoards ``tcp-ip'' and ``sftp''
580 - the name of the host and tty that the user is logged in on
583 - the 5-minute load average of that host
586 The useto program is really quite amusing and useful.4
591 If bbc is not given either the `-check' or `-topics' option, the bbc program
593 reads BBoard messages. For each BBoard listed in the MH user's profile entry for
595 ``bboards:'' , bbc checks to see if there is unread mail. If so, bbc starts msh on
597 the BBoard, telling msh which messages haven't been seen.5
600 When msh starts it identifies the BBoard being read and indicates how many
602 messages are present and how many the user has read. Usually, in the user's MH
604 profile, the user has the entry
611 _____________________________________
612 3 Not all sites have useto; contact the same people who supplied MH to get a copy.
613 4 To be honest, the author considers computing environments without useto to be less than
616 5 If the `-verbose' option is given to bbc, then bbc will start msh on the BBoard regardless of
618 whether there are unseen messages there.
622 This says that when msh starts, it should print a scan listing of the messages which
624 the user hasn't seen yet.
627 The msh program now prompts the user for MH commands. The user may
629 type most of the normal MH command. The syntax and semantics of the commands
631 typed to msh are identical to their MH counterparts. For example, to reply to
633 a message on the BBoard, the MH user types ``repl'' ; other MH commands
635 likewise may be applied to BBoard messages. In cases where the nature of msh
637 would be inconsistent (e.g., specifying a `+folder' with some commands), msh
639 will duly inform the user. In addition to supporting most MH commands, msh also
641 has a ``help'' command which gives a brief overview.
644 The only command that behaves entirely differently in msh is the ``mark''
646 command when given no arguments. The msh program maintains a special
648 sequence, ``unseen'' , which it uses to keep track of the messages you've seen. If
650 the ``mark'' command is given without any arguments, then msh will interpret it
655 mark -sequence unseen -delete -nozero all
658 Hence, to discard all of the messages in the current BBoard being read, the MH
660 user types ``mark'' which says to remove all messages from sequence called
665 To leave msh use the ``quit'' command. This tells msh to terminate and
667 bbc to go to the next BBoard. Instead, if the user types EOT (usually CTRL-D),
669 then bbc will exit as well, updating whatever information was appropriate.
675 There are many, many active interest groups. Consult the BBoard called
677 ``list-of-lists'' for a comprehensive description. Here are a few of the more
682 system Important announcements for the local system are posted here.
685 mh-users A discussion group for users of MH.
688 arpanet-bboards Redistribution address for all known BBoards on the ARPAnet.
691 editor-people Discussion of topics related to computerized text editing, display
693 editors, and human factors in man/machine interaction. The theoretical
695 discussion is catholic, but practical discussion focuses particularly on
700 franz-friends Discusses the Franz Lisp language.
703 _____________________________________
704 6 Tops20 is a trademark of Digital Equipment Corporation.
708 header-people Interest specifically in the format of message headers and related issues
710 such as inter-network mail formats/standards, etc.
713 human-nets Human-Nets has discussed many topics, all of them related in some
715 way to the theme of a world-wide computer and telecommunications
717 network usually called WorldNet. The topics have ranged very widely,
719 from something like tutorials, to state of the art discussions, to rampant
721 speculation about technology and its impact.
724 info-micro Information/discussion list on the general interest topic of microcom-
729 info-unix Info-UNIX is intended for question/answer discussion, where "novice"
731 system administrators can pose questions.
734 msggroup Interest in electronic mail, message formats, message systems, and the
736 sociological implications of the above.
739 poli-sci A permanent distributed political "bull" session.
742 sf-lovers Science Fiction lovers. SF-Lovers has discussed many topics, all of them
744 related in some way to the theme of science fiction or fantasy.
747 space Discussions (daily digest) on space-related topics.
750 telecom A broad spectrum moderated-digest-format discussion on telecommu-
752 nictions technology: the telephone system, modems, and other more
754 technical aspects of telecommunications systems.
757 unix-emacs Used for new release announcements and general discussions of Gosling's
762 unix-wizards Distribution list for people maintaining machines running the UNIX
768 As discussed earlier, to find out about all of the BBoards that the local host
770 subscribes to, the MH users types
779 Finally, here are a few more operational details:
784 Contact the PostMaster at your host to have a BBoard created. Be sure to
786 indicate its status (public or private) and scope (where distribution should occur).
790 Subscribing to a BBoard
792 If your local host already receives an interest group, then simply add the
794 name of the BBoard to the ``bboards:'' entry in your MH profile. If not, ask the
796 PostMaster to create the BBoard and contact the global request address for you.
801 BBoard messages are automatically archived on a weekly basis. Usually, this
803 results in messages older than 12 days being moved to an archive area. To read
805 the archives for a BBoard, the `-archive' option is used. For example,
811 tells bbc to invoke msh on the archives for the ``telecom'' BBoard.
814 Note that the archives may not be present for all BBoards on a given host;
816 also note that the archives may be periodically moved to tape and expunged from
818 the system. Contact your local PostMaster for the details.
823 Each BBoard has associated with it 4 addresses (for example, in the case of
825 the mythical BBoard ``foo'' ):
828 foo The global distribution list
830 If you post a message addressed to foo then the message is distributed
832 to everyone who subscribes to ``foo'' .
835 dist-foo The local distribution list
837 If you post a message addressed to dist-foo then the message is
839 distributed to the local BBoard for ``foo'' and to any sites which the
841 local system distributes to.
844 foo-request The global moderator
846 If you post a message addressed to foo-request then the message is
848 sent to the moderator for the entire interest group called ``foo'' .
851 local-foo-request The local moderator
853 If you post a message addressed to local-foo-request then the
855 message is sent to the person responsible for the BBoard ``foo'' on
861 These addresses are defined by the MH alias facility. Users of the BBoards facility
863 who do not use MH may not be able to make use of them.
868 Except for special circumstances, this task is wholly automated. For more
870 information though, see the manual entries for bbl (1) and bbleaders (8).
876 Some clever MH users might ask why BBoards aren't kept as folders instead
878 of pack'd files. This is a good question. Perhaps some future release of MH and the
880 UCI BBoards facility will treat BBoards as a variant of read-only folders.
883 The problem with msh, of course, is that it's a monolithic program, and
885 although it does support input/output redirection and a few other primitive
887 shell-like properties, it's still not the CShell.
895 [MH] M.T. Rose, J.L. Romine. The Rand MH Message Handling System:
897 User's Manual. UCI Version. Department of Information and Computer
899 Science, University of California, Irvine (July, 1984).
903 [MH.TUT] M.T. Rose. The Rand MH Message Handling System: Tutorial.
905 Department of Computer and Information Sciences, University of
907 Delaware (October, 1984).
918 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
920 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
922 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
924 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
926 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
928 BBoard Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
930 BBoard status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
932 BBoard checking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
934 Asynchronous Checking with the CShell. . . . . . . . . . . . . . . . 6
936 Asynchronous Checking with Useto. . . . . . . . . . . . . . . . . . . 7
938 BBoard reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
940 Current BBoards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
942 More on BBoards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
944 Creating a BBoard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
946 Subscribing to a BBoard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
948 BBoard Archives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
950 BBoard Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
952 Leading a BBoard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
954 Extra for Experts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
956 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
960 _____________________________________
961 This document (version #2.6) was TEXset April 12, 1990 with DISS.STY v103.