\begindata{text,539039816}
\textdsversion{12}
\template{help}
\define{global
}
\chapter{Wizard-level commands in CUI

(Keyword: cui-wizard)

}
The \helptopic{CUI} wizard level commands include all of the expert and novice 
level commands, plus the following:


\description{"check [<mailbox>] [<specfile>]" --  reads in new messages from a 
mailbox and sorts the messages into appropriate message directories.  The 
mailbox is simply the directory where the delivery system leaves the mail; for 
most Andrew users that mailbox is ~/Mailbox.  If you omit the mailbox name and 
just type "check," CUI will look in ~/Mailbox for new mail.  It does not 
present the headers for reading, however, so most users will want to use 
"update" to check for new mail.  Check is really only useful for debugging 
specfiles.  The specfile is a parsing specification which specifies, in a 
rather complex  (and at this point undocumented) language, how to determine 
where each new message should be placed.  The default specfile is ~/.MS.spec. 
 The specfile format is subject to dramatic change and will be documented when 
it become more stable.


"epoch <message directory> <date>" --  creates a \italic{new epoch} for an 
entire tree of message directories.  What this means, basically, is that it 
will, after asking you for confirmation, delete all messages in a given 
directory \italic{and all its subdirectories} that were posted before a given 
date.  This is how bboards are purged, for example.


"fork" -- causes CUI to fork and continue running in the background; it is 
potentially useful for demons and scripts.


"kill" -- causes the message server to terminate.  If it is followed by any 
other operation that calls the message server, (which most operations do), 
those operations will time out three times and then restart a new message 
server.  The timeout process may take several minutes in all.


"loop <times> <delay> <command>" --  puts CUI into a loop executing the named 
command.  It will delay <delay> seconds after each command execution, and will 
execute the command <times> times.  If <times> is -1, the loop will continue 
forever; this is how the bboard system demons, for example, work.


"rebuild <pathname>" --  rebuilds all of the subscription map files for 
message directories on the path specified for which you have the appropriate 
write access (the path should be the root to an mspath element).  It is 
intended for use primarily by the nightly subscription map daemon.


"reindex <pathname>" -- checks the existing .MS.MasterUpdate files in the 
expanded mspath element (for which <pathname> is a root) to which you have 
write-access.  Also for use by daemons only.  Any incorrect entries in the 
master update file cause HINT files to be written, which will only be picked 
up by the 'takehints' command (below).  Thus "reindex" alone will not fix up 
the master update files, but "reindex ; takehints all" will.


"reconstruct <message directory> <1/2>" -- reconstructs a corrupted message 
directory, preserving all messages and their unique IDs.  Optional second 
argument "1" means reconstruction should order messages based on the raw time 
stamp on the body files.  "2" means ordering is based on a parsing of the 
"Date" headers.  If you are in script mode, 2 is assumed.  "2" is slower and 
also sets the file time stamps so that you can use them next time. 
 "Reconstruct" may lose some of the status bits (e.g., the deleted bit). 


"replace <n> <bodyfilename>" -- replaces the body of the named message with 
the contents of bodyfile if you have write access to the directory in which 
the message appears.  This command is of use only to system maintainers for 
debugging purposes. 


"scavenge <dirname>" -- scavenge directories for orphan bodies or deleted 
bodies without a full reconstruction.  Asks if you want to recursively 
scavenge all subdirectories, and do you want to purge deletions after 
scavenging.  You can avoid both questions by putting the answers 
(purge/nopurge and recurse/norecurse) on the command line, e.g. "scavenge 
extnn recurse nopurge".


"set bbdaemon <on/off>" -- "off" is the default. "on" executes the following 
script: 

\leftindent{\leftindent{set level wizard

set term 0 500

set whatmeworry on

set script on

set prompt "BBDAEMON> "}}


"takehints [all]" -- updates all writable master update files in your mspath 
according to the HINT files that have been left there.  If "all" is not 
specified, hints left by other machines than this one may not be picked up. 
 For use by daemons only.

}
\description{"whatsnew" -- Gives you a list of everything you're subscribed to 
that has new messages.  Primarily useful for debugging the master update file 
mechanisms.}


\section{Related Tools}


Select (highlight) one of the italicized names and choose "Show Help on 
Selected Word" from the pop-up menu to see the help document 
for:\description{\italic{


\leftindent{\helptopic{CUI}

\helptopic{cui-expert}}}\leftindent{                  Expert-level commands in 
CUI

\italic{\helptopic{cui-filtering}}                How to do header filtering

\italic{\helptopic{cui-classification}}       Classifying messages with CUI 

\italic{\helptopic{cui-edit}}                      Using a text editor from 
within CUI

\italic{\helptopic{ms-experimental}}        Running experimental versions of 
CUI

\italic{\helptopic{cui-customization}}      Customizing CUI via the .cuirc 
file

\italic{\helptopic{cui-preferences}}         Preferences that affect CUI

\italic{\helptopic{cui-quickref}}               Quick reference list of all 
CUI commands}}


\begindata{bp,537558784}
\enddata{bp,537558784}
\view{bpv,537558784,1543,0,0}
Copyright 1992 Carnegie Mellon University and IBM.  All rights reserved.

\smaller{\smaller{$Disclaimer: 

Permission to use, copy, modify, and distribute this software and its 

documentation for any purpose is hereby granted without fee, 

provided that the above copyright notice appear in all copies and that 

both that copyright notice, this permission notice, and the following 

disclaimer appear in supporting documentation, and that the names of 

IBM, Carnegie Mellon University, and other copyright holders, not be 

used in advertising or publicity pertaining to distribution of the software 

without specific, written prior permission.



IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS 

DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 

ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT 

SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER 

BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 

DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 

WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 

ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 

OF THIS SOFTWARE.

 $

}}\enddata{text,539039816}
