Calendar:Recurrence and Exceptions: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 29: Line 29:


: We'll need some sort of "Do you want to modify all occurrences, or just this one?" dialog when modifying an occurrence.  We'll also need a way to communicate what specifically was modified for that occurrence, perhaps through greying-out the non-modified bits or somesuch.
: We'll need some sort of "Do you want to modify all occurrences, or just this one?" dialog when modifying an occurrence.  We'll also need a way to communicate what specifically was modified for that occurrence, perhaps through greying-out the non-modified bits or somesuch.
; CalDAV Server handling of recurrence/exceptions
The current CalDAV server we have access to exposes a daily 5-day repeating event in this fashion:
* 5 VEVENTs are in the .ics file
* The first VEVENT has 4 RDATEs for the other 4 events
* Each VEVENT has the same UID
* Each VEVENT has a DTSTART and RECURRENCE-ID, both of which are equal, and correspond to that event's start time
* Exceptions/changes are simply differences in appropriate values in each VEVENT; there is no "inheritance" from the frist VEVENT. 
* Events which are identical except for the start date are still represented as separate VEVENTs
The above doesn't quite conform to the spec; the spec says that repeat events of this form should:
* Have distinct UIDs
* All have a DTSTART of the first VEVENT (I don't understand why, but that's what it says)
* Have the RECURRENCE-ID be a DATETIME that is used as the actual DTSTART (Again, I don't understand why; if anything, it would make much more sense if the DTSTART was the actual event start, and the RECURRENCE-ID contained the UID of the first/parent event)
The UI for editing these events is a normal event edit box, but with a list of all instances of this event.  The user can select one or more of these events and make changes to those he has selected.  Fields that don't match in all selected events (e.g. if the title of one event was changed) are cleared; setting a new value overwrites all selected events.
Confirmed users, Bureaucrats and Sysops emeriti
792

edits

Navigation menu