RFC543

From RFC-Wiki




Network Working Group D. Meyer Request for Comments: 543 SRI-ARC NIC: 17777 31 July 1973


            Network Journal Submission and Delivery


Augmentation Research Center

Stanford Research Center Menlo Park, California 94025

The on-line documentation will be maintained as (userguides. journal-netsub,). Hard copies are available from Marcia Keeney.

The first implementation of a Network Journal Submission and Delivery system is now experimentally up. This system allows use of the NIC's NLS Journal System without entering NLS. Network users may submit text files written on their host systems using their mail subsystems (e.g. SNDMSG, FTP, TELNET). The mail will then be converted at SRI- ARC into NLS files, journalized, and sent to the specified recipients according to their preset Journal delivery options. A newly added option permits the user to receive automatic Journal delivery (of citations to journalized documents) at his host via the Network mail protocol.

Overview

Network mail sent to SRI-ARC (NIC) will be entered into the NIC Journal system if a slash appears in the user-name. To get the mail to the NIC, you may use either the FTP, TELNET, or mail subsystem provided by your local system.

The author's NIC Ident(s) are assumed to appear before the slash; the recipients' NIC Ident(s) after it. Idents should be separated by spaces. (See scenarios in branch 3) (e.g. jew / mdk dhc)








When this format is detected by the NIC, the Network Journal system will be invoked. At SRI-ARC the mail will be transformed into an NLS file, assigned a unique catalog number, stored permanently under that number, and a notice of it will be sent to all the listed recipients. If the slash is not found, the mail will be handled in the normal way.

Delivery of Journal citations may now be obtained via the Network (as well as to an NLS file at SRI-ARC and in hard copy). If you wish to receive your Journal mail at you host computer, contact the NIC (see RFC510 -- 16400,).

A more detailed description follows.

NETWORK JOURNAL SUBMISSION

The remote user prepares the text of his Journal article in his host using whatever tools he has available to him. He may wish to prepare long articles beforehand using his text editor (e.g. TECO if he's a TENEX user). For short messages, he may be content with the basic editing features (such as backspace character and line delete) provided by his submission subsystem.

Connecting to the NIC

To get the mail to the SRI-ARC FTP server, you must either:

  1) via FTP and TELNET mail subsystems, connect to SRI-ARC's FTP
     server process, then issue the FTP mail command, or
  2) use the mail subsystem provided by your local system.
     For TENEX SNDMSG mail: put "@nic" at the end of the "User:"
     field.
        (e.g. jew / mdk dhc@nic)
     If you wish to send the mail as a SNDMSG message to  some
     people as well as submit it to the Journal, you may treat the
     Journal form as one name, follow it with a comma, and then list
     other names of which SNDMSG is aware, separated by commas.
        (e.g. jew/mdk dhc@nic, meyer, white)

Specifying Authors and Recipients

The user invokes Network Journal submission via his mail subsystem. Network Journal Submission is invoked by a user-name field of the following format:




  author $(SP author) [SP] / [SP] recipient $ (SP recipient) [SP]
  [ ; conversion algorithm]
     "$(..)" means "any number of occurrences, possibly
             zero, of what's inside the parentheses"
     "SP" means "space"
     "[..]" mean "the contents of the brackets are optional"

i.e., author(s), slash, recipient(s), optional semicolon and conversion-algorithm

  e.g., jew/mdk rww   cr    dcs rww jcn / sri-arc ;h

'Author' is the NIC Ident of (one of) the user(s) submitting the article, and 'recipient' the Ident of (one of) its intended recipient(s). An Ident, as usual, may designate either a "group" or an "individual". SRI-ARC will verify the idents. If it finds them correct, it will accept the mail. An invalid Ident will cause the mail to be rejected; the user will get an error message and have to start over. The first author Ident will be taken to be the clerk.

If the SRI-ARC mail subsystem finds the slash in the user-name field, the Network Journal Submission system will be invoked; otherwise, the mail will be treated as normal Network mail (delivered to the directory specified by the user-name).

Specifying an NLS Conversion Algorithm

