ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ Chron v3.0.1 ³ ³ An Event Dispatching Program ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Legalities Information in this document is subject to change without notice and does not represent a commitment on the part of Hilbert Computing. The software described in this document is furnished under a license agreement. The purchaser may make one copy of the software for backup purposes. No part of this manual may be reproduced or transmitted in any form or by any means, electronic or mechanical including photocopying and recording for any purposes other than the purchaser's personal use, without written permission from Hilbert Computing The software and accompanying written materials are provided "as is" without warranty of any kind including implied warranties of fitness for a particular purpose. Hilbert Computing specifically is not liable for any direct, indirect, consequential, or incidental damages arising from the execution of the Chron software on your computer. Hilbert Computing 1022 N. Cooper Olathe, KS 66061 IBM(R), OS/2(R), Presentation Manager(R) and PROFS(R) are registered trademarks of International Business Machines Corporation. CUATM, Common User AccessTM, REXXTM and OfficeVisionTM are trademarks of International Business Machines Corporation. 3MTM and Post-ItTM are trademarks of the 3M Corporation. Preface Thank you for trying Chron. Chron can be used as a starting point for time-based automation tasks. It was designed to accommodate two particular groups of needs as follows: Chron can handle the automatic start-up of a number of programs at a desired fre quency. This has been successfully used by a number of LAN administrators to schedule the backup of files on the server. Others have used Chron to schedule data base reorganizations and other tasks that must be scheduled at off hours to minimize the impact to their clients. Customers have also used Chron to schedule the automated backup of important files to a LAN server using Chron with the OS/2 XCOPY com mand or to start other backup programs. Still others have used Chron to schedule data acquisition and analysis tasks. Workstation users have used Chron as a way of setting reminders and scheduling follow-ups. Users of the IBM mainframe products PROFS and OfficeVision have used the cut and paste facilities of Chron to remind them of meetings. Since data from a 3270 screen can be cut into the clipboard and since Chron can read the contents of the clipboard, you can easily transfer host information to Chron to be notified of events, even when you are not logged in on the host. Chron is not intended to be a full fea tured personal information manager, but it can supplement follow-up activities and other personal information manager products. If you are unhappy with the operation of Chron or find that it does not meet your needs, you may return all original materials within 90 days of purchase for a refund. Quick Start Most people don't like to read user manuals. Keeping that in mind, here is a very brief overview for installation and start-up of Chron. It is still recommended that you take some time in the near future to read this manual to become familiar with the more subtle features of Chron. Installation Copy the B1HILB.DLL file to a subdirectory in the LIBPATH. Copy the CHRON.HLP file to a subdirectory in the HELP environment variable in your CONFIG.SYS. Copy the *.MSG files to a subdirectory in your DPATH environment variable. The executable CHRON.EXE file can be placed anywhere. If you would like to be able to start Chron from the command line without having to enter the fully qualified file name, you will need to place CHRON.EXE in a subdirectory listed in the PATH environment variable in CONFIG.SYS. You can then place Chron in a start-up group (OS/2 1.x) or in a folder (OS/2 v2.0) if you wish. Start-up Start Chron from the program group or folder if you created an entry for it, or type START CHRON from a command line session. The first time you run Chron, you will be asked for the name of the file into which the scheduled events will be placed. There is no restriction on the file name. If you don't specify a path, the current path information will be used. It is recommended that you fully qualify the name of the file, so you can be assured of creating this file in the directory where you want it. After Chron has started, you will notice that two windows are created on the desktop. The smaller window is the main window for Chron. It contains the current day and time and the number of pending events. From there, you can create and manipulate the events as your needs demand. The larger sizeable window will contain all of the messages that have been scheduled and whose time has come. This window is called the "Posted Bag" since it logically contains a bag of events that have been posted (aka dispatched or executed). You can manipulate the events here as well. Entering Events Once Chron has been started, you can select the Event/New menu item from the main Chron window to create your first event. If you are scheduling a program event, you will be required to enter the name of the program. That information is entered in the properties dialog and is selected using the Event/Properties menu item from the event window. If the program is not in the PATH environment variable, you will be required to enter the complete drive and path name. The time at which the event is posted is changed using the Event/Time dialog or double-clicking the mouse on the time or date static text on the event window. Refer to the on-line documentation or the other sections of this manual for more information. Full Installation Instructions For those less familiar with OS/2, this section provides a more detailed explanation of the procedures needed to install Chron on your system. Overview of Files The Chron product is made up of five files. CHRON.EXE is the main executable and contains the code to implement the function specific to the product. B1HILB.DLL contains the code that is general in nature. Both files are required for Chron to func tion. CHRON.HLP contains the on-line hypertext help. Although this is not required for Chron to function, it is recommended that this is available. B1HILB.MSG and CHRON.MSG contain error and warning message text. Again, these aren't required for Chron to function, but without them, the warning and error message text will have little meaning. Copying Files Chron can be installed using the File Manager in OS/2 1.x, the drives object in OS/2 v2.0 or using the OS/2 copy command from a command line session. To understand where to place files, you must be familiar with a file called CONFIG.SYS. In OS/2 v1.x, the file is in the root directory of the C: drive, giving it the name of C:\CONFIG.SYS. In OS/2 v2.0, this file is usually found in the same place, but may also be found on other drives if you chose to install OS/2 on a partition other than C:. You can take a look at the contents of CONFIG.SYS by entering the command START E d:\CONFIG.SYS from the command line, where d refers to the drive on which OS/2 was installed (probably C) or by starting the system editor from a group or folder and opening CONFIG.SYS. Toward the top of the file, there will be a line that begins with LIBPATH= followed by a list of directories. You must copy B1HILB.DLL from the floppy to one of the subdirectories listed following the LIBPATH statement, or you can copy the B1HILB.DLL file to a subdirectory of your choice and add that subdirectory to the list of files following the LIBPATH statement. If you do the latter, you will have to reboot OS/2 for those changes to go into effect. The messages files for Chron, named B1HILB.MSG and CHRON.MSG must be placed in the DPATH. In the CONFIG.SYS, there will be a line that begins with SET DPATH= followed by a list of subdirectories. This contains the directories that con tain data for programs to run. (DPATH is short for "Data Path" and is very similar to the APPEND environment variable on DOS systems). As with the LIBPATH, you can change the DPATH line in CONFIG.SYS, but you will be required to reboot OS/2 for those changes to become effective. As noted above, these files aren't absolutely required for Chron to run, but are recommended for you to get understandable error messages. If you get a warning message that states that the original error text is not available, but the error code is xxx, then you have not properly copied these files from the installation disk. The on-line help file is CHRON.HLP. It must be placed in the HELP list. Similarly, there is a line in the CONFIG.SYS that begins with SET HELP= followed by a list of directories. The help file should be copied to one of these directories. As with the HELP, DPATH and LIBPATH, you can alter the HELP variable, but you will have to save the CONFIG.SYS file and reboot for those changes to be effective. The executable file CHRON.EXE can be placed anywhere you desire on the hard drive. It is recommended that CHRON.EXE be placed in a directory listed in the SET PATH= statement in CONFIG.SYS, but it is not required. If you do place CHRON.EXE in that path, you will be able to start Chron from an OS/2 command line without specifying a fully qualified name. After you have copied the files to your hard drive, you are ready to optionally install the product in a program group (OS/2 1.x) or create a program object for Chron (OS/2 v2.0). Follow the instructions that came with your OS/2 package for instructions on setting up program objects or entries on program groups. Initial Start-up If you have installed Chron into a program object or on a group window, you may start Chron by double-clicking on the icon. You may also start Chron by issuing the START CHRON command from the OS/2 command line prompt. There are no optional command line parameters from Chron and any entered will be ignored. Once the product is started, there will be two windows presented on the screen plus a dialog box prompting for the name of the file that will contain the list of events created by you. You can place this file anywhere you want and give it any valid OS/2 file name. If you do not fully qualify the file name (meaning give the drive, path and file name), then Chron will use the current drive and directory to fully qualify the name of the file. This may cause this new file to be placed where you don't want it to be, so it is recommended that you enter the full name. Unless you are upgrading from a previous shareware version of Chron, this file should not exist. If the file does exist, you will be presented with a dialog box stating that fact. If you are upgrading from the Shareware version of Chron, it is OK to press the Yes button on the file. While the file format for Chron events has changed from prior versions, the Chron v3.0 code will recognize old file formats, convert it automatically when it reads the file and save it in the new format. You do not need to take special action when upgrading. If you are not upgrading from a prior release of Chron, then you should have no events file. Press the No button and enter the name of the new file into which you want to store the events. After you enter the information in the dialog for the name of the events file, you will be left with two desktop windows associated with Chron. The smaller, non-sizeable window contains the current date and time and the number of events that have been scheduled. This is the main window for Chron and contains all of the menu items to fully control its operation. The other window is a called the "Posted Bag" since it contains the event text for those events that have been posted. Basic Event Manipulation This section will discuss the basic manipulation of events within Chron. After reading this, you should be able understand what an event is and how to create, modify and delete them from Chron. Creating Events What is an event? Simply stated, an event is the entity that Chron schedules, but that doesn't really tell you much! At the current release, Chron supports two types of events: messages and programs. Message events contain all of the scheduling infor mation such as its time to be displayed and how often you want it to be redisplayed (the frequency). They also contain the message text to be displayed. The message text is required for message-type events. Program events contain all of the information that a message event does, except that the message text is optional. Program events also must contain additional properties, such as the name of the program to start, the default directory and any command line parameters to the program being scheduled. To schedule a new event, select the Event/New menu selection from either the main Chron window or the posted bag window. You will be presented with a sizeable window that is used to cre ate the event. You must fill in a title for the event. It can be any text that briefly describes the event. You can then choose the frequency with the combo box. Initially, this is set to schedule a One Time event, meaning the event will be scheduled for execution once. You can choose from hourly, daily, on weekdays only, weekly, every two weeks, monthly, or yearly. You also need to choose the type of event as message or program using the other combo box. You then can enter the time at which you want the event to be scheduled. This is done using the Event/Time menu item, the accelerator key for that menu item, Ctrl-T, or you can double click on the text with the date and time. When you select the time in one of these ways, you will be presented with the date time dialog. You can select the time of day at which to schedule the event in a combination of ways. The slider con trol will allow you to position the time of day at the appropriate spot. You can change the time by one hour by clicking the "bar" area of the slider control. You can change the time by five minutes by pressing the arrow buttons on the slider control. You can also select a time using the combo boxes on the dialog. The month is selected using the listbox on the right of the dialog. The year is changed by pressing the left or right buttons in the lower right corner of the dialog. The day of the month is changed by pressing the button that corresponds to the day you want. Once you have entered the desired date and time, you can press the OK button. You will be returned to the event window with the date and time text updated to reflect your selection. You can then enter the message text in the multi-line edit box at the bottom of the event screen. You are limited to 64 kilobytes of text. Chron requires you to enter text for a message-type event (otherwise, what's the point), but it is optional for program-type events. The message text for a program event is useful for displaying operator instructions or for notification of when a pro gram has been started by Chron. Program events require that additional properties be entered before the event can be scheduled... namely the program to execute. This is filled in using the Event/Properties menu selection. When this is selected, you will be presented with a dialog, very similar to the dialog used in OS/2 v1.3 for creating entries in program groups. Fill in the name of the program, the default directory and any command line parameters that are required for its operation. If you are scheduling a batch file or REXX command file, you will need to enter C:\OS2\CMD.EXE for the program name and /C batchfile for the command line parameters, where batchfile is the name of the command as you would enter it from the command line. This version does not yet automatically recognize batch files. Once the desired entries have been filled in, you can press OK to dismiss the dialog and return to the event window. You now have all of the information needed to schedule an event. Either select the Event/Schedule menu item, or press the OK button with the mouse. The event win dow will be removed and the main Chron window will be updated to reflect that another event has been scheduled. This sounds a bit complex at first, but the consistent and very visual nature of Presen tation Manager applications should make this process fairly straightforward after a couple of times. If you forget to enter a required piece of information, Chron will display a dialog box that explains what is missing. Changing Existing Events After you have scheduled one or more events, you can change them in any way you like. To display the list of currently scheduled events, select the Event/Change menu item from the main Chron window. You will be presented with a dialog that contains the titles of all of the events scheduled sorted in execution time order. To the right of the currently highlighted event, you will see summary information about the event. As you select the events from the listbox, the summary information changes to match the selection. This feature allows you to quickly scan the pending events merely by dragging the mouse pointer across the items in the listbox. If you would like to bring up an event window to modify or further inspect the event, either press the Edit button or double click the entry in the listbox. At this point, the event editing is the same as creating a new event. Note that this event window is non-modal. This means that you are not required to complete the edit of the event before doing something else with Chron. You can have multiple events out for edit, you can create new events, delete existing events -- even minimize the event and come back to it later. Duplicating Existing Events When you duplicate an event, Chron creates an exact copy of the selected event. There is no connection to the original event. There are two distinct events that can be inde pendently manipulated. You can duplicate an event by highlighting it on the change dialog and pressing the Duplicate button. The now-familiar event window will be dis played to allow you to alter some of the fields if desired. When you have completed editing the event, you schedule it as you would a newly created event. You can also duplicate an event that has been posted by making it the active window in the posted bag by clicking on it and selecting the Event/Duplicate menu item from the posted events bag action bar. Viewing Outstanding Events An outstanding event is one that has been selected for editing, duplicated, or is in the process of being created, but has not been scheduled. In other words, there is an event window open. Chron gives you the option, among other things, of minimizing the event and deferring the scheduling of the event until a later time. These deferred events are called outstanding. In OS/2 v1.x, the event would be placed as an icon on the desktop. However, in OS/2 v2.0, there are various ways to handle minimized events. The default is to not display the minimized icon anywhere. The only way to restore (or what OS/2 v2.0 documen tation calls surfacing) a minimized window is to bring up the list of started objects via Ctrl-ESC and select from the window list, or double click on the icon on the folder from which it was started. However, outstanding events are not placed in the OS/2 v2.0 window list and do not have their own icon in a folder, and so would be hidden forever. In the most currently available release of OS/2 v2.0, you can collect all minimized icons in a single window, or you can display minimized icons on the desk top on a per application basis. The Chron application also added another option. You can also select the Event/View Outstanding to have all of the minimized outstanding event windows restored. Viewing Posted Events For the same reasons noted for the outstanding event windows, the posted bag, once minimized, may not be accessible on OS/2 v2.0 systems depending on your choice of settings. Since the icon for the posted bag shows the number of posted events in the bag (up to 9), if the posted bag icon is on the desktop, you will be able to see at a glance the number of outstanding events. The Events/View Posted Events menu item will restore the minimized posted bag. Even in an OS/2 v1.x system, this can be useful if the window gets lost in a clutter of other windows on the desktop. Exiting Chron When you would like to shut Chron down, you may do so in a variety of ways. You can select the Close item from the system menu of the main window or the posted bag or select the Event/Exit option from the main Chron window. Regardless of the method used to close Chron, it will avoid loss of data my making sure there is no unsaved information. First, Chron will confirm via a dialog that you really intend to exit. If you answer yes, Chron will ask every outstanding event window if it is OK to close. If there have been unsaved changes to that event window, it will ask if it is OK to discard the changes. All outstanding event windows must agree to close before the Chron application will close. This is similar operationally to shutting down the OS/2 operating system in that all windows must reach a consensus before allowing the shut down to complete. About The About box displays information regarding the release and fix level of Chron. It also displays the copyright information. When reporting problems with Chron on the Hilbert Computing bulletin board, please include both the release and service level information found on the About box, so that we can better meet your needs. Customizing Chron Options Chron allows some flexibility in its operation to better meet your needs. These options are all changed using the Options menu on the main Chron window. Chron Defaults The Options/Chron Defaults menu item will allow you to change configuration options that apply to the operation of Chron and all events in general. At the top of the dialog there are a series of seven check boxes bounded in a group that are labelled with the days of the week. This gives you the option of what you consider to be weekdays. If your work week runs from Tuesday through Saturday, then you may choose to con figure valid weekdays to be those days. This option effects only those events that are scheduled for execution on weekdays. You must select at least one valid weekday. The default for the valid weekdays are Monday through Friday. The valid weekdays are used when rescheduling an event. If you change the list of valid weekdays, then those events scheduled for weekday execution will not be auto matically changed. However, the next time they are posted, the computation of when to schedule that event next will honor the weekdays set. Note that Chron will also let you schedule a weekday event initially on a day that is not a valid weekday. Valid weekdays are used only when Chron reschedules the event after it is posted. This dialog also contains a check box to restore the windows when an event is posted. This refers to the posted bag window. When an event is posted, a new window is created (or refreshed for events already in the bag) as a child of the posted bag window. If this option is selected, the posted bag will be restored (what OS/2 v2.0 calls surfaced) and the message associated with the event being posted will fill the client area of the posted bag. This serves to notify you when an event has been posted. If this option is not selected, the posted bag will remain in whatever state it was in before, with the newly posted informa tion placed in the bag. The default for this option is on. Another checkbox on this dialog allows you to delay the write of events to disk. If there are a lot of messages and pro grams being started by Chron at the same time, there will be contention in the disk I/O due to the programs being started and Chron trying to rewrite the changed information to disk. This option allows you to defer writing the Chron events list to disk until 15 seconds after the minute if information in the list of events has been changed. The only disadvantage to this option is that there is a period of time, up to 59 seconds, where you may lose changed data if OS/2 crashes. Since this is a very remote possi bility it is recommended that this option be turned on to reduce I/O contention between Chron and the program events trying to start. However, since data integrity should be the primary design goal for any application, this option defaults to off. The delay of write to disk does not conflict in any way with the lazy-write feature of OS/2. They work independently of one another. The final checkbox on the Chron Defaults dialog box is the option to sound the alarm when an event is posted to the bag. If you are using Chron to schedule reminder mes sages, it is most likely that you will want this option selected to serve as additional emphasis that an event has been posted. Some customers find the alarm annoying, so the option is provided here of turning it off. The default when Chron is installed is to sound the alarm when an event is posted. Event Defaults Chron allows you to fill in default values for new events. The Event/Defaults option will allow you to fill in values for the event frequency, the event type and the session type (e.g. OS/2 Fullscreen, OS/2 Windowed, etc.) for program type events. As the new event is being edited, you are free to make any changes to any of these defaults. This is merely added as a convenience to fill in the values you will use most. Events File This dialog prompts for the name of the file on disk that is used to store the events list. This is the same file that was entered when you first installed Chron and it prompted for the list of events. It is unlikely that you will need to change this value. If you decide you would like to move the events file to a different location, there are a couple of ways you can do this. If you change the name of the events file, then that file will be used the next time Chron needs to save the event list. However, Chron will not write out the events file until it has changed. Therefore one technique would be to: ø Use the Options/Events File menu item to change the name of the file in which to store events. ø Select the Event/Change dialog and select an event for edit. Press the OK button on the event window. This will cause the list of events to be written to disk (either immediately if you have the delay option turned off, or within a minute if you have the delay option turned on). After you are sure that the new events file has been written, you can erase the old file. If you want to get fancy, you can use Chron to schedule the old files to be deleted some time in the future, perhaps after scheduled backups are taken. The Posted Bag As mentioned above, the posted bag is a desktop window that contains the message text for those events that have been posted. However, the posted bag is more than a con tainer for posted message windows. You can also handle most of the functions of Chron and most event manipulation from the posted bag window. The posted bag allows you to effectively use Chron as a follow-up list manager. All of the message type events that have been posted are tasks that require your attention. You can either defer taking action and reschedule the event for a later time, or you can keep them in the posted bag as a "to do" list. This section will document the function of the posted bag, so that you may choose to use it in a way that best meets your needs. General Function The function of the posted bag is consistent with the multiple document interface found in many popular graphical word processors. First, you select the event with which you would like to work using the mouse to click on the window. This will give it input focus, meaning that its title bar is highlighted and any action taken from the menu bar will apply to that event. Note that the menu items are disabled until you have selected the event with which you would like to work. Once you have selected the posted event window with which you would like to work, you can select one of the actions under the Event menu item. The Event/New selec tion works as it does from the Chron main window. Refer to the section on Creating New Events for an explanation of how to enter a new event. The Event/Edit selection works the same as pressing the Edit button from the Change dialog on the main win dow. Refer to the section on Changing Existing Events for a detailed explanation on how to alter an existing event. The Event/Duplicate selection works the same as pressing the Duplicate button from the Change dialog on the main window. Refer to the section on Duplicating Existing Events for a detailed explanation on how to create a copy of an existing event and edit it. The Event/Delete option will completely remove the event from Chron. If this event has been reschedule to be dispatched at a later time, and you select the Delete action from the menu, then the event will be removed from the posted bag and from the list of pending events. You will be presented with a dialog to confirm the delete before it will be removed from Chron. The Event/Close action will remove the window from the posted bag, but will not remove the event from the pending list, if the event has been rescheduled for a later date. One way to distinguish between a Close and a Delete of an event from the posted bag is to use an example of using Chron to manage follow-up items. If the message is in the bag, it remains as a item that needs to be taken care of. If you chose to defer action on that message until a later time, you can close the event from the window. When the message is scheduled for execution next, it will be placed back in the posted events bag to remind you that action needs to be taken. Once you have completed the task that Chron is reminding you to do, you can use the Event/Delete menu item to completely remove the event. Using the Clipboard The text from the posted event windows in the posted bag can be placed into the Pre sentation Manager clipboard. This is done by selecting the text you wish to copy using the mouse or keyboard and selecting the Edit/Copy menu item from the posted bag. That text can then be placed in another event, or into any other application that has access to the Presentation Manager clipboard. Note that Edit/Copy is the only option available, since the contents of the posted bag are read only. The Edit menu item on the action bar of the posted bag is used for placing information into the clipboard. It should not be confused with the Event/Edit menu item that will present an event window that is used to change the contents of an event. Arranging Windows As multiple events are placed into the posted bag the contents can become cluttered. To arrange the windows in a cascading manner from the upper left corner to the lower right corner, use the Windows/Cascade menu selection. The Event Window Most of the interaction with Chron will be done through the event windows. These are the sizeable, non-modal windows that contain the information that makes up an event. Most of the main functions of the event window were discussed in the section on Cre ating Events. Since this same window is used for editing existing events, duplicated events as well as new events, it was felt that a more focused discussion of the event window was needed in its own section. The event window can be sized during editing. When the size of the frame window is changed, all of the controls in the window adjust their size to fill the area. The mes sage text will automatically word wrap to adjust to the new size. If there are hard carriage return characters, then the text may not wrap as intended. This occurs most often in the case where the text for the message box was pasted from another applica tion such as a 3270 screen from the IBM PROFS product. Sizing the window to make the message box wider can make the contents more readable. The event windows are non-modal. A modal window in Presentation Manager forces you to complete the activity within the current window before proceeding to other activities within the application. Dialog boxes are the most common source for modal windows. While modal windows make sense in many areas of an application, they tend to be inflexible. The better alternative, when it makes sense, is to use non-modal windows to enable the customer to complete tasks in their choice of order. Multiple events windows can be open and "under construction" at any time. If you are in the middle of creating or changing an event, you can switch over to the posted bag, for example, to copy some text into the clipboard and copy it back into your message window. While it was not in the original design intent of Chron, some customers have used open event windows as a computer version of the 3M Post-ItTM notes into which they can type information. Event Window Controls The event window contains a set of Presentation Manager control windows into which you can type or select information. The first single-line entry field contains the title of the event. This should be a brief description of the contents of this event. This title is used in two distinct places. It is the text that appears in the change dialog when the Event/Change menu item is selected from the main menu. It also appears in the title bar of the posted event windows contained within the posted bag. This title does not have to be unique, but to avoid confusion, it is recommended that each event have a unique title. The type of event is selected using the combo box to the right of the Type: label. This specifies whether this is a program or message event. As with all Presentation Man ager combo boxes, you can either press the drop down button and select the type with the mouse, or you may tab to the combo box and press the first letter of the choice. In this case, you may press P for Program events or M for message events. The following combo box, labelled Freq.: determines the frequency with which the event will be posted. This choice can be selected from the drop down or using the first letter of the option as with all Presentation Manager combo boxes. The choices are One Time, Hourly, Weekday, Daily, Weekly, Every Two Weeks, Monthly or Yearly. This frequency is used after an event is posted to determine when to schedule the event for the next post. One Time events are scheduled to be posted once, after which they are removed from the list of pending events. Weekday events are scheduled to be run at the same time of day on the next weekday. A weekday is defined to be any one of the days listed in the Options/Chron Defaults dialog. They default to Monday through Friday, but can be changed to reflect your work week. Rescheduling a monthly event presented an interesting problem. Generally you would expect a monthly event to be rescheduled to run at the same time and day of the month on the next month. However, when you schedule an event on one of the last few days of the month, an interesting thing happens. If you schedule a monthly event to run on, for example, the 31st of March the event can't be rescheduled for the 31st of April since there are only 30 days in that month. If Chron schedules for the 30th of April, then it will be scheduled after that posting to run on the 30th of May. Well, there are 31 days in May, and Chron has no way of knowing whether you wanted execution to be scheduled on the 30th or 31st. This monthly scheduling problem is handled in the following way. If you schedule an event within the last five days of the month, Chron assumes that you are scheduling that event relative to the end of the month. In other words, if you schedule the event above on the 31st of March, Chron interprets that as running on the last day of the month. Chron would continue to post that event on the 30th of April and the 31st of May. Similarly, if the monthly event was scheduled on the 28th of March, Chron would logically treat that event as being scheduled on the fourth to the last day of the month for all months. If this implementation of scheduling monthly events is not what you need, contact us here at Hilbert Computing and request a design change for future releases. At this point, this implementation has met the needs of Chron customers. The remaining event frequencies should be self-explanatory. Event Window Menu The event window menu items let you further refine the contents of the event. Setting the Time The time at which the event is scheduled to run is set by the Event/Time menu item. Alternately, you can press the Alt-T accelerator key or double click on the static text containing the time and date. When any of these three methods are chosen, the user is presented with a dialog that is used to set the date and time at which the event will be scheduled. The details of entering dates and times are explained in the section entitled Time Dialog below. Event Properties Certain events types have additional information specific to that event type. In this release, only program events require additional information before they can be sched uled. Program events require that at least the program name be entered. This is entered in the dialog that is presented when the Event/Properties menu item is cho sen. This dialog also allows you to enter optional values for parameters to the program, the default working directory, and the session type for the program. This dialog is patterned after the program properties dialog found in the group win dows of OS/2 v1.3. Those customers who have used this version of OS/2 should find this dialog very familiar. Since messages do not require any additional information, this menu selection is dis abled for message events. This implementation may seem a bit awkward at this current level, but this will provide growth opportunities for other event-types in future releases of Chron without changing the interface to those other event types. Scheduling the Event Once you have entered all of the information about the event, you can place the event into the list of pending events by selecting the Event/Schedule menu item. Other methods of scheduling the event include pressing the accelerator key, Ctrl-S, or by pressing the OK button with the mouse. All three methods accomplish the same result. If you have selected a time to schedule the event that is the same as, or previous to the current date and time, Chron will pop a dialog stating that the event is past due. If you press the OK key, the event will be scheduled to execute at the top of the next minute. If you press the Cancel button, you will be returned to the event window to further refine the time and date. Closing the Event If you decide that you do not want to schedule the event, you can remove the event window with the Event/Close menu selection. You may also close the event by press ing the Cancel button. If you have made changes to the event window, Chron will present a dialog asking you if you are sure that you want to close the window. Using the Clipboard The event window has menu items that allow you to use the clipboard to cut, copy and paste information to and from the message text window. The Edit menu item lists the three operations. Regardless of which control on the event window contains the cur sor, these menu selections always operate on the message text window. You may also use the CUA-compliant accelerator keys: Shift-Del to cut to the clip board, Ctrl-Ins to copy selected text to the clipboard, and Shift-Ins to paste from the clipboard. If the message text multi-line edit control on the event window has input focus (that is, if your cursor is in the message text window), then the accelerator keys work the same as the menu items for Cut, Copy and Paste. Otherwise, the accelerator keys will work on the window that currently contains the input cursor. This enables you to use the keyboard to move data to and from the entry field for the title, but allows the mouse selection of the menu items to operate on the more likely choice of the message text window. Time/Date Dialog The time dialog is a complex dialog that allows you to enter both the date and the time at which you want an event to be scheduled. This dialog contains several controls that are explained below. Once the date and time have been entered, press the OK button to dismiss the time dialog. You will be returned to the event window and the date and time text will be updated to reflect your selection. Selecting Time There are three ways to select the time on this dialog. The simplest and most direct is to move the slider control to the desired position. As the slider is moved, the time is dynamically updated in the combo boxes to reflect the time at which the event is to be scheduled. You can increase or decrease the scheduled time by one hour by pressing on the half-toned area of the slider control. You can increase or decrease the time by five minutes by pressing the arrow keys on either end of the slider. The second way by which you can select the time of day is to directly enter the time in the combo boxes. The third way is to press the drop down button on the combo box and select the time at which you want to schedule the event. Using either of the last two methods require that you also indicate, with the radio buttons, whether the time is AM or PM. Military (24-hour) time cannot be entered directly in the hours combo box Note that regardless of the technique or combination of techniques that are used to select the time, the slider control, combo boxes and the AM/PM radio buttons are all tightly synchronized. Changing one will immediately change the others. Selecting the Date The month and year on which to schedule the event are selected using the controls on the lower right of the dialog box. The month is chosen from the list of months. The year is changed by pressing the buttons directly to the left and right of the year. Pressing these buttons will change the year by one. The day of the month is selected by pressing the desired day on the calendar with the mouse. At this release, there is no way to enter the day of the month using the key board only. If there is a need to enter a day without a pointing device, contact Hilbert Computing by bulletin board or by voice and request a design change and we will accommodate your request in the next release of the product. Past Due Events If Chron has not been started in a while, it is possible for scheduled events to be past due when Chron is finally started. After all of the events are read from the event file, if there are any events with a scheduled time that is later than the current time, you will be presented with a dialog listing those past due events. If you would like to resched ule that event for the next appropriate time, highlight the event and press the Reschedule ¯ button. Rescheduling works as follows: The event frequency is checked and the event is repeatedly rescheduled without being posted until the date is later than the present time. There is one exception. Past due events that are scheduled to be posted one time are rescheduled to be posted five minutes into the future. This delay in posting gives you ample time to reschedule the event for an appropriate time, or to delete the event if that is more appropriate. If you change your mind, and wish to not reschedule an event after you have resched uled it in the dialog, highlight that event in the rescheduled listbox and press the ®Ignore button. When you have rescheduled the events that you want, press the OK button. Those past due events that were not rescheduled will be posted at the top of the next minute. Support for Chron Support for Chron is available in one of two ways. The preferred way is to login to the Hilbert Computing bulletin board at 8N1, 9600 v.42 bis or lower. The phone number is (913) 829-2450. You can leave a message indicating your needs, questions or code defect report. Periodically, Hilbert computing will place new service levels of Chron that fix reported code defects and provide minor enhancements. These are placed in the CUSTOMER file area on the bulletin board and are available for download without charge. This area is available only to registered customers. The Sysop for the Hilbert BBS will have to authorize you as a customer after the first time you logon. When you receive your Chron package, it is recommended that you logon to the BBS and leave a message stat ing that you are a registered customer. If you aren't the same person that originally ordered the product, please indicate the company and/or the person who ordered the product so you can be identified as a registered customer. There will be no explicit notification via mail of service level updates. You may want to check the board every few months to see if there have been any code changes or fixes. You can use Chron to schedule a monthly reminder to check the Hilbert Computing bulletin board if you like. You may also call the voice number for assistance at (913) 780-5051. Support for Chron v3.0 will continue until six (6) months after release of the next release level (v3.1) or version (v4.0). Free upgrades to the next release of Chron will be available to all customers who purchase Chron v3.0 within six (6) months of the next release of version level. Upgrade policies for those customers purchasing Chron prior to six months before the next release have not been determined. Customers will be notified of that policy and pricing when it is put into effect.