Page Numbers: Yes X: 522 Y: 10.5" First Page: 13
Margins: Top: 1.3" Bottom: 1"
Even Heading:
LAUREL MANUAL
Odd Heading:
3. Screen commands
3. Screen commands
3.1. Upper menu commands
3.1.1. User — Logging in
In order to perform New mail or Deliver, you must be an authenticated user. This means your name and password must be accepted by an authenticator for your registry. When you start up Laurel, it obtains your name and password from the Alto Operating System (and your registry from the Laurel profile, see section 5) and submits them to the authenticator for verification. If the authentication fails, a suitable message will appear in the in-box status area in the upper menu. Laurel will not allow you to receive or send messages until you have been authenticated.
The authenticator for your registry varies depending on the implementation of the Message Transport System in your registry. If there are currently any Grapevine (GV) servers in your registry, then Grapevine must know your correct password. This may be set or changed using the Maintain.laurel program (see section 3.6, Run command, and Appendix B, Maintain). If your in-box is on an IFS file server or on Maxc, then that machine must know your password also. You can set or change your password on an IFS or on Maxc by using the Chat.laurel program (see section 3.6, Run command, and Appendix B, Chat). There are situations in which your mailbox is on an IFS or on Maxc, yet there are also GV servers in your registry. If this is the case, then both GV and your in-box server machine must know your correct password, and it must be the same in both places.
To log in with a new name and password, point the cursor at User in the upper menu and click RED. Laurel will invite you to supply a user name in the brackets following User. Respond as you would for other {brackets} prompts (section 2.1). After you have entered your user name, Laurel will prompt you for a password in a similar way. You must supply the password explicitlyESC, YELLOW, etc. cause a null password to be entered. Laurel will not display your password as you type it.
If the User command is invoked with BLUE, then the current user name is accepted, and the User command will just prompt for your password.
Whenever you log in with a name that is the same as the name installed on your Alto disk, the password you supply is written back to the Alto Operating System. Thus, if you invoke User with name Guest and password Guest, the password is not passed back to the Alto Operating System (unless you happen to have installed the Alto Operating System with Guest as your name).
When using file commands, e.g. Get, Put, or Copy (section 3.5), if you try to operate on a remote file that requires connect credentials for access, you may have to log in with the User command with those connect credentials. Laurel will try several combinations of guest credentials and the current user credentials in attempting to access that file. The more subtle of these combinations require that the remote server accept Guest Guest as valid login credentials. Most IFS files servers work this way. Unfortunately, Maxc does not.
3.1.2. New mail — Retrieving your new mail
New messages that are waiting for you reside in your in-box. The in-box is also called the mailbox. You instruct Laurel to move the contents of your in-box to your current mail file by pointing the cursor at the New mail command in the upper menu and clicking RED. The command will then appear on a gray background and the cursor will assume the shape of an hourglass, confirming that Laurel is busy shuffling messages. You may also observe the free page counter changing. When all messages have been transferred, the gray background and hourglass will disappear, and the table-of-contents window will be updated to reflect the new messages placed in your mail file. Transferring the contents of your in-box to your mail file renders the in-box empty.
During execution of the New mail command, terse progress indications are displayed in the feedback region at the bottom of the Laurel screen. These indications include the name of each in-box server that is contacted for new mail, the number of new messages retrieved from each, and possibly whether some of those messages have been archived. If the "archived messages" indication is shown, the mail retrieval may take slightly longer than usual; the in-box server has temporarily stored the oldest of your new mail on a secondary server to make room in its own storage.
The progress indication "failed" means that the in-box server broke the connection to your machine during message retrieval. This may be caused by a file server on which your archived messages reside being down.
When the New mail command has completed, the table-of-contents region is scrolled so that as much as possible of the new mail is displayed, and a selection pointer is set to point at the first new message. You will also observe that each new entry has a "?" mark character to its left—this indicates that the contents of the associated message have not yet been examined. See section 2.3 for more information on mark characters.
3.1.3. Mail file — Establishing your current mail file
Laurel maintains one or more mail files for you. You should think of mail files as folders in which you organize the messages you receive. When Laurel is first started, it normally checks to see if you have a mail file named Active.mail, and if not, it creates an empty mail file and names it Active.mail for you. This file is called your default mail file and is generally used to contain new messages that you have not yet processed. You will see how additional mail files are created in section 3.2.4.
To direct Laurel’s attention to a mail file other than the current one, proceed as follows. Point the cursor at Mail file in the upper menu and click RED. A blinking caret will appear in the brackets following the command, inviting you to type the name of the file you wish to examine (see section 2.1.3.) Repeated clicks with RED on Mail file will fill in the brackets with the prefixes of all files on your disk that have a .mail suffix. After you have supplied the file name, Laurel will fill the table-of-contents region with the entries from the designated file. You can then use other Laurel commands to manipulate this file.
Mail file always reads from the file whose name is displayed in its brackets. However, it observes two conventions that simplify type-in. First, if the displayed name does not contain a period, Laurel implicitly appends .mail to the displayed name before accessing the file. Second, if Mail file is invoked with BLUE rather than RED, Laurel omits the prompt for a file name and uses the name currently displayed. Third, repeated clicks with RED on Mail file will successively fill in the brackets with the prefixes of files on your disk that have a .mail suffix.
A fine point: Laurel acts on deletions (see section 3.2.2) whenever either Mail file or Quit is selected. Thus, you cannot Undelete messages in a mail file once you have switched Laurel’s attention to a different file.
If your mail file is malformed, then Laurel will inform you with a warning in the feedback region that says:
Format error in mail file. Get failed.
Laurel will not operate on that file any further. The most frequent causes of a malformed mail file are problems with your Alto disks or Alto hardware or booting your Alto during a Mail file or Quit command. In many cases, a malformed mail file can be restored to a relatively healthy state by running the MailFileScavenger.laurel program. See section 3.6, Run command, and Appendix B.6 for details.
Never turn off your Alto, turn off the disks, or interrupt Laurel’s execution during Mail file or Quit, or your mail file may be permanently damaged!
3.1.4. Quit — Leaving Laurel
To exit from Laurel and return to the Alto Executive, point the cursor at Quit (in the upper menu) and click RED. Laurel will prompt you for confirmation. After you confirm, Laurel will act on the deletions indicated in the table-of-contents region, eliminating all messages from the mail file that have lines drawn through their table-of-contents entries (see section 3.2.2). When you re-enter Laurel at a later point, these messages will no longer appear in the table-of-contents. They are gone forever.
If you invoke Quit with BLUE, Laurel will omit the confimation prompt. It may still ask for confirmation if an undelivered and unfiled message exists in the message composition region.
Leaving Laurel by any means other than Quit is not recommended and will slow down subsequent re-entry to Laurel.
Never turn off your Alto, turn off the disks, or interrupt Laurel’s execution during Quit, or your mail file may be permanently damaged!
3.2. Received message manipulation
3.2.1. Display — Viewing a message
Normally, to examine the contents of a message, you must first select its entry in the table-of-contents. However, after obtaining new mail from your in-box, Laurel automatically selects the first new message for you. To display a selected message, simply point the cursor at the Display command in the selection commands menu and click RED. The selected message will then appear in the display region just below the menu. You may scroll the message or adjust the boundaries of the region for more convenient reading.
To examine the next message listed in the table-of-contents, click Display with RED again. The selection pointer will be moved to the next entry, and the text of the message will be displayed. Thus, although Laurel permits you to move the selection pointer explicitly, you need not do so. Simply click Display with RED repeatedly and Laurel will advance the selection pointer each time.
Fine points: Laurel will skip over deleted messages (see below) when advancing the selection pointer. To display a deleted message, you must select it explicitly, then click Display. If more than one message is selected, then Display will initially display the first selected entry, and subsequent clicks will display subsequent selected entries without disturbing the entire set of selected messages. After the last such selected entry is displayed, the next click of Display will display the first selected entry again. The only way to break this cycle is by explicitly selecting a single message.
3.2.2. Delete — Indicating messages to be destroyed
After examining some of the messages in your mail file, you may wish to delete them. The Delete command, when invoked by pointing the cursor at it and clicking RED, will cause a line to be drawn through all selected entries in the table-of-contents. You may find it convenient to use Display and Delete alternately when processing newly-arrived junk mail. (See also the DisplayAfterDelete option in section 5.)
Messages marked for deletion in this manner are not actually removed from your mail file at the time that the Delete command is given. Such messages are removed permanently from the current mail file whenever a Quit or Mail file command is executed.
3.2.3. Undelete — Indicating messages to be retained
If you discover that you have inadvertently marked some messages for deletion that you want to keep, simply reselect them if necessary, point the cursor at Undelete, and click RED. The lines drawn through the table-of-contents entries of the selected messages will be removed. Remember that you must give the Undelete command before you give a Quit or Mail file command; otherwise the deletions will take place.
3.2.4. Move to — Filing messages
Although Active.mail is your default mail file, and most of your message reading and storage may be done with this file, you may wish to classify messages of particular types in separate mail files. Laurel provides the Move to {file} command for this purpose. The Move to command will copy messages from your current mail file to the end of the file specified in the Move to brackets.
To invoke Move to proceed as follows. First, select the messages you wish to transfer. Next, point the cursor at Move to and proceed as you would for Mail file (section 3.1.3). After you have supplied the file name, Laurel will append the selected messages to the indicated file. The file name you supply is entirely of your own choosing; you may wish to use descriptive subject names, dates, persons’ names, etc.
In addition to moving the selected messages, Laurel will draw a line through their table-of-contents entries as if you had invoked the Delete command. If you wish to retain any of those messages in the current mail file as well, you may use Undelete as described above. Laurel will also mark (in the mark character field) moved messages with an "m". This mark character may serve as a reminder that the marked message also exists in another file.
Move to does not move any messages that are indicated as deleted. If a set of messages containing both deleted and non-deleted messages is selected for Move to, only the non-deleted messages are moved.
Move to observes the same type-in conventions that Mail file does. It also implements one other convention that guards against misspelled file names: if the displayed file name does not correspond to any existing file, Laurel prompts you for additional confirmation before creating and writing a new file with that name.
3.3. Hardcopy — Printing messages
To print a copy of one or more messages in your mail file, select the message or messages in the table-of-contents, point at Hardcopy, and click RED. Messages that have been deleted (i.e., whose table-of-contents entries have lines through them) will not be printed, even if they are selected. Laurel will replace the middle menu with the hardcopy submenu that shows several properties to be used for the resulting hardcopies. The hardcopy submenu also contains two commands, Hardcopy and Cancel.
While the hardcopy submenu is on the Laurel screen, actual hardcopy processing is not being performed. In addition, no commands other than those in the Hardcopy submenu may be invoked while the hardcopy submenu is visible. Changing selections in the table-of-contents is permitted. After modifying the values of properties displayed in the hardcopy submenu, either point the cursor at Hardcopy and click RED, in which case hardcopy processing will begin, using the properties set this time, or point the cursor at Cancel and click RED, in which case the entire hardcopy command will be cancelled.
If you invoke Hardcopy initially with BLUE, then hardcopying will proceed immediately, using the current properties, without displaying the hardcopy submenu.
While hardcopy processing is proceeding, several status messages will appear in the feedback region of the Laurel screen to inform you of the progress being made. At any time before transmission to your printer has been completed you may cancel the hardcopy process by striking DEL or CANCEL.
When you invoke Hardcopy in the hardcopy submenu, any properties (except Printer) that you have set that are different from their default values will be used for the current hardcopy processing only. You will have to apply any non-default properties each time you invoke Hardcopy. Resetting these properties back to their default values also occurs when you invoke Cancel from the hardcopy submenu. You may change your default hardcopy property values via entries in the Laurel profile (section 5).
The standard values for the hardcopy properties will result in a single one-sided copy of each message printed on a standard blank form (no Xerox logo), with each message starting a new page. Detailed descriptions of each hardcopy property follow.
3.3.1. Printer
The name of the printer to which hardcopies will be transmitted appears in the {brackets} following the word Printer. The initial value for this property in each Laurel session is taken from your Laurel profile. Changes made to this property are retained for the rest of your Laurel session until you explicitly change this property. To change the Printer property, point the cursor at Printer in the Hardcopy submenu and click RED. A blinking caret will appear in the {brackets} and you may edit the value as with any other {brackets}.
If you set Printer {Local}, then printing will be done on a HyType printed connected to your Alto. If so, then be sure you are printing with a form that is appropriate for the HyType printer.
3.3.2. Form
Laurel 6 permits several different hardcopy layouts. These layouts are controlled by hardcopy forms, which are named and may be specified either in the messages being hardcopied or in the Form {brackets}. Laurel provides you with several built-in hardcopy forms: Blank, InternalMemo, Headers, and Archive. The purposes for which these built-in forms may be used are:
Blank: Prints each message starting on a new page. Used for messages of a general nature. The message header is slightly formatted on output.
InternalMemo: Prints each message starting on a new page. Used for messages relating to Xerox business only. The message header is substantially formatted on output. See section 6 for a fuller discussion regarding proper use of hardcopy forms.
Archive: Prints messages continuously, with no page breaks in between. No formatting is performed except for a separator line between messages. Recommended over the previous two forms for archival purposes.
Headers: Prints an excerpt of the message header for each selected message without page breaks. Similar to the table-of-contents display.
In addition, you may specify your own custom hardcopy forms in the Laurel profile. Details of construction of custom hardcopy forms and details of the built-in hardcopy forms are given in Appendix C.
When the Form {brackets} are empty (this is the standard situation), the choice of hardcopy form used for each printed message is as follows: If a message contains a PrintForm: field in its header, then the form named in that field is used for printing that message. Otherwise, each message is printed on the default hardcopy form. By default, the name of the default hardcopy form is Blank. You may change the name of your default hardcopy form via an entry in the Laurel profile.
If the Form {brackets} contains the name of a hardcopy form, then this form will be used to print all selected messages during this invocation of the Hardcopy command. Any PrintForm: fields in the messages being hardcopied will be ignored.
After you invoke either Hardcopy or Cancel in the hardcopy submenu, the contents of the Form {brackets} will be reset to empty.
Although it is possible to change the default hardcopy form (used for those messages that do not contain a PrintForm: field), this change should not be made unless you have a real need to do so. The Blank form is adequate for most hardcopies, and special printing is possible using the Form {brackets} on a case-by-case basis. See also the discussion of hardcopy form usage in section 6.
3.3.3. Copies
To change the number of copies to be printed in a particular batch of hardcopy, point the cursor at Copies in the hardcopy submenu and click RED. A blinking caret will appear in the {brackets} following Copies, and you may then enter the number of copies in the normal manner. Only values from 1 through 99 are acceptable.
After you invoke either Hardcopy or Cancel in the hardcopy submenu, the contents of the Copies {brackets} will be reset to the default. The standard default value for Copies is 1; you may change this default via an entry in your Laurel profile.
3.3.4. Two sided
Some of the printers available in the Internet are capable of duplex printing, i.e., on both sides of the paper. If you send hardcopy to such a printer, you may wish to have your output printed two-sided. To change the value of the Two sided property, point the cursor at Two sided in the hardcopy submenu and click RED. The value in the brackets following Two sided will change from "no" to "yes" or from "yes" to "no".
When printing with Two sided {yes}, messages that normally start on on new page will start on a new sheet of paper.
After you invoke either Hardcopy or Cancel in the hardcopy submenu, the contents of the Two sided {brackets} will be reset to the default. The standard default value for Two sided is "no"; you may change this default via an entry in your Laurel profile.
3.3.5. Private
Spruce print servers (the standard printers available in the Internet) allow you to send hardcopy that will be printed only when you explicitly enter a password at the server. The Private property allows you to specify this for the current batch of hardcopy. To change the value of the Private property, point the cursor at Private in the hardcopy submenu and click RED. The value in the brackets following Private will change from "no" to "yes" or from "yes" to "no".
CAUTION: Private {yes} should not be used unless you have an important reason for doing so. The procedure for printing password protected files on Spruce is (currently) cumbersome and very error-prone. It also creates a substantial disruption in normal printer service. If you do use Private {yes}, then the password used for that batch of hardcopy is the password most recently given to the User command.
After you invoke either Hardcopy or Cancel in the hardcopy submenu, the contents of the Private {brackets} will be reset to the default. The standard default value for Private is "no"; you may change this default via an entry in your Laurel profile.
3.4. Message initialization commands
Composition is the process of building the header and body of a particular message. Delivery is the process of transmitting a message to its specified recipients. Laurel separates these two actions and supplies distinct commands appropriate to each in the lower menu.
Laurel provides four ways to initialize the content of a message. You may compose a new message, or answer one you have received, or forward existing message(s) to a new recipient, or get a previously composed form or message from a file. In the lower menu, there are four commands corresponding to these actions: New form, Answer, Forward, and Get. Simply select the one you wish by positioning the cursor appropriately and clicking RED. If the composition region contains an undelivered message, these commands request confirmation before constructing a new form. As in other such contexts, selecting these commands with BLUE automatically supplies confirmation. Even after confirmation, Undo or CANCEL (section 4.4.12) can still be used to recover the previous contents of the region.
It is important to understand that New form, Answer, and Forward only provide a message form; you must edit the form before requesting that it be delivered. The message you compose is simply an unformatted text string. However, Laurel does supply automatic line breaks as Bravo does, so you need not type CRs except to produce white space.
Laurel imposes format restrictions only on the message header. By definition, the header ends at the first blank line (i.e., two successive CRs). You should therefore be careful not to delete the blank line provided by Laurel in the initial forms. The header itself consists of a sequence of fields, some of which are required to be present. When composing a message you should always fill in the To: field and the Subject: field; you may delete the cc: field if it is not needed. When the message is ultimately delivered (section 3.7), Laurel will supply your name and the date, so you need not include them explicitly.
3.4.1. New form — Initializing a new message
The New form command gives you a new message form in the composition region. The form contains To:, Subject:, and cc: fields, each containing placeholder words, items that are bounded by matching triangles. These placeholders must be replaced by appropriate text or removed entirely from the form before delivery. In addition to a placeholder for extra recipients, the cc: field in the new form contains the current user’s name.
3.4.2. Answer — Replying to a message
The Answer command initializes a message form so as to reply to the first message selected in the table-of-contents. The Answer command fills in the To: field with the sender of the selected message and sets the subject to be "Re: subject of selected message". The Answer command also sets the cc: field to include all of the recipients of the message being answered (as long as that message does not contain a Reply-To: field, see below). If you don’t like these substitutions, you may, of course, change them using the editor.
If the message being answered contains a Reply-To: field in its header, then only those recipients listed in that field will be included in the To: field constructed by the Answer command. Also, your name (the current name in the User brackets) will be included in the cc: field of the message constructed by Answer in this case. The Reply-To: field in an outgoing message thus has the effect of restricting the recipients of answers to messages, when the recipients of such a message do not modify the recipient fields constructed by the Answer command. Including such a Reply-To: field is strongly suggested when sending a message to a large group of people. Good judgment and common sense exercised by message system users go a long way toward making our message system enjoyable for all. See also the discussion on Reply-To: in section 6.
3.4.3. Forward — Resending received messages
The Forward command initializes a message form by copying the complete text of all selected messages into the new form’s message body, while providing a header similar to that provided by New form. Since Laurel enforces a limit of approximately 64,000 characters in the composed message, it is possible that not all of the selected messages will be copied.
3.5. File commands
Several commands in the lower menu retrieve files or public distribution lists, and store files. The files may be on your local Alto disk or on a remote server that accepts FTP connections.
The file manipulation commands all require arguments which you supply by typing into specific {brackets}. When one of these commands is invoked, the lower menu will expand so that its second line contains the appropriate {brackets} for that command. This second line will remain in the lower menu until such time as you invoke the command on the extreme right edge of this line represented as an upward pointing arrow under a short horizontal line. When invoked, by pointing the cursor at it and clicking RED, the lower menu will shrink back to one line.
To specify a local file (on your Alto disk) just use the normal file name. To specify a file stored on a remote machine, the most general form is [server]<directory>filename. If the remote machine is an Alto running FTP, then the <directory> must be omitted. If the remote machine is an IFS file server, then the filename may contain all the subdirectory text commonly used on such servers. Also, you may omit the <directory> if it is the same as your current User name. To specify a public distribution list, use the form Name↑.registry. The .registry may be omitted if it is the same as your own registry.
The details of name interpretation are as follows:
0)A leading @ character is removed before applying the following rules.
1)If the first character in {brackets} is [, then the name is understood to be that of a remote file. The characters inside the square brackets are used as the name of the remote file server, and the remainder of the name is presented to the file server.
2)If not case 1, then if the {brackets} contain an ↑ character, then the name is interpreted as a public distribution list name. If no .registry suffix appears in the name, then Laurel will implicitly append the .registry from the User brackets. The complete name is presented to the message transport system, which will return the contents of that list as would be used for delivery.
3)If neither case 1 nor 2 applies, then the name is interpreted as a local file name. If this name does not contain a period (.) and no local file of that name exists, then Laurel will use a file with that name with .form added as a suffix.
3.5.1. Get — Reading a file or distribution list
The Get command replaces the entire contents of the composition region with the text contained in the file or distribution list specified. To invoke Get, point the cursor at Get and click RED. A second menu line containing
File name {brackets}
will appear, with a blinking caret within the {brackets}. Enter the filename (or distribution list name) using the brackets type-in facilities described in section 2.1.3.
Repeated clicks with RED on the Get command will cycle the contents of the File name {brackets} through all of the filenames on your local disk whose suffixes are .form.
If you invoke Get with BLUE, then Laurel will execute the command immediately using whatever name is already inside the File name {brackets}. This may be a bit chancy if the File name {brackets} menu line is not currently visible.
Get and Put are useful when you want to save a partially composed message to be completed and delivered later. You may also want to do this if you encounter persistent network or mail server problems upon attempting to Deliver. Get is also handy for obtaining custom forms (or form letters) that you have prepared previously. If the file read with Get has the suffix .form, then the Laurel editor will automatically select the first placeholder in that file.
Get may not be used for files containing over 64,000 characters. Get may be used safely only for text files. Files that contain binary information will be modified by the Get command. To copy files containing binary information to your disk safely, see the description of the Copy command, section 3.5.3.
See also the description of the G (COM-G) editor command (section 4.4.6), which replaces only the selected text in the composition region, rather than the entire text in the composition region.
3.5.2. Put — Writing a file
The Put command writes out the entire contents of the composition region onto the local or remote file whose name is inside the brackets. Put will not write onto a public distribution list. Use Maintain (Appendix B). (If the file is local and a file with that name already exists, Laurel requires an extra confirmation before overwriting it. Put onto a remote file follows the file server’s conventions, which usually means that a new version will be created.) To invoke Put, point the cursor at Put and click RED. A second menu line containing File name {brackets} will appear, with a blinking caret within the {brackets}. You may enter the filename in the normal way.
The Put command shares the same File name {brackets} with the Get command. The contents of the File name {brackets} are remembered across commands, and even between separate sessions of Laurel. They are initialized to empty when Laurel installs itself. This allows one to Put a message and on a subsequent Get, the filename used during the Put is still in the File name {brackets}, ready to be confirmed.
The .form automatic extension allowed by Get are not provided with Put. The only way to write on a file with a .form extension is by explicitly typing the .form extension with the filename.
See also the description of the P (COM-P) editor command (section 4.4.8), which writes out only the selected text in the composition region, rather than the entire text in the composition region.
3.5.3. Copy — Copying or transferring a file
The Copy command provides a simple means of copying files within a file system or of transferring files from one file system to another. To invoke the Copy command, point the cursor at Copy and click RED. A second line will appear in the lower menu containing
from {brackets} to {brackets}
with a caret blinking in the from {brackets}. At this point, fill in or confirm the file or distribution list name in these brackets; this will be the the source from which a copy will be made. When this name has been confirmed in the usual manner, the blinking caret will move to the to {brackets}. Fill in or confirm these brackets in the same manner; this will be the name of the file (distribution list are not allowed here) that will be the new copy. Striking DEL or CANCEL at any time before confirming the to {brackets} will cancel the entire Copy command.
The names specified for either of the from or to {brackets} may be local or remote in any combination. If both names specified are local, then a local copy is made of a local file (similar to the Alto executive’s Copy command). If the from name is local and the to name is remote, then the Copy command behaves as an FTP Store command. If the from name is remote and the to name is local, then the Copy command behaves as an FTP Retrieve command. Finally, if both names specified are remote, then a remote copy of a remote source is made. There is no analogous FTP command for this last case. Also, no buffering on the local disk is necessary for a remote to remote Copy.
If the Copy command is invoked with BLUE, then the from name is automatically confirmed, and the blinking caret starts in the to {brackets}.
3.6. Run — Running a program; Laurel extensions
The Run command allows you to run certain Mesa programs without leaving Laurel to do so. The Run facility is a general-purpose mechanism that allows a wide range of features to be added to your Laurel without increasing the size of the standard Laurel program. The basic idea is that Laurel provides general message system functions that you may extend simply by adding optional runnable programs to your local disk. The Laurel group has provided several "standard" runnable programs; these have and will be augmented by numerous special purpose programs built by a wide variety of message system users.
Some runnable programs (such as Chat.laurel) extend Laurel by providing useful features that are only marginally connected with Laurel, but provide a powerful increase in the utility of Laurel by integrating new functions. Other programs (e.g., InsertMail) are deeply integrated into Laurel’s organization, providing functions on Laurel’s own objects. Still other programs (say a desk calculator program) may provide useful (or frivolous) functionality that is currently lacking in Laurel. The possibilities are legion.
Many of the programs available use the composition region as a teletype style typescript (e.g., Chat.laurel, Maintain.laurel). When such a program has finished its execution, its typescript remains in the composition region, which may be scrolled, edited, filed, etc., using the standard Laurel facilities. Other programs (e.g., Fog.laurel, InsertMail.laurel) may merely affect certain objects that Laurel manipulates (e.g., mail files, the displayed message region) without affecting the composition region at all. Appendix B gives descriptions of the "standard" Laurel runnable programs made available by the Laurel group.
To invoke the Run command, point the cursor at Run and click RED. The second line of the lower menu will change to one that includes
Program {brackets}
with a blinking caret inside the {brackets}. Fill in or confirm the name of a program in the {brackets} in the usual manner. The program will then be loaded into Laurel and its execution will begin. No confirmation is necessary even if the text in the composition region has not been filed or delivered. This text is restorable (with Undo or CANCEL, section 4.4.12) after the Run command has finished. The Run command will remain gray during the entire execution of the program. Each program has its own rules about user interactions and termination. The "standard" runnable programs provided by the Laurel group have somewhat similar interfaces and tend to be self documenting.
The default extension for programs to be run in Laurel via the Run command is .laurel. You need not type the .laurel extension into the Program {brackets} if the program you wish to run has a .laurel extension. Also, after invoking Run with RED, subsequent RED clicks on the Run command will cycle the contents of the Program {brackets} through the prefixes of all files on your local disk that end in .laurel. For Mesa programmers: the programs that run in Laurel are standard Alto Mesa 6 .bcd files; a .laurel file is merely a .bcd file renamed. The .laurel extension was chosen so as to distinguish programs intended to run inside Laurel from the large population of random .bcd files that most Mesa programmers have on their local disks. To run a suitable program whose extension is not .laurel, just type the entire file name into the Program {brackets}.
The Run command also allows the running of a program that is not on the local disk at the time the command is invoked. If a remote filename is entered into the {brackets}, then that program will be retrieved onto the local disk first, the {brackets} will be changed to reflect the local filename, and the program will then be loaded and run in the normal manner. Such programs retrieved "on the fly" will remain on the local disk until you explictly delete them from the Alto file system. See also the description of the RunPath Laurel profile option (section 5).
Before a program is loaded with the Run command, Laurel makes several consistency checks to make sure it may properly be run within Laurel. After the program has completed, more checks are made to insure that the program just run has not damaged Laurel’s environment. Violations of these checks may produce amusing results.
3.7. Deliver — Sending a message
Before you attempt to send a message to its recipients, you must compose the outgoing message properly. This section gives the rules for composing messages and naming recipients first, then gives a detailed description of the delivery process.
In order to make inadvertent message delivery difficult, the Deliver command may not be present on the screen at some times. These times are at Laurel startup and immediately after the New form, Answer, Forward, and Deliver commands. The Deliver command will appear after any edit is performed on the composed message.
3.7.1. Editing the message header
Recall that a message contains two major parts: the header and the body. Since Laurel allows free editing of the outgoing message, there are certain rules that you must observe in order to keep your message intelligible to the Deliver parser. The header and body are separated by a double CR; this causes the appearance of a blank line between the header and body when displayed on the Laurel screen. All of Laurel’s initial message forms have this blank line following the skeleton header. Do not remove that blank line or insert a blank line inside the header; otherwise information contained in the header will be misunderstood.
Each separate field of the header begins on a new line with a word immediately followed by a colon. The word preceding the colon specifies the meaning of the word or words following the colon, e.g., To: specifies that the words following the colon are to be interpreted as recipient names; Subject: specifies that the words following the colon are merely text and not recipient names. There should be no reason to type a CR in the text following the colon except for the CR that terminates the entire field. If it is necessary to insert a CR for line folding purposes, the combination CR BLANK is interpreted by all message parsers as equivalent to BLANK and will not terminate the field.
Laurel identifies items that it expects you to replace by supplying a keyword bracketed by matching black triangles. Laurel will refuse to deliver any message whose header contains one (the left one) of these black triangles. This protects you from simple oversights, such as forgetting to supply a Subject: field.
3.7.2. Naming recipients
The recipients of a message are specified in the To: and cc: fields of the header. You need to know the registered name of each individual or group to whom you want to send a message. Many organizations publish local telephone lists that include mail system recipient names. A Xerox-wide, message system "white pages" directory is planned. Of course, you can often discover these names by looking in the headers of incoming messages.
A recipient name has two parts separated by a period. The second part is a registry name, and the first part is the identifier for someone in that registry. Most registry names currently correspond roughly to "campuses" of activity within Xerox, which should make them easier to remember. At present, the following registries exist:
DLOS-Dallas, TX
EOS
-Electro-Optical Systems, Pasadena, CA
ES
-El Segundo, CA (now served by Grapevine)
HENR
-Henrietta, NY
LB
-Leesburg, VA
PA
-Palo Alto, CA (now served by Grapevine)
RX
-Rank Xerox, London, England
STHQ
-Xerox Corporate Headquarters, Stamford, CT
WBST
-Webster, NY
XRCC
-Xerox Research Center, Toronto, Canada
Note that the registry names tend to be geographic rather than organizational—it’s easier to remember approximately where individuals work than what organizations they are a part of today. Also, at the time of this writing, only the ES and PA registries are served by Grapevine, thus enabling many advanced message transport features. In time, most of the other registries will be converted to Grapevine.
Most messages involve activities within a single campus, and since registries correspond to campuses, most of the recipients of a message tend to be in the same registry. It would be cumbersome if Laurel always required that you use the complete name for all recipients, just as it would be cumbersome to have to dial an area code to telephone your neighbor across the street. Laurel allows you to omit the registry name for recipients who are in your registry. For example, someone in the registry for the Palo Alto area, say "Someone.PA", could send a message with the following acceptable message header:
Subject: demonstration of recipient naming
To: Person1, Person2
cc: Person3, FarAwayPerson1.ES
Laurel presumes that the names that lack registries are in the sender’s registry, which, in this case, is "PA". Since "FarAwayPerson1.ES" explicitly includes a registry, no ".PA" suffix is presumed by Laurel. Thus, in this case then message will go to "Person1.PA", "Person2.PA", "Person3.PA", and "FarAwayPerson1.ES".
3.7.3. Public distribution lists
The mail system provides a way to address messages to groups of recipients. Each registry includes some recipient names whose first part ends with the character "↑". Such names identify groups rather than individuals. Using such a name as the recipient of a message causes the message to go to all the individuals included in the group. For example, the To: line
To: CSL↑.PA
will cause the message to be delivered to all of the approximately 75 recipients in the Computer Science Laboratory of the Palo Alto Research Center. If the sender is in the PA registry, then the .PA may be omitted.
The public distribution lists for each registry are stored on mail server machines, and are maintained by the administrators of that registry, by the owners of the lists, and in some cases by the members of the lists. To create a public distribution list you must contact an administrator for your registry, who will make sure that your proposed name does not conflict with any others, and who will create the list for you. You can get your name added to appropriate lists by contacting an owner of that list, or, if you are in a Grapevine registry, by using the program Maintain.laurel (see section 3.6, Run command and Appendix B). In Grapevine registries, by convention, the owners of a list named list↑.registry are listed in the companion list Owners-list↑.registry. If you cannot make a desired change to a public list yourself, then sending a message to Owners-list↑.registry is a good way to request that the changes be made.
While you are permited to address messages to any public distribution list (in any registry), you should think very carefully about your choice of message and list so as not to bother recipients with messages they don’t care to read. Check with experienced users to find out which lists should be used for which kinds of messages (see also section 6).
You need not worry about a recipient appearing in more than one distribution list. The message transport system will detect duplicate names among the recipients and ensure that each receives the message only once. Thus, you may use multiple distribution lists freely within the To: and cc: fields of the message header.
3.7.4. Private distribution lists
Suppose you have a collection of people to whom you frequently send messages. To avoid having to type the entire list of names every time you send a message to the group, you may proceed as follows. Create an Alto file containing the list of names (separated by commas). You may find it convenient to "label" such distribution lists; you may do so by prefixing the list with identifying text followed by a colon, and then terminating the entire list with a "matching" semicolon. For example, such a file might contain
Laurel Alpha users: Brown, Doe, Jones, Smith;
Give this file a name, say "AlphaUsers.dl".
Now, when composing a message in Laurel, include the file name in the appropriate field of the message header (e.g., following To: or cc:), preceded by an "@" character:
To: @AlphaUsers.dl
While delivering the message, Laurel will read the file to determine the recipients. Multiple private distribution list specifiers may be used within a single field and may be intermixed with names of individual recipients and public distribution lists—separate them all with commas. By convention, private distribution list file names end with .dl (for distribution list). @ expansion requires that the complete filename be given; no abbreviation mechanism exists.
Private distribution lists need not be stored on your local disk. Laurel will accept a complete, remote file name following an "@", for example:
@[Ivy]<LaurelSupport>LaurelUsers.dl
As with public distribution lists, you need not worry about a recipient appearing more than once. Laurel will detect duplicate names among the recipients and ensure that each receives the message only once.
3.7.5. Delivery
Once you have composed the message you wish to transmit, you may initiate its delivery to the recipients by pointing the cursor at Deliver and clicking RED. Laurel will fill in your name and the date (though they won’t appear in the composition region) and proceed to send the message. A gray background will appear behind the Deliver command and the cursor will change to an hourglass. If Laurel discovers an error in the list of recipients, it will give you an opportunity to cancel the delivery and correct the mistake. When the list is acceptable (i.e., all specified recipients are known to have in-boxes), Laurel will deliver the message and remove the hourglass and gray background. After successful delivery, the word Deliver will disappear and will be replaced by "delivered". If an error occurs during delivery, an explanation of the error condition will be displayed in the feedback region. You may cancel delivery while the message "Type DEL if you wish to cancel delivery" appears in the feedback region.
Deliver tells you the number of recipients to whom it will deliver the message. If this number exceeds 30 or if the recipient list includes public distribution lists, and your message does not include a Reply-To: field, you must confirm the delivery. This is intended to minimize unintentional deliveries to large distribution lists.
When you are asked to confirm, you have three choices: to deliver the message including a standard Reply-To: field so that answers will go to yourself only, to deliver the message without a Reply-To: field so that answers will normally go to all recipients specified in your message, or to cancel the delivery at this point. A message will appear in the feedback region indicating the choices available. Striking ESC will deliver with the Reply-To: <self> included (this is recommended in most cases), striking "A" (for "All") will deliver without a Reply-To: field, striking DEL (or anything else) will cancel the delivery at this point. If you cancel the delivery at this point, a Reply-To: <self> field will be added to the message anyway; you may edit this field to include other names if you wish and re-invoke Deliver when ready.
Extra confirmations may be necessary if invalid recipient names are detected. One confirmation per invalid name will be asked for. If Deliver is invoked with BLUE then Laurel will not require these invalid recipient confirmations. Large list Reply-To: confirmation is still required with BLUE. This confirmed delivery mode is useful when sending a message to a large private distribution list that may contain a few invalid recipient names. Laurel will deliver to all the valid recipients and report the number of invalid recipients when delivery is completed. When finished, Deliver also tells you the size of the message (in characters).
Before filling in your name in a composed message, Laurel will check to see if the message header already contains a "From" field. If so, Laurel inserts a "Sender" field with your name and leaves the "From" field untouched. It is the "From" field that is normally displayed in the table-of-contents. The name Laurel furnishes is your logged-in user name—see section 3.1.1, User command.
3.7.6. Corresponding with Arpanet recipients
The Xerox mail system is connected to the ARPA network, and Laurel users can correspond with individuals at other ARPA sites. Arpanet recipients at sites other than Parc-Maxc may be specified in the message header by either "name@ArpaHost" or "name at ArpaHost".
Laurel recognizes messages that include Arpanet recipients except when the only such recipients are contained in a public distribution list and performs a number of additional actions. When constructing a reply with Answer, Laurel will retain ArpaHost names for foreign recipients. During delivery, Laurel will append appropriate qualification to Xerox recipient names, ensuring that responses from the remote ARPA site will reach them. Thus, you never need to append "@Parc-Maxc" explicitly.
Laurel requires you to supply the .registry extension on all Xerox recipient names if you are sending the message to at least one Arpanet recipient and your registry is not .PA. Otherwise, Laurel will complain "local names need registry appended".
Laurel supports a subset of the ARPA standard for message headers (RFC 733/NIC 41952). Happily, users need not be aware of most of the requirements of this extensive standard except for the warnings about CR’s in message headers stated at the beginning of this section.
If you include private distribution list names in the header, the ARPA standard requires that they be enclosed in quotes; for example:
"@[Ivy]<LaurelSupport>LaurelUsers.dl"
Laurel will still recognize and expand your private distribution list, and will remind you when quotes are necessary.