home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 13 / amigaformatcd13.iso / -seriously_amiga- / shareware / misc / ezcron / doc / ezcron.guide (.txt) next >
Amigaguide Document  |  1997-03-06  |  36KB  |  669 lines

  1. @database EZCronGuideFile
  2. @master EZCron.guide
  3. @$VER: EZCron v2.00 Guidefile
  4. @WORDWRAP
  5. @node "Main" "No title"
  6.                            @{b}EZCRON v2.00@{ub}
  7.                             @{fg shine}February 1997@{fg text}
  8.                          @{"
  9. " link "Author" 0} Legal Stuff and Contacting the Author
  10.                          @{"
  11. " link "Introduction" 0} Introduction
  12.                          @{"
  13. " link "Requirments" 0} System Requirments
  14.                          @{"
  15. " link "Up_and_Running" 0} Running EZCron & EZCrond
  16.                          @{"
  17. " link "Buttons" 0} Buttons Reference
  18.                          @{"
  19. " link "Tutorials" 0} Tutorials
  20.                          @{"
  21. " link "Rexx_Scripts" 0} Overview of included Rexx scripts
  22.                                                 
  23.                          @{"
  24. " link "TroubleShooting" 0} Troubleshooting
  25.                          @{"
  26. " link "cronconfig" 0} The NEW cron.config file, an overview.
  27.                          @{"
  28. " link "History" 0} Program History
  29.             @{i}EZCron is 
  30. 1995-1997 Jim Hines All Rights Reserved
  31. @endnode
  32. @node "Introduction" "Introduction"
  33.                          @{b}@{i}@{fg shine}EZCron Introduction@{ub}@{ui}@{fg text}
  34.   This project was started mainly because I had a need to run lightwave between
  35.  newscasts (I work for a television station) and do automated rendering whenever
  36.  I wasn't present.
  37.   The program has grown from a simple rexx script to a full fledged GUI oriented
  38.  program that is easy to use, and doesn't require a knowledge of UN*X to make it
  39.  work.
  40.   EZCron actually consists of two programs.  The first is the EZCrond (daemon)
  41.  which runs as a background process transparently to the user. It's very
  42.  small and pretty fast.  EZCrond will sleep between every minute,only awaking to
  43.  check if there are any events that need be executed.  Its CPU usage is minimal!
  44.   The second program, EZCron is the user-interface (formally EZCronGUI).  This is 
  45.  the Event Manager and allows you to easily add and edit your events. It will also
  46.  allow you to start and stop EZCrond.
  47. @endnode
  48. @node "Requirments" "Requirments"
  49.                              @{b}@{i}@{fg shine}SYSTEM REQUIRMENTS@{ub}@{ui}@{fg text}
  50.   EZCron should run on any Amiga with Workbench/Kickstart 2.04 or
  51.   better with 512k of ram.  This programs/librarys are required to
  52.   make various parts of the EZCron programs work.
  53.   - @{b}RexxMast@{ub} MUST be running
  54.   - @{b}ARexxPort.library@{ub} by Andy Cook (included)
  55.   - @{b}RexxReqTools.library @{ub}37.71 or later (included)
  56.   - @{b}Varexx@{ub} by Andy Cook (included)
  57. @endnode
  58. @node "Up_and_Running" "Getting up and running"
  59.                          @{b}@{i}@{fg shine}Getting Up and Running@{ub}@{ui}@{fg text}
  60.                               @{b}INSTALLATION@{ub}
  61.                          ********IMPORTANT********
  62.   As of version 2.00 of EZCron, a lot has changed. Please DELETE the
  63.   contents of your old EZCron directory before installing this one.
  64.   You can also copy the old one into another directory if you like.
  65.                            ********************
  66.   To run EZCron, you first need to install it.  This can be done simply
  67.   by double clicking the EZCron-Install icon.  Or, if you're like me and
  68.   want to install it manually, see @{"MANUAL
  69. INSTALLATION" link "ManualInstal" 0}. The installation
  70.   script will add a startup command to your s:user-startup sequence. It 
  71.   will also add an assign for EZCron. You must reboot for the assign to
  72.   take effect.
  73.   After you reboot, EZCrond should be running.  There are two ways
  74.   to check.  The easiest is to simply double-click on the EZCron icon in the
  75.   EZCron: directory, and look at the EZCron Status gadget.  It will either
  76.   say "Active", or "Inactive."
  77. @endnode
  78. @node "ManualInstal" "Manual Installation"
  79.                           @{b}@{i}@{fg shine}MANUAL INSTALLATION@{ub}@{ui}@{fg text}
  80.   - Create a directory called EZCron.
  81.   - Copy the EZCrond program to your EZCron directory.
  82.   - Copy the EZCron program and EZCron.info to your EZCron directory.
  83.   - Copy the contents of the libs directory to your libs: directory.
  84.   - Copy the contents of the s directory to your s: directory
  85.     (s: is located in sys:s and is assigned by the kickstart ROM).
  86.   - Copy rexxc/varexx and vxc to your sys:rexxc directory.
  87.   @{i} The following directories @{b} MUST @{ub} be present in your EZCron directory.@{ui}
  88.   - Copy the prefs directory to your EZCron directory.
  89.   - Copy the rexx directory to your EZCron directory.
  90.   @{i}The following @{b} MUST @{ub} be added to your s:user-startup file:@{ui}
  91.  ;Added for EZCron 
  92.  assign EZCron: [yourdevice]:EZCron 
  93.  run >nil: rx >nil EZCron:EZCronD Start 
  94.  ;End EZCron
  95.  If you are running OS3.1 this assign can be like this:
  96.  ;Added for EZCron 
  97.  assign EZCron: [yourdevice]:EZCron
  98.  run <>nil: rx EZCron:EZCronD Start 
  99.  ;End EZCron
  100.   That should do it.  Just reboot and run EZCron when you want to add,
  101.   edit or remove events.
  102. @endnode
  103. @node "Buttons" "Buttons"
  104.  @{b}@{i}@{fg fill}LISTING OF BUTTONS AND FUNCTIONS@{ub}@{ui}@{fg text}
  105.   @{"E" link "E"}          Event
  106.   @{"A" link "A"}          Arguments
  107.   @{"S" link "S"}          Sfx
  108.   @{"D" link "D"}          Date
  109.   @{"DateRange" link "daterange" 0}  Date Range
  110.   @{"T" link "T"}          Time
  111.   @{"Time Range" link "TimeRange"} Time Range
  112.   @{"Add" link "Add"}        Add Event 
  113.   @{"Test" link "Test"}       Test Event
  114.   @{"Del" link "Del"}        Delete Event
  115.   @{"Mod" link "Mod"}        Modify Event
  116.   @{"TEdit" link "TEdit"}      Edit with text editor
  117.   @{"New" link "New"}        New Config File
  118.   @{"Purge" link "Purge"}      Purge old events
  119.   @{"E/D" link "E/D"}        Enable/Disable Event
  120.   @{"MkDef" link "MkDef"}      Make Default Event
  121.   @{"Refresh" link "Refresh"}    Refresh List/Status
  122.   @{"Clock" link "Clock"}      Run a clock
  123.   @{"Prefs" link "Prefs"}      Set/Change Preferences
  124.   @{"Control" link "Control"}    Set/Change Preferences
  125. @endnode
  126. @NODE E 
  127.  @{fg shine} - E (Create a new event)@{fg text}
  128.   This is the gadget you use to create a brand new event. This will bring
  129.  up a requester that asks you what type of event you would like. There are
  130.  two types:
  131.     @{i}Program Event: @{ui}
  132.        This is the event type you would select for running external events.
  133.        An external event could be an executable program, a rexx script or
  134.        a dos script etc. If you select the program event, it will bring up 
  135.        a file requester for you to choose the program you wish to execute. 
  136.        Make sure a full path is given, or the program may not execute properly! 
  137.        When a program is selected, the CURRENT time and date are filled in the 
  138.        time and date fields.  You will need to change these to reflect the time 
  139.        and date you wish your program to run. Also, be sure to TEST the event
  140.        to make sure it works properly before you depend on the EZCrond (daemon)
  141.        to start it automatically.
  142.     @{i}Reminder Event: @{ui}
  143.        When you select REMINDER, it will bring up a string requester that 
  144.        allows you to enter a text string.  Once set, this will also automatically 
  145.        set the Event field to @{b}TEXTREMINDER@{ub}. This must remain @{b}TEXTREMINDER@{ub}
  146.        in order for the program to understand its task. When @{b}TEXTREMINDER@{ub} is 
  147.        selected, the CURRENT time and date are filled in the time and date fields.  
  148.        You will need to change these to reflect the time and date you wish your text 
  149.        reminder to be displayed.
  150. @{b} NOTE: You must click the ADD button after creating the event.@{ub}
  151. @endnode
  152. @node T
  153.   @{fg shine}- T (Time)@{fg text} 
  154.            **  PLEASE NOTE THAT THIS WORKS ON A 24 HOUR CLOCK **
  155.   This gadget brings up a window containing a list of gadgets which allow
  156.  you to select the time format you wish.  The options follow with their
  157.  explainations:
  158.     Once        - Run the even only once. ie: 13:22
  159.     Minute      - Run the event every minute of every hour
  160.     Five Min    - Run the event every five minutes of every hour.
  161.     Ten Min     - Run the event every ten minutes of every hour.
  162.     Quarter     - Run the event at 00, 15, 30, & 45 minutes of every hour.
  163.     Thirty      - Run the event at 00, and 30 minutes of every hour.
  164.     Hourly      - Run the event every hour on the hour.
  165.     *Special    - Run the event via wildcards. The default is set for
  166.                   every hour at a specified minute. The hour place will 
  167.                   be replaced with the pounds sign.
  168.                   ie: ##:33 would run the event every hour at 33 minutes
  169.                   after the hour. 
  170.                   Also, you may manually change the minute field to the 
  171.                   wildcard as well.
  172.                   ie: 15:## would run the event every minute from 15:00
  173.                   to 15:59.
  174.                   A third option is to set it for ##:##. This would run
  175.                   the event every minute of every hour. This would be the
  176.                   exact same as selecting 'Minute' in the time field.
  177. @endnode
  178. @node timerange
  179.  @{fg shine} - Start Time/End Time @{fg text}
  180.   These gadgets represent a time range you may want an event to execute
  181.  within.  If you wish your event to run from noon to 3pm you would enter
  182.  12:00 in the Start Time gadget and a 15:00 in the End Hr.  gadget.  Please
  183.  note that events that run from PM to AM MUST be set up as two seperate
  184.  events.  EZCrond (daeman) works on a 24 hour clock internally.  If, for
  185.  example you wish your event(s) to run from 11pm to 3am you would have to
  186.  set up your first event to run from 23:00 to 24:00 and then your second
  187.  event to run from 00:00 to 03:00.  I am VERY aware that there is not really
  188.  a 24 in the 24 hour format, but it has to be done this way in order to work
  189.  properly.  In other words, Midnight has to ALWAYS be entered as 24 when
  190.  used as an end time and 00 when used as a start time.  Of course, you could
  191.  enter 23:59 as the end time on one event and 00:00 as the start on another.
  192.   @{b}Wildcard Support@{ub}
  193.  Currently, EZCrond and EZCron does not support wildcards within date ranges.
  194. @endnode
  195. @node D
  196.   @{fg shine}- D (Date)@{fg text}
  197.   This gadget brings up a window containing a list of gadgets which allow
  198.  you to select the date format you wish.  The options follow with their
  199.  explainations:
  200.     Once        - Run an even only once. ie: 13:22
  201.     Daily       - Run an event every day.
  202.     Monthly     - Run an event one day a month. The actual field would
  203.                   be 'Monthly-00' where '00' is the date. ie. Monthly-14
  204.                   would execute the event every month on the 14th.
  205.     Sun-Sat     - Run an event on the given day of the week.
  206.     Weekdays    - Run an event on Saturdays and Sundays only
  207.     Weekends    - Run the event Mon-Fri only.
  208.     EveryNNDD   - This is a strange one. This option will allow you
  209.                   to run events one given days in weeks of the months.
  210.                   ie: 'Every_3_Fri' would run the event every third
  211.                   friday of every month. 'Every_1_Mon' would run
  212.                   the event every first Monday of a month.
  213.     Range       - This option will allow you run events within a range 
  214.                   of dates. 
  215.     *Special    - This is where it gets fun. This allows you to use 
  216.                   wildcards for your event dates. 
  217.                   The first field of wildcards represents the month.
  218.                   The next field of wildcards represents the day.
  219.                   The last field of wildcards represents the year.
  220.                   When selected, the date window will contain '##/##/##'.
  221.                   This means that the month, day and year are all set 
  222.                   for 'on' and the event would run every day of every 
  223.                   month of every year.
  224.                   If you wanted the event to execute every day during 
  225.                   March of 1997, if would look like  this: '03/##/97'. 
  226.                
  227.                   If you wanted the event to execute every month on the 
  228.                   12th in 1997, you would change it to this: '##/12/97'.
  229.                   This would be the same as if you had used 'Monthly-12'.
  230.                   
  231.  @{b}@{i}* - Designates new additions or changes since previous release. @{ub}@{ui}
  232. @endnode
  233. @node daterange
  234.   -@{fg shine} Date Range @{fg text}
  235.   The date range feature allows you to set a range of dates for a given
  236.  event. If, for instance, you wish to run an event every day from 
  237.  January 1, 1997 to March 14, 1997, you would enter 01/01/97 as the
  238.  start date and 03/14/97 as the end date.
  239.  @{b}Wildcard Support@{ub}
  240.   The date range also supports wildcards. This drastically opens up the
  241.  possibilities of date ranging. By using wildcards, one could set up a
  242.  single event to execute at given times throughout a month, week or year.
  243.   Keep in mind that a range will override any date setting you may have.
  244.   This is difficult to explain so I will use examples to try and make it
  245.  easier to understand.
  246.  Date:      ##/##/97 or Daily
  247.  Startdate: ##/14/97  This would run an event every month of 1997 on the
  248.  Enddate:   ##/18/97  14th through the 18th only.
  249.  Date:      ##/##/97 or Daily
  250.  Startdate: 01/##/97  This would run an event every day thoughout January
  251.  Enddate:   02/##/97  and Feburary of 1997 only.
  252.  Date:      Every_3_Fri
  253.  Startdate: 01/14/97  This would run an event every third Friday from January
  254.  Enddate:   06/##/97  14th through the last day of June.
  255.  Date:      Saturday 
  256.  Startdate: 01/14/97  This would run an event every Saturday from January 14th
  257.  Enddate:   05/##/97  through the last day of May.
  258. @endnode
  259. @node ED
  260.   -@{fg shine} E/D (Enable/Disable Event)@{fg text}
  261.   (NEW v1.75+) This switch is the Enable/Disable gadget.  It does just what
  262.  it says, it enables and disables events.  This will add a '!' charactor to
  263.  the beginning of the event name.  The Daemon will not execute events marked
  264.  in this manner.
  265.   To use this feature, simply select the event you wish to enable/disable and
  266.  then click the E/D gadget.  A '!' charactor will be added or removed from
  267.  the event field.  @{b}NOTE:  @{ub}Events may STILL be tested when disabled.
  268. @endnode
  269. @node mkdef
  270.   -@{fg shine} MkDef (Make Default Event)@{fg text}
  271.    When EZCron makes a new s:cron.config file, it must always create one
  272.  event within the new file (EZCrond (daemon) would simply exit if no events
  273.  existed).  EZCron will create a default event of your choice simply by
  274.  clicking on an event in the listview window, or by creating an event, then
  275.  clicking the @{b}MkDef @{ub}gadget.  You could set the default event to be
  276.  dated sometime in the past so that the default event never actually runs.
  277.  @{fg fill}Note:  @{fg text}If you do make the default event a past date,
  278.  beware that the @{b}Purge@{ub} gadget WILL delete it.
  279. @endnode
  280. @node A
  281.   -@{fg shine} A (Event Arguments)@{fg text}
  282.   This brings up a ReqTools file requester for adding program file
  283.  arguments.  Be sure that your paths are complete.
  284.   If the argument is not a file, you may type the argument in manually in
  285.  the text field.
  286. @endnode
  287. @node S
  288.   -@{fg shine} S (Sound Effect/Sample)@{fg text}
  289.   This gadget brings up a ReqTools file requester for adding an optional
  290.  sound effect to be played with a given event.  Once again, make sure a full
  291.  path in included here.  The Sample Player Prefs must have some sort of audio
  292.  player set like playsound, Play16, etc.
  293. @endnode
  294. @node ADD
  295.   - @{fg shine}Add (Add New Event/Copy Event)@{fg text}
  296.  This gadget allows you to add your new event or copy an existing one.  To
  297. create a new event, you must add all of your parameters FIRST then click
  298. the @{b}ADD @{ub}gadget to add it to the list.  If coping an existing
  299. event, select the event, then click the ADD button.  This will copy the
  300. selected event to a new one at the bottom of the list.
  301. @endnode
  302. @node DEL
  303.   - @{fg shine}Del (Delete Event)@{fg text}
  304.   Deletes the selected event from the list. There is no safty net here,
  305.  If you accidently click on the DEL button, the event is gone for good.
  306. @endnode
  307. @node MOD
  308.   - @{fg shine}Mod (Modify Event)@{fg text}
  309.   This will modify the current selected event.  First select the event you
  310.  wish to modify.  Make the necessary changes.  Click the @{b}Mod@{ub} gadget.
  311. @endnode
  312. @node PURGE
  313.   - @{fg shine}Purge (Purge Event List)@{fg text}
  314.   This gadget will delete old, one time events.  It will not delete any
  315.  events that are still active.  ie:  events containing the fields Daily or
  316.  Monthly-xx would not be deleted.  It will also delete events that had a
  317.  date range set on them if the range has expired.
  318. @endnode
  319. @node NEW
  320.   -@{fg shine} New (New Config) @{fg text}
  321.   When clicking this gadget, @{b}EZCron @{ub}will create a new
  322.  s:cron.config file with a 'dummy' event contained in it.  There MUST be at
  323.  least one event in the config file for the daemon to function (This default
  324.  event can be set using the AddDef gadget).  This event may be a date
  325.  already passed if you don't wish to be bothered with an active event.
  326.  This gadget will copy the current config file to s:cron.config.old and
  327.  create a new one in its place.  If you happen to do this by accident, just
  328.  delete the newly created config file and rename cron.config.old back to
  329.  cron.config.
  330. @endnode
  331. @node TEDIT
  332.   - @{fg shine}TEdit (Call Text Editor)@{fg text}
  333.   This will call a text editor of your choice (defaults to c:ed) and loads
  334.  the s:cron.config file into it for manual editing of the cron.config file.
  335.  You may select an editor of your choice in the prefs settings.
  336. @{b}NOTE: ADVANCED USERS@{ub}
  337. @endnode
  338. @node TEST
  339.   - @{fg shine}Test (Test Event)@{fg text}
  340.   This will test the selected event to make sure everything works just fine
  341.  before you 'trust' it to work on its own.
  342. @endnode
  343. @node CONTROL
  344.   - @{fg shine}Control (EZCronD Control)@{fg text}
  345.   This manually starts and stops the @{b}EZCrond@{ub} (daemon).  It simply
  346.  toggles it on or off.  Just remember to start it if events are due to take
  347.  place. If you used the installer, EZCrond will be started from your 
  348.  startup-sequence automatically.
  349. @endnode
  350. @node REFRESH
  351.   - @{fg shine}Refresh @{fg text}
  352.   This simply refreshes the events listing and the Daemon control status.
  353.  You may need this if you edit the cron.config file with a text editor that
  354.  seperates itself from the parent process, for example.
  355. @endnode
  356. @node CLOCK
  357.   - @{fg shine}Clock@{fg text}
  358.  This gadget will pop open a small AmigaDos digital clock.
  359. @ENDNODE
  360. @node PREFS
  361.   - @{fg shine}Prefs @{fg text}
  362.   This gadget takes you to the prefs window where you may set prefs for an audio
  363.  player and for an optional text editor.
  364.                                 @{b}PREFS WINDOW @{ub}
  365.   - @{fg shine}Choose Text Editor @{fg text}
  366.   This will choose a text editor and saves its settings.  For use with the
  367.  @{b}TEdit@{ub} gadget.
  368.   - @{fg shine}Choose Sample Player @{fg text}
  369.   For adding a sample player to the prefs file.  This must be set if you
  370.  wish to use sound effects with events.
  371.   - @{fg shine}Set Test Console @{fg text}
  372.   When testing an event, by default, a con: window will pop up for
  373.  debugging purposes. This prefs setting decides the attributes and
  374.  redirection values of the tested event. This could be changed to
  375.  prt: if desired and the results would be printed. Also, if you
  376.  wish for no output whatsoever, you can replace this with an 
  377.  empty string.
  378. @endnode
  379. @node Tutorials Tutorials
  380.                               @{b}TUTORIALS@{ub}
  381.   A few tutorials are given below to help you understand how to edit and add
  382.  events. 
  383.  @{b}ADDING A NEW PROGRAM EVENT:@{ub}
  384.      Click the 'E' button at the top left. A Requester will pop up asking if 
  385.      want a Program or Reminder event. 
  386.      Click on PROGRAM. A file requester will then pop up. Find the program you 
  387.      wish to run and click ok. The program, current date and current time should
  388.      appear in their respective fields. 
  389.      If this event is one that you only wish to run once, click in the date
  390.      gadget and change the date to whatever date you want (remember, the format
  391.      is mm/dd/yy). Otherwise, click on the 'D' button and select and alternate 
  392.      selection. 
  393.      Next, edit the time field to whatever time you desire, or use the 'T' button 
  394.      to select and alternate selection.
  395.      Click the 'ADD' button. The new event should appear in the listing.
  396.  @{b}ADDING A NEW REMINDER EVENT:@{ub}
  397.      Click the 'E' button at the top left. A Requester will pop up asking if 
  398.      want a Program or Reminder event. 
  399.      Click on REMINDER. A string requester will then pop up. Type in the text you
  400.      want displayed and click ok. The reminder string, current date and current 
  401.      time should appear in their respective fields. Also, the top event field should
  402.      have displayed "TEXTREMINDER"
  403.      If this event is one that you only wish to run once, click in the date
  404.      gadget and change the date to whatever date you want (remember, the format
  405.      is mm/dd/yy). Otherwise, click on the 'D' button and select and alternate 
  406.      selection. 
  407.      Next, edit the time field to whatever time you desire, or use the 'T' button 
  408.      to select and alternate selection.
  409.      Click the 'ADD' button. The new event should appear in the listing as 
  410.      TEXTREMINDER.
  411.  @{b}COPY AN EVENT:@{ub}
  412.      Click on the event you wish to copy. Click the 'ADD' button. The newly copied
  413.      event should now appear at the bottom of the event list.
  414.  @{b}MODIFY AN EVENT:@{ub}
  415.      Click on the event you wish to modify. Make the necessary modifications.
  416.      Click the 'MOD' button. The changes should now be applied.
  417.  @{b}DELETE AN EVENT:@{ub}
  418.      Click on the event you wish to delete. Click the 'DEL' button.
  419.  @{b}CREATE A DEFAULT EVENT:@{ub}
  420.      Click on the event you wish to become the default event. Click on the
  421.      MkDef button. Now, whenever you create a new config file, this event
  422.      will be the first one created.
  423.  @{b}CREATE A NEW CONFIG FILE (s:cron.config)@{ub}
  424.     Click the 'NEW' button. If you already have a config file, it will ask
  425.     if you want to overwrite it. Select 'YES'. You will now have a new config
  426.     file with the default event in it (See CREATE A DEFAULT EVENT).
  427. @endnode
  428. @node "Author" "Author"
  429.                           @{b}@{i}@{fg shine}EZCron is emailware@{ub}@{ui}@{fg text}
  430.   EZCron is free.  If you like it and use it, I would like to hear from you.  Or
  431.  if you have any suggestions for improvements and new features, I like to hear
  432.  them.  Also, of course, if you find any bugs, I would like to know where they
  433.  are.  My EMail address is:
  434.                          @{i}hines_j@iolinc.net@{ui}
  435.                                    or
  436.                              @{i}wdtv@wdtv.com@{ui}
  437.  Also, visit my Internet Home Page for the latest version of EZCron and for 
  438.  other interesting stuff.
  439.                       http://www.iolinc.net/~hines_j
  440.   Also, If you are a Star Trek fan, check out the demo of @{b}Trek-The Guide@{ub}.
  441.   It is a full featured database with pics, sfx and synopsis for each 
  442.   episode with full cross references and misc facts.
  443.                          It is available on Aminet.
  444.   @{i}Thanks must go to the following people:@{ui}
  445.   Gene Heskett     (For his huge help in figuring out some of these
  446.                    algorithms. . .and for beta testing)
  447.   Mike Herschede   (Another Great Beta Tester)
  448.   Karl Swisher     (For some pretty good ideas)
  449.   Andy Cook        (Author of VArexx for which the GUI wouldn't
  450.                     have been possible)
  451.                                  @{b}LEGAL STUFF@{ub}
  452.   * EZCron & EZCrond 
  453. 1994-1997 Jim Hines
  454.   * rexxreqtools.library 
  455. 1992-1994 Rafael D'Halleweyn
  456.   * reqtools.library 
  457. 1992-1994 Nico Francois 
  458.   * VArexx and RexxPort.library 
  459. 1995-96 Andy Cook
  460. @endnode
  461. @node "TroubleShooting" "Troubleshooting"
  462.                                @{b}@{i}@{fg shine}TROUBLESHOOTING@{ub}@{ui}@{fg text}
  463.  @{b} EZCROND WILL NOT RUN ON STARTUP:@{ub}
  464.   Make sure that the line '@{b}run >nil: rx >nil: ezcron:ezcrond start@{ub}' is in
  465.   your s:user-startup sequence.
  466.   Make sure you have a valid s:cron.config file. It will not run without it!
  467.   A valid cron.config file should contain at least 1 event in the following
  468.   format:
  469.   command,args,time,date,startdate,enddate,TimeRangeStart,TimeRangeStop,SFX,ReminderString 
  470.  EXAMPLES:
  471.  rx,EZCron:rexx/TalkingClock.rexx,hourly,daily,-,-,--,--,-,-
  472.  TEXTREMINDER,-,22:00,range,01/01/97,12/31/97,--,--,-,Remember to email the author.
  473.   @{b}EZCRON WILL NOT RUN AT ALL:@{ub}
  474.   Make sure all the included librarys are installed in Libs:.
  475.   Make sure that sys:rexxc is in your path. I have found some systems that
  476.   don't seem to carry their path over to shell processes too well.
  477.   Try running it from a shell. Just type '@{b}rx ezcron:ezcron@{ub}'
  478.   The Shell is actually the best method of trouble-shooting since any
  479.   EZCron errors will be reported to the shell it was run from.
  480.   If run from WorkBench, all error messages are suppressed.
  481.   @{b}EZCROND (DAEMON) WILL NOT RUN AT ALL:@{ub}
  482.   @{b}NOTE:@{ub} EZCrond can also be started from a shell. Just cd to EZCron: 
  483.   then type @{b}run <>nil: rx EZCrond start@{ub}.
  484.   Any errors should be reported to the shell it was started from.
  485.   If none of these solutions work, please contact me and describe the
  486.   problem. My email address is @{i}hines_j@iolinc.net@{ui}.
  487.  Make sure you have ARexx installed and running.
  488. @endnode
  489. @node "Rexx_Scripts" "ARexx Scripts"
  490.                 @{b}@{i}Included ARexx Scripts (and how to use them)@{ub}@{ui}
  491.  There are a few useful ARexx scripts included that you may find useful. You can
  492.  find them in the the EZCron/rexx directory.
  493.  I will list them here and briefly descibe what they do and how to utilize them.
  494.  @{b}AutoGetMail@{ub}:
  495.     This simple script utilizes both AmiTCP v4.+ and Thor. All it does is
  496.     start your AmiTCP/bin/startnet script and gets online...then it runs
  497.     Thor:bin/gettcp and gets your mail and any newsgroups you may be
  498.     subscribed to. The only setting that is adjustable, and you must
  499.     adjust this, is the ThorMailBox variable at the top of the script.
  500.     Just change this to reflect YOUR Thor mailbox.
  501.  @{b}LWave_EZCron.rexx@{ub}:
  502.     This script will control Lightwave 3.5+ and start rendering a given
  503.     project when executed. It is even smart enought to figure out which
  504.     frame to start on if there are previously rendered frames in the 
  505.     directory. There are variables that need to be set at the top of the 
  506.     script and they are pretty much self explainatory.
  507.  @{b}Reminder.rexx@{ub}:
  508.     This script is used internally by EZCron. It is used to control any
  509.     textreminders you may have set in EZCronGUI. There are no user 
  510.     varibles to set and this script should be left as is.
  511.  @{b}TalkingClock.rexx@{ub}:
  512.     This script does exactly what you think....its a talking clock.
  513.     First, you MUST have speak: mounted. If you are not familier with
  514.     Speak:, see you AmigaDos manuals. Also, Speak: is not included with
  515.     with AmigaOS starting with v2.1.
  516. @endnode
  517. @node "cronconfig" "Cron.config: An Overview"
  518.                       @{b}Cron.config: An Overview@{ub}
  519.   The cron.config has changed considerably in the past few versions.
  520. Old config files ARE NOT COMPATABLE with this new format. You may use 
  521. this information to modify your existing config file, or just create a 
  522. new one with EZCron (recommended).
  523.  *** FOR THOSE YOU WOULD RATHER MAKE THE CONFIG USING A TEXT EDITOR ***
  524.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~cut here~~~~~~~~~~~~~~~~~~~~~~~~~~
  525. ; This is the cron.config file. The semi-colon is a comment marker.
  526. ; You may use this to remove commands or make comments. You may also 
  527. ; comment (disable) out events by using the '!' charactor at the head 
  528. ; of the line. This will allow you to view and modify events that don't
  529. ; actually execute.
  530. ; The structure of the file is as follows and each field is seperated by a comma:
  531. ; -----------------------------------------------------------------------
  532. ;  1st entry: The path & program you wish to run
  533. ;  2nd entry: The program arguments
  534. ;  3rd entry: The time to execute. This may also be set to 'Minute' and 'Hourly'
  535. ;  4th entry: The Date to execute. This may also be set to 'Daily', a day of the
  536. ;             week such as 'Wednesday', 'Monthy-00' or 'Range'. The Montly must 
  537. ;             have the hyphen and a two digit number in the same format as written 
  538. ;             below. 
  539. ;  5th entry: The start date.
  540. ;  6th entry: The end date.
  541. ;  7th entry: Time Range start time.
  542. ;  8th entry: Time Range end time.
  543. ;  9th entry: The Sound FX File to run with the event
  544. ; 10th entry: If  event is a textreminder, this field will contain the text.
  545. ; -----------------------------------------------------------------------
  546. ; EXAMPLES
  547. ; ========
  548. TEXTREMINDER,-,22:00,range,01/01/97,12/31/97,--,--,-,Remember to email the author.
  549. !TEXTREMINDER,-,23:14,every_4_fri,-,-,--,--,-,This is the 4th friday event
  550. ezcron:rexx/TalkingClock.rexx,-,hourly,daily,-,-,--,--,-,-
  551. !Inet:InetScripts/AutoGetMail,-,15:00,daily,-,-,--,--,-,-
  552. c:execute,amitcp:Start_AmiTCP,12:00,weekdays,-,-,--,--,-,-
  553. System2.1:WBStartup/LineMan,-,hourly,daily,-,-,02:00,22:00,Data:SoundSamples/Sandro_3_4_5.8svx,-
  554. c:play16,Data:SoundSamples/DoubleBeep,quarterly,daily,-,-,--,--,-,-
  555. @endnode
  556. @node History
  557.                                 @{b}EZCron@{ub}
  558. ** EZCron is The Graphic User Interface Prefs for EZCrond, 
  559. 1994-1997 Jim Hines.
  560. ** 12-13-95    Added Speech Function to test subrtn.
  561. ** 12-22-95    Added Purge Function.
  562. ** 12-24-95 Added multi-windowing on prefs window
  563. ** 12-31-95 Added multi-windowing cyclegads on time and date fields
  564. **            Changed the main gui interface window and moved the new config
  565. **            button to the edit screen. Removed the Quik Add button altogether.
  566. ** 01-05-96 Added Weekdays, Weekends and Quarterly support.
  567. **            Added full online help subroutine.
  568. ** 01-07-96 Added Default Event Variable Handling. Opens prefs file at beginning
  569. **            and rereads it with the 'addefault' command.
  570. **            added online help for def event button.
  571. ** 08-25-96 Changes the cron.config file to reside in envarc: and RAM:ENV
  572. **            Great idea Paul. ;)
  573. ** 09-02-96 Moved the active config file to ram:t as the env: was causing HD
  574. **            activity with such programs as HDEnv. The cron.config is now BACK
  575. **            in s: but copied to t:
  576. ** 09-09-96 Started work on the range stuffs
  577. ** 09-10-96 Hourly time range routine added.
  578. ** 09-11-96 Fixed a few bugs and tightened the code up a bit.
  579. ** 09-18-96 Added the every 5 minutes time field.
  580. ** 10-10-96 Fixed a nasty clock bug in the I/O button which caused the GUI to exit.
  581. **            This occured after being in the event editor, then exiting to the
  582. **            control panel and then quiting the daemon.
  583. ** 01-07-97 Added the ENABLE/DISABLE EVENT function
  584. ** 01-08-97 Rewrote the GUI section entirely. Now smaller and faster since the
  585. **            main loop is much much smaller!!!
  586. ** 01-09-97 You can now test disabled events. Line 210
  587. ** 01-14-97 More speed rewrites: seperated the waitforpkt() from the eventparse()
  588. **            shortening the main loop even more.
  589. **            Added Ten_Min and Thirty_Min to the time fields.
  590. ** 01-18-97 Fixed a nasty bug; If you tested a disabled event, then enabled
  591. **            the event, the argument 1 field would get copied to the other 3.
  592. **            TOOK OUT THE DELAYS()
  593. **            Added a check for an empty cron.config file. Used to cause a startup error.
  594. ** 01-20-97 Fixed a bug in the testevent(). It was lacking the double quotes which was
  595. **            causing problems.
  596. ** 01-25-97 Reworked the event gadget. It now will ask what type of event you want.
  597. ** 01-27-97 Fixed a bug in Purge:.
  598. **            Fixed a bug in Prefs:.
  599. ** 01-29-97 Started on the Date Range function.
  600. ** 01-30-97 DateRange function implemented, but still a little buggy.
  601. ** 02-01-97 Now supports unlimited arguments.
  602. **            Now using commas between fields. Old config is no longer compatable
  603. **            as of v1.84e
  604. ** 02-04-97 Eliminated the online help system. With the new GUI, its much easier
  605. **          to understand and it was felt that it was no longer needed.
  606. ** 02-06-97 ReqTools requesters will now open under the mouse pointer.
  607. ** 02-07-97 Rewrote the update() routine. It will no longer put modified events
  608. **          at the bottom of the list.
  609. ** 02-07-97 Reduced the deleteevent() and adddefault code majorly.
  610. **            Added a comma after the last field.
  611. **            Cleaned up extra, unneeded copy to t: routines.
  612. ** 02-08-97 Blank date range double dashes (--). Now it's a single dash (-).
  613. ** 02-09-97 Added the shour to the time menu.
  614. ** 02-09-97 added the hour wildcard '##'. ie: '##:15'. AF (advanced feature #1)
  615. ** 02-10-97 Renamed EZCronGUI to EZCron
  616. ** 02-12-97 Renamed the MAINWINPORT to EZCRON_PREFS.
  617. **            EZCrond can now auto update the daemon status window.
  618. ** 02/14/97 Renamed EZCron to EZCrond and EZCronGUI to EZCron.
  619. **          Sorry for the confusion, but they really needed renaming. 
  620. **          The ARexx ports were also renamed to EZCROND and EZCRONPREFS.
  621. ** 02/16/96 Added a new prefs option: Test Routine Redirection.
  622. **          Changed cprefs to defev.prefs.
  623.                                 @{b}EZCronD @{ub}
  624. /* $VER: EZCrond by Jim Hines v1.85 
  625. 1995-1997 All Rights Reserved
  626. ** 10-23-95 Added requester to verify making a NEW cron.config file. See newrtn:
  627. ** 10-25-95 Fixed Bug in the above and added renaming of the old config file. See newrtn:
  628. **             renamed from ACron to EZCron. GUI started on this date too.
  629. ** 11-30-95 added the text string reminder support and the sfx functions
  630. ** 12-05-95 Fixed case sensitivity problem with weekly, monthly & Daily routines
  631. ** 12-13-95 Added Speech Function
  632. ** 01-04-96 Added Weekdays, Weekend and Quarterly support functions
  633. ** 01-05-96 Fixed a bug in the Weekdays routine.
  634. ** 01-11-96 Cleaned up the code a bit
  635. ** 01-17-96    Added a new routine.  ie every_3_wed
  636. ** 08-25-96 Moved the cron.config file to envarc: / RAM:ENV
  637. **            Good idea Paul. ;)
  638. ** 09-02-96 Moved the active config file to ram:t as the env: was causing HD
  639. **          activity with such programs as HDEnv
  640. ** 09-10-96 Hourly time range routine added.
  641. ** 09-11-96 Fixed a nasty bug in time range and majorly rearranged the timer code.
  642. **          Version bumped to 1.70. Thanks Gene!
  643. **            Finally renamed the rexx port from ACron_Rexx to EZCron_Rexx.
  644. ** 09-18-96 Added the every 'Five_Min' time field.
  645. ** 10-03-96 Actually made it work (What took me so long?)
  646. ** 01-07-97 The daemon now also ignores the '!' charactor as a comment. This is used
  647. **          by EzCronGUI to disable events without removing them from the list.
  648. ** 01-14-97 Now supports Ten_Min and Thirty_Min events.
  649. ** 01-20-97 Fixed a speak: bug. It was lacking the double quotes which was
  650. **          causing problems.
  651. ** 01-25-97 Rewrote the quarterly routine.
  652. ** 01-28-97 Fixed a bug I made when I rewrote the quarterly routine.
  653. ** 01-30-97 Started work on the date range routine.
  654. **          Changed the TimeRange so it will now accept minutes.
  655. ** 02-09-97 added the hour wildcard '##' support. ie: '##:15'. AF1 (advanced feature #1)
  656. ** 02-11-97 Added the minute wildcard '##' support. ie '22:##'
  657. **            Added the Date wildcard support. ie: ##/##/## would be = DAILY
  658. **                                                 ##/11/## would be = MONTHLY-11
  659. **                                                 02/##/97 would be every day in FEB of 1997
  660. ** 02-12-97    EZCrond can now auto update the daemon status window.
  661. **            If present, signals the EZCron (Prefs) program when starting/stoping.
  662. ** 02-13-97 Moved the timerange routine below the wildcard routines.
  663. **          Empty startdate and enddate fields are now '##/##/##' instead of '-'
  664. **          Empty starttime (rng1) and endtime (rng2) is now '--:--' rather than '-'.
  665. **          Renamed EZCron to EZCrond and EZCronGUI to EZCron.
  666. **          Sorry for the confusion, but they really needed renaming. 
  667. **          The ARexx ports were also renamed to EZCROND and EZCRONPREFS.
  668. @endnode
  669.