2 .\" @(#)$Id: bbl.rf,v 1.5 90/04/05 15:11:17 sources Exp $
10 \%[\-verbose] \%[\-noverbose]
14 \fIbbl\fR allows a \fIBBleader\fR to manage a BBoard.
15 The process is relatively simple: a \fIBBleader\fR
16 invokes the \fIbbl\fR program to set\-up an environment in which the messages
17 contained in the BBoard
18 may be accessed as if they were messages in an \fIMH\fR folder.
20 To do this, \fIbbl\fR, \fIincs\fR the \fIBBoard\fR
21 to the folder \*(lq+bbl\*(rq, and \fIincs\fR the archives for the \fIBBoard\fR
22 to the folder \*(lq+bbl/arc\*(rq. The \fIBBleader\fR
23 then gets a new shell in which \fIMH\fR
24 commands (among others) may be executed. When the \fIBBleader\fR
25 is done, CTRL\-D is typed, which terminates the shell. \fIbbl\fR then
26 asks the \fIBBleader\fR
28 should be reconstructed.
29 Usually, this results in zeroing the existing \fIBBoard\fR
30 file, and \fIpack\fRing the \*(lq+bbl\*(rq folder into the \fIBBoard\fR
31 file. Similar actions are taken for the archive.
33 The `\-shell' switch specifies what process that \fIbbl\fR should invoke
34 as your command interpreter. This need not be a rooted filename.
35 If this switch is not specified,
36 \fIbbl\fR looks at the envariable \fB$SHELL\fR for a value.
37 If this envariable is not set, then \fIbbl\fR uses your login shell.
39 The `\-verbose' switch directs \fIbbl\fR to type the shell commands that it
40 executes to get the job done (e.g., \fIchmod\fR\0s, \fIinc\fR\0s, etc.)
42 As \fIbbl\fR processing is most likely not intuitively obvious to most
43 prospective BBoard\-leaders, a short diatribe is in order. As pointed out in
45 a BBoard\-leader (of the fictitious BBoard \*(lqhacks\*(rq)
46 has three primary maintenance functions:
52 You don't need \fIbbl\fR
53 to do this, use \fIbbc\fR instead.
56 \fBRemove inappropriate material\fR
58 Do this by running \fIbbl\fR.
59 An example of this might be:
63 \02 [ Working folder is +bbl, Archive folder is +bbl/arc ]
64 \03 [ Type CTRL\-D to finish ]
66 .ta \w'\05 'u +\w'20 'u +\w'10/14 'u +\w'1345-PDT 'u +\w'Reasonable Person 'u
67 \05 20 10/14 1345-PDT Silly User Nonsensical message
68 \06 21 10/14 1707-PDT Silly User Another one
69 \07 22 10/14 2144-PDT Reasonable Person Legit message
73 \11 Incorporate changes? y
75 \13 Update archives? n
76 \14 Remove +bbl/arc? y
77 \15 [+inbox now current]
81 In item 1, the BBoard\-Leader invokes \fIbbl\fR
82 on the BBoard called \*(lqhacks\*(rq. The \fIbbl\fR
83 program responds by typing items 2 and 3 which tell the user what \fIMH\fR
84 folders are being used and that a sub\-shell is now in use (respectively).
85 The user does a scan of the +bbl folder
86 (\fIbbl\fR sets the current\-folder to be the one with the BBoard in it.)
87 and finds two messages that should be removed (numbers 20 and 21).
88 The user then removes these using the \fIrmm\fR
89 program (item 9) and then types a CTRL\-D to return to
93 asks how the BBoard should be reconstructed. Item 11 asks if the contents of
94 the +bbl folder should OVERWRITE the contents of the BBoard. The user
96 that it should (hence the two \fIrmm\fR'd messages disappear).
98 the user is asked if the +bbl folder should be killed, since the BBoards
99 have been successfully updated, the user answers `yes'.
100 On item 13, the user is
101 asked if the archives should be updated. Since the user made no changes, the
102 answer `no' is made. (The user could have answered `yes' with no disastrous
103 effects, but knew that nothing had been updated). Finally, on item 14, the
104 user indicates that the +bbl/arc subfolder should be killed, by answering
108 \fBArchive non\-recent material\fR
110 Do this by running \fIbbl\fR.
111 An example of this might be:
115 \02 [ Working folder is +bbl, Archive folder is +bbl/arc ]
116 \03 [ Type CTRL\-D to finish ]
118 .ta \w'\05 'u +\w'20 'u +\w'10/14 'u +\w'1345-PDT 'u +\w'GFISHER@UCI-20B 'u
119 \05 11 10/12 1905-PST Marshall Rose New MMail/BBck
120 \06 12 10/12 1916-PST Stephen Willson PATH, nfinger, and ls
121 \07 13 10/12 2329-PDT G@UCI-20A 833-5122 hours
122 \08 14 10/13 1045-PDT MELLON@UCI-20B Reporting line
123 \09 15 10/13 1112-PST Tim Shimeall Re: 833-5122 hours
124 \10 16 10/13 1045-PDT MELLON@UCI-20B Reporting line
125 \11 17 10/13 2042-PST Dana Roode Ucifinger
126 \12 18 10/13 2045-PST Dana Roode Files in /usr/restores
127 \13 19 10/14 1028-PDT WILLSON@UCI-20B Re: term no pause
128 \14 20 10/14 1345-PDT Martin Katz Re: term no pause
129 \15 21 10/14 1707-PDT SCRIBE@UCI-20A Scribe Use
130 \16 22 10/14 2144-PDT GFISHER@UCI-20B New Twemacs
131 \17 23 10/15 1227-PDT Rob Rittenhouse Re: New Twemacs
133 \18 % file +bbl/arc \-src +bbl 11\-12 17\-20 21
135 \20 Incorporate changes? y
137 \22 Update archives? y
138 \23 Remove +bbl/arc? y
139 \24 [+inbox now current]
143 The important command given is in item 18, in which the user \fIfiles\fR
144 some messages from +bbl into +bbl/arc. When CTRL\-D is typed, the user
146 to update both the BBoard and its archives, which does the proper action.
147 As an alternate to this scenario,
148 some creative \fIBBleaders\fR might use the \fIpick\fR command to do all of
153 pick \-sequence select \-before \-12 \-datefield BB-Posted \-zero
154 pick \-sequence select \-before \-20 \-nozero
156 refile select +bbl/arc
160 In order to facilitate the use of automation shell scripts,
161 if the standard input for \fIbbl\fR is \fInot\fR a tty,
162 then \fIbbl\fR will not ask any questions and will proceed as if
163 the user's answer was \*(lqyes\*(rq for all questions.
164 Hence, \fIbbl\fR may be run under \fIcron\fR\0(8) to provide for
168 ^$HOME/\&.mh\(ruprofile~^The user profile
170 ^Path:~^To determine the user's MH directory
172 ^incproc:~^Program to incorporate a mail drop into a folder
174 ^packproc:~^Program to pack a folder into a msgbox
176 ^rmfproc:~^Program to remove a folder
178 bbc(1), bbleader(1), bboards(1)
180 `+folder' defaults to \*(lqbbl\*(rq
184 `\-shell' defaults to \fB$SHELL\fR or your login shell
188 In the early days of the UCI BBoards facility,
189 \fIBBleaders\fR actually used to run this program by hand.
190 Now, this \fIbbl\fR is often run automatically by the system to perform
193 Note that \fIbbl\fR executes a lot of \fIMH\fR
194 commands, and as such, each of these commands can and will read
195 your \fI\&.mh\(ruprofile\fR for defaults.
196 Please read the \fBBUGS\fR section of \fImh\-profile\fR\0(5)
197 for some hints to help you avoid many silly problems.
199 Also, \fIbbl\fR is unforgiving in doing exactly what it is told,
200 so take special care in answering \fIbbl\fR's questions.