[CalendarServer-changes] [15345] CalendarServer/trunk/doc
source_changes at macosforge.org
source_changes at macosforge.org
Fri Nov 20 10:01:30 PST 2015
Revision: 15345
http://trac.calendarserver.org//changeset/15345
Author: cdaboo at apple.com
Date: 2015-11-20 10:01:30 -0800 (Fri, 20 Nov 2015)
Log Message:
-----------
Adding notes on various topics.
Added Paths:
-----------
CalendarServer/trunk/doc/Notes/
CalendarServer/trunk/doc/Notes/attendee-import.txt
CalendarServer/trunk/doc/Notes/index.txt
CalendarServer/trunk/doc/Notes/x-items.txt
Added: CalendarServer/trunk/doc/Notes/attendee-import.txt
===================================================================
--- CalendarServer/trunk/doc/Notes/attendee-import.txt (rev 0)
+++ CalendarServer/trunk/doc/Notes/attendee-import.txt 2015-11-20 18:01:30 UTC (rev 15345)
@@ -0,0 +1,29 @@
+Attendees importing iCalendar data from external sources
+========================================================
+
+This note documents how the server handles various scenarios in which the attendee imports some external iCalendar data. The iCalendar data may or may not contain an `ORGANIZER` property which itself may refer to either an internal (local to the server) or external organizer. Once the import is done, the question then arises as to what happens if subsequent scheduling operations are done. In particular, what happens if an internal organizer uses the same `UID` property value in an invite to the attendee.
+
+Import scenarios:
+
+1. Attendee stores event with external organizer with their attendee property:
+ - The server allows any change except for changing the organizer
+
+2. Attendee stores event with external organizer without their attendee property:
+ - The server allows any change except for changing the organizer
+
+3. Attendee stores event with internal organizer (SCHEDULE-AGENT=SERVER) with their attendee property present:
+ - The server will reject this
+
+4. Attendee stores event with internal organizer but without their attendee property, then gets invited by server organizer:
+ - The server will coerce the attendee PUT data to have SCHEDULE-AGENT=NONE
+ - The server will overwrite the attendee PUT data with the organizer's invite
+
+5. Attendee stores event with no organizer, then gets invited by server organizer:
+ - The server will rename the existing resource and give it a new UID
+ - The server will deliver the organizer's new invite
+
+6. Attendee stores event with internal organizer (SCHEDULE-AGENT=NONE) with their attendee property present:
+ - The server will overwrite the existing attendee resource with the organizer's new invite.
+
+7. Attendee stores event with internal organizer (SCHEDULE-AGENT=NONE) without their attendee property present:
+ - The server will overwrite the existing attendee resource with the organizer's new invite.
Added: CalendarServer/trunk/doc/Notes/index.txt
===================================================================
--- CalendarServer/trunk/doc/Notes/index.txt (rev 0)
+++ CalendarServer/trunk/doc/Notes/index.txt 2015-11-20 18:01:30 UTC (rev 15345)
@@ -0,0 +1,6 @@
+Calendar Server Notes
+=====================
+
+* Processing of X- properties and parameters during scheduling: x-items.txt
+
+* How the server handles the case where an attendee imports iCalendar data from some other sources and how that impacts scheduling when internal (local to the server) and external organizers are involved: attendee-import.txt
Added: CalendarServer/trunk/doc/Notes/x-items.txt
===================================================================
--- CalendarServer/trunk/doc/Notes/x-items.txt (rev 0)
+++ CalendarServer/trunk/doc/Notes/x-items.txt 2015-11-20 18:01:30 UTC (rev 15345)
@@ -0,0 +1,62 @@
+Whitelist for X- properties and parameters
+==========================================
+
+This note describes how CalendarServer supports X- properties and parameters during scheduling operations with regard to its configuration options that allow control of how the X- items are transmitted between organizers and attendees.
+
+The relevant config options are:
+
+ # Names of X- properties sent from ORGANIZER to ATTENDEE
+ Scheduling.CalDAV.OrganizerPublicProperties
+
+ # Names of X- parameters sent from ORGANIZER to ATTENDEE
+ Scheduling.CalDAV.OrganizerPublicParameters
+
+ # Names of X- properties sent from ATTENDEE to ORGANIZER
+ # These are also implicitly added to OrganizerPublicProperties
+ Scheduling.CalDAV.AttendeePublicProperties
+
+ # Names of X- parameters sent from ATTENDEE to ORGANIZER
+ # These are also implicitly added to OrganizerPublicParameters
+ Scheduling.CalDAV.AttendeePublicParameters
+
+ # Names of properties that are preserved for an Attendee
+ Scheduling.CalDAV.PerAttendeeProperties
+
+Notes:
+
+OrganizerPublicProperties and OrganizerPublicParameters can be added by
+the organizer and are sent to all attendees, but attendees cannot change
+them.
+
+AttendeePublicProperties and AttendeePublicParameters can be added by
+either organizer or attendee and are sent to everyone and can be changed
+by everyone, subject to limitations for attendees noted below.
+
+Behaviors:
+
+ORGANIZER->ATTENDEE
+-------------------
+All non X- properties are sent to ATTENDEE
+All X- properties are removed other than those in
+ OrganizerPublicProperties and AttendeePublicProperties
+All non X- params on properties being sent are sent to the ATTENDEE
+All X- params are removed from sent properties except for those in
+ OrganizerPublicParameters and AttendeePublicParameters
+
+ATTENDEE->ORGANIZER
+-------------------
+A limited set of non X- properties are sent to ORGANIZER (only the
+ attendee's own ATTENDEE is sent)
+All X- properties are removed other than those in whitelist
+All non X- params on properties being sent are sent to the ORGANIZER
+All X- params are removed from sent properties except for those on whitelist
+
+ATTENDEE updating their copy of event
+-------------------------------------
+The calendar server merges specific properties from an ATTENDEE PUT request into the
+copy of the iCalendar data on the server:
+
+Specific non X- properties are updated (e.g. TRANSP, attendee's own ATTENDEE property)
+Only X- properties in whitelist are updated
+All non X- parameters are always included in copied properties
+Only X- parameters in whitelist are included in copied properties
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20151120/449d770c/attachment.html>
More information about the calendarserver-changes
mailing list