\begindata{text,538300280}
\textdsversion{12}
\template{help}
\define{global
}
\define{index
menu:[Title,Index~91]
attr:[FontFace Italic Int Set]}
\define{indexi
menu:[Title,InvisibleIndex~92]
attr:[Script PreviousScriptMovement Point -2]
attr:[FontFace Italic Int Set]}
\define{footnote

attr:[Flags OverBar Int Set]
attr:[FontSize PreviousFontSize Point -2]}
\chapter{Changes from Messages 6.24 

to Messages 7.14 and higher}


This is an incomplete list of changes between Messages versions 6.24 and 7.04. 
 For complete, detailed lists of changes, see the posts on official.andy.


\section{The Messages window}


\leftindent{The folders area now gives the program version number, 
description, and program authors on startup.


The captions area now is initialized with the /etc/motd file at startup.


The interface to \bold{Set Options} is completely new.  Instead of a series of 
dialogue boxes, the options and their descriptions appear in the body region 
of the Messages window with easy-to-use switches.  A click list appears in the 
captions region to let you move easily within the list of options.


In most appropriate contexts, folder name completion is now used.   However, 
the "?" key will not get a list of possible completions.  See the 
 \italic{ez-command}  help file for a description of how to use command 
completion in the message line. 


Having the messages window grow when the sendmessage window is hidden is no 
longer the default, although it is still available as an Option.


If you have the "message marking" feature enabled, you can now mark several 
messages at once by clicking and dragging with the right mouse button. 
 Messages that are already marked are left marked if you do this.


When the folders area is very narrow, the Punt/Commit buttons should be on the 
top.  This is now automatically adjusting, with a preference to set the 
threshold for the adjustment.  You can alter the threshold via an Option.


You can make the text in the body region write-able, using Esc-~.}


\section{The SendMessage Window}


\leftindent{There is a new "Will Sign"/"Won't Sign" button in the SendMessage 
window, the , which can be used to control whether or not your ~/.signature 
file gets appended to mail you send.  You can set an Option to change its 
default value from "Won't" to "Will".}


\section{Messages Menu Changes}


\leftindent{\italic{Search Menu Card}


The ordering of the menu options is now folders/captions/body, to correspond 
with the screen ordering.


\leftindent{\bold{Body Forward:}  Formerly called \bold{Forward}.  There are 
no changes in functionality.


\bold{Body Reverse:}  Formerly called \bold{Reverse}.  There are no changes in 
functionality.}


\leftindent{\bold{Mark by Keyword:}  Formerly called \bold{Find All Captions.} 
 There are no changes in functionality.}


\italic{Other Menu Card}


There is a new menu option.


\leftindent{\bold{Purge Deletions: } Purges all deleted messages from all 
folders.  Note that it does not prompt for selective purging if deleted 
messages exist in more than one folder.}


\italic{Messages Folders Menu Card}


The Expose menus do not toggle; instead they are always exposed, if exposed at 
all.


\leftindent{\bold{Expose Changed:}  Now checks which messages are new instead 
of simply re-exposing the list of changed folders.}


\leftindent{\bold{Expose Tree:}  Brings up an  \italic{org}  window that you 
can use to see in a hierarchical manner what bulletin boards are available. 
 Type ^X^D in the org window to remove it.

}
\italic{This Message menu card}


\leftindent{\bold{Append to File:  }Appends message to a file.  You can now 
append more than one message to a file, as long as the file is made up of 
other messages.  Appending a message anything other than a previously appended 
message is not recommended.}


\leftindent{\bold{Change Formats:}  This menu option is no longer available. 
 There is still a proctable entry for that functionality, if you want it; the 
proctable entry is "captions-redisplay-formatted".}


\italic{Send/File Marked Menu Card}


This is a new menu that only appears when you have at least one message 
marked, assuming that you have turned on marking of messages using \bold{Set 
Options}.  All of the options on it put messages in folders or respond to them 
with new mail.  


The items on this menu card are the same as they were while they were on the 
\italic{Marked Messages} menu card, with the following additions which need to 
be turned on using \bold{Set Options}:


\leftindent{\bold{Copy All Into:}  Copies all marked messages without deleting 
them from the initial folder.


\bold{Append To Folder:}  Appends all marked messages to the folder you 
specify, preserving the order the messages are filed in, rather than sorting 
in the target folder by date.}


\leftindent{\bold{Append to File:  }Appends all marked messages to a file you 
specify.


}}\section{SendMessage menus}