Optionally, the sender may specify the algorithm by which his sequential message file is to be converted to NLS format. This choice is made by inserting:

  ; conversion algorithm

anywhere in the 'user-name' field (e.g. jew/mdk rww;s). (This should be before the "@nic" for SNDMSG.) Legal values for conversion- algorithm are:

  s -- Insert Sequential, each line an NLS statement (default
  conversion-algorithm)
  a -- Insert Assembler with structure
  m -- Insert Assembler without structure
  h -- Heuristic Insert Sequential, double <CR>s indicating end of
  statements, assuming no right justification in the source file.




  j -- Heuristic Insert Sequential, double <CR>s indicating end of
  statements, assuming right justification in the source file (for
  those who put multiple spaces between words to line up the right
  margin, multiple spaces will be removed)
     By "Heuristic Insert Sequential", we mean that the Insert
     Sequential algorithm attempts to be smarter about handling
     statements and levels.  Statements are delimited by two
     successive carriage returns.  Statement level will be
     determined by the amount the statement is indented.  If it is
     indented more than the previous statement, it will be taken to
     be a substatement and put down a level; if it is the same as
     the previous statement, it will be on the same level.  If the
     statement is indented less than the previous statement, the
     program will look for a past statement with the same
     indentation and put it at that level, The indentation of a
     statement is taken to be that of either the first or second
     line of the statement, whichever is less (to ignore paragraph
     indentation, for example).  This is good from 1 to 12 levels.
     Carriage returns at the end of full (within 10 characters of
     the right margin, i.e. 62nd column) lines are replaced by
     spaces.
     This algorithm is an attempt to answer a very difficult need.
     It won't always do just the right thing, but it should often
     provide the intended result.  The user is encouraged to
     experiment with it; suggestions will be welcomed.

Titling the Message

  Once the conversion has been performed, an optional title,
  signaled by the label 're:'. 'title:', or 'subject:' is searched
  for in the first statement of the message text.  (The label may
  either be all upper or all lower case, or the first character
  upper and the rest lower case.)  If a label is found anywhere in
  the statement, the line of that statement beginning with the first
  non-blank character following the label and going up to the first
  carriage return (and line feed) or else to the end of the
  statement is taken as the Journal title, and the statement
  containing the title is deleted from the file,  Any substructure
  will be moved up a level.

The submission is equivalent to the NLS 'Submit Message' command if th NLS file (after the title statement (if any) has been deleted) has only one statement in it besides the origin statement; in such a case, the message in its entirety will be delivered as part of the Journal citation. Otherwise the Network submission is equivalent to 'Submit File'; only a reference to the Journal document will be



delivered to each of the recipients.

TENEX SCENARIOS

