NOTES ON THE OPERATION OF SCHED
===============================
Revision C, 10/26/1994

'sched' is a resource scheduler. These notes will assume for the sake of
example that the resource being scheduled is machine time on a set of
hosts.  Hosts are added to a host list, and then reservations can be made, 
changed, deleted, and daily and weekly schedules can be printed.

All scheduling operations are from a Master hardcopy generated by this program.
All inputs are made with respect to a Master schedule, which must be 
reprinted each time reservations are modified.
 
SYNTAX
======
Input syntax is consistent throughout the program.  Single dates are entered
as "month/day" e.g. 3/24, 11/1, etc.  Month and day must be separated
by a "/". Year is not required or used.  A range of dates is entered as
"month/day-month/day" e.g. 3/24-11/1.  Reservations can be made up to
12 months in advance, which includes the current month. This means that
if the current month is March, reservations can be made for all months up
to and including February.  Reservations more than 12 months in advance
are considered to be for the current year.  Date syntax is verified by
the program.  

Times are entered as RANGES in military units e.g. 0800-0830, 1400-1730, 
etc. Start and end times are each 4 digits and must be separated by a "-".
The largest block of time is 0000-2400 (one whole day) and the smallest 
equal to one time slot, as defined in the file '.template'.
Time syntax is checked by the program.

Each time the program is run, a 'cleanup' is run to check for old
reservations from the first of the current month up to (but not including)
the current day.  If any exist, they are deleted. For example, any
reservations for March 1-9 would be deleted when the program is run on March 10.

MANEUVERING THROUGH THE MENUS
=============================
Selecting choices from a menu usually prompts for an action.  For some
functions, prompts are nested until all information is obtained. A carriage
return with no input at a prompt will return you to the previous menu
level or prompt. An 'm' (for menu) entered at any prompt nested more than
one level, or at a status message, will return you to the main menu. 
The Main menu looks like this:

	Status:  PS[ON]  PR[lp]  RPT[MATRIX]

	MAIN MENU
	==== ====

	1       Add HOST
	2       Delete HOST
	3       List HOST

	4       Reserve HOST
	5       Delete Reservation

	6       Printing

	0       Exit

	CHOICE?


ADD HOST
--------
This adds a host to the host list.  Hosts can't be reserved
until they are in the host list.  Names will be cut to 15 characters or less.
Host names will not be added unless they are unique.  More than one 
host can be added at a time by seperating names with whitespace.

DELETE HOST
-----------
This deletes a host from the host list, and all reservations current
for that host.  Host names must be specified exactly as they appear in
the list.  More than one host can be deleted at a time by seperating
names with whitespace. All hosts, and their reservations, can be deleted at
once by specifying 'ALL' as the hostname.

LIST HOST
---------
This will alphabetically 'more' the host list to the screen. A hardcopy of
the hostlist can be generated by printing the file '.resourcelist'.

RESERVE HOST
------------
Hosts are reserved by specifying the date (or range of dates), host name,
reserver, and time.  Hosts can be reserved mulitple days at a time by specifying
a range of dates. Only hosts in the host list can be reserved. Reserver name 
will be cut to 15 or less characters.  If a reservation is requested, and
any portion of the requested reservation is already reserved by someone else,
the whole requested reservation will be cancelled (no new time slots reserved
at all).

DELETE RESERVATION
------------------
Reservations are deleted by specifying date, host name, and time slot
to delete.  An entire reservation, or any smaller part of it, may be 
deleted.  Note that reservations are deleted by time slots (and not by
reserver), so that one delete command can remove the reservations of
multiple reservers. Reservations can only be deleted one day at a time-
to delete a reservation for 3 days requires 3 separate deletions.
Only reservations for hosts in the host list can be deleted. All currently
scheduled reservations can be deleted by specifying 'ALL' when prompted for
a deletion date.

PRINTING REPORTS
----------------
The print option pulls up print menu with 8 choices: 

	Status:  PS[ON]  PR[lp]  RPT[MATRIX]

	PRINTING MENU
	======== ====

	  ONE DAY REPORT
	  1     All HOSTS
	  2     One HOST

	  ONE WEEK REPORT
	  3     All HOSTS
	  4     One HOST

	  ALL RESERVATIONS
	  5     All HOSTS
	  6     One HOST

	  7     Set Printing Defaults

	  0     Exit Printing Menu
	  q     Quit Program

	CHOICE?


Print output can be directed to the screen, a file, a printer and to
both a file and a printer.  Screen output is 'more'ed.  File output is to
a default filename, or to a name you choose.  If output is to a file
that exists, file contents will be overwritten.  Printer output is to
a default printer. 

Print One Day For All Hosts
---------------------------
This prompts for a date, and prints all reservations for that date.

