2.9BSD/usr/contrib/notes/doc/doc


 Technical report number UIUCDCS-R-82-1081









                    NOTESFILE REFERENCE MANUAL





                       Raymond B. Essick, IV

                            Rob Kolstad


                           June 17, 1982



                            Revised by

                     Rick L Spickelmier (UCB)

                         Lou Salkind (NYU)


                           April 1, 1983




                             ABSTRACT

         The notesfile system coordinates discussion  forums.   It
 stores,  indexes,  sorts,  and searches individual remarks.  This
 manual describes the commands to install,  invoke,  and  use  the
 system.





 (C) 1982 University of Illinois Board of Trustees, All Rights Reserved

       This work partially funded by NASA grant NAS-1-14472
       directed by Roy H. Campbell, University of Illinois.
















 1   _I_n_t_r_o_d_u_c_t_i_o_n.



         Notesfiles support computer  managed  discussion  forums.

 Discussions  can  have  many  different  purposes and scopes: the

 notesfile system has been designed to be flexible enough to  han-

 dle differing requirements.


         Each notesfile discusses a single topic.   The  depth  of

 discussion  within  a  notesfile is ideally held constant.  While

 some users may require a general discussion of personal  worksta-

 tions,  a  different  group may desire detailed discussions about

 the I/O bus structure of the WICAT 68000 (a  particular  worksta-

 tion).   These  discussions might well be separated into two dif-

 ferent notesfiles.


         Each notesfile contains a list of  logically  independent

 notes (called base notes).  A note is a block of text with a com-

 ment or question intended to be seen by members of the  notesfile

 community.   The  note display shows the text, its creation time,

 its title, the notesfile's title, the author's name (some  notes-

 files  allow  anonymous  notes),  the  number of "responses", and

 optionally a "director message".   Each  base  note  can  have  a

 number of "responses": replies, retorts, further comments, criti-

 cism, or related questions concerning the  base  note.   Thus,  a

 notesfile  contains  an  ordered  list  of  ordered  lists.  This

 arrangement has historically been more convenient than other pro-

 posals  (e.g., trees were studied on the PLATO (trademark of CDC)

 system).


         The UNIX (trademark of Bell Labs)  notesfile  system  was










 Notesfile Reference Manual                                 Page 2



 designed and implemented by Ray Essick at the University of Illi-

 nois, Urbana-Champaign.  It provides users with the abilities  to

 read notes and responses, write notes and responses, forward note

 text to other users (via mail) or  other  notesfiles,  save  note

 text in their own files, and sequence through a set of notesfiles

 seeing just new text.  Each notesfile has a  set  of  "directors"

 who  manage  the  notesfile:  they delete old notes, compress the

 file when needed, grant and restrict access to the notesfile, and

 set  different  notesfile parameters (e.g., title, "director mes-

 sage", policy note, whether notes'  authors  can  be  anonymous).

 Some  notesfiles  contain  correspondence  from  other computers.

 Like the UNIX "USENET", notes and responses are exchanged  (often

 over  phone  lines)  with  remote machines.  The notesfile system

 provides automatic exchange and updating of  notes  in  an  arbi-

 trarily connected network.


         This document details the use of notesfiles from  invoca-

 tion  through intersystem notes exchanges.  The last chapter sum-

 marizes the entire set of commands for easy reference.




 2   _U_s_i_n_g _N_o_t_e_s_f_i_l_e_s.



         The notesfile system is invoked  with  a  single  command

 line.   Most  notesfile  commands require only a single character

 (like the vi editor).  Those that do require more than one  char-

 acter are terminated by a carriage return.











 Notesfile Reference Manual                                 Page 3



 2.1   _I_n_v_o_c_a_t_i_o_n.


         Invoke the notesfile system with:


         notes [ -sxi ] [ -t termtype ] [ -f nfile ] [ topic1 ]  [

 topic2 ... ]


 The topic list (e.g., topic1) specifies the notesfiles  to  read.

 Invoking the notes system with NO arguments causes the program to

 look for a file called '.notesrc' in your home directory, and  if

 it  exists,  effectively  does  'notes -f ~/.notesrc'.  When more

 than one topic is  specified,  the  user  encounters  each  topic

 sequentially (i.e., topic2 is entered upon completion of topic1).


         The -s switch activates the "notesfile  sequencer"  which

 is  discussed  in section 2.7.  Specify  "-x" to use the extended

 sequencer.  The "-i" flag selects yet another sequencing mode.


         The -t option directs the notesfile system to use  "term-

 type"  as  the  user's  terminal  type, overriding the TERM shell

 variable.


         The -f option directs the notesfile system  to  read  the

 contents  of  the  file "nfile" for a list of notesfiles to read.

 See section 2.3 ("The -f Option") for  more  information  on  the

 format of this file.



 2.2   _N_o_t_e_s_f_i_l_e _N_a_m_e_s _a_n_d _W_i_l_d_c_a_r_d_s.


         The notesfile system supports pattern matching for  names










 Notesfile Reference Manual                                 Page 4



 in  the  same  manner  as  the  shell.   By using the shell meta-

 characters "*", "?", "[" and "]", the user can specify  a  number

 of  notesfiles  with  a single entry.  To read all the notesfiles

 that pertain to unix, enter the following line  (the  quotes  are

 required  to  protect  the  asterisks  from interpretation by the

 shell):


         notes "*unix*"


         There are several ways  to  read  the  notesfiles  test1,

 test2, test3 and test4:


         notes test1 test2 test3 test4


         notes "test?"


         notes "test[1234]"


         This feature is available from the normal  entry  (notes)

 and  the  automatic sequencer entry (see section 2.7); it is also

 available to the network transmission and statistics programs.



 2.3   _T_h_e -_f _O_p_t_i_o_n.


         The "-f" option of the notesfile system specifies a  file

 of  notesfile names to read.  The file consists of lines contain-

 ing notesfile names:


         nfgripes

         net.unix-wizards

         net.bob*









 Notesfile Reference Manual                                 Page 5



         net.general

         fa.telecom

         ucbcad.*

         !ucbcad.test

         !net.bob


 The names start at the left margin; they are  indented  here  for

 readibility.   The  sequencer  mode can be changed by inserting a

 line of the form:


         -s


         Again, this starts at the left margin.  The  "s"  can  be

 any  of: "s", "x", "i", or "n".  When a line of this form is read

 from the file, the sequencer mode is  set  to  the  corresponding

 mode:  The  normal  "s"equencer,  the  e"x"tended  sequencer, the

 "i"ndex sequencer, and "n"o sequencer.


         To always enter nfgripes, micronotes, and  bicycle  while

 only entering the networked notesfiles "net.*" when new notes are

 present, one might use  "notes  -f  myfile"  with  the  following

 "myfile":


         -x

         nfgripes

         micronotes

         bicycle

         -s

         net.*










 Notesfile Reference Manual                                 Page 6



         !net.misc




 2.4   _G_e_n_e_r_a_l.


         Almost all notesfile commands require exactly one charac-

 ter (no carriage return).  Only commands that are longer than one

 character  require  a  terminating  carriage  return  (currently,

 choosing  a  note  to  read is the only non-single character com-

 mand).


         The commands were chosen to be easy to  remember.   Upper

 case  forms  of  commands  usually function like their lower case

 counterparts but with some additional feature or power (i.e., "w"

 writes a response, "W" includes the current displayed text in the

 response).


         Some commands are  available  almost  everywhere  in  the

 notesfile system.  These include those for help, exiting, forking

 a shell, and making a comment for the suggestion box.


 2.4.1   _H_e_l_p.


         Typing "?" anywhere will list the available options in an

 abbreviated format.


 2.4.2   _E_x_i_t_i_n_g.


         Type "q" ("quit") to leave the current notesfile.   Capi-

 tal  "Q"  leaves the current notesfile and refrains from entering

 your last entry time into the sequencer table (see  section  "The









 Notesfile Reference Manual                                 Page 7



 Sequencer").   The notesfile system proceeds to the next topic in

 the invocation list.  Use  control-D  ("signoff")  to  leave  the

 notesfile system completely (without updating entry time informa-

 tion).


         The "k" and "K" keys function exactly  as  "q"  and  "Q".

         The  "z"  key  updates your sequencer table and exits the

 program.


 2.4.3   _S_h_e_l_l_s.


         Fork a shell at any time by typing "!"  (just  like  many

 other Unix programs).


 2.4.4   _C_o_m_m_e_n_t_s _a_n_d _S_u_g_g_e_s_t_i_o_n_s.


         Type capital "B" ("suggestion Box") while  on  the  index

 page  or  reading notes to make a comment or suggestion about the

 notesfile program.  Your suggestion will  be  stored  in  another

 notesfile reviewed frequently by the notesfile system manager.



 2.5   _T_h_e _I_n_d_e_x _P_a_g_e.


         When the notes system is invoked without the  -s  option,

 the  user  sees an index of the most recent notes.  A sample page

 is shown below:

















 Notesfile Reference Manual                                 Page 8



           Workstation Discussion                     2:03 pm  Jan 4, 1982

           12/9/81  2 Stanford SUN                 4 horton
                    3*WICAT 68000                    kolstad
                    4 M68000                       1 horton
                    5 Dolphin                      3 duke!johnson
           12/10    6 CDC Standalone               1 smith
                    8 IBM Personal Computer          henry
                    9 Personal computers harmful?  8 Anonymous
                   10 Ethernet interfaces 3 mhz?  23 essick
                   11 Requirements for uiucdcs    10 botten
           1/1/82  12 Happy New Year!              5 mjk


                     - - - - - - - - - - - - -


         The upper left corner shows the  notesfile's  title.   In

 this example, the notesfile discusses personal workstations.  The

 current time and date are displayed in the  upper  right  corner.

 Ten  note  titles  are  displayed  (if  available).  Each note is

 displayed with its date (if different from  the  previous  date),

 note  number,  title,  number  of responses (if any), and author.

 The first note above was written by  user  "horton"  on  December

 9th.  It is titled "Stanford SUN" and has four responses.  Note 7

 has been deleted for some reason  (by  either  its  author  or  a

 notesfile  director).  Note 5 was written by user "johnson" whose

 signon resides on the "duke" system.  Note 9 was  written  by  an

 author who preferred to remain unidentified.  Notes with director

 messages (sometimes denoting importance) are displayed with a "*"

 next to the note number (see note 3 above).


         From the index page the user may:


       o+ Scroll the index forward or backward.
       o+ Read a note.
       o+ Write a note.
       o+ Go to the next unread note.









 Notesfile Reference Manual                                 Page 9



       o+ Search for notes or responses after a specific date/time.
       o+ Search for keywords within notes' titles.
       o+ Search for notes/responses by a specific author.
       o+ Go to another notesfile.
       o+ Read the policy note.
       o+ Register a complaint/suggestion about notesfiles.
       o+ Fork a shell.
       o+ Exit the notes program.
       o+ Invoke notesfile director  options  (if  the  user  is  a
           director).
       o+ Check whether the group is  networked  and  if  anonymous
           submissions can be made.
       o+ Unsubscribe from the notes group.

 2.5.1   _S_c_r_o_l_l_i_n_g _t_h_e _I_n_d_e_x _P_a_g_e.


         Scroll the index page by:


         +       forward one page
         *       forward to the most recent page (* is multiple +'s)
         -       backward one page
         =       backward all the way (= is multiple -'s)
         <return> forward one page
         <space> forward one page

 2.5.2   _C_h_o_o_s_i_n_g _N_o_t_e_s _a_n_d _R_e_s_p_o_n_s_e_s.


         While on the index page, choose a note to read by  typing

 its number followed by a carriage return.  (This is the only com-

 mand that requires a carriage return after it.) Usually the space

 bar is used to scan text.  To skip to a special note or response,

 use the features below.


         While reading a note, ";" or "+" advances  to  the  first

 response of the note.  The next note is displayed if there are no

 responses.  The number keys ("1", "2", ... ,  "9")  advance  that

 many  responses.  If there are fewer responses, the last response

 is displayed.  The return key skips the responses and goes to the

 next  note.   Press  "-" or backspace to see the previous page of










 Notesfile Reference Manual                                Page 10



 the current note; if the page currently displayed is  the  first,

 the  notesfile  program  displays  the first page of the previous

 note.


         While a response is on the screen, the ";" and  "+"  keys

 display  the next response.  As with reading a note, if there are

 no further responses these keys advance to the  next  note.   The

 number  keys ("1", ... , "9") will advance the appropriate number

 of responses.  If there are fewer responses, the last response is

 displayed.   The  "-" or backspace keys display the previous page

 of the current response. If the current page is the first page of

 the  response,  these keys display the first page of the previous

 response.  Enter "=" to see the base note  of  the  current  note

 string.  Press the return key to proceed to the next note.



 2.6   _N_o_t_e_s _a_n_d _R_e_s_p_o_n_s_e_s.


 2.6.1   _R_e_a_d_i_n_g _N_o_t_e_s.


         After selecting a note from the index page  (or  entering

 the  notesfile  with your "sequencer" on), the note is displayed.

 A sample display is shown below:






















 Notesfile Reference Manual                                Page 11



 Note 15                   Workstation Discussion                2 responses
 horton                         WICAT 150              4:03 pm  Dec 11, 1981

 Wicat System 150

 8 MHz 68000, Mem. mgmt, Multibus architecture, 256k to 1.5 Mb RAM
 16/32/64Kbyte EPROM,

 10 ms interval timer, 2 RS232 (19.6k async, 56k sync), 16 bit parallel
 intelligent disk controller
 10 Mbyte winchester (5.25", 3600 rpm, access: 3 ms trk-trk, 70 avg, 150 max),
 960Kb floppy (5.25", 300 rpm, access 10 ms trk-trk, 267 avg, 583 max)

 Options: battery backed clock, graphics with touch panel, video disk control,
 High Speed Serial Network Interface

 Unix/V7 avail, Pascal, C, APL, ADA, Cobol, Fortran, Lisp, Basic, Asm

                 ======================================


         This is note number 15 in  the  "Workstation  Discussion"

 file.  User "horton" wrote this note at 4:03 pm on December 11th,

 1981.  Two responses have been  written.   The  note's  title  is

 "WICAT  150".   If a director had written the note, the "director

 message" might have been  displayed  beneath  the  note's  title.

 Director's  notes  sometimes contain important information or new

 policies.


         Notes and responses can be up to 65535 bytes  long  (2^32

 bytes  in  4.1c BSD), much more than can be displayed in a single

 screen.  The display routine pages text automatically.   For  all

 but  the  last  page  of a long note or response, the lower right

 corner of the display  shows the percentage of the note that  has

 been shown.  For all but the first page of long text, the message

 "[Continued]" appears in the upper left portion of  the  display.

 Use  the  space  bar  to  see  the  next  page  of a long note or

 response.  When  the  last  page  is  displayed,  the  space  key









 Notesfile Reference Manual                                Page 12



 functions  as the ";" key: it proceeds to the next response.  The

 "-" and backspace keys back up the display to the previous  page.

 Only  the first 10 pages of text are managed this way; typing "-"

 from the eleventh page on will return to the tenth page.  The "r"

 ("replot") key  goes back to the first page of the note.


         While reading a note, it is possible to:


       o+ Display the next page of the note.
       o+ Display the first page of the note.
       o+ Write a response to the displayed note.
       o+ Read next note or previous note.
       o+ Read next unread response or note.
       o+ Return to the index page.
       o+ Skip to a given response.
       o+ Delete the note (if you are its author or a  file  direc-
           tor).
       o+ Edit the note's title (if it is yours).
       o+ Edit  the  note  (if  it  is  yours  and  there  are   no
           responses).
       o+ Copy the note to another notesfile.
       o+ Save the note in your file space.
       o+ Mail the note to someone.
       o+ Talk ("write") to the author of the note.
       o+ Search for keywords in note titles.
       o+ Search for notes/responses by a particular author.
       o+ Toggle the director message (if privileged).
       o+ Fork a shell.
       o+ Go to another notesfile.
       o+ Make a comment or suggestion about notesfiles.
       o+ Exit the notesfile program.
       o+ Unsubscribe from the notes group.

 2.6.2   _R_e_a_d_i_n_g _R_e_s_p_o_n_s_e_s.


         Response displays are similar to those of main notes with

 the  exception  that "Response x of y" replaces the note's title.

 The first response to note 15 is shown below:















 Notesfile Reference Manual                                Page 13



 Note 15                   Workstation Discussion
 koehler                      Response 1 of 2         11:53 pm  Dec 11, 1981

 Does anyone have any insight about the relative speeds of the Winchester
 disks available on these systems?  The previous disk seems to have
 track to track response times commensurate with reasonably fast 8"
 floppies.  I wonder if some of the manufacturers are using disks that
 will not meet reasonable specifications for response time for these
 kinds of applications.

 On the other hand, with intelligent layout of file sectors, the I/O system
 could romp and stomp on often used files...

                 ======================================


         The commands for manipulating the text of a long response

 are  the  same  as those for looking at long notes.  Typing space

 will move to the next page.  Typing "-" or backspace will display

 the  previous  page,  within  the same limitations as for reading

 notes (only 10 pages are kept).  Press "r" ("replot") to go  back

 to the first page of the text.


         The options available while reading responses include:


       o+ Display the next page of the response.
       o+ Display the first page of the response.
       o+ Go to a different response (usually the next one).
       o+ Go to the next unread note/response.
       o+ Reread the base note.
       o+ Reread the previous note.
       o+ Return to the index page.
       o+ Copy the response to another notesfile.
       o+ Mail the response to someone.
       o+ Save the response in your file space.
       o+ Talk to the response's author.
       o+ Write another response to the note.
       o+ Search for keywords in note titles.
       o+ Search for notes/responses by particular authors.
       o+ Delete the response (if you are  its  author  or  a  file
           director).
       o+ Edit the response (if it is yours and there are no  later
           responses).
       o+ Fork a shell
       o+ Go to another notesfile.
       o+ Register a suggestion or complaint  about  the  notesfile









 Notesfile Reference Manual                                Page 14



           program.
       o+ Exit the notesfile program.
       o+ Unsubscribe from the notes group.


 2.6.3   _W_r_i_t_i_n_g _N_o_t_e_s _a_n_d _R_e_s_p_o_n_s_e_s.


         Write new base notes by hitting  "w"  while  reading  the

 index page.  The notesfile system will then invoke an editor (the

 default editor is "ed", use either of the shell variables NFED or

 EDITOR  to change it).  After the prompt, type the insert command

 along with the text you wish to enter.  Write  the  text  to  the

 disk  and leave the editor.  The system will prompt you for vari-

 ous options if they are available:  anonymity,  director  message

 status, and the note's title.


         To write a response to a note type "w" while that note or

 any of its responses is displayed. The same steps used to write a

 base note should then be followed.


 2.6.4   _M_a_i_l_i_n_g _N_o_t_e_s_f_i_l_e _T_e_x_t.


         Both notes and responses can be  mailed  to  other  users

 (with  optional appended text).  The capital "M" ("mail") command

 gives you the opportunity to edit the text then send it  to  any-

 one.  Its inferior counterpart, "m", allows you to mail a message

 to anyone.  To mail to the author of the text,  use  capital  "P"

 ("Personal  comment") to send the text and your comments; use "p"

 for a simple letter.


         To use a specific mail program, set the environment vari-

 able  MAILER.  If  this  is not set, the standard mail program is









 Notesfile Reference Manual                                Page 15



 used.


 2.6.5   _F_o_r_w_a_r_d_i_n_g _T_e_x_t _T_o _O_t_h_e_r _N_o_t_e_s_f_i_l_e_s.


         Capital "C" ("copy") prompts for a destination  notesfile

 then  allows  editing of the note text before it is copied to the

 other notesfile.  Lower case "c" sends a note without the current

 displayed  text  (i.e.,  allows  you to write a comment in a dif-

 ferent notesfile).  The forwarded text can be entered as either a

 new  note  or  as  a response to an existing note.  In the latter

 case, an index page is given to the user so that  he  may  choose

 the appropriate note to which he wishes to respond.


 2.6.6   _S_a_v_i_n_g _T_e_x_t _i_n _L_o_c_a_l _F_i_l_e_s.


         The "s" ("save") command appends  the  current  displayed

 text  to a file of your choice (which is created if not present).

 Notesfiles prompts for the file  name;  typing  only  a  carriage

 return  aborts  the  command  --  no  text is saved.  Capital "S"

 appends the base note and all its responses.


 2.6.7   _P_i_p_i_n_g _T_e_x_t _t_h_r_o_u_g_h _C_o_m_m_a_n_d_s.


         The "|" command pipes the current text through a command.

 The  "^"  command  pipes  the  base note and all of its responses

 through a command.   The  "%"  command  pipes  the  current  text

 through a decrypter (rotation 13).















 Notesfile Reference Manual                                Page 16



 2.6.8   _D_e_l_e_t_i_o_n.


         Capital "D" ("delete") deletes a note or response  if  it

 is  yours and has no subsequent responses.  Notes already sent to

 the network can not be deleted by non-directors.   Directors  can

 delete any note or response with the "Z" ("zap") command.


 2.6.9   _O_n_l_i_n_e _C_o_m_m_u_n_i_c_a_t_i_o_n.


         Typing "t" ("talk") attempts to page the  author  of  the

 current  displayed  text.  The Unix "write" command to him/her is

 issued if the author is local and non-anonymous.


         If the environment variable WRITE is defined, the program

 it specifies is used to write to the author.


 2.6.10   _E_d_i_t_i_n_g _N_o_t_e _T_i_t_l_e_s.


         While reading a base note, type "e"  ("edit")  to  change

 the  note's  title  (provided you are the author of the note or a

 notesfile director).


 2.6.11   _E_d_i_t_i_n_g _N_o_t_e_s/_R_e_s_p_o_n_s_e_s.


         "E" allows editing of the text of a note or response.  It

 is  impossible  to edit an article if it has subsequent responses

 or if it has been sent to the network.  If the "later  responses"

 are deleted, it is possible to edit the original text.















 Notesfile Reference Manual                                Page 17



 2.7   _O_t_h_e_r _C_o_m_m_a_n_d_s.


 2.7.1   _R_e_t_u_r_n_i_n_g _t_o _t_h_e _I_n_d_e_x _P_a_g_e.


         Type "i" ("index") while reading notes  or  responses  to

 return to the index page.


 2.7.2   _S_e_a_r_c_h_i_n_g _T_i_t_l_e_s _f_o_r _K_e_y_w_o_r_d_s.


         Notesfiles can search backwards for keywords appearing in

 note  titles.   Typing "x" ("x is the unknown title") prompts for

 the substring to be found.  Searching begins at the current  note

 (or  from  the  last  note  shown on the index page) and proceeds

 towards note 1.  Upper/lower case information is ignored  in  the

 search.   Use  upper case "X" to continue the search.  The search

 can be aborted by hitting the RUBOUT (or DELETE) key.


 2.7.3   _S_e_a_r_c_h_i_n_g _f_o_r _A_u_t_h_o_r_s.


         The "a" command searches backwards for notes or responses

 written by a specific author.  Notesfiles prompts for the authors

 name. The "A"  command  continues  the  search   backwards.   The

 author name may be preceded by an optional `system!'.  If no sys-

 tem is specified, local authorship is assumed.  Abort the  search

 by hitting the RUBOUT (or DELETE) key.


 2.7.4   _S_t_a_c_k_i_n_g _N_o_t_e_s_f_i_l_e_s.


         Sometimes it is useful to be able to  glance  at  another

 notesfile  while  reading  notes.   Using  "n", the user can save

 (stack) his current place and peruse another notesfile.









 Notesfile Reference Manual                                Page 18



         When on the index page or while reading  notes/responses,

 type  "n" ("nest") to read another notesfile.  Notesfiles prompts

 for the notesfile to read.  If the notesfile exists, the place is

 marked in the old notesfile and the new one's index is displayed.


         Type any of the standard keys to leave the nested  notes-

 file.   Both "q" and "Q" leave the nested notesfile and return to

 the previously stacked notesfile.  Control-d ("signoff") and  "z"

 causes  the  notesfile program to exit regardless of the depth of

 nesting.


         Sequencing is turned off in the new notesfile  regardless

 of  its  state  in  the old notesfile.  The depth of the stack of

 notesfiles is limited only by the amount of memory  available  to

 the user.


 2.7.5   _P_o_l_i_c_y _N_o_t_e.


         A notesfile director can write an optional policy note to

 describe  the  purpose  of  a notesfile.  Read the policy note by

 typing "p" ("policy") from the index page.



 2.8   _T_h_e _S_e_q_u_e_n_c_e_r.


         Most users prefer to scan notesfiles and see  only  those

 notes   written   since   their   last  reading.   The  notesfile

 "sequencer" provides this capability.  It is activated by the  "-

 s"  option ("sequencer") on the command line.  When the sequencer

 is activated, the notesfile system  automatically  remembers  the










 Notesfile Reference Manual                                Page 19



 last  time  the  user  read  notes in each notesfile.  Subsequent

 entries to the notesfile can use the "last time"  information  to

 show  only new notes and responses.  If there is nothing new in a

 notesfile, the sequencer proceeds to the next notesfile specified

 in the command line.


         The normal sequencer does not give the user a  chance  to

 read  the notesfile if there are no new notes or responses; some-

 times it is desirable to be able to do so.  Use the  "-x"  option

 to  enable  the  sequencer and enter the  notesfile even if there

 are no new notes.


         No keys need be pressed if there are no new notes in  the

 entire  list  and  the  normal ("-s") sequencer mode is selected.

 With the extended ("-x") sequencer, the user must type "q",  "Q",

 or  control-d  for each notesfile regardless of whether there are

 new notes.


         The "-i" mode of sequencing is similar to the "-s"  mode.

 Using  the  "-i"  mode, notesfiles with no new entries are passed

 over.  The user is placed on the index page of  notesfiles  which

 contain new notesfiles.


 2.8.1   _S_e_e_i_n_g _N_e_w _N_o_t_e_s _a_n_d _R_e_s_p_o_n_s_e_s.


         The sequencer always shows the base note  of  a  modified

 note string, whether or not is has been shown before, in order to

 establish the context of the new response(s).   The  "j"  command

 skips to the next modified text (note or response).










 Notesfile Reference Manual                                Page 20



         If the rest of a particular note string seems uninterest-

 ing,  skip  to  the  next modified note string with the "J" ("big

 Jump") command.  This skips any new responses on the current note

 string.  It is common to follow in detail only a few note strings

 and skip others with the "J" command.


         When no more new notes or responses exist, both  the  "j"

 and "J" commands will take the user to the index page.


         Two other commands useful with the sequencer are "l"  and

 "L".   "l" works much like "j" in that only modified note strings

 are displayed.  However unlike "j", "l"  will  display  all  con-

 tinuation  pages  of  the note before proceeding to the next note

 string.  Also, upon visiting the last page of the  last  modified

 note  string, "l" will cause an exit with update.  "L", analogous

 to "J", jumps to the next modified base note or  exits  if  there

 are no new notes.


         To modify the "last entry" time (used for searches),  use

 the  "o" ("oldest notes to read") command.  This command modifies

 the "last entry" time for the current notesfile.  The  "o",  "j",

 and  "J" commands function whether the sequencer is on or off but

 never change the sequencer's memory of the last entry time.  When

 the  sequencer is off, the "last entry" time is set to January 1,

 1970.


         To exit the notesfile, use the "q" command.  Exiting with

 "q" will update the user's "last entry" time.  Exiting with capi-

 tal "Q" will NOT modify  the  "last  entry"  time  (neither  will









 Notesfile Reference Manual                                Page 21



 control-D).   Another  possibility  is  to  exit  with "z".  This

 forces an immediate exit like control-D but in  addition  updates

 the sequencing information.


 2.8.2   _A_u_t_o_m_a_t_i_c _S_e_q_u_e_n_c_i_n_g.


         An alternate entry to the notes program allows  the  user

 to  invoke  notes with the sequencer enabled and a list of notes-

 files to be scanned with a single, simple command.  The "autoseq"

 command is invoked by typing


         autoseq


 This is equivalent  to  typing  "notes  -s"  or  using  the  "-s"

 sequencing  mode;  the user only enters notesfiles which have new

 text.  By typing "-x" or "-i" on the command line, the  user  can

 specify other sequencing modes as well.



 2.9   _E_n_v_i_r_o_n_m_e_n_t _V_a_r_i_a_b_l_e_s.


         The notesfile program reads several environment variables

 to  tailor the system to the user's preferences.  Below is a list

 of the variables, their purpose, and their default values.


       o+ "NFED" specifies which editor will be  invoked  when  the
           user writes a note or response. If this variable is not
           specified, the notesfile system looks for the  environ-
           ment variable "EDITOR" (which many other programs use).
           If neither "NFED" nor "EDITOR" are defined,  a  default
           editor is used (/bin/ed).
       o+ "PAGER" is the paging program  ("more",  "pg")  which  is
           used  for scrolling the help files.  The default paging
           program is /usr/ucb/more.
       o+ "MAILER" determines the mail program  to  use.  If  unde-
           fined, this defaults to /usr/ucb/mail.









 Notesfile Reference Manual                                Page 22



       o+ "WRITE" is used to specify the program for  communication
           between  users.  If undefined, the Unix program "write"
           is used.
       o+ "TERM" determines the type of terminal in use. This  must
           be set for notes to know what screen addressing conven-
           tions to use. In most cases the value will be correctly
           initialized by the system at login time.
       o+ "SHELL" specifies which shell the user is running.   This
           will almost always be set by the operating system.



 3   _M_a_n_a_g_i_n_g _N_o_t_e_s_f_i_l_e_s.



         The notesfile system is installed by a user who is  known

 as  the  "owner"  of  the notesfiles (UIUCDCS uses user "notes").

 This user can create, delete, rename, and initiate networking  of

 notesfiles.  Each notesfile is assigned a set of "directors" (who

 may or may not be associated  with  owner  of  notesfiles).   The

 directors have special privileges for managing the notesfile (see

 below).  The "owner" rarely manages the day to day aspects  of  a

 notesfile,  although  he  has  director, read, write and response

 privileges  to  all  notesfiles  for  handling  emergencies   and

 failures.



 3.1   _D_i_r_e_c_t_o_r _O_p_t_i_o_n_s.


         The director can:


       o+ Change the access permissions.
       o+ Write the policy note.
       o+ Change the notesfile title and director message.
       o+ Open or close the notesfile.
       o+ Allow the notesfile to be networked.
       o+ Permit or restrict anonymous notes.
       o+ Compress the notesfile.
       o+ Delete notes and responses.
       o+ Toggle director message on any note or response.









 Notesfile Reference Manual                                Page 23



         The director can delete notes or toggle the director mes-

 sage above them while reading the notes.  Access other options by

 typing "d" on the index page.  A display like this results:


                       Workstation Discussion
                 *** Your Director Message Here ***
 Anonymous: ON            Notefile: OPEN                 Networked: YES






                             Option:

                 = = = = = = = = = = = = = = = = = =


         Options available on this page  include:   access  lists,

 policy  note  writing,  title  and  director messages, open/close

 notesfile, network enabling, anonymous notes, notesfile compress,

 and delete a list of notes.


 3.1.1   _A_c_c_e_s_s _L_i_s_t_s.


         The notesfile system allows directors to  allow  or  res-

 trict  access  to  each  notesfile.  The access list can allow or

 deny read, write, respond, and  director  options  to  any  user,

 group,  or  system.   Type  "p"  ("permissions")  on the director

 options page to enter the access list editor.  The system prompts

 for  an  option:  "m" to modify an extant entry, "d" to delete an

 entry, "i" to insert a new entry, "r" to replot the list, "q"  to

 quit editing the access list, and capital "Q" to quit editing the

 access list and  IGNORE  ANY  CHANGES  MADE.   Delete  or  modify

 entries  by  entry number.  Scroll the entries using "+" and "-".










 Notesfile Reference Manual                                Page 24



 [As distributed, the list is configured  for  a  single  page  of

 entries]  After  typing  "i"  to  insert  a new entry, the system

 prompts for a user type ("u" for user, "g"  for  group,  "s"  for

 system).   The  system  then  prompts  for  the name of the user,

 group, or system.  (Users and groups must  be  valid  names)  The

 default  access  options  are then displayed: read, write, answer

 (for responses).  Use the keys "r", "w", "a", and "d"  to  toggle

 the  read,  write,  answer, and director privileges respectively.

 Some options automatically enable others (e.g., "w"  for  writing

 automatically  enables "a" for answering).  It is not possible to

 remove answer access while write access is enabled.  The "n"  key

 will  remove  all privileges ("no access").  Type return (or "q")

 when the correct options have been entered.  The  system  prompts

 for  another  user.  Press return at the prompt to exercise other

 access list options.


         The access machinery checks user  names  before  checking

 group  names.   If  user  "john" explicitly has no access but his

 group does, he will nevertheless be denied access  to  the  file.

 The current implementation of system access enforcement is naive.

 The network software will send to a system only if  it  has  read

 permission.   Reception  allows  intermediaries  to pass on notes

 even if they are not allowed write access to the  notesfile;  the

 access  permission  is  determined from the originating system of

 each note or response.  The name "Other"  (capital  "O")  matches

 any  name  in  the  class not mentioned explicitly (n.b.:  if you

 include a user named "Other", that user's  access  will  override










 Notesfile Reference Manual                                Page 25



 all group access checks since it is checked first).


         Many notesfiles allow several users and  groups  to  have

 read/write access, a single user to have director access, and all

 other users no access.


 3.1.2   _P_o_l_i_c_y _N_o_t_e.


         Type "w" ("write policy") on the director option page  to

 write a policy note (just like writing any other note though lim-

 ited to a single page).


 3.1.3   _T_i_t_l_e _a_n_d _D_i_r_e_c_t_o_r _M_e_s_s_a_g_e_s.


         Change the notesfile title with "t", the director message

 with  "m".   The system prompts for a new message.  Typing only a

 carriage return will not change the old message.


 3.1.4   _O_p_e_n/_C_l_o_s_e.


         Type "o" ("open")  to  toggle  the  availability  of  the

 notesfile  (subject  to  the access list).  Closed notesfiles are

 unavailable to non-directors.


 3.1.5   _N_e_t_w_o_r_k _O_p_t_i_o_n_s.


         Type "n" ("network") to toggle the  availability  of  the

 notesfile  for  networking.   Arrangements  must be made with the

 notesfile system "owner" to do the network transfers.














 Notesfile Reference Manual                                Page 26



 3.1.6   _A_n_o_n_y_m_o_u_s _N_o_t_e_s.


         Type "a" ("anonymous")  to  toggle  the  availability  of

 anonymous  notes  in  the  notesfile.   The  availability  of the

 anonymous option may provoke slanderous attacks from users (whose

 anonymity is completely protected).


 3.1.7   _C_o_m_p_r_e_s_s_i_o_n.


         Type "c" ("compress")  to  compress  the  notesfile.   As

 notes  are  deleted, their text and index space is not reclaimed.

 This command reclaims the space.  The notesfile must  be  closed.

 On  a  VAX  11/780, 20 seconds of real time (on a slightly loaded

 system) is required to reclaim the space of a notesfile  with  50

 remaining  notes  (compression  time  is  dependent  on remaining

 notes).  Notesfiles should be compressed whenever many  of  their

 notes  have been deleted.  The notesfile archiver and cron(8) can

 be used to automate this process.


 3.1.8   _M_a_s_s_i_v_e _D_e_l_e_t_i_o_n_s.


         Type  "z"  ("zap")  to  delete  many  notes  (and   their

 responses)  quickly.  Enter a list of note numbers or note ranges

 (aa-bb) separated by spaces.  Confirm with "y".  It is economical

 and  prudent  to compress the notesfile shortly thereafter.  Note

 that deleting notes in a networked notesfile  makes  those  notes

 unavailable  to  those  who  poll  your  system for new notes and

 responses.












 Notesfile Reference Manual                                Page 27



 3.1.9   _D_i_r_e_c_t_o_r _O_p_t_i_o_n_s _f_o_r _N_o_t_e_s.


         Directors may put a "director  message"  above  any  note

 they  write.   There is one single line director message for each

 notesfile.  Typical director messages  are:  "New  Policy",  "***

 This problem fixed or ignored ***", or "-- Eat Flaming Death Fas-

 cist Pigs --".  Directors can also toggle the director message on

 a  note  being read ("d" for "director message").  A director can

 delete a note (and all its responses) or any response while read-

 ing  the  text  of  the note or response by typing "Z" ("zap this

 one") and confirming with "y".



 3.2   _C_r_e_a_t_i_o_n _a_n_d _D_e_l_e_t_i_o_n _o_f _N_o_t_e_s_f_i_l_e_s.


         Only the "owner"  of  the  notesfile  system  can  create

 notesfiles.  Create notesfiles with the mknf command:


         mknf [ -aon ] topic1 [ ... ]


         The created notesfiles have  default  status  of  closed,

 non-networked,  and  no anonymous notes permitted.  Specify -a to

 permit anonymous notes in the new notesfiles.  Use -o to have the

 notesfiles  marked  open  for  general  use  and the -n option to

 enable the notesfiles' network availability.  These status  flags

 can all be modified from the directors page at later times.


         Delete notesfiles with rmnf:


         rmnf [-f] topic1 [ ... ]











 Notesfile Reference Manual                                Page 28



 Each notesfile to be removed must be verified with  "y"  after  a

 prompt -- anything else will leave that notesfile intact.  The -f

 option forces the removal, similar to 'rm -f'.


         The file /usr/spool/notes/.utilities/avail.notes contains

 a  list  of  the  public  notesfiles.  The notesfile owner should

 update this file when he creates new notesfiles.  The contents of

 the file are up to the discretion of the notesfile system owner.



 3.3   _I_n_t_e_r_s_y_s_t_e_m _N_o_t_e_s_f_i_l_e_s.


         The notesfile system provides for intersystem  notesfiles

 in  an arbitrary connected network.  Copies of a shared notesfile

 must exist on each of the systems wishing to read notes for  that

 notesfile.  The contents are kept in synchrony through occasional

 exchanges over a network (UIUCDCS uses uucp).  Notesfiles  to  be

 shared  must  have  their  "network status" enabled (see director

 options).



         Duplication of notes and responses is  prevented  by  the

 use of unique identifiers.  Each note and response in a notesfile

 is assigned a unique number.  The networking software checks each

 note as it arrives to see if a copy already exists.  In the event

 of duplication, the extra copy  is  discarded  and  the  fact  is

 logged in the statistics and the network log.


         In the (hopefully) rare event that a response arrives  at

 a system before the base note does, the network reception program










 Notesfile Reference Manual                                Page 29



 will generate a "foster parent" for the orphaned response.   When

 the  true  parent arrives, the foster parent will be overwritten.

 A count of orphaned responses  received  is  kept  and  available

 through use of the nfstats program (see section 4.4).


 3.3.1   _T_r_a_n_s_m_i_t_t_i_n_g _N_o_t_e_s_f_i_l_e _U_p_d_a_t_e_s.


         The nfxmit program gathers the new notes and responses in

 specified  notesfiles  and  sends  them to a specified site.  The

 notesfile "owner" must occasionally enter the  following  command

 (or  have it entered for him by cron) to update remote notesfiles

 with new notes and receive new remote notes:


         nfxmit -dsitename [-tmmddyy] [-r] [-a] [-f  file]  topic1

 [...]


 The "sitename" is the name of the remote site to receive the  new

 notes.   The  remote  site  should have notesfiles matching those

 specified by the topic1 parameter.  For  remote  notesfiles  with

 different names, see the section below on Name Mapping.


         The optional -t specifies that all  notes  and  responses

 since  that  date  should be sent (normally -t is omitted and the

 notesfile system sends only new notes and responses).


         The -r option specifies  that  the  remote  notes  system

 should  not  only  receive  the current changes but also reply in

 kind.  This is useful if the remote system does not automatically

 run the nfxmit program.











 Notesfile Reference Manual                                Page 30



         The -a option specifies that articles inserted  from  the

 news(I)  system  are to be sent also. Normally these articles are

 not sent because the receiver probably has them; the primary  use

 of this switch is for sites that do not run news(I).


         Using the -f switch tells nfxmit to read the file  speci-

 fied for a list of notesfiles to transmit; multiple -f parameters

 are permitted and can be freely intermixed with  `topic'  parame-

 ters.   Notesfile  name  pattern  matching  is  performed on both

 `topic' parameters and the entries in a file specified by the  -f

 option.


 3.3.2   _N_e_t_w_o_r_k _T_r_a_n_s_a_c_t_i_o_n _L_o_g.


         The network software maintains a log of all transactions,

 including  time, date, number of notes and responses transferred,

 direction  of  transfer,  and  number  of  notes  replicated   by

 transfer.   This  log  is  placed  in a file called `net.log' and

 resides  in  the  notesfile  utility   directory   (by   default:

 /usr/spool/notes/.utilities).


 3.3.3   _N_o_n-_S_t_a_n_d_a_r_d _L_i_n_k_s.


         Some systems will be unable to keep the notesfile network

 software  in  a public directory (such as /usr/bin).  Other sites

 will have non-uucp links.  The `net.how' file is for these cases.

 `Net.how'   is   kept   in   the   notesfile   utility  directory

 (/usr/spool/notes/.utilities) and contains information on linking

 to remote systems.  Entries in the file are made for systems with










 Notesfile Reference Manual                                Page 31



 non-standard links and have the following format:


         system:direction:::command string


         The system field  is  self  explanatory.   The  direction

 field contains either an `x' or `r' (no quotes) and specifies the

 direction that the line is for. An `x' specifies that the command

 string  is for sending notes to the remote site; an `r' specifies

 that the command string is used in coercing the remote system  to

 send its new notes and responses back.


         The command string is a printf  control  string  (without

 quotes)  with  two `%s' entries.  The first is for filling in the

 name of the notesfile, the second is for the local  system  name.

 Many  entries  in  the  `net.how' file will be to place different

 paths on the `nfrcv' and `nfxmit' commands.  The default  command

 line is:


         uux -z - system\!nfrcv %s %s


 for the `x' entry and for the `r' entry:


         uux system\!nfxmit %s -d%s


 A sample from the uiucdcs net.how file:


         uicsovax:x:::uux - uicsovax!/mnt/dcs/essick/.commands/nfrcv %s %s

         uicsovax:r:::uux uicsovax!/mnt/dcs/essick/.commands/nfxmit %s -d%s


 A sample  from  the  ucbcad  net.how  file  (4.1c  BSD,  ethernet

 transmission):










 Notesfile Reference Manual                                Page 32



 ucbmonet:x:::rsh ucbmonet -l ricks /usr/local/lib/notes/nfrcv %s %s

 ucbmonet:r:::rsh ucbmonet -l ricks /usr/local/lib/notes/nfxmit %s -d%s


 3.3.4   _N_o_t_e_s_f_i_l_e _N_a_m_e _M_a_p_p_i_n_g.


         To provide flexibility in the naming of notesfile  across

 systems,   the   network   software   looks   in   the  directory

 /usr/spool/notes/.utilities/net.aliases  for  mappings  of  local

 notesfile  names  to  remote  notesfile  names.  Each file in the

 directory is named after a system  (e.g.,  pur-ee  or  uicsovax).

 Each  of  these files contains lines which specify the mapping of

 local notesfiles to the particular systems notesfiles.  Lines  in

 the files look like:


         local_nf:remote_nf


         If there is no entry for a particular  notesfile  or  the

 file for that system is missing, the local name is used.



 3.4   _I_n_i_t_i_a_l _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _P_a_r_a_m_e_t_e_r_s.


         Installation of the notesfile system requires the follow-

 ing:


       o+ A working familiarity with version 7 UNIX (and  UUCP  for
           intersystem transfers).
       o+ The notesfile distribution tape.
       o+ A signon for the  notesfile  owner.   This  should  be  a
           member of the same group as the uucp signons.
       o+ The ability to  write  into  the  directories  where  the
           notesfile binaries and data base are to live.

         Appendix A  ("Notesfile  Installation  Checklist")  is  a

 helpful guide for installing the notesfile system.









 Notesfile Reference Manual                                Page 33



         First: read in the distribution tape.  The tape is a  TAR

 format tape. This will read in several directories worth of data.

 The src directory contains all source code for the notesfile sys-

 tem  and the internal help files.  The doc directory contains the

 nroff sources for the user manual and the macros that  were  used

 to  generate  it, along with the man pages.  The Sample directory

 is a collection of various system files from  our  machine;  they

 are included to provide examples in setting the matching files on

 your system.


         After the tape has been read in, select  the  appropriate

 parameters.


 3.4.1   _S_e_l_e_c_t_i_n_g _A_p_p_r_o_p_r_i_a_t_e _C_o_n_s_t_a_n_t_s.


         Go to the src directory and edit the file `parms.h'.  The

 parameters should be modified as follows:


       o+ "Sysname" should be the local system name.  For  compati-
           bility  with the rest of the world, this should be 9 or
           fewer characters. (e.g., uiucdcs)
       o+ "MSTDIR" should be the  directory  where  the  notesfiles
           will be kept.  We use /usr/spool/notes.
       o+ "ARCHDIR" is where the archived notes are sent.   Placing
           ARCHDIR  and  MSTDIR  on  the  same  file system is not
           recommended unless you have lots of disk space.
       o+ "NOTESRC" is the default ".notesrc" file name.
       o+ "ARCHTIME" is the default number of days that a  note  is
           allowed  to  go  unmodified  before  it is eligible for
           archival.  Nfarchive allows this to  be  overridden  on
           its command line.
       o+ "NOTESUID" is the uid of the notesfile  "owner".  On  our
           system  we  have  a  user "notes" which owns the notes-
           files.
       o+ "ANONUID" is the uid used for anonymous notes.  This  uid
           is not allowed to run notesfiles.  We made a dummy user
           in our password file whose uid  we  set  this  constant
           equal  to.  If you are on a PDP-11 and have no free uid
           slots, pick your worst enemy.









 Notesfile Reference Manual                                Page 34



       o+ "DFLTSH" is the default shell for forking.  /bin/sh  will
           usually  suffice.   The environment variable SHELL will
           override this for any user.
       o+ "DFLTED" is the editor that notesfiles uses  for  writing
           notes. Each user can specify his preference by the NFED
           or EDITOR environment variables.
       o+ "AUTOSEQ" is the pseudonym (a la the Unix  program  `ln')
           of the notes program used for automatic sequencing.  We
           use "autoseq".
       o+ "MAILER" defines the mail  program  used  by  notesfiles.
           Because the notesfile system does not maintain the full
           pathname to remote authors, it is recommended that  the
           'uumail'  program which is included in the distribution
           be used.
       o+ "OLDGROUP" is the number of days to wait before  expiring
           a group.
       o+ "AUTOCREATE" should be defined if you wish  notes  groups
           to be created automatically by newsinput.
       o+ "NEWS" should be defined if your machine runs news.
       o+ "DEMANDNEWS" should be defined if you  wish  "newsoutput"
           to be forked immediately on a submission.

         If you are running on a PDP-11 or other  machine  with  8

 bit  user  ids,  then  the  following line should be added to the

 `parms.h' file:


 #define PDP11   1                               /* running on PDP-11 */


         If you wish the notesfile system to  use  a  prompt,  you

 should  define  the  string PROMPT as follows (use any string you

 prefer):


 #define PROMPT  "? "                            /* command prompt */


         There are several other definitions that might need to be

 changed.  See appendix A ("Notesfile Installation Checklist") for

 a list of these.


         Once these changes have been made, the next  step  is  to

 update the Makefile. The values which should be checked are:










 Notesfile Reference Manual                                Page 35



       o+ "DESTDIR" is where the  programs notes, nfprint, nfstats,
           and nfpipe are installed. We use /usr/local.
       o+ "MSTDIR" must match the value given in `parms.h'.
       o+ "ARCHDIR" must also match the value given in `parms.h'.
       o+ "NET" is the extant directory where  the  notesfile  net-
           working software is kept.  This must be somewhere along
           the   default   search   rule   for   uucp.    We   use
           /usr/local/lib/notes.
       o+ "AUTOSEQ" is the name of the link to  the  notes  program
           used  for  automatic  sequencing.   This must match the
           value given in `parms.h'.
       o+ "NOTES" is the user name of the notesfile system "owner".
           This  should  match  the NOTESUID in `parms.h'.  (e.g.,
           NOTESUID=144, NOTES=notes)
       o+ "NOTESGRP" is the group of the notesfile  "owner".   This
           should be the same group as the uucp signon.

 3.4.2   _C_o_m_p_i_l_i_n_g _t_h_e _N_o_t_e_s_f_i_l_e _S_y_s_t_e_m.


         After all the appropriate parameters are set up, the next

 step  is  to  generate the notesfile system. First, the requisite

 directories and files  in  /usr/local  (or  wherever)  should  be

 manufactured.  This procedure should be run exactly once and will

 probably have to be run by the superuser.  To  make  these  files

 type:


         make base


         The next phase should be  run  while  signed  in  as  the

 notesfile "owner".  Type:


         make boot


         If all goes well, this should end with a message  to  the

 effect that the notesfile system has been installed (Less than 10

 minutes on a VAX-11/780, less than 50 minutes on an  11/60).   If

 anything  goes  wrong,  perusal  of  the terminal dialogue should

 point out the offending steps.  The most likely cause  of  errors









 Notesfile Reference Manual                                Page 36



 will be a missing directory.


         To replace the notesfile software any  time  after  these

 two steps have been run, type:


         make install


         If at some time you are must change some of the  internal

 constants  of  the  notesfile package (such as string lengths and

 blocking factors), all the existing  notesfiles  on  your  system

 will be incompatible with the new instantiation of the program.


 3.4.3   _U_s_e_r _S_u_b_r_o_u_t_i_n_e_s.


         The  user  subroutine  "nfcomment"  (which  is  described

 later)  is  found in the file src/nfcomment.c.  For users to take

 advantage of this routine, it should be compiled  and  placed  in

 /usr/lib (or the appropriate place on your system).


         To generate the user subroutine, type:


         make subs


         The resulting file (libnfcom.a) should then be  moved  to

 the  appropriate library (usually /usr/lib).  Users can then load

 this routine by specifying `-lnfcom' on the `cc' or `ld'  command

 lines.



 3.5   _I_n_s_t_a_l_l_i_n_g _t_h_e _m_a_n(_1) _D_o_c_u_m_e_n_t_a_t_i_o_n.


         Install the man(1) pages for the notesfile with the  fol-










 Notesfile Reference Manual                                Page 37



 lowing commands. They are best done as su.


         cd Page

         make install


 The nroff sources for the documentation will be installed in  the

 directory /usr/man in subdirectories man1, man3, and man8.



 3.6   _I_n_t_e_r_f_a_c_i_n_g _t_o _N_e_w_s(_I).


         The notesfile system interfaces to the  news(I)  program.

 The  newsinput  program  parses  the  A news protocol and inserts

 articles in the appropriate notesfiles.  The  bnewsinput  program

 parses  the  B news protocol.  The newsoutput program moves notes

 from the notesfile system to the news  system.   Neither  program

 will  move  text  between the two systems if the notesfile is not

 enabled for networking (see section 3.1.5).  Newsoutput will  not

 retransmit  articles inserted by newsinput.  Sites sharing notes-

 files can all run newsinput; only one of  the  sites  should  run

 newsoutput for any given notesfile.


         Before interfacing to news, check the  file  `newsgate.h'

 to  guarantee  that  the  correct calling sequence to insert news

 articles is used.


 3.6.1   _C_o_p_y_i_n_g _N_e_w_s _t_o _N_o_t_e_s_f_i_l_e_s.


         To  have  news  automatically  forward  the  articles  it

 receives  to  the  newsinput  program,  an  entry similar to this

 should be made to the /usr/spool/news/.sys file:









 Notesfile Reference Manual                                Page 38



         nf_system:newsgroup_list::/usr/spool/notes/.utilities/newsinput


         Where  "newsgroup_list" is a news(I) subscription list of

 the newsgroups which have parallel notesfiles.  The  above  entry

 assumes  that  you  are  running  A news; B news users should run

 bnewsinput.


 3.6.2   _C_o_p_y_i_n_g _N_o_t_e_s_f_i_l_e_s _t_o _N_e_w_s.


         The newsoutput program accepts a list  of  notesfiles  as

 parameters  and  scans  them  looking  for new notes/responses to

 place into the news(I) system. Newsoutput  accepts  two  optional

 parameters in addition to the list of notesfiles to send to news.


         newsoutput [ -a ] [ -f file ] topic [ ... ]


         The -a parameter specifies that notes and responses  from

 any  system are to be sent to news. The default is for local text

 only.


         The -f parameter specifies a file containing  a  list  of

 notesfiles  to  send to the news system.  The preferred method of

 running newsoutput is with cron.  Only the "notesfile  owner"  is

 permitted  to run newsoutput, so the cron entry should have an su

 to the correct uid.


         Since most notesfile users will form small subnets of the

 larger  news  network, some care must be taken as to who uses the

 -a option of newsoutput.  One solution is to have a  single  site

 running  news  and  then sharing notesfiles with the other sites.










 Notesfile Reference Manual                                Page 39



 If more than one site runs news, things are trickier.  If all the

 sites  run  news,  then  they  can  each  run  both newsinput and

 newsoutput without the -a option.


         In any case, if a notesfile generated article  finds  its

 way  to  news  through  two different sites, a duplication in the

 news system will occur which will not cancel itself when the  two

 meet on the same system.  Newer versions of news (release 2.7 and

 later) should be flexible enough to eliminate this  problem  once

 the news/notes gateways are modified accordingly.


 3.6.3   _N_a_m_i_n_g _N_o_t_e_s_f_i_l_e_s _a_n_d _N_e_w_s_g_r_o_u_p_s.


         Newsgroup names may be longer than the  fourteen  charac-

 ters  allowed for file names by UNIX, although the first fourteen

 characters must be unique.  Notesfile names are limited to  four-

 teen  characters.   An  aliasing  facility is included to convert

 between     notesfiles     and     newsgroups.      The      file

 `/usr/spool/notes/.utilities/newsgroups'  contains  the relation-

 ships of notesfiles and newsgroups. If the file does not exist or

 there is no entry for the desired notesfile/newsgroup the routine

 which scans that file returns the original argument as if it  had

 matched itself.  A typical line in the file looks like:


         notesfile_name:newsgroup


         Entries in this file need be made for only a few reasons:

 (1)  The  newsgroup  which  matches  the notesfile is longer than

 fourteen characters, (2) the notesfile and the newsgroup are dif-










 Notesfile Reference Manual                                Page 40



 ferent  names  (e.g.  the  notesfile `Bnews' can be linked to the

 newsgroup `net.news.b' with an entry of `Bnews:net.news.b'),  and

 (3)  you  want  several  newsgroups linked to a single notesfile.

 You can not link a single newsgroup to several  notesfiles.   The

 file  is  scanned  from  the start until EOF or a match is found.

 Several newsgroups can spool into the same notesfile:


         somenotesfile:newsgroup1

         somenotesfile:newsgroup2


         If you want newsoutput to  send  the  notesfile-generated

 notes  in  `somenotesfile' to both `newsgroup1' and `newsgroup2',

 add the following entry BEFORE the above two entries:


         somenotesfile:newsgroup1,newsgroup2



 3.6.4   _S_p_a_c_e _U_t_i_l_i_z_a_t_i_o_n.


         Since the notes system stores the entire text of a single

 notesfile  in  a  single file, a notesfile system uses less space

 than the same scale news system.  The notesfile  system  is  gen-

 erally more space efficient than B news.



 3.7   _H_o_u_s_e_k_e_e_p_i_n_g.


         When a note or response is deleted, a  hole  is  left  in

 that notesfile.  This makes for quick deletion but tends to leave

 disk space wasted.  The compress option on the director  page  is

 on  way that this space is reclaimed.  The nfarchive program (see










 Notesfile Reference Manual                                Page 41



 section 3.6.2) also returns unused  space.   Have  cron  run  the

 nfarchive program weekly to automate space reclamation.


 3.7.1   _A_u_t_o_m_a_t_i_c _R_e_m_o_v_a_l _o_f _N_o_t_e_s.


         The nfarchive program archives notes and groups untouched

 for  more  than  a specified number of days.  The notes and their

 responses are archived  in  `generic'  notesfile  format  in  the

 archive  directory  specified in `parms.h'.  Each notesfile has a

 subdirectory in the archive directory and each time nfarchive  is

 run  it generates a unique file for each notesfile archived.  The

 notes are deleted  after  they  have  been  archived.  After  the

 archival,  a compression of the notesfile is performed to recover

 the space formerly occupied by  the  archived  notes.   Nfarchive

 assumes  that  all  months  have  30  days  and all years have 12

 months.  The format of the nfarchive command line is:


         nfarchive [-d] [-m+ or -m-] [-n] [-f file] topic


         The -d option specifies that  no  archiving  is  to  take

 place; the notes eligible are to be deleted.


         The -m option specifies whether  to  check  the  director

 message  status  before  archiving  notes.   Use "-m+" to archive

 notes which meet the age requirement and have the  director  mes-

 sage  on.  The "-m-" option archives notes of sufficient age with

 the director message turned off.   If  this  option  is  omitted,

 notes are archived on the basis of age only.


         The -n option specifies the age of  eligible  notes.  The









 Notesfile Reference Manual                                Page 42



 increment  is  days.   The  default is determined by the value of

 ARCHTIME in `parms.h' and is distributed as fourteen  days.   The

 value of OLDGROUP specifies the group expiration time.


         The -f option specifies  a  file  containing  a  list  of

 notesfiles  to be archived.  Multiple -f parameters are permitted

 and can be intermixed with `topic'  parameters.   Notesfile  name

 pattern  matching is performed on both `topic' parameters and the

 entries in a file specified by the -f option.


 3.7.2   _A_d_d_i_t_i_o_n_s _t_o _S_y_s_t_e_m _B_o_o_t.


         Since the notesfile system maintains several  lock  files

 to  ensure  mutual exclusion of each notesfile, a line similar to

 the following should be added to the /etc/rc file.


         rm -f /usr/spool/notes/.locks/*


         Make sure `/usr/spool/notes' matches the MSTDIR parameter

 in the Makefile and the `parms.h' file. This line will remove any

 dangling locks left if the system has crashed.




 4   _O_t_h_e_r _N_o_t_e_s_f_i_l_e _U_t_i_l_i_t_i_e_s.



         The notesfile distribution includes utility  programs  to

 provide hard copy output, additional interfaces to user programs,

 and statistics.  They are described below.













 Notesfile Reference Manual                                Page 43



 4.1   _H_a_r_d _C_o_p_y _O_u_t_p_u_t.


         The program "nfprint" sends to standard output  a  nicely

 formatted listing of the notesfile in its command line.  Its for-

 mat is:


         nfprint [-lnn] [-p] topic [ note# ] [ note#-note# ] [ ...

 ]


 The "-l" option specifies an alternate page size (the default  is

 66).   The  optional note number list specifies that only certain

 notes of the notesfile are to be printed.  The list  can  specify

 individual  notes and ranges.  The notes are printed in the order

 specified.



 4.2   _P_i_p_e_d _I_n_s_e_r_t_i_o_n _o_f _N_o_t_e_s.


         The nfpipe program enters text from  the  standard  input

 into a notesfile:


         nfpipe topic [-t title] [ -d ] [ -a ]


 The -t option allows specification of a title.   The  -d  and  -a

 options specify the director and anonymous flags respectively (if

 available).  If no title is specified, one is  manufactured  from

 the first line of the note.



 4.3   _U_s_e_r _S_u_b_r_o_u_t_i_n_e_s.


         The nfcomment subroutine is callable from a user's C pro-










 Notesfile Reference Manual                                Page 44



 gram. It allows any user program to enter text into a notesfile:


         nfcomment (nfname, text, title, DIRFLAG, ANONFLAG)


 The parameters are:
         char *nfname;   /* name of notesfile */
         char *text;     /* null terminated text to be entered */
         char *title;    /* if non-null, title of note */
         int DIRFLAG;    /* != 0 -> director flag on (if allowed) */
         int ANONFLAG;   /* != 0 -> anonymous note (if allowed) */


         If the *text pointer is NULL, the text of the  note  will

 be  read  from standard input.  If no title is specified the sub-

 routine will manufacture a title from the first line of the note.

 This  routine  is  useful  for error reports, user comments about

 programs, and automatic logging of statistics or internal states.


         This routine can be loaded with a C program by specifying

 `-lnfcom' on the `cc' command line.



 4.4   _S_t_a_t_i_s_t_i_c_s.


         The notesfile system keeps statistics on where notes  and

 responses originate, the number of network accesses, duplications

 and orphaned responses.  Combined with the use of the  log  main-

 tained by the notesfile networking software, monitoring notesfile

 traffic is quite easy.


         The -s option specifies that only a summary is to be pro-

 duced, skipping the individual reports.  Wildcard constructs with

 '*', '?', '[', and ']' are recognized  by  nfstats.   Invoke  the

 statistics program with:










 Notesfile Reference Manual                                Page 45



                 nfstats [ -s ] topic1 [ ... ]


 Typical output is:


              rbenotes on uiucdcs at  6:24 pm  May  7, 1982
                         NOTES   RESPS   TOTALS
 Local Reads             359     115     474
 Local Written           53      55      108
 Networked in            0       0       0
 Networked out           0       0       0
 Network Dropped         0       0       0
 Network Transmissions: 0   Network Receptions: 0
 Orphaned Responses Received: 0    Entries into notefile: 109
 Total time in notefile:    66.57 minutes  Average Time/entry:   0.61 minutes
 Created at 10:04 pm  May  5, 1982, Used on 3 days


         A combined set of statistics is produced at  the  end  of

 listings  of more than one notesfile.  The statistics are largely

 self explanatory.



 4.5   _C_h_e_c_k_i_n_g _f_o_r _n_e_w _n_o_t_e_s.


         The checknotes program checks if  there  are  new  notes.

 The  exit  code  is  arranged to make the program useful in shell

 scripts: 0 (TRUE) is there are new notes, 1 (FALSE) otherwise.


         Use the "-q" option to receive a message


                 There are new notes


 if one or more of the  notesfiles  have  notes/responses  written

 since the user's last entry time into that notesfile.


         The "-n" option is similar to the "-q" option,  with  the

 exception  that it yields output when there are no new notes. The

 output of checknotes with the "-n" option is:









 Notesfile Reference Manual                                Page 46



                 There are no new notes


         Use "-v" to print the name of  each  notesfile  with  new

 notes/responses.  The  "-s"  option is suited for use conditional

 expressions in shell scripts; no  output  is  generated  by  this

 option.




















































 Notesfile Reference Manual                                Page 47



 5   _S_u_m_m_a_r_y.



 notes [-sxi] [-t type] topic1 [...]     d   Toggle director message
                                         D   Delete (if yours)
 Everywhere:                             e   Edit title
                                         E   Edit text
 ?   Help                                i   Index page
 ^D  Leave NOW without sequencer         j   Next unread text
 q,k Quit                                J   Next unread base note
 Q,K Quit without save                   l   Next new page or exit
 B   Suggestion box                      L   Next new note or exit
 !   Fork shell                          m   Mail to anyone
                                         M   Mail w/text
 Index Page:                             n   Nest notesfiles
                                         p   Personal note to author
 +   Forward                             P   To author with text
 *   Last page                           r   Redraw first page of text
 -   Backward                            s   Save text
 =   First page                          S   Save entire note string
 13  Read note 13 (requires <RET>)       t   Talk to author
 a,A Search for author                   w   Write response
 d   Director options                    x,X Search backwards (title)
 j,J Jump to first unread note           z   Quit with update
 l,L Read first unread note or exit      Z   Delete (directors only!)
 n   Nest notesfiles
 o   Oldest date for sequencing          Director Options:
 O   Set sequencer time
 p   Read policy note                    a   Toggle anonymous
 r   Replot the screen                   c   Compress notesfile
 w   Write a note                        n   Toggle network avail.
 x,X Search for title                    o   Toggle open status
 z   Quit with update                    w   Write policy
                                         z   Zap lots of notes
 Reading anything:                       p   Access (permission) List:
                                             i   insert
 spc Next page of current text               d   delete
 -   Previous page of text                   m   modify
 ret Next note
 =   Base note                               u   user
 ;   Next text                               g   group
 +   Next text                               s   system
 7   Forward 7 responses
 |   Pipe text into command                  r   read access
 ^   Pipe entire note                        a   answer access
 %   decrypt message (shift 13)              d   director options
 a,A Search backwards (author)               w   write access
 C   Copy text to notesfile                  n   null access













                                                               A-1



                            APPENDIX A
                 Notesfile Installation Checklist

 ____ vi parms.h
 ____ select Sysname [ucbcad, cmcl2]
 ____ MSTDIR [/usr/spool/notes]
 ____ ARCHDIR [/usr/spool/oldnotes]
 ____ ARCHTIME [14 - number of days before removing articles]
 ____ NOTESUID [user id of the notes maintainer]
 ____ ANONUID [unused user id]
 ____ define PROMPT [if you wish the  system  to  give  a  command
 prompt]
 ____ define CNTRLZ [if your system supports control-Z job control
 processing]
 ____ define DUMPCORE [this determines whether core is dumped when
 an  internal  error is detected. You might want this for testing,
 but not for production]
 ____ define the OS (4.1cBSD, V6,..... - defaults to 4bsd)
 ____ define AUTOCREATE [if you wish for  notes  to  automatically
 create new groups]
 ____ OLDGROUP [amount of time before groups expire]
 ____ NOTESUMASK [umask for files created by notes]
 ____ define NEWS [if you wish to submit notes to news]
 ____ define DEMANDNEWS [this forces articles to be  submitted  to
 news at the time of submission]
 ____ define BNEWS [if running B release of news for gateways.  If
 not  running  news  locally,  this does not matter.  If running A
 news, the notesfile owner will collect lots  of  mail  because  A
 news does not allow overriding of the authors name.]
 ____ define TONEWS [again, dependent on running notes/news  gate-
 ways  locally.  The defaults here are probably adequate in either
 case]
 ____ [finished editing] parms.h
 ____ vi Makefile
 ____ DESTDIR [same as BIN in parms.h]
 ____ MSTDIR [make sure it matches that used in parms.h]
 ____ ARCHDIR [again, make sure it matches that used in parms.h]
 ____ NET [This directory must already exist  -  where  networking
 programs are kept (nfxmit, nfrcv)]
 ____ NOTES [this must match the NOTESUID used is parms.h]
 ____ NOTESGRP
 ____ AUTOSEQ
 ____ [finished editing] Makefile
 ____ [may have to become super-user at this point]
 ____ make base [and assess its completion. It will  tell  you  if
 all went well]
 ____ [Signon as notesfile "owner"]
 ____ make boot [This is the final step, it should complete with a
 message that the system is installed]













                                                               B-1



                            APPENDIX B
                           Future Plans


         Below is a list of the modifications  that  may  be  done
 someday.

 o+ Interface to PLATO
     The PLATO notes system reaches a large  user  community.  The
     CERL  system  at  the Univeristy of Illinois, Urbana averages
     over 1400 new notes and responses each day. A gateway to this
     system, the the other PLATO installations that the CERL PLATO
     system exchanges notes with is being examined.  (This is long
     term - I will probably go on to other things and see if I can
     get someone else to look into this)
 o+ Better interface to B news
     The current version of news/notes gateway software  is  based
     on the A release of news. The limited header information of A
     news forces some information to be stored in the text of  the
     news  article.   With  the  newer releases of B news (2.7 and
     later),  unrecognized  headers  (unrecognized  by  news)  are
     passed on.  Coupled with a (hopeful) relaxation of the unique
     identifiers used by news, the  news/notes/news  gateway   may
     have several of the current restrictions removed.
 o+ Upgrading to curses
     The original notesfile software was  written  on  a  V6  PDP-
     11/40.  The only screen operations used are cursor motion and
     erase screen.  The premise was that this would  be  a  fairly
     universal  set  of capabilities.  The use of the curses pack-
     age, or some similar screen manager, is being considered  for
     future releases of the notesfile system.
 o+ Distribution Hierarchies
     Future releases of the notesfile  system  may  determine  the
     distribution  of  a note/response by querying the user.  This
     allows the audience that a user reaches to be  controlled  by
     the access list machinery already installed in the notes pro-
     gram.  Modifications to the networking software within notes-
     files would allow specification of what class of distribution
     should reach the destination site.























                                                               C-1



                            APPENDIX C
                      Changes Since Notes 1.3


         Below is a brief summary of the  major  changes  made  to
 notes since version 1.3.

 o+ Automatic maintenance of newsgroups
     Notes groups are now created automatically by  the  newsinput
     program  and  they  are annouced in the notesgroup 'nfmaint'.
     Notes now removes old newsgroups OLDGROUP days after the last
     submission.  The removals are also announced in `nfmaint'.
 o+ Notesgroups expansion
     The ! feature of readnews now works for notes as  well.   For
     example, the string ``* !net.jokes'' on the command line will
     specify all  notesfile  except  net.jokes.   Also,  duplicate
     names in note group expansions are now removed.
 o+ Univeral sequencer
     Added the `l' universal sequencer command.  This  is  similar
     to  the  `j'  command,  with the exception that after all new
     notes are read in a group, a `q' is done automatically.  Also
     added the `L' variation analagous to `J'.
 o+ Unsubscribe
     Added the `u' unsubscribe command.  Places the line  `!group'
     in the users notesrc file (default ~/.notesrc).
 o+ Changes for slow baud rates
     When redrawing the screen, notes checks for typeahead (if the
     appropriate system call is available).  If there is a command
     waiting, the screen drawing is aborted.
 o+ Direct submission to news
     Notes can optionally send notes to news at the time  of  sub-
     mission  (instead of from cron).  You may not like this after
     actually using it for a while - it takes long  time  to  fork
     and wait for inews to finish.
 o+ Fast exit with update
     Added the `z' command.  This updates the sequencer and  exits
     the program.
 o+ Long titles
     Titles longer than the notes title length are inserted as the
     first line of the note.
 o+ Notesfile status
     Non-directors typing `d' will now find out if the  notesgroup
     is networked and whether anonymous entries can be submitted.
 o+ Limited distribution
     Users now have the option of submitting articles to  the  net
     or just locally for every notes group.
 o+ 4.1c bsd compatability
     Changes to allow notes to be 4.1c compatible  (255  character
     file  names,  new  system calls - rename, mkdir, open, flock-
     file system locking).  These are #ifdef 4.1c bsd.  This  ver-
     sion also allows up to 4 Megabyte notes texts for 4.1c bsd.
 o+ B news interface.
     There is now a bnewsinput program that  can  understand  news









                                                               C-2



     articles in B news format
 o+ Improved screen management
     Notes now runs in no-echo/cbreak mode and  correctly  handles
     arbritrary  erase  and kill characters.  Clear to end of line
     is used (instead of  outputting  blanks)  whenever  possible.
     The screen is redrawn only when necessary now.
 o+ Internal changes
     Various  internal  changes  in  the  code.   The  conditional
     #defines  are  much  easier  to configure now.  Added a VFORK
     #ifdef option to speed things up.  Also took out #ifdef's for
     BUFIO and FASTFORK, since they are always used.
 o+ Signals processed
     Interrupts and ^Z are now handled gracefully.   Very  useful:
     for instance, you can now decide not to send a response after
     you have left the editor.
 o+ New save commands
     The `s' and `S' commands run much faster and now correctly do
     filename  expansion.   Also,  the  `|', `^', and `%' commands
     have been added.  | pipes the note/response into  a  command.
     ^ pipes the whole article into a command.  % invokes the joke
     decryption program (rotate 13).







































 #

































































                         TABLE OF CONTENTS


 1  Introduction......................................................1

 2  Using Notesfiles..................................................2
    2.1  Invocation...................................................3
    2.2  Notesfile Names and Wildcards................................3
    2.3  The -f Option................................................4
    2.4  General......................................................6
         2.4.1   Help.................................................6
         2.4.2   Exiting..............................................6
         2.4.3   Shells...............................................7
         2.4.4   Comments and Suggestions.............................7
    2.5  The Index Page...............................................7
         2.5.1   Scrolling the Index Page.............................9
         2.5.2   Choosing Notes and Responses.........................9
    2.6  Notes and Responses.........................................10
         2.6.1   Reading Notes.......................................10
         2.6.2   Reading Responses...................................12
         2.6.3   Writing Notes and Responses.........................14
         2.6.4   Mailing Notesfile Text..............................14
         2.6.5   Forwarding Text To Other Notesfiles.................15
         2.6.6   Saving Text in Local Files..........................15
         2.6.7   Piping Text through Commands........................15
         2.6.8   Deletion............................................16
         2.6.9   Online Communication................................16
         2.6.10  Editing Note Titles.................................16
         2.6.11  Editing Notes/Responses.............................16
    2.7  Other Commands..............................................17
         2.7.1   Returning to the Index Page.........................17
         2.7.2   Searching Titles for Keywords.......................17
         2.7.3   Searching for Authors...............................17
         2.7.4   Stacking Notesfiles.................................17
         2.7.5   Policy Note.........................................18
    2.8  The Sequencer...............................................18
         2.8.1   Seeing New Notes and Responses......................19
         2.8.2   Automatic Sequencing................................21
    2.9  Environment Variables.......................................21

 3  Managing Notesfiles..............................................22
    3.1  Director Options............................................22
         3.1.1   Access Lists........................................23
         3.1.2   Policy Note.........................................25
         3.1.3   Title and Director Messages.........................25
         3.1.4   Open/Close..........................................25
         3.1.5   Network Options.....................................25
         3.1.6   Anonymous Notes.....................................26
         3.1.7   Compression.........................................26
         3.1.8   Massive Deletions...................................26
         3.1.9   Director Options for Notes..........................27
    3.2  Creation and Deletion of Notesfiles.........................27
    3.3  Intersystem Notesfiles......................................28
         3.3.1   Transmitting Notesfile Updates......................29
         3.3.2   Network Transaction Log.............................30
         3.3.3   Non-Standard Links..................................30
         3.3.4   Notesfile Name Mapping..............................32
    3.4  Initial Installation and Parameters.........................32
         3.4.1   Selecting Appropriate Constants.....................33







         3.4.2   Compiling the Notesfile System......................35
         3.4.3   User Subroutines....................................36
    3.5  Installing the man(1) Documentation.........................36
    3.6  Interfacing to News(I)......................................37
         3.6.1   Copying News to Notesfiles..........................37
         3.6.2   Copying Notesfiles to News..........................38
         3.6.3   Naming Notesfiles and Newsgroups....................39
         3.6.4   Space Utilization...................................40
    3.7  Housekeeping................................................40
         3.7.1   Automatic Removal of Notes..........................41
         3.7.2   Additions to System Boot............................42

 4  Other Notesfile Utilities........................................42
    4.1  Hard Copy Output............................................43
    4.2  Piped Insertion of Notes....................................43
    4.3  User Subroutines............................................43
    4.4  Statistics..................................................44
    4.5  Checking for new notes......................................45

 5  Summary..........................................................47


 APPENDICES

 A  Notesfile Installation Checklist
 B  Future Modifications
 C  Changes Since Notes 1.3