You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

70 lines
2.4 KiB

Set of methods used for transactions:
PUBLISH:
- Publish a calendar entry to one or more users.
REQUEST:
- Used to schedule a calendar entry with other users.
- Require REPLY messages from others.
- Used by Organizers to update status of entries.
REPLY:
- Attendees use this to send information back to Organizers who have sent a
REQUEST message.
ADD:
- Add one or more instances to an existing entry.
CANCEL:
- Cancel a calendar item.
REFRESH:
- Attendee's use this to get the latest version of an item.
COUNTER:
- Used by an attendee to negotiate a change in a calendar entry.
DECLINE-COUNTER:
- Used by an organizer to decline a COUNTER message.
Transports:
Real-time vs. Store-and-forward?
Entry Status:
- Only the organizer can set the STATUS property
- Attendee's use the "partstat" parameter of the ATTENDEE property to convey
their personal status.
- Initial value of "partstat" is set to "NEEDS-ACTION" by organizer
- Modifying this state is part of an attendee's REPLY message.
Sequence Property:
- Used to tell manage different versions of an entry
- Has specific rules so look at these
Handling messages should be done in this manner:
1. The primary key for referencing a particular iCalendar component
is the "UID" property value. To reference an instance of a
recurring component, the primary key is composed of the "UID" and
the "RECURRENCE-ID" properties.
2. The secondary key for referencing a component is the "SEQUENCE"
property value. For components where the "UID" is the same, the
component with the highest numeric value for the "SEQUENCE"
property obsoletes all other revisions of the component with
lower values.
3. "Attendees" send "REPLY" messages to the "Organizer". For
replies where the "UID" property value is the same, the value of
the "SEQUENCE" property indicates the revision of the component
to which the "Attendee" is replying. The reply with the highest
numeric value for the "SEQUENCE" property obsoletes all other
replies with lower values.
4. In situations where the "UID" and "SEQUENCE" properties match,
the "DTSTAMP" property is used as the tie-breaker. The component
with the latest "DTSTAMP" overrides all others. Similarly, for
"Attendee" responses where the "UID" property values match and
the "SEQUENCE" property values match, the response with the
latest "DTSTAMP" overrides all others.