Talk:General scheduling application

From FreekiWiki
Revision as of 09:45, 19 June 2009 by Rfs (talk | contribs)
Jump to navigation Jump to search

Frequency Types and Options

Frequency Types could be Daily, Weekly, Monthly, or Yearly. Most Frequency Types have options (Daily doesn't need them.)

  • Daily
  • Weekly
    • repeat every N weeks (default = 1)
    • multi-capable select on day of week (checkboxes?)
  • Monthly
    • repeat every N months (default = 1)
    • repeat by
      • day of month
    • single-capable select on day of month (drop down from 1-31, with smarts enough to not show 29, 30, 31 when inapplicable?)
      • Nth weekday of month (1st, 2nd, 3rd, 4th, 5th, last)
    • single-capable select on day of week (radio buttons?)
    • multi-capable select on week of month (checkboxes?)
  • Yearly
    • repeat every N years (default = 1)

To get a Frequency Type that is not listed use the options to tweak one of the existing types. For example: for a quarterly event the Frequency Type = Monthly and the option would be to repeat every 3 months.

Using the start (effective) date an algorithm would need to be able to figure out what dates in an arbitrary date range (starting on or after the effective date) match the selected frequency.

Look at UI for google calendar repeating events for inspiration.

Fields needed for this would be something like:

fields needed
frequency_type
daily, weekly, monthly, yearly
repeat_every
does not apply to daily
weekly_sunday
applies only to weekly
weekly_monday
applies only to weekly
weekly_tuesday
applies only to weekly
weekly_wednesday
applies only to weekly
weekly_thursday
applies only to weekly
weekly_friday
applies only to weekly
weekly_saturday
applies only to weekly
monthly_subtype
day of month OR week of month
day_of_month
applies only to monthly -> day of month
monthly_weekday
applies only to monthly -> week of month
monthly_first
applies only to monthly -> week of month
monthly_second
applies only to monthly -> week of month
monthly_third
applies only to monthly -> week of month
monthly_fourth
applies only to monthly -> week of month
monthly_fifth
applies only to monthly -> week of month
monthly_last
applies only to monthly -> week of month