\leftindent{\italic{Front menu card}


The\bold{ Send/Post} menu has been moved down; it now appears after the 
\bold{Clear}, to reduce the number of accidental uses of it.


\leftindent{\bold{Quit: } Replaces \bold{Hide}.  Choosing \bold{Quit} will 
quit the Messages window, if it is associated with the SendMessage window. 
^X^D can be used to get rid of just one window, in most cases.}


\italic{File menu card}


\leftindent{\bold{Add Template:} Prompts you for the name of a document 
template that will be added to the document.   For information about the 
system templates that are available, see the  \italic{templates}  help 
document. 


\bold{Insert File:}\bold{ } Functions as it did on the \italic{Other} menu 
card.}}


\section{Printing Messages}\leftindent{


By default, the "fine print" headers now print as footnotes.  This can be 
turned off with the new preference "usefootnote: no", described below.


You can also now turn off all printing of the "fine print" headers with the 
new "printminorheaders: no" preference, described below.

}
\section{Sending Formatted Mail to Non-local Users}


\leftindent{It is now possible to avoid, in many (but not all) cases, the 
dialog box that asks you what to do with externally-bound formatted mail, i.e. 
mail for a non-local user that contains styles or embedded objects.  See the 
\italic{ms-aliases} help file for details.}


\section{Preferences}


\leftindent{\bold{messages.motdfile: \italic{<pathname>}}

\leftindent{This can be set so that some file other than the motd file 
(message of the day) will be shown in the captions region on startup.


}\bold{DoPrefetch: \italic{yes}}

}\leftindent{\leftindent{If set\leftindent{ }}\leftindent{to no, AMS programs 
will not prefetch files from the next bulletin board on your list of changed 
folders.  The default is yes.}}\leftindent{


\bold{TurnOffCheckPointingAndIUnderstandTheDangersForMessages:\italic{ no}}

\leftindent{If set to yes, AMS programs will not checkpoint your Messageserver 
state until you hit the "Commit" button, which appears near the Punt button 
once have turned this option on.  If you have write access to shared folders, 
or run multiple messageservers (or multiple non-snapified user interfaces) at 
the same time, you should not turn this preference on.  The default is no.}


\bold{\{folders,captions,bodies,messages,sendmessage\}.\{height,width\}:\
\italic{number}}

\leftindent{The number (in pixels) determines the size of the window 
specified.  For example, if you started Messages with a -w switch to cause it 
to put the folder, captions and message body in separate windows, the 
following preferences would set the window sizes:


folders.height:100

folders.width:550

captions.height:200

captions.width:500

bodies.height:400

bodies.width:600


If any of the numbers is less than 0, the default size for new windows will be 
used.


Both a height and width preference need to be specified for either to take 
effect.  (A "folders.height" preference is meaningless without 
"folders.width".)}


\bold{MailboxDir:\italic{ full path to directory}}

\leftindent{The directory listed is the one from which AMS programs will read 
mail.  This is useful if a delivery system (for example, a system other than 
AMS delivery) puts mail into a directory other than ~/Mailbox.  Note that 
there is also an AndrewSetup option ``MailboxName'' that specifies the name of 
the subdirectory in every user's home directory from which AMS programs will 
read mail, and to which AMS delivery will deliver mail.}


\bold{AMShome:\italic{ cell or workstation name}}\leftindent{

You only need this preference if you are running the Andrew Message System in 
one of the  \italic{cells  }other than andrew.cmu.edu.  This preference is 
used to determine the location of files and directories that AMS programs need 
in order to work.  


The value for this preference should be either the name of an AFS cell in 
which you have authentication (e.g. "cs.cmu.edu"), the name of the workstation 
on which you're running, or the single characters * or &, which stand for, 
respectively, the name of the workstation on which you're running and the name 
of the cell to which your workstation is connected.  If the value of this 
string is an AFS cell in which you're authenticated, the AMS will read the 
white pages for that cell to locate your home dir in that cell and will use 
that directory as the location for its other auxiliary files.  If the value of 
this string is the name of your workstation, the AMS will use 
getpwuid(getuid())->pw_home as the location for your other auxiliary files.


Your From: address will be determined analogously: if your AMS home is an AFS 
cell in which you have authentication, your From: address is determined from 
that authentication.  If your AMS home is the name of your workstation, your 
From: address is determined via getpwuid(getuid()).


If you have no AMShome preference, either the connected-cell name or the 
workstation name will be used as the name of your AMS home, depending on how 
the local workstation administrators have indicated that the choice should 
default.  (They do this with the AMS_DefaultToAFSCellMail value in the 
\italic{AndrewSetup}  file.)}


\bold{UseFootnote: \italic{yes}}

\leftindent{By default, minor messages headers are now printed as footnotes. 
This behavior can be turned off by setting this preference to "no."}


\bold{PrintMinorHeaders: \italic{yes}}

\leftindent{You can turn off all printing of the "fine print" headers by 
setting this to "no."}


\bold{AMSTempFileLocation: \italic{/tmp}}

\leftindent{The preference can be used to set the directory in which the 
messageserver's temporary files will be created.  The default for this is 
/tmp, but you can set it to some other \italic{fully-qualified} directory name 
(that is, you can NOT use a tilde instead of your home directory path).}


}\section{Set Options}


