Within a Regime, the schedule seems to lack enough expressiveness for many scenarios. For example these are the sorts of things you can’t do:
- Repeat a sequence every 5 min’s for a given day
- Run a sequence 10 min’s after the start of each hour or every so many hours during the day
- Run a sequence every other week or on the first day of each month or once a year, etc.
- Run a sequencer at the start of every hour but on every other day
And many more such combinations. Yes, I know you can “select days”, but I think this control should be more like a calendar scheduler with more expressive logic and probably more textural. Keywords would be like:
a) Start at a certain min of the day
b) Start relative to a certain hour within a day
c) Then repeat every so many min’s or every so many hours during the day
d) Starting on a certain day of the year or relative to current day after so many days
e) Then Repeating every so many days or on the x day of each week or the y day of each month or the z day of each year
f) etc.
So for a given regime:
Repeater Yes/No?
if Yes, then select Frequency [Hourly, Daily, Weekly, Monthly, Yearly]
if frequency==hourly, then select every x hour(s)
if frequency==daily, then select every x day(s)
if frequency==weekly, then select every x weeks on [Su,Mn,Tu,We,Thr,Fri,Sa]
if frequency==monthly, then select every x month(s) and then either each with a day selector or on the [first, second, third, fourth, fifth, last] [day, weekday, weekend, Su, Mn, Tue, We, Thr, Fri, Sa]
if frequency==yearly, then nothing more is specified
finally, then end [after, on date, never]
if end==after, then select how many times it repeats till it stops
if end==on date, then select the date
if end==never, then don’t end
We also need to see when schedule conflicts are going to occur when we have more than one regime that is going to run.