icalendarvcalendar

iCalendar 2 week interval/cycle


What I want to achieve is somewhat simple: I need to represent an event with a 2 week or 14 days period like so:

| Mo | Tu | We | Th | Fr | Sa | Su | Mo | Tu | We | Th | Fr | Sa | Su |
|    | x  | x  | x  | x  |    |    | x  | x  | x  | x  |    |    |    |

So in the first week the event does not take place on mondays and in the 2nd week it does not take place on fridays. On the days it takes place it should last from 09:30 to 09:45.

I don't want to split it into multiple events as the event is indeed identical, but I did not manage to get the correct RRULE parts together. What I accomplished was something like:

| Mo | Tu | We | Th | Fr | Sa | Su | Mo | Tu | We | Th | Fr | Sa | Su |
| x  | x  | x  | x  | x  |    |    |    | x  | x  | x  |    |    |    |

By using 3 RRULE parts with one for mondays, one for fridays and one for the the other days. But this is obviously not correct.

I thought about using the EXRULE directive, but I learned it was deprecated anyway.

Any suggestions?

P.S. For anyone wondering what the event is about: It's the daily scrum meeting on a 2 week sprint with exceptions for planning and review days.


Solution

  • So I figured it out myself by using EXRULE, the solution is very simple, in the end. Although EXRULE is deprecated with RFC 5545 it's in RFC 2445 and the best of all: Google Calendar supports it.

    So the solution is:

    RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH
    RRULE:FREQ=WEEKLY;INTERVAL=2;BYDAY=FR
    EXRULE:FREQ=WEEKLY;INTERVAL=2;BYDAY=MO