\leftindent{There is no longer a "save current screen state", but instead you 
directly alter the number of pixels devoted to folders and the percentage of 
the remainder given to captions and bodies.


You can specify that you do NOT want to see the first folder at startup.  This 
allows you to keep the motd file showing, and to scroll it.


"Hide by vanishing" controls whether messages windows are "hidden" or 
"vanished" in the X11 world.  }


\section{Changes to Key bindings

}
\leftindent{\bold{v}   the inverse of "b"; scrolls the body forward.  It is 
like the space bar, except that it won't go on to the next message.


\bold{^X2}  Brings up an extra sendmessage, folders, or messages window, 
depending on where you type it.


\bold{^X^D   }can be used to delete most Messages windows, providing there are 
other windows still floating around.


\bold{^X^C } means \bold{Quit} fairly consistently.


 \bold{^Xn} and \bold{^Xp} now do the "right" things across the multiple 
windows, and will create new windows at the appropriate times.}


\section{CUI changes}


\leftindent{"match" (expert level) finds all the matches for an incomplete 
folder name.


"reconstruct" now takes an optional second argument, "1" or "2".  Also, if you 
are in script mode and omit it, it will now assume 2 instead of prompting you. 
 

"scavenge" can be used to scavenge directories for orphan bodies or deleted 
bodies without a full reconstruction.  Using "scavenge dirname" gets you two 
questions -- do 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".}


\section{Command Line Arguments 

}
\leftindent{\bold{-w }  brings up folders, captions, and bodies in separate 
windows; this will probably be useful only to those using overlapping window 
managers.  A nice side-effect is that during the initialization (start-up) 
phase, only the relatively small folders window is taking up screen space.   


\bold{-d}, \bold{-D}, and \bold{-n} eliminated.


\bold{-S }and \bold{-N} arguments determine whether or not the SNAPified or 
linked-in version of the messageserver is used by determining which libraries 
are dynamically loaded.


\bold{-d} inhibits forking, \bold{-fg} and \bold{-bg} and \bold{-geometry} 
work, and other "correct" X.11 behavior.}


\section{Procs and initfiles}


\leftindent{Many proc table entries added or changed. 


Global messagesinit file, like the global ezinit, should now work.


Messages now handles init files right.  This means you can have a 
.messagesinit the same way you have a .ezinit, and don't need to clutter up 
your .be2init with messages-related stuff.  If you run sendmessage or start up 
messages with "-s", .sendmessageinit gets read.  A nice idea is to have both 
of these files include a .amsinit, which has the stuff you want in both of 
them.}


\section{User-Visible Changes to the Libraries

}
\leftindent{There are FOUR new library-level procedures available for the AMS 
interface programmer:  


\leftindent{MS_MatchFolderName

MS_ScavengeDirectory

CUI_HandleRedistributionMessage

CUI_SetHeaderCustomizationProc

CUI_HandleCustomizationMessage}


There are now some extra arguments to CUI_RewriteHeaderLineInternal.


In the Snapified libraries, MS_FastUpdateState no longer waits for a reply 
from the server.


Restructured the MS internal ParseMessageFromRawBody routine, so that there is 
now a new OnlyParseMessageFromRawBody routine that doesn't reallocate memory 
so aggressively; this latter is now used in the case of adding or deleting 
headers, to avoid trashing the message snapshot.


See the appropriate document in /usr/andrew/doc/ams for details.


}\section{Other changes}


\leftindent{\bold{There is a new syntax available for virtually anywhere you 
type a folder name}:  You can say something like [local]andrew.ms to choose 
which mspath element you are referring to.  This allows you to deal better 
with identically-named folder in different trees.  The tree element names 
mail, local, official, and external are predefined; elements you add via your 
mspath preference may be added via a bracketed prefix there, e.g. 


\smaller{*.mspath: 
$DEFAULT:[glick]/afs/andrew.cmu.edu/usr12/bobg/.MESSAGES_BBDS}


This syntax is not yet fully compatible with the cellular bboard syntax.  Thus 
you can refer to "[local]andrew.hints" or "andrew.hints@athena.mit.edu", but 
not yet to "[local]andrew.hints@athena.mit.edu", whatever that might be 
intended to mean.


\bold{There is a new type of active message, the "redistribution" message. 
} If a message has an "X-Andrew-Redistribution-To" header, you'll be asked 
(after reading it) whether or not you want to have it re-sent to the address 
list given on that header.


\bold{There is a new customization feature }that is \italic{largely} 
interface-independent.  This feature allows you to specify that any message 
that contains a certain header field will be filtered through a certain filter 
program.    See  \italic{ams-headmagic}  help file.


\bold{There is a new text822 object} that handles all parsing of message 
files.  This implies some minor changes in the way the minor headers are 
styled in messages, and will eventually bring about some minor changes in the 
way messages look when printed.  Text822 is used to display messages, read 
drafts, and will soon be used to print messages.  It responds, among other 
things, to a new magic header, "X-Andrew-Text822Mode", which gives an integer 
encoding of printing options and is intended for use only by messageserver 
printing with options for fixed width, rot13, etc.  However, it could also be 
used, for example, to automatically un-rot-13 things; a FLAMES file could put 
this header on a message and Messages would automatically un-rot it on 
displaying it.  I'm not at all sure this is a good idea, but there you have 
it.


\bold{There is a new AMS feature that gives a limited compatibility mode for 
non-AMS systems} such as the standard netnews and MH databases.  This works on 
a per-tree basis.  If the .MESSAGES root directory has a file in it called 
".amsalien", then the "reconstruct" and "scavenge" operations will do their 
work WITHOUT renaming any of the body files -- i.e. they'll just create and 
modify the .MS_MsgDir file, nothing more.  This means (at least in theory) 
that you can run AMS on a standard netnews database by simply setting up a 
scavenging daemon, which is just CUI running with a command like "loop -1 600 
scavenge netnews recurse purge"  Note that the purge option is very desirable 
here -- without it, the index files will grow unboundedly.  You should even be 
able to use master update files on such an alien database -- just set up the 
master update file mechanism the way you normally would, and include a 
"takehints all" command in your daemon. \bold{ Big caveat}:  Nobody has yet 
tried to actually do this on a netnews database, although we have some likely 
guinea pigs.

}

\begindata{bp,537558784}
\enddata{bp,537558784}
\view{bpv,537558784,148,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,538300280}
