Multics Technical Bulletin MTB 658 To: MTB Distribution From: David J. Schimke Date: 06/04/84 Subject: Executive Mail, MR11 Extensions ABSTRACT This document discusses the planned extensions to the Multics Executive Mail (Xmail) product for the MR11 release. Some lines are 80 characters wide which may cause problems when printing. The Xmail user community has provided feedback on the limitations and missing features of the Xmail product. The proposed extensions are an attempt to provide some of the most wanted new features and functionality within the major goals of the product, namely ease of use and ease of learning. The extensions to the Xmail product are grouped into three major categories: new personalization options, new editor features, and miscellaneous other extensions. Comments may be made: Via forum (method of choice): >udd>m>djs>mtgs>xmail Via electronic mail: Schimke.Multics Via telephone: 862-6640 HVN: 357-6640 _________________________________________________________________ Multics Project internal working documentation. Not to be reproduced outside the Multics Project. Multics Technical Bulletin MTB 658 CONTENTS 1.0 INTRODUCTION. . . . . . . . . . . . . . . . 1 2.0 NEW PERSONALIZATION OPTIONS . . . . . . . . 2 2.1 Improve Support For Interactive Messages. . 2 2.2 Destroy The Menu Window . . . . . . . . . . 4 2.3 Allow Escape Sequences To Be Used . . . . . 6 2.4 Savebox Option. . . . . . . . . . . . . . . 7 2.5 Automatic Dynamic Menus . . . . . . . . . . 10 2.6 Multics Command Mode. . . . . . . . . . . . 12 3.0 NEW EDITOR FEATURES . . . . . . . . . . . . 14 3.1 Support For "ESC ?" . . . . . . . . . . . . 14 3.2 Insert File Capability. . . . . . . . . . . 16 3.3 Go To Start/End Of Text . . . . . . . . . . 17 4.0 OTHER MISCELLANEOUS EXTENSIONS. . . . . . . 18 4.1 Non-Case-Sensitive Escape Sequences . . . . 18 4.2 Support For Blind Carbon Copies . . . . . . 19 4.3 Allow Writing Of A Message To A Segment . . 20 4.4 Automatically List Current Messages . . . . 21 4.5 Three Column Menus. . . . . . . . . . . . . 22 4.6 Full Name In Outgoing Mail. . . . . . . . . 23 4.7 Improved Multics Mode . . . . . . . . . . . 24 5.0 MR11 Executive Mail Menus . . . . . . . . . 25 6.0 Testing . . . . . . . . . . . . . . . . . . 27 Multics Technical Bulletin MTB 658 1.0 INTRODUCTION The Executive Mail facility was designed with two major goals: ease of use and ease of learning. Despite these goals, users have found xmail somewhat awkward to learn and lacking functionality. Although the original target audience was the casual user, xmail, because of its menu-driven interface, has become popular with more experienced users that would rather see additional functionality in xmail than be forced to use Read_Mail/Send_Mail. Towards these ends users have been constantly suggesting improvements and enhancements to the product. This MTB describes the implementation of some of these user-suggested enhancements to xmail. This is not intended to be a complete coverage of the suggested improvements, but rather addresses those shortcomings most often requested by actual users. MTB 658 Multics Technical Bulletin 2.0 NEW PERSONALIZATION OPTIONS The following sections describe proposed additions to the "Personalize Executive Mail" menu. They are ordered according to their implementation priority. Each section gives the problem to be solved, the proposed solution, the documentation for the solution, and an estimate of the manpower required to add the feature. The extensions to the Xmail product are grouped into three major categories: new personalization options, new editor features, and miscellaneous other extensions. 2.1 Improve Support For Interactive Messages 2.1.1 Problem Xmail's handling of interactive messages is suboptimal. Depending on where you are and what you are doing you may or may not see your messages as they arrive. In fact, if you are spending a lot of time in the editor, your messages can be delayed considerably. One solution is to provide an option which allows the user to have interactive messages treated as mail (similar to "rdm -im"). Another possibility is to create a new window for the user's interactive messages, intercept them, and write them to this new window. And there are cases where neither of the above is correct. Ease-of-use should not break down when the user has setup a special message handler. If you have established a message handler of your own via "am -call," Xmail subverts this and does not return your environment as it was found. The excuse that "the casual user won't have any special environment" is getting old and is not sufficient to allow problems for "sophisticated" users. Users need to be able to say "don't mess with my interactive messages" and they need some guarantee that their environment will be returned to them intact. Support for the former can be provided by a personalization option. The later depends on support from the message facility which has been proposed by MTB-569. If a caller can determine that message handler has been established via a previous "am -call" and can get the command_line that was used, then it can reestablish the user's message handler upon termination of its own "am -call". If this support is provided, Xmail should make use of it. 2.1.2 Solution For MR11, Xmail should at least support an option which prevents the user's own message handler from being disabled. Multics Technical Bulletin MTB 658 A new option "Process Interactive Messages" will be added to the personalization menu. If the value of the option is "yes", Xmail will behave as in the past, printing interactive messages whenever the system is waiting for a user's selection from the menu window and deferring them at other times. If the value of the option is "no", Xmail will not intercept interactive messages at all. If they aren't being handled by a user-defined handler, they will just be printed on the screen wherever the cursor happens to be when they arrive. The default is "yes" for compatiblity with the current behavior. The name of this option allows future extensions which could provide several different flavors of interactive message handling including: treating messages as mail, creating a special message window, etc. If the message facility support is available to determine that a user-specified message handler is already in effect, this new option will specify whether Xmail should override the user's handler or whether it should ignore interactive messages completely. With support from the message facility, Xmail will be able to reinstate the user's environment regardless of the value of this new option. 2.1.3 Documentation This option lets you specify whether or not you wish to have the Executive Mail facility process your interactive messages. (Interactive messages are brief messages which are normally printed immediately on your terminal as opposed to simply being filed in your mailbox with a "You have mail" notice.) After selecting this option, you will be asked to specify "yes" or "no." If you type "yes," your interactive messages will automatically be printed whenever the system is waiting for input in the menu at the top of the screen; if you type "no," xmail will not set up processing for interactive messages and will not display them. This option should normally be left "yes" unless you have set up your own processing for interactive messages prior to invoking xmail. 2.1.4 Manpower The implementation of the "Process Interactive Messages" option requires only minimal changes to xmail. The code which handles interactive messages will be bracketed and executed only when the internal switch is TRUE. Adding the code to support this option in the "Personalize Executive Mail" menu will also be elementary. Estimate: 3 person-days MTB 658 Multics Technical Bulletin 2.2 Destroy The Menu Window 2.2.1 Problem It has been proposed that Xmail allow the upper window to be destroyed when not in the menu_ (or at least when in editor) to allow more room on the screen. This also makes more sense to the user; currently the menu is displayed even when menu options are not allowed. For the MR11 release, I think destroying the menu while editing is sufficient. This is the time when more room is often needed. The disadvantage (and the obvious reason for not destroying the menu) is that it takes time to redraw the menu when you return. This time may be significant at slower terminal speeds, thus it is a personalization option. It is also possible to change the behavior based on the terminal speed, but this might be confusing to the user since it doesn't provide the consistent interface. 2.3.2 Solution A new option "Remove Menu While Editing", will be added to the personalization menu. The option will have values of "yes" or "no" with "no" as the default for compatiblity with the current behavior. If the value of the option is "yes" the upper window (menu window) will be overwritten during the editing sessions to provide a bigger editing window. Screen space "borrowed" will be restored when exiting the editor. 2.2.3 Documentation This option lets you specify whether or not you wish to have the editor use the space normally occupied by the menus at the top of the screen. After selecting this option, you will be asked to specify "yes" or "no." If you type "yes," the menu at the top of the screen will be removed whenever the editor is invoked to give you more room for editing; if you type "no," the editor will use only the room available in the bottom window of the screen. 2.2.4 Manpower The implementation of this feature will require bracketing each call to emacs_ with code to resize the bottom window. Before calling the editor we need to enlarge the bottom window either overlapping or shrinking the top menu window. After returning from the editor we resize things as they were and signal redisplay. Adding the code to support this option in the "Personalize Executive Mail" menu should be straightforward. Multics Technical Bulletin MTB 658 Estimate: 3 person-days MTB 658 Multics Technical Bulletin 2.3 Allow Escape Sequences To Be Used 2.3.1 Problem Some users find that they need to use several different type of terminals in the course of their work. This causes a great frustration as the position (or existence) of function keys changes. The simplest solution is to provide option which lets the user always use the escape sequences. 2.3.2 Solution A new option "Always Use Escape Keys" will be added to the personalization menu. The option will have values of "yes" or "no" with "no" as the default for compatiblity with the current behavior. If the option value is "yes", Xmail will ignore its usual test for function keys and simply use the escape sequences. 2.3.3 Documentation This option lets you specify whether or not you wish to have the function keys be represented by the physical function keys on your terminal or by the alternate escape sequences. After selecting this option, you will be asked to specify "yes" or "no." If you type "yes," the escape keys will be used to represent the function keys regardless of the terminal's capabilities; if you type "no," the terminal's function keys will be used whenever the terminal being used has enough function keys to support the Executive Mail facility. With this option set to "no" terminals that don't have function keys (or enough of them) will use the escape keys; terminals that do have enough function keys will use the function keys. 2.3.4 Manpower This option requires a simple change to the initialization code to eliminate the check for function keys. It also requires that we be able to change "on the fly" when the user changes the option. This may require a little reorganization of the code. Adding the option to the menu should not be difficult. Estimate: 4 person-days Multics Technical Bulletin MTB 658 2.4 Savebox Option 2.4.1 Problem Xmail personalization allows you to specify whether you want your outgoing messages (including replies and forwarded mail) saved with an option called "Save Outgoing Messages." This option can be set by the user to "yes" to always save outgoing messages in the "outgoing" mailfile, "no" to never save outgoing messages, or "ask" to prompt the user whether to save or not (if yes, messages are saved in the "outgoing" mail file.) If, however, the user never sets this option the "default" is to always prompt whether to save and if so, to then prompt WHERE to save it. The problem with this current strategy is that once the user has set this option he cannot reset it to the default. There is not an option to get "prompt for saving and prompt for the savefile". 2.4.2 Solution In MR11, Xmail will offer another option to the user. This option will allow the user to set the "Outgoing Savefile" to either a static mailfile (which either exists or will be created for him) or to "ask" which will prompt for the name of the savefile each time a outgoing message is to be saved. This new option will allow the user to get the default action as mentioned above, and it will allow the user to specify a different static mailfile (other than "outgoing") to use when saving outgoing messages. The choices that the user will have for saving outgoing messages with this new option are summarized in the table below. Save Outgoing Result When Sending, Outgoing Savefile Replying, or Forwarding: "no" NA outgoing messages are not saved "yes" any outgoing messages are always saved in the current savefile "yes" "ask" outgoing messages are always saved and user is asked for the savefile name "ask" any user is asked whether to save each outgoing message and if yes, it is saved in the current savefile "ask" "ask" user is asked whether to save each outgoing message and if yes, is then asked for the savefile name If the user never sets either option he will be prompted as to whether he wants to save each outgoing message and if so, he will also be prompted for the name of the savefile to be used. The initial values of these two options will be set based on the way the user has set the options in the old MTB 658 Multics Technical Bulletin version of xmail so he will see no difference unless he changes them. 2.4.3 Documentation Revised documentation for "Save Outgoing Mail" option: This option lets you specify whether or not messages you send or forward, or replies you write, are to be saved. After selecting this option, you will be asked to specify "yes", "no", or "ask." If you type "yes," all your outgoing messages will be saved in the mail file you have selected with the "Outgoing Savefile" option. If you type "no", none of the messages will be saved. If you type "ask", every time you send, reply to, or forward a message you will be asked whether or not you want it to be saved. Revised help for "Save Outgoing Mail" (in response to ? at the prompt): Type one of the following three words in order to have messages you send saved or discarded in one of the ways indicated below: yes every message you send (including replies and forwarded messages) will be saved in the mail file you specify with the "Outgoing Savefile" option no messages you send will not be saved ask you will be asked every time you send a message whether or not you wish to save it Conclude by typing a RETURN. If you do not wish to change the way in which your messages are saved or discarded, type a RETURN by itself. New documentation for "Outgoing Savefile" option: This option lets you specify where outgoing messages are to be saved. After selecting this option, you will be asked to specify "set" or "ask." If you type "set", you will be asked to select a new mailfile that will be used to save your outgoing messages. If you type "ask", every time you save a message you will be asked for the mailfile in which you want the message to be saved. New help for "Outgoing Savefile" (in response to ? at the prompt): Type one of the following two words to specify where messages you send should be saved: Multics Technical Bulletin MTB 658 set you will be asked to select the mailfile which will be used for all messages you save ask you will be asked every time you send a message for the mailfile to be used to save the copy Conclude by typing a RETURN. If you do not wish to change the mailfile in which your messages are saved, type a RETURN by itself. 2.4.4 Manpower This options requires a change wherever the user is sending, replying, or forwarding mail. In addition, the xmail initialization code should check the user's current options and set this new option compatibly so the user will not see a change until he changes the option. The option ties in with the existing "Save Outgoing Messages" option and therefore requires minor changes to the documentation of this option also. Estimate: 1 person-week MTB 658 Multics Technical Bulletin 2.5 Automatic Dynamic Menus 2.5.1 Problem Whenever the user must choose from a list of mailboxes, messages, or mailing lists he can get a dynamic menu of the choices by typing "??". It has been suggested that we provide an option that makes this automatic. Whenever the prompt allows "??" to present a dynamic menu of options, the dynamic menu would automatically be displayed without the "??". This means more display time but it offers fewer keystrokes and may be the only reasonable mode for some users, especially if they have a large number of items from which to choose. 2.5.2 Solution In MR11, Xmail will offer another personalization option to the user. This option will allow the user to set "Display Lists As Menus" to either "yes" or "no" with the default of "no" for compatibility with the current version. If the value of this option is set to "yes" Xmail will automatically provide a dynamic menu at all prompts which support this feature. If the option has a value of "no" then Xmail will behave as it currently does, providing the dynamic menu only when "??" is entered to these prompts. 2.5.3 Documentation This option lets you specify whether or not you wish to have menus created for you when you are asked to choose a mailfile or mailing list from those that you have currently defined. After selecting this option, you will be asked to specify "yes" or "no." If you type "yes," the menu of mailfiles or mailing lists will always be displayed; you will no longer receive the prompt asking for the name of a specific file/list or "??" for a list. If you type "no," then the prompt will be displayed and you can either enter the name of the mailfile or mailing list being requested or you can enter "??" to create a menu of your choices. 2.5.4 Manpower This option requires a change to just the one module which handles the selection of files. It will be changed to check a flag and produce the dynamic menu immediately rather than waiting for "??" depending on the value of the flag. Additions to the "Personalize Executive Mail" menu will be Multics Technical Bulletin MTB 658 needed to support this new option, but these should not be difficult. Estimate: 3 person-days MTB 658 Multics Technical Bulletin 2.6 Multics Command Mode 2.6.1 Problem Because Executive Mail is primarily targeted at the casual user, the command interface doesn't use control arguments. The only exception is the multics mode option (-multics_mode, -mm). Since we are extending the personalization options, it seems reasonable to include an option to set multics mode as a static option rather than requiring users to invoke xmail with the control argument. 2.6.2 Solution In MR11, Xmail will offer "Multics Command Mode" as a personalization option to the user in addition to the control argument. The control argument will be retained in the code but it will no longer be documented. The default value for this option will be "no" for compatibility, but the control argument, if given, will still override this default. 2.6.3 Documentation This option lets you specify whether or not you wish to have function key 8 active for use in Executive Mail. This function key invokes Multics command level from within the Executive Mail facility. If your terminal does not have at least 8 function keys, this option enables the two character sequence "esc e" to invoke Multics command level. After selecting this option, you will be asked to specify "yes" or "no." If you type "yes," function key 8 will be enabled and the Executive Mail facility will require you to have 8 function keys in order to use the physical function keys of your terminal; if you type "no," function key 8 will not be enabled and the Multics command level will not be available from within the Executive Mail facility. 2.6.4 Manpower This option requires the addition of another personalization option and a change to the code to reset the internal key bindings "on the fly" when the user changes the value of this option. This is especially important when, because of the new value of this option, there are now enough (or now not enough) function keys and the function key/escape sequence mode may be toggled. This should either be done with a warning or not be changed until the next time xmail is invoked. Multics Technical Bulletin MTB 658 Estimate: 3 person-days MTB 658 Multics Technical Bulletin 3.0 NEW EDITOR FEATURES The following sections describe proposed changes to the xmail editor. They are ordered according to their implementation priority. Each section gives the problem to be solved, the proposed solution, the documentation for the solution, and an estimate of the manpower required to add the feature. 3.1 Support For "ESC ?" 3.1.1 Problem There is a need for a way to get help about the editing requests while in the editor. Unless the user has the xmail user's reference in front of him, he has no easy way to get this help. Ideally xmail should allow the function keys to remain active while in the editor so F1 could be used to get help. This is difficult, however, because on some terminals the function keys generate escape sequences that may conflict with the editor requests. An alternative is to use ESC "?" as the request which gives help about editor requests. 3.1.2 Solution For MR11, xmail's builtin editor will be upgraded to include a help feature triggered by ESC "?". It will be patterned after the "describe-key" emacs request, however, if the user enters a second question mark to the prompt xmail will provide a complete summary of the editor requests. The proposed prompt is, "Enter a key sequence (or ? for summary): ". The output will be displayed as a local-display and the user will be told to enter a RETURN to continue. The ESC "??" editor summary display will give only brief explanation of the keybindings, while the ESC "?" KEYSTROKE display will give more detail of a single request (see below for an example of both). Note that the xmail help function (bound to F1, or esc ?) uses a different technology when inputting function keys or escape sequences. In order to get help on function key 3 the user presses F1 and types "F" "3" "CR" to the prompt. Similarly, the user types "e" "s" "c" "q" for help on "esc q". Under this proposal, the xmail help function should also be changed, incompatibly, to accept the actual sequences rather than the printed representation. 3.1.3 Documentation Multics Technical Bulletin MTB 658 This feature is self-documenting (except for a blurb in the user's guide) and is best illustrated by an example. The following shows the use of "esc ?" to get help on "esc ?" and then the use of "esc ??" to get a complete editor summary. Enter a key sequence (or ? for summary): esc ? resulting local display: esc ? editor help Display the documentation for a given sequence or a complete editor command summary. To find out what "esc m" does, type "esc ?" and answer the prompt by pressing the escape key followed by m. To get a complete summary of the editor, type "esc ?" followed by another ?. -- * * * * * * * * * * * * -- Enter a key sequence (or ? for summary): ? resulting local display: (Ex = press escape key then press x; BS = BACKSPACE = Ch; Cx = hold CONTROL key down while pressing x) Cf: Forward Char En: Next Screen Cy: Retrieve Erased Text Cb: Backward Char Ep: Previous Screen Eg: Get File Ef: Forward Word Cd: Erase Char Em: Adjust Paragraph Eb: Backward Word BS: Backward Erase Char Er: Redisplay Ca: Start of Line Ed: Erase Word Eq: Send Message Ce: End of Line EBS: Backward Erase Word Et: Defer Message Cn: Next Line @: Erase To Start of Line E<: Start of Message Cp: Previous Line Ck: Erase To End of Line E>: End of Message E?: Editor Help -- * * * * * * * * * * * * -- The xmail help (F1) documentation will be changed to indicate the the user should press the actual (function key or escape sequence) rather then the printed representation. 3.1.4 Manpower This new editor help feature will steal as much code from full emacs as possible for the "describe-key" function. The "editor summary" will just be a local display and shouldn't be too difficult. The xmail help function will require some additional coding and documentation. Estimate: 2 person-weeks MTB 658 Multics Technical Bulletin 3.2 Insert File Capability 3.2.1 Problem The ability to insert text from another Multics segment can be very useful. The lack of this simple capability is the most often reported deficiency in the Xmail product. In fact, many people assume it can be done and ask, "How do you do it?" The argument has been that a casual user should not have to know pathnames and would get confused by this command. However, enough people have requested this capability that this argument doesn't seem strong enough to prevent us from adding this useful feature. 3.2.2 Solution In the MR11 release, the xmail editor will support a "get file" request bound to ESC G. The request will prompt for the pathname of the file to be inserted at the cursor location. The pathname is verified and if bad, the user will be prompted again. 3.2.3 Documentation The only documentation need for this request is that provided by the ESC ? help feature and a short blurb in the user's guide. esc g get file Get a file and insert it. Prompts for the pathname of an existing segment that will be read into the editor and inserted at the current cursor location. -- * * * * * * * * * * * * -- 3.2.4 Manpower This request is already in the extensions and is simply commented out. Unless the existing code has serious problems, this feature should not pose any problems. Estimate: 2 person-day Multics Technical Bulletin MTB 658 3.3 Go To Start/End Of Text 3.3.1 Problem Users want more functionality in the editor. Two of the most often requested functions are those which position the cursor to the start and end of the text buffer. These are rather simple requests to add and seem reasonable so we should provide them. 3.3.2 Solution In the MR11 release, the xmail editor will support the "esc <" and "esc >" requests for go-to-start-of-text and go-to-end-of-text respectively. 3.3.3 Documentation The only documentation need for this request is that provided by the ESC ? help feature and a short blurb in the user's guide. esc < go to start of text Move to the beginning of the text, i.e., before the first character in the message, that is, the top of the message text. -- * * * * * * * * * * * * -- esc > go to end of text Move to the end of the text, i.e., after the last character in the message, that is, the bottom of the message text. -- * * * * * * * * * * * * -- 3.3.4 Manpower These requests are straightforward and should not be difficult to add. The "go to start of text" will have to be able to avoid getting into the message header just as all the other reverse movement requests do now. Estimate: 2 person-day MTB 658 Multics Technical Bulletin 4.0 OTHER MISCELLANEOUS EXTENSIONS The following sections describe additional miscellaneous extensions and changes proposed for the Executive Mail facility. They are ordered according to their implementation priority. Each section gives the problem to be solved, the proposed solution, the documentation for the solution, and an estimate of the manpower required to add the feature. 4.1 Non-Case-Sensitive Escape Sequences 4.4.1 Problem When invoked on a terminal without any (or enough) function keys or when the new option "Always Use Escape Keys" is "yes", xmail will use sequences to provide the function key choices. The sequences, however, are currently all lowercase and the uppercase versions are not bound. This confuses some users who think they are equivalent. ESC Q should be the same as ESC q. Many users equate the two and don't understand why the uppercase doesn't work. By default, the video system line editor and the emacs editor don't differentiate between upper and lower case escape sequences. Changing the xmail function keybindings to accept commands in either case should be easy and is a compatible extension. 4.1.2 Solution Beginning with the MR11 release, xmail will accept either uppercase or lowercase escape sequences for the escape key representation of the function keys. The only affect of this is that the user will not get errors when using uppercase escape sequences. 4.1.3 Documentation No changes in documentation are planned. 4.1.4 Manpower This change to xmail's escape sequences should be straghtforward and an obvious extension. The duplicate keybindings are just added to the existing keybindings. Estimate: 3 person-days Multics Technical Bulletin MTB 658 4.2 Support For Blind Carbon Copies 4.2.1 Problem Support for blind carbon copies (bcc) was added to the mail system for the MR10.2 release. Xmail can support the bcc as an upward compatible extension and should do so. 4.2.2 Solution In MR11, xmail will provide support for blind carbon copies (bcc). The bcc field will be treated in the extensions similarly to the carbon copy (cc) field. The "esc u" request will be changed to accept bcc as well as the to and cc fields. 4.2.3 Documentation This new feature is completely upward compatible with the current xmail and will need only minor changes to the existing on-line documentation to include the bcc field. When sending a message a "?" at the bcc prompt will document what a blind carbon copy is: Type the names of people whom you want to receive copies of your message. A blind carbon copy (bcc) is like a carbon copy (cc) except that the recipients specified under the "to" and "cc" fields will not see the bcc list. When listing recipients, you can use a user name and project (e.g., Smith.Finance), and/or the name of a mailing list (e.g., managers). Names must be separated by commas. You need not enter any recipients here. Conclude by pressing the RETURN key (or its equivalent on your keyboard). 4.2.4 Manpower Because the bcc field is handled almost exactly the same as the cc field, most of the work required to add this field is just a matter of copying the code for cc. However, xmail does parse the message into the various fields before passing this information to the mail system, and this parsing will also be affected by the addition of the new field. Estimate: 1 person-week MTB 658 Multics Technical Bulletin 4.3 Allow Writing Of A Message To A Segment 4.3.1 Problem From time to time users request the ability to save a message or a group of messages as an ascii segment for use outside of Xmail. Although it is possible to do this with read_mail instead, forcing the Xmail user to learn read_mail instead of providing this simple request seems very unfriendly. This also allows the xmail user to save a message and use it as input for another message by using the new editor request "GET FILE" (see section 3.2.) 4.3.2 Solution In MR11, xmail will include a "Write" request in the "Process Incoming Mail" and "Process Filed Mail" menus. This request will write the current messages to an ascii segment in a format similar to that which is displayed with the "Display" request. See section 5 to see how the new request fits into the menus. 4.3.3 Documentation This option writes a copy of the current message(s) to a Multics segment. After selecting this option, you will be asked to specify the pathname of the Multics segment you wish to write to. If the segment doesn't exist, it will be created for you. If it does exist, the current message(s) will be appended to the end of the existing segment. 4.3.4 Manpower This feature will probably be implemented by breaking out the code that builds a segment before dprinting as part of the "Print" request, since this eliminates the need for significant new code and guarantees compatibility with the printed format. This should also make the task much easier. The menus involved will, of course, also change to accommodate the new option. Estimate: 4 person-days Multics Technical Bulletin MTB 658 4.4 Automatically List Current Messages 4.4.1 Problem It has been suggested that Xmail should display the message summary in the status window when there is only one current message. As a reasonable extension, I propose that the current messages be automatically listed (summarized) in the bottom window after each "selection" or after the "next message" function is executed. Typically, this is the logical next step to double check that the correct messages are selected. When the current messages are changed automatically (by a deletion, for example) they will not automatically be summarized, but the status line will continue to be updated to show the list of current messages by message number. 4.4.2 Solution In MR11, xmail will automatically list the current messages after a "Select Messages" request in the "Process Incoming Mail" and "Process Filed Mail" menus. 4.4.3 Documentation No documentation changes are planned with the possible exception of a brief indication that the new set of current message will be listed after the "Select Messages" option. 4.4.4 Manpower The implementation of this feature should be as easy as adding a call to the list current messages procedure at the end of the select option. Estimate: 2 person-day MTB 658 Multics Technical Bulletin 4.5 Three Column Menus 4.5.1 Problem The menu window or top window in xmail often takes up too much of the useable screen. This is especially a noticeable problem when the user is in the editor and the menu items are displayed yet are not available. This problem has been addressed by allowing the menu window to be overwritten (see section 2.2) but even when displaying or listing messages the menu wastes too much space. In order to save screen space for displaying and editing, xmail should be using 3 column menus rather than two column menus for menus that need space in the bottom window. This provides a larger bottom window for displaying and editing messages and mailing lists. 4.5.2 Solution In MR11, most of the xmail menus will be converted to a three-column format rather then the two-column format as they are today. This saves substantial space on the screen where the number of available lines is usually limited to 24. The menu items may need to change slightly so they can fit into a third of the screen width rather than half as they do now, but this is easily done. The rearrangement of these menus for three columns does not change the selection index so users won't need to relearn any memorized keystrokes. 4.5.3 Documentation Section 5.0 below shows the proposed MR11 xmail menus. Note that the opening menu, getting started menu, and personalization menu are still in two-column format. It is felt they they don't need to be changed to the three-column format and are better left as two-column menus. The menus in section 5 also show the addition of the options provided in the previous sections. 4.5.4 Manpower The change to three-column menus is provided by a change in a parameter to the menu_$create entrypoint. With only minor changes to shorten some of the option names, this conversion will not be difficult. Estimate: 2 person-day Multics Technical Bulletin MTB 658 4.6 Full Name In Outgoing Mail 4.6.1 Problem In MR10.2 the mail_system_ will include a user's full name in outgoing mail by simply setting a variable in the user's default value segment. The use of this rather obsure feature should not force the xmail user to learn the value command; xmail should provide a simple interface for setting it. 4.6.2 Solution In MR11, a new personalization option, "Full Name In Outgoing Mail", will be provided to interface with the user's default value segment and provide for setting the "full_name._" variable used by the mail_system_ to personalize the from field. 4.6.3 Documentation General help for the "Full Name In Outgoing Mail" option: All messages sent by Executive Mail and the mail system include a header which contains, among other items, the addresses of the author(s) of the message; this list of authors is known as the From field. This option allows you to specify your full name to be included along with your user name in the From field of all outgoing messages (including replies and forwarded messages). After selecting this option, you will be asked to specify the text of this full name string. 4.6.4 Manpower This option requires a simple interface to the default value segment and support from the "Personalize Executive Mail" menu. Estimate: 2 person-day MTB 658 Multics Technical Bulletin 4.7 Improved Multics Mode 4.7.1 Problem Users of the Multics mode function key often want to use information obtained from a message they have on their screen. But xmail Multics mode clears the screen before giving the user a command level and users are forced to write down the useful information before invoking Multics mode. Also depending on the size of the current menu window, you can get a very small Multics mode window in which to do any useful work. 4.7.2 Solution In MR11, the xmail Multics mode will change to not clear the screen when giving the user a command level. In addition, the user will be given the entire user_io window (less one line at the top which explains to type pi to return to xmail). This will be provided by creating overlapping video window so that the menu will be scrolled off the top of the menu window as needed to provide working space for the user's commands. In this way the redisplay time needed to regenerate the menu is minimized. 4.7.3 Documentation No changes are planned for the documentation. 4.7.4 Manpower This change has been coded to test the feasibility and simply requires cleanup and code documentation. Estimate: 1 person-day Multics Technical Bulletin MTB 658 5.0 MR11 Executive Mail Menus Press a number and the associated action will be performed. ------------------------------ Getting Started ------------------------------ (1) Getting to Know Your Terminal (5) How to Correct Typos (2) How to Get Help (6) Personalizing Executive Mail (3) How to Get Out (7) Go To Executive Mail Menu (4) Getting Around ----------------------------------------------------------------------------- (For help, press F1) ----------------------- Executive Mail (Version 2.2a) ----------------------- (1) Process Incoming Mail (5) Review Mail Files (2) Send Mail (6) Personalize Exec Mail (3) Process Filed Mail (7) Getting Started (4) Mailing Lists ----------------------------------------------------------------------------- Mailbox: incoming (For help, press F1) Total messages: 1 Current messages: 1 --------------------------- Process Incoming Mail --------------------------- (1) Display (6) Select Messages (b) File Copy (2) Reply (7) List Current Messages (c) Print (3) File Original (8) List All Messages (d) Write (4) Discard (9) Forward (e) Process Filed Mail (5) Next Message (a) Retrieve Messages (f) Send Mail ----------------------------------------------------------------------------- (3-column format saves 3 lines) (For help, press F1) --------------------------------- Send Mail --------------------------------- (1) New Message (4) Print Sent Message (7) Process Incoming Mail (2) Defered Message (5) Discard Deferred Msg (8) Process Filed Mail (3) File Sent Message (6) Mailing Lists ----------------------------------------------------------------------------- (3-column format saves 1 line) MTB 658 Multics Technical Bulletin File: outgoing (For help, press F1) Total messages: 1 Current messages: 1 ----------------------------- Process Filed Mail ---------------------------- (1) Display (6) Select Messages (b) File Copy (2) Reply (7) List Current Messages (c) Print (3) File Original (8) List All Messages (d) Write (4) Discard (9) Forward (e) Select New File (5) Next Message (a) Retrieve Messages ----------------------------------------------------------------------------- (3-column format saves 2 lines) (For help, press F1) ------------------------------- Mailing Lists ------------------------------- (1) Create (3) Update (5) Rename (2) Display (4) Discard (6) Print ----------------------------------------------------------------------------- (3-column format saves 1 line) (For help, press F1) ----------------------------- Review Mail Files ----------------------------- (1) List Files (4) Print (7) List Messages (2) Create (5) Empty (8) Discard File (3) Archive (6) Rename (9) Retrieve Messages ----------------------------------------------------------------------------- (3-column format saves 2 lines) (For help, press F1) ------------------------- Personalize Executive Mail ------------------------ (1) Printout Header (7) Process Interactive Messages (2) Printout Destination (8) Display Lists As Menus (3) Printout Station (9) Remove Menu While Editing (4) Message Acknowledgment (a) Always Use Escape Keys (5) Save Outgoing Messages (b) Full Name In Outgoing Mail (6) Outgoing Savefile (c) Multics Command Mode ----------------------------------------------------------------------------- Multics Technical Bulletin MTB 658 6.0 Testing The Executive Mail Facility has had no regression testing in the past other than a simple manual process of trying the fuctions and seeing that they appear to work. This is clearly unacceptable and has caused unnecessary delays and post bug fixes in prior installations. For all the extensions proposed by this document, I plan to provide a test script that includes use of screen dump and screen compare tools to provide verifiable regression testing of these new features in the future. Ideally, this type of regression testing should be incorporated into the entire xmail product and automated so it could be run from time to time during the development cycle to obtain a higher level of confidence. This I cannot promise for MR11, but it is a ongoing goal.