Print One Day For One Host
--------------------------
This prompts for a date and a host, and prints all reservations for
that host on that date.

Print One Week For All Hosts
----------------------------
This prompts for a date, and prints all reservations for all hosts for
the week that contains that date, Saturday through Sunday.  For example,
the calendar for September and October 1993 is:

   September 1993		          October 1993   
 S  M Tu  W Th  F  S		      S  M Tu  W Th  F  S
          1  2  3  4		                     1  2
 5  6  7  8  9 10 11		      3  4  5  6  7  8  9
12 13 14 15 16 17 18		     10 11 12 13 14 15 16
19 20 21 22 23 24 25		     17 18 19 20 21 22 23
26 27 28 29 30		    	     24 25 26 27 28 29 30
				     31

Specifying a date of 10/6 or 10/7 will print reservations for the dates
10/3 through 10/9.  Specifying a date of 10/1, 10/2 or 9/29 will print
the reservations for 9/26 through 10/2.  Specifying a date of 10/31 will
print reservations for 10/31 through 11/6.

Print One Week For One Host
---------------------------
This prompts for a date and a host, and prints all reservations for that
host for the week containing that date (see above).

Print All Reservations For All Hosts
------------------------------------
This option will print all reservations currently scheduled.

Print All Reservations For One Host
-----------------------------------
This option will print all reservation currently scheduled for one host.


Set Printing Defaults
=====================
This option pulls up a menu with 3 options for setting program defaults:

	PRINTING DEFAULTS MENU
	======== ======== ====

	  1  Postscript printing is:    ON
	  2  Default printer is:        lp
	  3  Default report format is:  MATRIX


	  0  Exit Printing Defaults Menu
	  q  Quit Program

	CHOICE?


Each default setting is displayed on a status line in all parent menus.

Postscript Printing
-------------------
Selecting this option will toggle Postscript printing ON|OFF.  If 'ON', 
hardcopy will be sent to the default printer in Postscript; otherwise
it will be sent in ASCII.  Postscript printing is recommended.

Printer Selection
-----------------
To change the default printer, select this option, and enter a valid system
printer name.  This printer will be then be the default printer for all
subsequent sessions, or until it is changed.

To change the printer while running sched, set the default printer to 'NONE'.
This state will force the program to prompt the operator interactively for the
printer name during printing.  For the rest of that session, that printer will
be the default printer.  If the program is terminated and restarted, the
printer will default back to 'NONE' for the next session.

Report Format
-------------
Selecting this option will toggle the report style MATRIX|FLAT.  If 'MATRIX',
the report will print one day per page, graphically depicting all time slots,
whether they are reserved or not. 'FLAT' will produce a simple tabular report,
showing only reserved time slots.  'MATRIX' reports are the default, and are
recommended.  The following is a sample of the MATRIX format report:
   SCHEDULE AS OF 09/07/94 FOR ALL HOSTS.
   DATE 10.1  ===============================================================|
   RESOURCE  ||0800  |0900  |1000  |1100  |1200  |1300  |1400  |1500  |1600  |
   ==========||======|======|======|======|======|======|======|======|======|
   Alpha01   ||Smith |Smith |      |      |      |      |      |      |      |
   __________||______|______|______|______|______|______|______|______|______|

   DATE 10.2  ===============================================================|
   RESOURCE  ||0800  |0900  |1000  |1100  |1200  |1300  |1400  |1500  |1600  |
   ==========||======|======|======|======|======|======|======|======|======|
   Alpha01   ||Smith |Smith |Smith |Smith |Smith |Smith |      |      |      |
   __________||______|______|______|______|______|______|______|______|______|
   Alpha02   ||Ike   |Ike   |Ike   |Ike   |Ike   |Ike   |      |      |      |
   __________||______|______|______|______|______|______|______|______|______|

The following is the same report as FLAT:
   SCHEDULE AS OF 09/07/94 FOR ALL HOSTS.
   DATE 10.1  ==========================
   HOST Alpha01 ==========
   0800-0900       Alpha01         Smith
   0900-1000       Alpha01         Smith

   DATE 10.2  =========================
   HOST Alpha01 ==========
   0800-0900       Alpha01         Smith
   0900-1000       Alpha01         Smith
   1000-1100       Alpha01         Smith
   1100-1200       Alpha01         Smith
   1200-1300       Alpha01         Smith
   1300-1400       Alpha01         Smith

   HOST Alpha02 ==========
   0800-0900       Alpha02         Ike 
   0900-1000       Alpha02         Ike 
   1000-1100       Alpha02         Ike 
   1100-1200       Alpha02         Ike 
   1200-1300       Alpha02         Ike 
   1300-1400       Alpha02         Ike 


END
