home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: SysTools / SysTools.zip / chrdmo.zip / CHRONMAN.TXT < prev    next >
Text File  |  1994-01-17  |  68KB  |  1,320 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                          Chron v4.0
  13.  
  14.                          An Event Dispatching Program
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.   Legalities
  26.  
  27.   Information in this document is subject to change without notice and does not represent a commitment
  28.   on the part of Hilbert Computing.  The software described in this document is furnished under a license
  29.   agreement.  The purchaser may make one copy of the software for backup purposes.  No part of this
  30.   manual may be reproduced or transmitted in any form or by any means, electronic or mechanical
  31.   including photocopying and recording for any purposes other than the purchaser's personal use, without
  32.   written permission from Hilbert Computing
  33.  
  34.  
  35.   The software and accompanying written materials are provided "as is" without warranty of any kind
  36.   including implied warranties of fitness for a particular purpose.  Hilbert Computing specifically is not
  37.   liable for any direct, indirect, consequential, or incidental damages arising from the execution of the
  38.   Chron software on your computer.
  39.  
  40.  
  41.   Hilbert Computing
  42.  
  43.  
  44.   1022 N. Cooper
  45.  
  46.  
  47.   Olathe, KS 66061
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.   IBM(R), OS/2(R), Presentation Manager(R) and PROFS(R), DDCS/2(R) and DB2(R) are registered trademarks
  83.   of International Business Machines Corporation.
  84.  
  85.  
  86.   CUATM, Common User AccessTM , REXXTM, Workplace ShellTM and OfficeVisionTM are trademarks of
  87.   International Business Machines Corporation.  UnixTM is a registered trademark of Unix Systems
  88.   Laboratories.  VisProREXXTM is a trademark of Hockware, Inc.
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.   3MTM  and Post-ItTM  are trademarks of the 3M Corporation.
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.   Contents
  108.   Preface...................................................1
  109.   Quick Start...............................................2
  110.   Diskette Contents.........................................2
  111.   Installation..............................................3
  112.   Start-up..................................................3
  113.   Entering Events...........................................4
  114.   Hints for Using Chron.....................................4
  115.   Full Installation Instructions............................6
  116.   Initial Start-up..........................................7
  117.   Basic Event Manipulation..................................8
  118.   Creating Events...........................................8
  119.   Changing Existing Events.................................10
  120.   Duplicating Existing Events..............................10
  121.   Hiding and Surfacing Open Events.........................10
  122.   Viewing Posted Events....................................10
  123.   Exiting Chron............................................11
  124.   Product Information......................................11
  125.   Customizing Chron Settings...............................12
  126.   File Settings Page.......................................12
  127.   Confirm Settings Page....................................12
  128.   Past Due Settings Page...................................12
  129.   General Settings Page....................................13
  130.   Event Settings Page......................................13
  131.   The Posted Bag...........................................15
  132.   General Function.........................................15
  133.   The Event Window.........................................17
  134.   Event Window Controls....................................17
  135.   Event Window PopUp Menu..................................18
  136.   Setting the Time.........................................18
  137.   Event Settings...........................................19
  138.   Scheduling the Event.....................................19
  139.   Cancelling the Event.....................................19
  140.   Using the Clipboard......................................20
  141.   Time/Date Dialog.........................................21
  142.   Selecting Time...........................................21
  143.   Selecting the Date.......................................21
  144.   Past Due Events..........................................22
  145.   Macros...................................................23
  146.   Command Line Interface...................................25
  147.   Removing Chron...........................................27
  148.   Support for Chron........................................28
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.   Preface
  158.  
  159.   Thank you for purchasing Chron.  Chron can be used as a starting point for time-based
  160.   automation tasks.  It was designed to accommodate two particular groups of needs as
  161.   follows:
  162.  
  163.   Chron can handle the automatic start-up of a number of programs at a desired fre-
  164.   quency.  This has been successfully used by a number of LAN administrators to
  165.   schedule the backup of files on the server.  Others have used Chron to schedule data-
  166.   base reorganizations and other tasks that must be scheduled at off hours to minimize
  167.   the impact to their clients.  Customers have also used Chron to schedule the automated
  168.   backup of important files to a LAN server using Chron with the OS/2 XCOPY com-
  169.   mand or to start other backup programs.  Still others have used Chron to schedule data
  170.   acquisition and analysis tasks.
  171.  
  172.   Workstation users have used Chron as a way of setting reminders and scheduling
  173.   follow-ups.  Users of the IBM mainframe products PROFS and OfficeVision have used
  174.   the cut and paste facilities of Chron to remind them of meetings.   Since data from a
  175.   3270 screen can be cut into the clipboard and since Chron can read the contents of the
  176.   clipboard, you can easily transfer host information to Chron to be notified of events,
  177.   even when you are not logged in on the host.  Chron is not intended to be a full fea-
  178.   tured personal information manager, but it can supplement follow-up activities and
  179.   other personal information manager products.  Individual workstation users will find
  180.   Chron useful as a way to schedule routine housekeeping chores.  Small REXX pro-
  181.   grams can be written to make backup copies of important files such as CONFIG.SYS
  182.   and PROTOCOL.INI.   Chron can schedule these execs to ensure a current backup
  183.   copy is made.
  184.  
  185.   If you are unhappy with the operation of Chron or find that it does not meet your
  186.   needs, you may return all original materials within 30 days of purchase for a refund.
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.   Quick Start
  197.  
  198.   Most people don't like to read user manuals.  Keeping that in mind, here is a very brief
  199.   overview for installation and start-up of Chron.  It is still recommended that you take
  200.   some time in the near future to read this manual to become familiar with the more
  201.   subtle features of Chron.
  202.  
  203.   Diskette Contents
  204.  
  205.   All of the files neccessary to install and run Chron v4.0 are in the root directory of the
  206.   installation diskette.  The disk also contains the latest (and last) 16-bit version of Chron
  207.   for those customers running OS/2 v1.x.  The 16-bit code is based on Chron v3.0 and is
  208.   in a subdirectory of the installation diskette called 16-BIT.  The installation program
  209.   is a 32-bit VisProREXX application, so customers using the 16-bit Chron v3.0 will
  210.   have to install the product manually.
  211.  
  212.   The files inventory is:
  213.  
  214.     B2HILB.DLL     This is the data link library (DLL) required for Chron to
  215.     execute.  This file must be in a directory in the LIBPATH statement in your
  216.     CONFIG.SYS for Chron to operate.
  217.  
  218.     B2HILB.MSG        This is one of the two message files that Chron uses for
  219.     error and informational messages.  Chron will function without this file, but
  220.     error messages may not be meaningful.  This file should be in the list of
  221.     directories in the DPATH environment variable.
  222.  
  223.     CHRON.EXE         This is the main executable for the Chron application.
  224.  
  225.     CHRON.HLP         This contains the help text for Chron.  This file is not
  226.     required for Chron to function, but help will not be available if it is missing.
  227.     This file should be in the list of directories in the HELP environment vari-
  228.     able.
  229.  
  230.     CHRON.MSG         This is second of two message files that Chron uses for
  231.     error and informational messages.  Chron will function without this file, but
  232.     error messages may not be meaningful.  This file should be in the list of
  233.     directories in the DPATH environment variable.
  234.  
  235.     CHRONAT.CMD       This is a REXX program used for adding events to Chron
  236.     via the command line.  The REXX code will handle the command line pars-
  237.     ing and input validation for the command line interface.   Once the input
  238.     parameters are validated, this code will call CHRONCLI for the actual
  239.     scheduling of the event.
  240.  
  241.     CHRONCLI.EXE      This is called by the CHRONAT REXX exec.  This
  242.     should not be invoked directly, since there is no input validation in this
  243.     code.
  244.  
  245.     CHRONCVT.EXE      This is called to convert Chron event files from older
  246.     formats to the Chron v4.0 format.  This code will support conversion from
  247.     Chron v2.3 (shareware), Chron v3.0 and Chron v3.0.1.  It is automatically
  248.     called by the installation program.
  249.  
  250.     INSTALL.EXE       This is the installation program.  It is not copied from the
  251.     installation directory to the hard drive.
  252.  
  253.     *.CHM             These files are sample REXX macros that can be used to
  254.     create more complex scheduling options.  These files are not an officially
  255.     supported part of Chron, but are intended to be used to give you ideas of
  256.     how REXX macros can enhance scheduling.  If there are any questions on
  257.     developing REXX scheduling macros, contact Hilbert Computing and will
  258.     can assist you.
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.   Installation
  270.  
  271.   It is recommended that you use the installation program - INSTALL - to install Chron.
  272.   This will copy neccessary files to the directory you specify for Chron and validate the
  273.   installation.  The CONFIG.SYS file will be checked to ensure that the current direc-
  274.   tory (i.e. a period) or the installation directory is in the LIBPATH statement.  It will
  275.   also check to ensure the installation directory is in the list of directories in the SET
  276.   HELP statement and will add it if it is not there.  A backup copy of the CONFIG.SYS
  277.   file is made to the CONFIG.CHR file before updates are made.  If an older version of
  278.   Chron is installed on system, the installation procedure will optionally remove obsolete
  279.   entries from the OS2.INI file.
  280.  
  281.   To run the installation program, change your current drive to the drive containing the
  282.   installation program and type: INSTALL.
  283.  
  284.   Start-up
  285.  
  286.   Start Chron from the program object or type START CHRON from a command line
  287.   session.  Chron stores settings information in the CHRON.INI file.  The INI file is
  288.   expected to be in the current directory and will be created in the current directory if
  289.   one doesn't already exist.  Therefore, it is important that you start Chron from the
  290.   same directory each time.
  291.  
  292.   The installation program will specify a default name of CHRON.DAT in the INI file
  293.   for the file in which the events are stored.  If Chron cannot find the INI file in the
  294.   current directory, you will be asked for the name of the file into which the scheduled
  295.   events will be placed.  There is no restriction on the file name.  If you don't specify a
  296.   path, the current path information will be used.  It is recommended that you fully
  297.   qualify the name of the file, so you can be assured of creating this file in the directory
  298.   where you want it.  If you used the installation program and see the dialog box asking
  299.   for the name of the events file, it is a good bet that Chron is not being started from the
  300.   installation directory for Chron.
  301.  
  302.   Entering Events
  303.  
  304.   Now that Chron has started, you can schedule your first event.  Chron v4.0 was
  305.   designed to behave as much like the OS/2 Workplace Shell as much as possible. When
  306.   in doubt, press the right mouse button.  In most cases a popup menu will display giving
  307.   you a list of actions that can be performed on the object.  So to schedule your first
  308.   event, press the right mouse button on the Chron window and select Create another
  309.   from the menu.  A new desktop window will be created that will contain the informa-
  310.   tion needed for an event.  Enter the information as appropriate.  Additional
  311.   information, such as the program name to execute can be found in the settings pages
  312.   for the event.  To fill in the settings information, press the right mouse button and
  313.   select the Settings... menu option.  When the settings information is entered, close
  314.   the settings window via Alt-F4 or by closing from the system menu button in the upper
  315.   left corner.  The time and date at which the event is to be scheduled can be changed
  316.   using the Time... menu option.  To schedule the event, close the event window via
  317.   Alt-F4 or using the system menu.
  318.  
  319.  
  320.   For more detailed information, see other topics in this manual or refer to the online
  321.   help information.
  322.  
  323.  
  324.   Hints for Using Chron
  325.  
  326.   Again, we recommend that you read the manual to gain a full understanding of all that
  327.   can be done with Chron.  However, we realize that you may be anxious to get started,
  328.   so here are a few hints that will make Chron v4.0 a little easier to use.
  329.  
  330.        The number one hint is "When in doubt, press the right mouse button to get a
  331.        menu".  Chron v4.0 was designed to work as much as possible like the OS/2
  332.        Workplace Shell and to conform to Common User Access '91 (CUA '91) rules.
  333.        Since there are few CUA '91-compliant applications on the market, this may
  334.        seems a little foreign at first.  The biggest change is the lack of "Save" buttons
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.        on the windows and dialogs.  To save the object -- be it an event or settings --
  343.        close the window.  To cancel changes, press the Undo button and close the
  344.        window.
  345.  
  346.        The time/date dialog for an event can be displayed by double-clicking on the
  347.        static text fields on the event window.
  348.  
  349.        As mentioned, the events window's menu can be displayed using the right
  350.        mouse button.  However, due to the nature of some of the Presentation Man-
  351.        ager controls, there are some "dead spots".  The right mouse button will not
  352.        display a menu when pressed over the Type: or Freq: combo boxes or spin
  353.        buttons. If the menu doesn't popup, move the mouse pointer to another area on
  354.        the window.  I usually press the mouse button over the Message: multiple-line
  355.        entry field control.  We are working to remove these "dead spots" in future
  356.        service levels of Chron.
  357.  
  358.        Chron was designed to run from the same working directory each time.  The
  359.        settings information for the Chron application is saved in the CHRON.INI file
  360.        in the current working directory.   The easiest way to ensure that Chron is
  361.        started from the same directory is to create a Workplace Shell program object
  362.        and alway start Chron from there.  The installation program will automatically
  363.        create the program object for Chron.
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.   Full Installation Instructions
  374.  
  375.   For those less familiar with OS/2, this section provides a more detailed explanation of
  376.   the procedures needed to install Chron on your system.
  377.  
  378.   From the command line, start the installation program on the supplied diskette.  The
  379.   installation program is called INSTALL, so for most customers, the command would
  380.   be:
  381.  
  382.                         start a:\install
  383.  
  384.   An OS/2 Presentation Manager installation program will prompt for the directory from
  385.   which Chron is being installed and the directory to which Chron will be installed.
  386.   Chron can be installed from a hard drive.  This is most useful for customers with site
  387.   or enterprise licenses.  In that case, copy the files from the root drive of the diskette to
  388.   a shared directory on a local area network.  The network directory should then be
  389.   specified for the "From" directory.  If the destination directory doesn't exist, Chron
  390.   will create it.  It will not create intermediate directories.  For example, if you want to
  391.   install Chron in D:\UTILITES\CHRON, then the D:\UTILITES directory must
  392.   already exist.
  393.  
  394.   Select Actions/Install from the menu bar and the files will be copied to the destination
  395.   directory.  When the files have been copied, Chron will create a program object (an
  396.   icon) on the desktop.  You can move that program object to any suitable folder if you
  397.   wish.  Since Chron should be started from the same directory (so it can find its INI
  398.   file), it is recommended that Chron always be started from the program object since
  399.   this will ensure the proper working directory.
  400.  
  401.   After the installation is complete, Chron will check for the presence of an older version
  402.   of Chron.  Specifically, it looks for an entry in the OS2USER.INI file for Chron.  If
  403.   found, it will display a dialog that will migrate the old events file format to the new
  404.   format.  By default, the dialog has two options checked.  One option will allow you to
  405.   migrate the files, the other will allow you ro remove the obsolete entries from the
  406.   OS2USER.INI file.  Selecting the option to remove the entries from the INI file will
  407.   not erase the old Chron code or events files.  That must still be done manually.
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.   Initial Start-up
  418.  
  419.   If you have installed Chron into a program object or on a group window, you may start
  420.   Chron by double-clicking on the icon.  You may also start Chron by issuing the
  421.   START CHRON command from the OS/2 command line prompt.  There are no
  422.   optional command line parameters from Chron and any entered will be ignored.  Chron
  423.   was designed to run from the same default directory every time.  The settings for
  424.   Chron are stored in the file CHRON.INI in the current directory.
  425.  
  426.   Once Chron is started, you will see the window in the lower left corner of the screen.
  427.   This main Chron window contains the current date and time and the number of events
  428.   that are currently scheduled.  If there have been no previous version of Chron
  429.   installed, the text will display No Pending Events.  All event manipulation starts with
  430.   the popup menu on the main Chron window.
  431.  
  432.   There is a second, initially hidden, window in Chron.  That is the window referred to
  433.   as the "posted bag".  When the time comes to schedule an event, a copy is placed in the
  434.   posted bag window.  Initially this window will be empty, but after events are scheduled
  435.   you will be able to manipulate those events from the posted bag as well.  The posted
  436.   bag is most useful as a "To-Do" list for message-type events.  You can show the posted
  437.   bag window on the screen by selecting the Surface Posted Bag menu item. The
  438.   posted bag will be covered in more detail later in this manual.
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.   Basic Event Manipulation
  449.  
  450.   This section will discuss the basic manipulation of events within Chron.  After reading
  451.   this, you should be able understand what an event is and how to create, modify and
  452.   delete them from Chron.
  453.  
  454.   Creating Events
  455.  
  456.   What is an event?  Simply stated, an event is the entity that Chron schedules, but that
  457.   doesn't really tell you much!  Chron currently supports four types of events: messages,
  458.   programs, resume, and pause.  Message events contain all of the scheduling informa-
  459.   tion such as its time to be displayed and how often you want it to be redisplayed (the
  460.   frequency).  They also contain the message text to be displayed. The message text is
  461.   required for message-type events.  Program events contain all of the information that a
  462.   message event does, except that the message text is optional.  Program events also must
  463.   contain additional properties, such as the name of the program to start, the default
  464.   directory and any command line parameters to the program being scheduled.  Resume
  465.   and pause events are used to stop the scheduling of other events.  Resume and pause-
  466.   type events can be used to keep programs from running and to keep messages from
  467.   being displayed while you are on vacation or during a company holiday for example.
  468.  
  469.   To schedule a new event, press the right mouse button on the main Chron window and
  470.   select the Create another menu selection.  You will be presented with a sizeable
  471.   window that is used to fill in information about the event.  You must fill in a title for
  472.   the event.  It can be any text that briefly describes the event.  You can then choose the
  473.   frequency with the combo box.  Initially, this is set to schedule a One Time event,
  474.   meaning the event will be scheduled for execution once. The spin button can be used to
  475.   further specify the frequency.  For example, you can schedule an event to run every 17
  476.   minutes or every 3 weeks.  Specifically, you can schedule an event to run from 1 to
  477.   255 minutes, hours, weekdays, days, months, or years.  You also need to choose the
  478.   type of event as a message, program, pause or resume using the other combo box.  It is
  479.   recommended that you not schedule pause or resume events until you are more familiar
  480.   with the operation of Chron.
  481.  
  482.   You then can enter the time at which you want the event to be scheduled.  The default
  483.   time for a new event is the current date and time.  This is done using the Time menu
  484.   item on the popup menu from the event window, the accelerator key for that menu
  485.   item, Ctrl-T, or you can double click on the static text with the date and time on the
  486.   events window.  Note that the popup menu for an event is displayed using the right
  487.   mouse button on the event window, not the main Chron window.  When you select the
  488.   time in one of these ways, you will be presented with the date time dialog.  You can
  489.   select the time of day at which to schedule the event in a combination of ways.  The
  490.   slider control will allow you to position the time of day at the appropriate spot.  You
  491.   can also select a time using the spin buttons on the dialog.  The month and year are
  492.   selected using the spin controls.  The day of the month is changed by pressing the but-
  493.   ton that corresponds to the day you want.  Once you have entered the desired date and
  494.   time, you can press the OK button.  You will be returned to the event window with the
  495.   date and time text updated to reflect your selection.
  496.  
  497.   You can then enter the message text in the multi-line edit box at the bottom of the event
  498.   screen.  You are limited to 32 kilobytes of text.  Chron requires you to enter text for a
  499.   message-type event (otherwise, what's the point?), but it is optional for program-type
  500.   events.  The message text for a program event is useful for displaying operator
  501.   instructions or for notification of when a program has been started by Chron.  If you
  502.   don't specify mesage text for program events, then Chron will not display the infor-
  503.   mation window (also called the read-only event view) when the event is scheduled.
  504.   Scheduling several program-type events with message text can clutter the desktop with
  505.   the read-only event view windows, so I usually leave the message text blank for pro-
  506.   gram events.
  507.  
  508.   Program events require that additional information be entered before the event can be
  509.   scheduled. At the very least, the name of the program to execute must be entered.
  510.   This is filled in using the Settings... menu selection from the event window.  Fill in
  511.   the name of the program, the default directory and any command line parameters that
  512.   are required for its operation.  If you are scheduling a batch file or REXX command
  513.   file, the event needs to execute under the OS/2 command shell.  This is handled by
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.   checking the checkbox entitled Run under OS/2 shell.  In most cases, this box will
  522.   automatically be checked for you when you tab out of the Path & File Name entry
  523.   field.  In some unique cases, you may need to run the OS/2 command shell to get the
  524.   desired result.  To run the OS/2 shell, enter C:\OS2\CMD.EXE for the program name
  525.   and /C commandline for the command line parameters, where commandline is the
  526.   name of the command as you would enter it from the command line.  See the OS/2
  527.   online command reference for CMD.EXE for more information.  Examples of where
  528.   this may be necessary are when internal shell commands, such as COPY or ERASE are
  529.   scheduled.  If you are using alternative shells, such as ports of Korn, Bourne or C
  530.   Unix shells, or a popular shareware shell, the automatic "run under OS/2 shell" may
  531.   not work as expected.  Chron attempts to use the default shell by looking in the
  532.   COMSPEC environment variable in CONFIG.SYS, but the command may not be con-
  533.   structed properly if the alternative shell doesn't use a syntax close to that of OS/2's
  534.   default CMD.EXE shell.  Once the desired entries have been filled in, you can close
  535.   the settings and return to the event window.
  536.  
  537.   You now have all of the information needed to schedule an event.  Either select the
  538.   Schedule menu item from the popup menu, or close the event window using Alt-F4
  539.   or by selecting close from the system menu button in the upper left corner of the event
  540.   window.  The event window will be removed and the main Chron window will be
  541.   updated to reflect that another event has been scheduled.
  542.  
  543.   This sounds a bit complex at first, but the consistent and very visual nature of Presen-
  544.   tation Manager applications should make this process fairly straightforward after a
  545.   couple of times.  If you forget to enter a required piece of information, Chron will
  546.   display a dialog box that explains what is missing.  Chron was designed to conform to
  547.   IBM's 1991 rules for Common User Access (CUA '91).  Since there are relatively few
  548.   CUA '91 applications on the market, most users want to see Save and Cancel buttons
  549.   for the settings and event windows instead of the Undo and Cancel buttons.  It is
  550.   "uncomfortable" to save an event or settings changes by closing the window.  How-
  551.   ever, this behavior is consistent with the operation of the Workplace Shell and should
  552.   become more comfortable after working with Chron for a while.
  553.  
  554.   Changing Existing Events
  555.  
  556.   After you have scheduled one or more events, you can change them in any way you
  557.   like.  To display the list of currently scheduled events, select the List events... menu
  558.   item from the main Chron window.  You will be presented with a dialog that contains
  559.   the titles of all of the events scheduled sorted in execution time order.  To the right of
  560.   the currently highlighted event, you will see summary information about the event. As
  561.   you select the  events from the listbox, the summary information changes to match the
  562.   selection.  This feature allows you to quickly scan the pending events merely by drag-
  563.   ging the mouse pointer down the items in the listbox.
  564.  
  565.   If you would like to bring up an event window to modify or further inspect the event,
  566.   either press the Update button or double click the entry in the listbox.  At this point,
  567.   the event editing is the same as creating a new event.
  568.  
  569.   Note that this event window is non-modal.  This means that you are not required to
  570.   complete the edit of the event before doing something else with Chron.  You can have
  571.   multiple events out for edit, you can create new events, delete existing events -- even
  572.   minimize the event and come back to it later.
  573.  
  574.   Duplicating Existing Events
  575.  
  576.   When you duplicate an event, Chron creates an exact copy of the selected event.  There
  577.   is no connection to the original event.  There are two distinct events that can be inde-
  578.   pendently manipulated and will be independantly scheduled.  You can duplicate an
  579.   event by highlighting it on the list events  dialog and pressing the Duplicate button.
  580.   The now-familiar event window will be displayed to allow you to alter some of the
  581.   fields if desired.  When you have completed editing the event, you schedule it as you
  582.   would a newly created event.
  583.  
  584.   Hiding and Surfacing Open Events
  585.  
  586.   Events that contain message text are displayed on the desktop when the event executed.
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.   If there are several event windows that have displayed, or if you are in the midst of
  595.   updating events, the desktop can become cluttered with windows.  To hide all open
  596.   windows, both update event windows and read-only event windows, select the Hide
  597.   open events menu option from the main Chron window.  To regain access to those
  598.   windows, select the Surface open events menu item from the popup menu from the
  599.   Chron main window.
  600.  
  601.   Viewing Posted Events
  602.  
  603.   When a program event is executed or a message event is displayed (or "posted" to use
  604.   Chron's lingo), a copy of the information about the event is placed into a special win-
  605.   dow called the "posted bag".  The posted bag is a container with objects that represent
  606.   posted events.  These event objects can be manipulated in the same way as events that
  607.   are created, updated or deleted from the main Chron window or the events list dialog.
  608.   To see the posted bag, select the Surface Posted Bag menu item from the main
  609.   Chron menu.
  610.  
  611.   The posted bag is designed to work very similar to a Workplace Shell folder.  To
  612.   manipulate a single event, place the mouse pointer over the event and press the right
  613.   mouse button to get a popup menu for that event.  You can update, view (which dis-
  614.   plays the read-only event window), delete or duplicate an event by selecting the
  615.   appropriate menu option.  As with Workplace Shell folders, you can select several
  616.   objects and manipulate those with a single menu selection.  Pressing the right mouse
  617.   button on the background for the posted bag will display a menu of items that dom't
  618.   pertain to any event.  Namely, you can create another event, hide or surface open
  619.   events, hide the posted bag or close the Chron application.
  620.  
  621.   Exiting Chron
  622.  
  623.   When you would like to shut Chron down, you may do so in a variety of ways.  You
  624.   can select the Close item from the system menu of the main window or the posted bag
  625.   or select the Event/Exit option from the main Chron window.  Regardless of the
  626.   method used to close Chron, it will avoid loss of data my making sure there is no
  627.   unsaved information.  First, Chron will confirm via a dialog that you really intend to
  628.   exit.  If you answer yes, Chron will ask every outstanding event window if it is OK to
  629.   close.  If there have been unsaved changes to that event window, it will ask if it is OK
  630.   to discard the changes.  All outstanding event windows must agree to close before the
  631.   Chron application will close.  This is similar operationally to shutting down the OS/2
  632.   operating system in that all windows must reach a consensus before allowing the shut-
  633.   down to complete.
  634.  
  635.   Product Information
  636.  
  637.   The Product Information... menu option displays information regarding the release
  638.   and fix level of Chron.  It also displays the copyright information.  When reporting
  639.   problems with Chron on the Hilbert Computing bulletin board, please include both the
  640.   release and service level information found on the Product information dialog, so that
  641.   we can better meet your needs.
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.   Customizing Chron Settings
  652.  
  653.   Chron allows considerable flexibility in its operation to better meet your needs.  These
  654.   options are all changed using the Settings... menu on the main Chron window.
  655.  
  656.   File Settings Page
  657.  
  658.   This dialog prompts for the name of the file on disk that is used to store the events list.
  659.   It is unlikely that you will need to change this value.
  660.  
  661.   If you decide you would like to move the events file to a different location, there are a
  662.   couple of ways you can do this.  If you change the name of the events file, then that
  663.   file will be used the next time Chron needs to save the event list.  However, Chron will
  664.   not write out the events file until it has changed.  Therefore one technique would be to:
  665.  
  666.   °    Change the name of the file in which to store events.
  667.  
  668.   °    Close Chron.
  669.  
  670.   °    Move the Chron events file to the new location that you specified.
  671.  
  672.   °    Restart Chron
  673.  
  674.   Confirm Settings Page
  675.  
  676.   Chron v4.0 has greatly expanded the ability to customize which warning dialogs are
  677.   displayed during the operation of Chron.  The default settings generate a very high
  678.   amount of interaction with the user to ensure that the action selected is what the user
  679.   intended.  Chron was designed to give the user a "second chance" for almost all
  680.   destructive actions.  After becoming familar with Chron, some of these confirmation
  681.   dialogs may be annoying.  The confirmation can be turned off by removing the check
  682.   mark next to the confirmation on the Confirm settings page.
  683.  
  684.   Past Due Settings Page
  685.  
  686.   When Chron is started, it checks the list of events for those that are past due.  The
  687.   default is for Chron to prompt the user with a dialog box that contains the list of past
  688.   due events.  The user then has the option to reschedule those events that are not sup-
  689.   posed to run immediately.  Chron will not schedule any events until this rescheduling
  690.   dialog is dismissed.
  691.  
  692.   In some unattended environments, the prompting dialog may not be appropriate. The
  693.   past due settings page allows you to specify that Chron automatically reschedule past
  694.   due events to be run at the next appropriate time in the future.  You can also specify
  695.   that Chron continue initialization with past due events.  In this case, those past due
  696.   events would be run at the top of the next minute.
  697.  
  698.   General Settings Page
  699.  
  700.   This will allow you to change configuration options that apply to the operation of
  701.   Chron and all events in general.  At the top of the dialog there are a series of seven
  702.   check boxes bounded in a group that are labelled with the days of the week.  This gives
  703.   you the option of what you consider to be weekdays.  If your work week runs from
  704.   Tuesday through Saturday, then you may choose to configure valid weekdays to be
  705.   those days.  This option effects only those events that are scheduled for execution on
  706.   weekdays. You must select at least one valid weekday.  The default for the valid
  707.   weekdays are Monday through Friday.
  708.  
  709.   The valid weekdays are used when rescheduling an event.  If you change the list of
  710.   valid weekdays, then those events scheduled for weekday execution will not be auto-
  711.   matically changed.  However, the next time they are posted, the computation of when
  712.   to schedule that event next will honor the weekdays set.  Note that Chron will also let
  713.   you schedule a weekday event initially on a day that is not a valid weekday.  Valid
  714.   weekdays are used only when Chron reschedules the event after it is posted.
  715.  
  716.   This settings page also contains a check box to auto-open window when event is posted.
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.   When an event is posted, a new window is created (or refreshed) on the OS/2 desktop.
  725.   If this option is selected, the read-only event view of the event will be displayed if
  726.   there is message text associated with the event.  The "read-only event view" is simply a
  727.   window that contains the message text in a read-only multiple line entry field.  This
  728.   serves to notify you when an event has been posted.  This is most likely the desired
  729.   action for message events, but may not be the desired action for program events.  This
  730.   is the reason that in most cases you will not want to enter message text for program-
  731.   type events.  If you don't want any events to automatically open a read-only view, turn
  732.   this option off.  The default for this option is on.
  733.  
  734.   The next checkbox on the general page is the option to sound the alarm when an event
  735.   is posted to the bag.  If you are using Chron to schedule reminder messages, it is most
  736.   likely that you will want this option selected to serve as additional emphasis that an
  737.   event has been posted.  Some customers find the alarm annoying, so the option is pro-
  738.   vided here of turning it off.  The default when Chron is installed is to sound the alarm
  739.   when an event is posted.
  740.  
  741.   The final checkbox on this page determines whether the posted bag is displayed when
  742.   Chron is first started.   Older version of Chron automatically displayed both the main
  743.   Chron window (the one with the date and time) as well as the posted bag.  Many cus-
  744.   tomers found the posted bag to be confusing and distracting.  This option defaults to
  745.   not displaying the posted bag when Chron is started, but you can change this to behave
  746.   the way older versions did by selecting the checkbox.
  747.  
  748.   Event Settings Page
  749.  
  750.   Chron allows you to fill in default values for new events.  This page will allow you to
  751.   fill in values for the event frequency, the event type and the session type (e.g. OS/2
  752.   Fullscreen, OS/2 Windowed, etc.) for program type events.  As the new event is being
  753.   edited, you are free to make any changes to any of these defaults. This is merely added
  754.   as a convenience to fill in the values you will use most.  Chron defaults this value to
  755.   one-time program events, but if you schedule mostly weekly program events, you can
  756.   change this to speed the creation of new events.
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.   The Posted Bag
  767.  
  768.   As mentioned above, the posted bag is a desktop window that contains the events that
  769.   have been posted.  However, the posted bag is more than a container for posted mes-
  770.   sage windows.  You can also handle most of the functions of Chron and most event
  771.   manipulation from the posted bag window.
  772.  
  773.   The posted bag allows you to effectively use Chron as a follow-up list manager.  All of
  774.   the events that have been posted are tasks that may require your attention, especially in
  775.   the case of message-type events.  You can either defer taking action and reschedule the
  776.   event for a later time, or you can keep them in the posted bag as a "to do" list.
  777.  
  778.   This section will document the function of the posted bag, so that you may choose to
  779.   use it in a way that best meets your needs.
  780.  
  781.   General Function
  782.  
  783.   The function of the posted bag is consistent with the operation of a Workplace Shell
  784.   folder.  Any event in the posted bag can be manipulated via its popup menu.  Press the
  785.   right mouse button with the mouse pointer over the object of interest.  A popup menu
  786.   will display, giving you the options to update, view, duplicate, remove or delete the
  787.   event.
  788.  
  789.   If Update is selected, Chron will open the same event window that is displayed when a
  790.   new event is created except that it is prefilled, as you would expect, with the values for
  791.   that particular event.  The View option will open a read only event view.  This is the
  792.   same window that is display when an event is posted.  While no updating can take
  793.   place from this window, it has it's own popup menu from which you can open the
  794.   event for update.  The view option is the same as if the icon were double-clicked.  The
  795.   Duplicate option will create a "clone" of the event and open the new event using an
  796.   update window.  This will create a completely separate event.  There are no ties back
  797.   to the event from which it was created.  This option is handy if you need to keep the
  798.   original event, but create a new one that is very similar to that original event.  The
  799.   Remove option will take the event out of the posted bag.  This doesn't delete the event
  800.   and if the scheduling frequency is anything other than one time, the event will be
  801.   posted again when its time comes due.  I use the remove option primarily when creat-
  802.   ing reminder message events.  The posted bag can serve as a to-do list.  When I have
  803.   completed the task, I remove it from the bag, but I don't delete it if it is a recurring
  804.   task.  For example, I have a weekly reminder for a staff meeting.  When it displays. I
  805.   select the remove menu option, grab my notebook and head out for the staff meeting.  I
  806.   don't want to delete the event, because I want to be reminded next week's meeting.
  807.   By now, it should be clear what the Delete menu option does.  If delete is selected, the
  808.   event is gone for good.  Unless you change the settings, you will receive a confirma-
  809.   tion dialog to ensure that you really want the event deleted.
  810.  
  811.   The remaining menu options don't apply to the selected event and are also available if
  812.   the popup menu is requested when the mouse pointer is over the background of the
  813.   posted bag.   The Create Another menu option will open an event window for the
  814.   creation of a new event, the same as if the menu option were selected from the main
  815.   Chron window.  The Hide open events and Surface open events will display or
  816.   hide those events are currently have an open read-only event view or an update window
  817.   for them.  If the event is open, you will see the cross-hatching on the event's icon in
  818.   the posted bag, similar to the operation of Workplace Shell folders.  As events are
  819.   posted, a read-only event window is opened if there was message text associated with
  820.   the event.  If there are lot of these events, the screen can become cluttered.  The option
  821.   to hide all of these with a single option clears the clutter effortlessly.
  822.  
  823.   Currently, Chron will automatically arrange the icons in the posted events bag, so the
  824.   Arrange option has no effect.  The Hide bag option will keep the bag from displaying
  825.   on the desktop, and finally the Close Chron option will terminate the Chron applica-
  826.   tion.
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.   The Event Window
  837.  
  838.   Most of the interaction with Chron will be done through the event windows.  These are
  839.   the sizeable, non-modal windows that contain the information that makes up an event.
  840.   Most of the main functions of the event window were discussed in the section on Cre-
  841.   ating Events.  Since this same window is used for editing existing events, duplicated
  842.   events as well as new events, it was felt that a more focused discussion of the event
  843.   window was needed in its own section.
  844.  
  845.   The event window can be sized during editing.   When the size of the frame window is
  846.   changed, all of the controls in the window adjust their size to fill the area.  The mes-
  847.   sage text will automatically word wrap to adjust to the new size.  If there are hard
  848.   carriage return characters, then the text may not wrap as intended.  This occurs most
  849.   often in the case where the text for the message box was pasted from another applica-
  850.   tion such as a 3270 screen from the IBM OfficeVision product.  Sizing the window to
  851.   make the message box wider can make the contents more readable.
  852.  
  853.   The event windows are non-modal.  A modal window in Presentation Manager forces
  854.   you to complete the activity within the current window before proceeding to other
  855.   activities within the application.  Dialog boxes are the most common source for modal
  856.   windows.  While modal windows make sense in many areas of an application, they
  857.   tend to be inflexible.  The better alternative, when it makes sense, is to use non-modal
  858.   windows to enable the customer to complete tasks in their choice of order.  Multiple
  859.   events windows can be open and "under construction" at any time.  If you are in the
  860.   middle of creating or changing an event, you can switch over to the posted bag, for
  861.   example, to copy some text into the clipboard and copy it back into your message
  862.   window.  While it was not in the original design intent of Chron, many customers have
  863.   used open event windows as a computer version of the 3M Post-ItTM notes into which
  864.   they can type information.
  865.  
  866.   Event Window Controls
  867.  
  868.   The event window contains a set of Presentation Manager control windows into which
  869.   you can type or select information.  The first single-line entry field contains the title of
  870.   the event.  This should be a brief description of the contents of this event.  This title is
  871.   used in two places.  It is the text that appears in the list dialog when the List events
  872.   menu item is selected from the main menu.  It also appears in the icon text of the
  873.   posted event icons contained within the posted bag.  If the event is a program event,
  874.   this title is also used as the title for the executing program in the Window List when
  875.   you press Ctrl-Esc.  This title does not have to be unique, but to avoid confusion, it is
  876.   recommended that each event have a unique title.
  877.  
  878.   The type of event is selected using the combo box to the right of the Type: label.  This
  879.   specifies whether this is a program, message, pause or resume event.  As with all Pre-
  880.   sentation Manager combo boxes, you can either press the drop down button and select
  881.   the type with the mouse, or you may tab to the combo box and press the first letter of
  882.   the choice.  In this case, you may press P for Program and Pause events, M for mes-
  883.   sage events or R for Resume events.
  884.  
  885.   The following combo box and spin button, labelled Freq.: collectively determine the
  886.   frequency with which the event will be posted.  This choice can be selected from the
  887.   drop down or using the first letter of the option as with all Presentation Manager
  888.   combo boxes.  The choices are One Time, Hour(s), Weekday(s), Day(s), Week(s),
  889.   Month(s) or Year(s).  The spin button determines how many of those used are used
  890.   when rescheduling the event.   One Time events are scheduled to be posted once, after
  891.   which they are removed from the list of pending events.  Weekday events are sched-
  892.   uled to be run at the same time of day on the next n weekdays.  A weekday is defined
  893.   to be any one of the days listed in the Settings notebook.  They default to Monday
  894.   through Friday, but can be changed to reflect your work week.
  895.  
  896.   Rescheduling a monthly event presented an interesting problem.  Generally you would
  897.   expect a monthly event to be rescheduled to run at the same time and day of the month
  898.   on the next month.   However, when you schedule an event on one of the last few days
  899.   of the month, an interesting thing happens.  If you schedule a monthly event to run on,
  900.   for example, the 31st of March then the event can't be rescheduled for the 31st of
  901.   April since there are only 30 days in that month.  If Chron schedules for the 30th of
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.   April, then it will be scheduled after that posting to run on the 30th of May.  Well,
  910.   there are 31 days in May, and Chron has no way of knowing whether you wanted
  911.   execution to be scheduled on the 30th or 31st.
  912.  
  913.   This monthly scheduling problem is handled in the following way.  If you schedule an
  914.   event within the last five days of the month, Chron assumes that you are scheduling
  915.   that event relative to the end of the month.  In other words, if you schedule the event
  916.   above on the 31st of March, Chron interprets that as running on the last day of the
  917.   month.  Chron would continue to post that event on the 30th of April and the 31st of
  918.   May.   Similarly, if the monthly event was scheduled on the 28th of March, Chron
  919.   would logically treat that event as being scheduled on the fourth to the last day of the
  920.   month for all months.  If this implementation of scheduling monthly events is not what
  921.   you need, contact us here at Hilbert Computing and request a design change for future
  922.   releases.  At this point, this implementation has met the needs of Chron customers.
  923.  
  924.   The remaining event frequencies should be self-explanatory.
  925.  
  926.   Event Window PopUp Menu
  927.  
  928.   The event window menu items let you further refine the contents of the event.  This
  929.   menu is displayed when the right mouse button is pressed (almost) anywhere on the
  930.   update events window.  The "almost" comes in because there are some "dead spots"
  931.   where the right mouse button doesn't work due to the way that subclassing of Presen-
  932.   tation Manager controls works.  Currently, the right mouse button doesn't display the
  933.   menu when pressed over the static date/time text, or when the mouse pointer is over
  934.   either the combo box controls or the spin button controls.  Hilbert Computing will try
  935.   to remove this restriction in subsequent service levels of the product if it is possible to
  936.   do so.
  937.  
  938.   Setting the Time
  939.  
  940.   The time at which the event is scheduled to run is set by the Time menu item.  Alter-
  941.   nately, you can press the Alt-T accelerator key or  double click on the static text
  942.   containing the time and date.  When any of these three methods are chosen, the user is
  943.   presented with a dialog that is used to set the date and time at which the event will be
  944.   scheduled.  The details of entering dates and times are explained in the section entitled
  945.   Time Dialog below.
  946.  
  947.   Event Settings
  948.  
  949.   Certain events types have additional information specific to that event type.  In par-
  950.   ticular, program events require additional information before they can be scheduled.
  951.   Program events require that at least the program name be entered.  This is entered in
  952.   the notebook that is presented when the Settings menu item is chosen.  This notebook
  953.   also allows you to enter optional values for parameters to the program, the default
  954.   working directory, and the session type for the program.
  955.  
  956.   The settings dialog also contains a page for selecting the macro to be associated with
  957.   this event.  Macros provide a way to extend the basic scheduling options in Chron by
  958.   writing REXX code that will determine if the event should be scheduled.  For more
  959.   information on REXX macros, see the section later in this manual.
  960.  
  961.   The changes to the settings for the event are saved when the notebook is closed.  If the
  962.   changes aren't meant to be saved, the Undo button will restore the options to the way
  963.   they were before the notebook was opened.  The Default button will restore the set-
  964.   tings to the Chron defaults.
  965.  
  966.   Scheduling the Event
  967.  
  968.   Once you have entered all of the information about the event, you can place the event
  969.   into the list of pending events by selecting the Schedule menu item.  Other methods
  970.   of scheduling the event include pressing the accelerator key, Ctrl-S, or by closing the
  971.   event window using Alt-F4 or by closing the window from the system menu button in
  972.   the upper left corner of the window.  All methods accomplish the same result.  At first,
  973.   there may be reluctance to save the event by closing it.  This is notably different from
  974.   the CUA '89 behavior that most applications exhibit, but it is consistent with CUA '91
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.   guidelines and is consistent with the way that the Workplace Shell operates.
  983.  
  984.   If you have selected a time to schedule the event that is the same as, or previous to the
  985.   current date and time, Chron will pop a dialog stating that the event is past due.  If you
  986.   press the OK key, the event will be scheduled to execute at the top of the next minute.
  987.   If you press the Cancel button, you will be returned to the event window to further
  988.   refine the time and date.  This confirmation dialog can be turned off using the settings
  989.   notebook for the main Chron window.
  990.  
  991.   Cancelling the Event
  992.  
  993.   If you decide that you do not want to schedule the event, you can remove the event
  994.   window by pressing the Cancel button.  If you have made changes to the event win-
  995.   dow, Chron will present a dialog asking you if you are sure that you want to close the
  996.   window.
  997.  
  998.   Using the Clipboard
  999.  
  1000.   The event window has menu items that allow you to use the clipboard to cut, copy and
  1001.   paste information to and from the message text window.  The Edit menu item lists the
  1002.   three operations.  Regardless of which control on the event window contains the cur-
  1003.   sor, these menu selections always operate on the message text window.
  1004.  
  1005.   You may also use the CUA-compliant accelerator keys: Shift-Del to cut to the clip-
  1006.   board, Ctrl-Ins to copy selected text to the clipboard, and Shift-Ins to paste from the
  1007.   clipboard.  If the message text multi-line edit control on the event window has input
  1008.   focus (that is, if your cursor is in the message text window), then the accelerator keys
  1009.   work the same as the menu items for Cut, Copy and Paste.  Otherwise, the accelerator
  1010.   keys will work on the window that currently contains the input cursor.  This enables
  1011.   you to use the keyboard to move data to and from the entry field for the title, but
  1012.   allows the mouse selection of the menu items to operate on the more likely choice of
  1013.   the message text window.
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.   Time/Date Dialog
  1022.  
  1023.   The time dialog is a complex dialog that allows you to enter both the date and the time
  1024.   at which you want an event to be scheduled.  This dialog contains several controls that
  1025.   are explained below.  Once the date and time have been entered,  press the OK button
  1026.   to dismiss the time dialog.  You will be returned to the event window and the date and
  1027.   time text will be updated to reflect your selection.
  1028.  
  1029.   Selecting Time
  1030.  
  1031.   There are three ways to select the time on this dialog.  The simplest and most direct is
  1032.   to move the slider control to the desired position.  As the slider is moved, the time is
  1033.   dynamically updated in the spin controls to reflect the time at which the event is to be
  1034.   scheduled.  You can increase or decrease the scheduled time by one hour by pressing
  1035.   on the bar of the hours slider control.
  1036.  
  1037.   The second way by which you can select the time of day is to directly enter the time in
  1038.   the spin controls.  The third way is to press up and down buttons on the spin control to
  1039.   select the time at which you want to schedule the event.  Using either of the last two
  1040.   methods require that you also indicate, with the radio buttons, whether the time is AM
  1041.   or PM.  Military (24-hour) time cannot be entered directly in the hours spin control.
  1042.  
  1043.   Note that regardless of the technique or combination of techniques that are used to
  1044.   select the time, the slider control, spin buttons and the AM/PM radio buttons are all
  1045.   tightly synchronized.  Changing one will immediately change the others.
  1046.  
  1047.   Selecting the Date
  1048.  
  1049.   The month and year on which to schedule the event are selected using the controls
  1050.   above the month calendar.  The month and year are selected using the spin buttons.
  1051.  
  1052.   The day of the month is selected by pressing the desired day on the calendar with the
  1053.   mouse.  At this release, there is no way to enter the day of the month using the key-
  1054.   board only.  If there is a need to enter a day without a pointing device, contact Hilbert
  1055.   Computing by bulletin board or by voice and request a design change and we will
  1056.   accommodate your request in the next release of the product.
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.   Past Due Events
  1065.  
  1066.   If Chron has not been started in a while, it is possible for scheduled events to be past
  1067.   due when Chron is finally started.  After all of the events are read from the event file,
  1068.   if there are any events with a scheduled time that is later than the current time, you will
  1069.   be presented with a dialog listing those past due events.  If you would like to resched-
  1070.   ule that event for the next appropriate time, highlight the event and press the
  1071.   Reschedule »button.  Rescheduling works as follows:  The event frequency is
  1072.   checked and the event is repeatedly rescheduled without being posted until the date is
  1073.   later than the present time.  There is one exception.  Past due events that are scheduled
  1074.   to be posted one time are rescheduled to be posted five minutes into the future.  This
  1075.   delay in posting gives you ample time to reschedule the event for an appropriate time,
  1076.   or to delete the event if that is more appropriate.
  1077.  
  1078.   If you change your mind, and wish to not reschedule an event after you have resched-
  1079.   uled it in the dialog, highlight that event in the rescheduled listbox and press the
  1080.   «gnore button.  When you have rescheduled the events that you want, press the OK
  1081.   button.  Those past due events that were not rescheduled will be posted at the top of the
  1082.   next minute.
  1083.  
  1084.   If you always want to ignore all past due events or always reschedule past due events at
  1085.   startup, you can change the Chron settings to not display this dialog and automatically
  1086.   reschedule or ignore.  This is common in sites that run machines in an unattended or
  1087.   lightly attended environment.  This setting is changed by selecting the Settings...
  1088.   option from the popup menu on the main Chron window and turning to the Past Due
  1089.   page.
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.   Macros
  1100.  
  1101.   Support for macros is one of the main new features for this version of Chron.  Many
  1102.   customers expressed a wish for enhanced scheduling options.  Some of those requests,
  1103.   like the addition of a number for scheduling every x days, weeks, or months was
  1104.   incorporated directly into the product.  Other scheduling options were more complex
  1105.   and some were downright exotic.  Instead of trying to accomodate all the scheduling
  1106.   requests, Hilbert Computing chose to extend the product with a macro facility to allow
  1107.   customers to create more advanced scheduling algorithms in REXX and attach those
  1108.   macros to events.
  1109.  
  1110.   Hilbert Computing has supplied sample macros on the diskette.  These are intended to
  1111.   be used for ideas on enhancing Chron scheduling options.  If you have questions as to
  1112.   how to implement some scheduling options, send us a note on CompuServe or the
  1113.   Hilbert Computing BBS and we can point you in the right direction.
  1114.  
  1115.   Regardless of the complexity of the REXX code, it all boils down to one thing.  If the
  1116.   macro returns a return code of '1', then event is scheduled.  If it returns a return code
  1117.   of '0' the event is not run, but is rescheduled for the next potential time.  Events will
  1118.   receive the event title and the message text as arguments to the macro.
  1119.  
  1120.   The following sample macro will schedule an event only if it is between the hours of 8
  1121.   am and 4:59 pm:
  1122.  
  1123.  
  1124.      /**
  1125.      *** This will schedule the event if it is between 8am and 4:59 pm.
  1126.      **/
  1127.  
  1128.      parse arg EventTitle, MessageText
  1129.  
  1130.      CurrentHour = time("Hours")
  1131.      if CurrentHour < 8 then
  1132.         return 0
  1133.      if CurrentHour > 16 then /* 5pm */
  1134.         return 0
  1135.  
  1136.      return 1  /* Schedule the event */
  1137.  
  1138.  
  1139.   This macro could be added to an event that is scheduled to execute every 15 minutes.
  1140.   The scheduling of the event plus the macro would cause the event to run every 15
  1141.   minutes between 8 and 5.  The power of REXX allows for some very exotic and com-
  1142.   plex scheduling opportunities.  For example, you could check for the existence of a file
  1143.   before scheduling the event.  You could even to something as complex as an SQL
  1144.   query to a mainframe DB2 database using a DDCS/2 gateway if you had those software
  1145.   facilities in place.  The possibilities are limited only by the imagination and the mastery
  1146.   of the very powerful REXX language.
  1147.  
  1148.   In this first release for macro support, there are no debugging capabilities from within
  1149.   Chron for the macros.  It is therefore recommended that you first create and debug
  1150.   your REXX macros as standalone CMD files.  From the command line, you can use all
  1151.   of the trace facilities within the REXX language.  There are no special function calls to
  1152.   the Chron application an no Chron-specific commands that can be executed within the
  1153.   macro, so there should be no problem debugging from the command line.  When the
  1154.   REXX code is sufficiently tested, simply rename the macro to have the recommended
  1155.   .CHM extension and attach it to an event.
  1156.  
  1157.   To add a macro to a Chron event for the first time is a three-step process.  First, create
  1158.   and debug the macro as suggested above.  Next, register the macro to Chron using the
  1159.   settings notebook from the main Chron window.  The Macros page will display the
  1160.   list of registered macros and will allow you to add, update and delete the macro regis-
  1161.   tration. If you press the Create another... button, you will be presented with a dialog
  1162.   that prompts for the title for the macro and the program name.  Enter a descriptive title
  1163.   (this will appear in the macros selection list for the settings for each event) and the
  1164.   name of the file containing the REXX macro and press the OK button.
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.   To add the macro to an event, display the settings notebook for the event using the
  1174.   Settings... menu option for the event.  The list of the titles for the registered macros
  1175.   will appear.  To attach the macro to the event, select the macro from the list with a
  1176.   single mouse click.  To undo the selection, press the Undo button.  To remove any
  1177.   macro from the being associated with the event, press the Default button, since the
  1178.   default for any event is to not run any macros at all.
  1179.  
  1180.   To delete a macro from being registered to Chron, select the Macros page from the
  1181.   settings on the main Chron menu and delete the entry.  Note that there is no "referen-
  1182.   tial integrity" regarding macros, events and the actual file containing the macro.  In
  1183.   other words, if you delete a macro entry from Chron, those events that wanted to
  1184.   execute the event will not automatically revert to the default of no macro.  You will
  1185.   have to remove the macro from each event that wanted to use it.  Similarly, removing
  1186.   the registration of a macro from Chron doesn't delete the file containing the macro.
  1187.   Certainly, deleting the physical file doesn't remove the registration of the macro from
  1188.   Chron.  It is the intent to make the macro facilities more robust in future service levels
  1189.   or releases of Chron.  Hilbert Computing welcomes customer feedback on what your
  1190.   expectations would be in this area and what would be considered appropriate behavior
  1191.   for Chron.
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.   Command Line Interface
  1202.  
  1203.   Chron v4.0 has a command line interface that will enable the scheduling of events
  1204.   without using the Presentation Manager front-end.  Some customers have a need to
  1205.   schedule events on unattended servers.  The command line interface enables the addi-
  1206.   tion of new events using facitilies such as TCP/IP telnet sessions, remote execution
  1207.   using REXEC, AREXEC or LAN-based remote execution facitilities.  At this release,
  1208.   the command line interface can be used only to schedule new events.  Application
  1209.   developers can also use the command line interface to schedule new events from their
  1210.   application.  The command line interface communicates dynamically with Chron, so
  1211.   Chron must be running for the scheduling to work.
  1212.  
  1213.   There is a considerable amount of information that must be specified on the command
  1214.   line for a new event.  The results in a rather long, cryptic command.  To get a brief
  1215.   listing of the options enter the command:
  1216.  
  1217.                            ChronAt -?
  1218.  
  1219.   and the following screen will be displayed:
  1220.  
  1221.  
  1222.   Syntax - CHRONAT [mm-dd-yy|= [hh:ss]|=] [-fo|h|k|d|w|m|y[<n>]]
  1223.   [-p<pgmname>]
  1224.  
  1225.   [-a<cmdlineparms>][-d<workingdir>][-m<message>][-n<name>][-s]
  1226.  
  1227.   where:  -f  -- Scheduling frequency as follows (default is O - One
  1228.   time):
  1229.                     o - One Time     h - Hours   k - Weekdays
  1230.                     d - Days         w - Weeks   m - Months
  1231.                     y - Years
  1232.           -p  -- Executable program name
  1233.           -a  -- Command like parameters to the program
  1234.           -d  -- Working directory for the program
  1235.           -m  -- Message text
  1236.           -n  -- Name of the event
  1237.           -s  -- Run under command shell. Req'd for command files
  1238.  
  1239.   Any parameter containing a blank must be surrounded by double quotes. A
  1240.   date or time of "=" defaults to the current date or time.
  1241.  
  1242.   Example:  CHRONAT 11/22/93 4:53 -fk3 -m"This is a test message"
  1243.             will schedule a message event for every 3 weekdays.
  1244.  
  1245.  
  1246.   Enter the parameters as shown on the help screen.   Note that any parameters with
  1247.   blanks must be surrounded by double quotes. The date and time are required fields.  If
  1248.   a program name is specified using the -p option, then the event is assumed to be a
  1249.   program event.  Otherwise, it is assumed to be a message event and the message text
  1250.   (-m) is a required option.  While the event is checked for syntactic and semantic cor-
  1251.   rectness, much of the input validation that occurs with the GUI interface is missing
  1252.   from the command line interface.  For example, checks for the existence of the pro-
  1253.   gram or working directory, checks for past due scheduling, and the automatic
  1254.   scheduling of command files under the shell is not available using the command line.
  1255.   The command line interface was developed for a fairly small part of the customer base.
  1256.   If you use this, we would be interested in hearing what features you would like to see
  1257.   added.
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.   Removing Chron
  1268.  
  1269.   Assuming that the installation program was used, Chron v4.0 will be installed in its
  1270.   entirety in the destination directory.  There are no INI entries in the system profiles
  1271.   nor any files that get copied to other directories.  Therefore to remove Chron, simply
  1272.   remove the files in the destination directory and remove the directory.
  1273.  
  1274.   The installation process for Chron will also add the installation directory to the end of
  1275.   the SET HELP= entry in the CONFIG.SYS file.  The installation also checks to see if
  1276.   the current directory (indicated by a period) is in the LIBPATH statement.  If not, the
  1277.   installation will add a period to the beginning of the list.  You can manually remove
  1278.   these changes by editing the CONFIG.SYS.
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.   Support for Chron
  1289.  
  1290.   Support for Chron is available in multiple ways.  The preferred way is to login to the
  1291.   Hilbert Computing bulletin board at 8N1, 14,400bps or lower.  The phone number is
  1292.   (913) 829-2450.  You can leave a message indicating your needs, questions or code
  1293.   defect report.  Hilbert Computing is also supporting Chron via the OS2AVEND forum
  1294.   on CompuServe.  Leave a message to 73457,365 with the word Chron in the title and
  1295.   we will answer your questions promptly.  You may also send a fax to (913) 829-2450
  1296.   with your questions, comments or defect reports.  You may also call the voice number
  1297.   for assistance at (913) 780-5051.
  1298.  
  1299.   Periodically, Hilbert computing will place new service levels of Chron that fix reported
  1300.   code defects and provide minor enhancements.  These are placed in the CUSTOMER
  1301.   file area on the bulletin board and are available for download without charge.  This
  1302.   area is available only to registered customers.  The Sysop for the Hilbert BBS will have
  1303.   to authorize you as a customer after the first time you logon.  When you receive your
  1304.   Chron package, it is recommended that you logon to the BBS and leave a message stat-
  1305.   ing that you are a registered customer.  If you aren't the same person that originally
  1306.   ordered the product, please indicate the company and/or the person who ordered the
  1307.   product so you can be identified as a registered customer.  There will be no explicit
  1308.   notification via mail of service level updates.  You may want to check the board every
  1309.   few months to see if there have been any code changes or fixes.  You can use Chron to
  1310.   schedule a monthly reminder to check the Hilbert Computing bulletin board if you like.
  1311.  
  1312.   Support for Chron v4.0 will continue until three months after release of the next
  1313.   release level (v4.1) or version (v5.0).  Free upgrades to the next release of Chron will
  1314.   be available to all customers who purchase Chron v4.0 within three (3) months of the
  1315.   next release of version level.  Upgrade policies for those customers purchasing Chron
  1316.   prior to three months before the next release have not been determined.  Customers
  1317.   will be notified of that policy and pricing when it is put into effect.
  1318.  
  1319.  
  1320.