Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Implement "implicit scheduling", ensure that data for an event is the consistant for all attendees #194
The server needs ensure that the meeting is in a consistant state, so that if the organizer's copy shows cancelled, the attendees' copy is updated. Right now, we rely on the client to request that the server update the attendee's copies.
The CalDAV schedule spec doesn't currently require servers to ensure this happens, but it doesn't seem to forbid it either. Per TC-CalDAV calls, we're considering revising the spec to require this and possibly eliminate the need for the client to even request messaging through the outbox for the REQUEST and REPLY iTIP methods.
It can be up to clients to decide whether cancelled meetings are deleted, in which case, if it is un-cancelled, the server would put a "new" proposal in your inbox for acceptance, etc.
For example, a PUT of an event on a calendar should immediately schedule a fan-out operation which results in the event being updated for each attendee and an iTIP notice dropped into their inboxes (so that clients know to tell the user of the change). A similar thing should happen when an attendee changes their status.
On our server, there remains some risk here that the data is not consistent if the fan-out processing is interrupted. The server should have some way to persistently indicate that an event needs fan-out and then clear that when the operation is done.