If you're a TENEX user, you can do Network Journal Submission with any of the following subsystems (system responses are in square brackets):

  (1)   SNDMSG  (The header and trailer supplied by SNDMSG aren't
                 stripped off, and one can only title the document
                 by using the h or j conversion algorithms and
                 beginning the message with a carriage return (and
                 line feed).)
        [@] SNDMSG <CR>
        [Type ? for help]
        [Users:] JEW/DHC@NIC <CR>
        [Subject:] Title of message <CR>
        [Message: (? for help):] Text of message ... <^Z>
          (Note: ^B allows the insertion of a sequential
          file at any point in the text of the message.)
        [jew/dhc at NIC -- ok]
  (2) FTP
     For short messages:
        [@] FTP <CR>
        [HOST FTP User process x.xx.x]
        [*] CONN <SP> NIC <CR>
        [   Connection opened]
        [   Assuming 36-bit connections.]
        [*< SRI-ARC FTP Server x.xx.x - at DAY DATE TIME]
        [*] QUO <ALT> MAIL JEW/MDK RWW <CR>
        (pause)
        [*< Type mail, ended by a line with only a "."]
        [*] QUO <ALT> Re: Title of Message <CR>
        [*] QUO <ALT> line one of the message <CR>
        [*] QUO <ALT> line two of the message <CR>
        [*] ...etc...
        [*] QUO <ALT>.<CR>
        (pause)
        [*< Mail completed successfully]
        [*] DISC <CR>
        [*] QUIT <CR>





     For longer ones:
        [@] FTP <CR>
        [HOST FTP User process x.xx.x]
        [*] CONN <SP> NIC <CR>
        [   Connection opened]
        [   Assuming 36-bit connections.]
        [*< SRI-ARC FTP Server x.xx.x - at DAY DATE TIME]
        [*] MAIL <ALT> sequentialfilename <CR> [Confirm] <CR>
        [   to remote-user] JEW/MDK RWW <CR>
        (pause)
        [<Begin mail file transfer.]
        [   xx. bytes transfered, run time = xxx. MS,]
        [   Elapsed time = xxxxx. MS, Rate = xxxx Baud]
        [*< Mail completed successfully]
        [*] DISC <CR>
        [*] QUIT <CR>
  TELNET (for short messages only)
        [@] TELNET <CR>
        [User Telnet x.x DATE Type HELP<cr> for help.]
        [*] NIC <SP> FTP Server [is complete.#]
        [300 SRI-ARC FTP Server x.xx.x.x - at DAY DATE TIME]
        MAIL JEW/MDK RWW <CR>
        (pause)
        [350 Type mail, ended by a line with only a "."]
        re: Title of Message
        line one of message <CR>
        line two of message <CR>
         ...etc...
         .<CR>
        (pause)
        [256 Mail completed successfully]
        <^Z>
        [*] DISC <CR>
        [*] QUIT <CR>

NETWORK JOURNAL DELIVERY

Three modes of Journal delivery are currently available to NLS users; each user can select any one or a combination of ways of receiving journal mail:

  (1)   ONLINE -- an entry containing the text of the mail or, for
        longer items, a citation to it, made in the user's initial
        file, which resides in his directory at SRI-ARC.




  (2)   HARDCOPY -- the text of the mail is sent to the user (i.e.,
        to an address of his choosing) via the U.S. Postal Service.
  (3)   NETWORK -- Journal mail will be delivered to a user via the
        Net, to a host and mailbox of his choosing.  If you wish
        this option, let the NIC know and give them the name of your
        host and mailbox.
           Short messages ('Submit Message') will be delivered in
           their entirety to the remote user, preceded by the usual
           sort of header giving author, date and time, citation
           number, and title:
              JEW 4-APR-73 11:21  15490
              SMFS Runs on TENEX 1.31 at the NIC
              Message: Dave-- The NIC came up on TENEX 1.31 on
              1-APR...
           A citation to larger Journal articles ('Submit File')
           will sent:
              JEW 4-APR-73 17:51  15491
              Farming Batch Work out to UCSB -- A Scenario
              Location: SRI-ARC <MJOURNAL> 15491.NLSXNLS
              In place of the usual link (which appears in ONLINE
              delivery) is a host name (SRI-ARC) and a pathname to
              the file at the host.  Using it, the remote user or a
              process running on his behalf can fetch a copy of the
              file from SRI-ARC FTP.  The parameter ';XNLS' signals
              SRI-ARC's FTP server process to convert the NLS file
              to sequential form (using a default conversion
              algorithm) before transmission to the user through the
              Net.

By Network Journal delivery, mail will be delivered via FTP mail command to a host (i.e., to it's FTP server process) and mailbox address of the user's choosing.

     These two parameters will be maintained in the NIC Ident file
     for each user who selects NETWORK delivery, and can, like his
     delivery mode, be viewed or changed from the Ident System in
     NLS.  Initial values for host and mailbox address have been
     solicited from the Network community (see RFC 510 -- 16400,).





The implementation of Network Journal submission and delivery described here is a first-cut. A more flexible and slightly cleaner user interface will be fashioned when the File Transfer Protocol (FTP), upon which both implementations will rely, is revised to deal more comprehensibly with the issue of mail delivery, forwarding, and recording (see RFC 524 -- 15146,1).


      [This RFC was put into machine readable form for entry]
         [into the online RFC archives by Via Genie 12/99]