[calsify] JSCalendar and iCalendar scheduling

Robert Stepanek <rsto@fastmailteam.com> Mon, 15 March 2021 10:57 UTC

Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BE6413A0C1C for <calsify@ietfa.amsl.com>; Mon, 15 Mar 2021 03:57:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.119
X-Spam-Level:
X-Spam-Status: No, score=-2.119 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=HiXlPNa6; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=bNzfxyGB
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jTDrDimgRIEO for <calsify@ietfa.amsl.com>; Mon, 15 Mar 2021 03:57:02 -0700 (PDT)
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com [64.147.123.19]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C4CB3A0C18 for <calsify@ietf.org>; Mon, 15 Mar 2021 03:57:02 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 890191763 for <calsify@ietf.org>; Mon, 15 Mar 2021 06:57:01 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute4.internal (MEProxy); Mon, 15 Mar 2021 06:57:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=mime-version:message-id:date:from:to:subject :content-type; s=fm2; bh=dd5t5UsehSdoOqQd1vaCKMo2WVx5n+5f18VLKmN RZY8=; b=HiXlPNa6Y98rWrE1d98I1XLY+yzTPIRhZp9LFuEMcYhcGrUtJrSnNDq KtGmkouIZv8qI+ooFJLl9OJ1i5J0qlALPU0w9sWXwnuPZlWl3TVxBX1LSIKwA4Uq BUmqjAySOE0qYU8iIkdAYXsF4LgnsU/Y549MtE+90p8y+YodpTH0QIH+N2Rz8SVr yPIg800ngSzdHr30XXpn6wrNXg/cihpfEIB4cnUD66lAL4VAAR8kta99SlbUkTm0 kIJDiFbULj1po1aRcWsER1VfCrIc/x/N2/a4gkT2yWaP6TLD96bTRDcx90BfUWk3 E9F5hahFy7p5fGbOFi5iKlz1xbwFhSg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=dd5t5UsehSdoOqQd1vaCKMo2WVx5n +5f18VLKmNRZY8=; b=bNzfxyGBCfcM61RUrs172++ZC9TsDNy5i9M80iAL+OpcJ ySZT279JM3F/WLLbrx5bj5bxjUYduMPSxPYjp32wynp0t65TcfCcJr+hkJ3Ek4jj Lsq5gjjENEN0H/Ra/zsfhDJc4WCDzlGloXLg8HlkODPmW8ywUKA89b9toqahbFnj N5mJcLQtuzXrZK2MrXDV/lfPm7VRHDYt4la5SdlCn15sTodd8pohUNXcE8ioiQMV wkJeSoEEcc1cbTtSQJn+6dG5eFQozRsj+LCtK28/9VermbackoHY0aYdZo0wgrek eiTg5wC39/pjN46/aMebHj1v3C5ZVhcTxTbWRWCUQ==
X-ME-Sender: <xms:fD1PYEj-4qdkqkVX6jfapy9jjjNL6CzMw2NKmmV0xQKVT1UogP6hrg> <xme:fD1PYNAQcY4XPvriiGyQ8NnRsjQbXC_HbrJjOKUZ43FwTHj08Nokg-GNrPtRlpGCD _X_06rPrlIzlg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledruddvledgvdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfffhffvufgtsegrtderre erredtnecuhfhrohhmpedftfhosggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthhosehf rghsthhmrghilhhtvggrmhdrtghomheqnecuggftrfgrthhtvghrnhepgeeikeehkeehhe fhtdehvedvhffghfetudeljeetffdtkeeuleeufeevfedviedunecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprhhsthhosehfrghsthhmrghilh htvggrmhdrtghomh
X-ME-Proxy: <xmx:fD1PYMFgXxIIe7OhWQJCL6YwsG1vn7f_LspEVeh35oXXFEyhZ1nf7g> <xmx:fD1PYFQEWViVYmzFHmPkt74T9uHFj0oyZNkJOnFu1-f3FVm6r5VFnQ> <xmx:fD1PYBwUfqlzDJq-B6TyzA0gGiNddvhqnudwjC3PL-dw8u7Oc-VOMg> <xmx:fT1PYA_q6aQNykC0onMJGuFMadmD8b5hRfG7GzNPXt9JevGPuwZa5A>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 842FF260005D; Mon, 15 Mar 2021 06:57:00 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.5.0-alpha0-206-g078a48fda5-fm-20210226.001-g078a48fd
Mime-Version: 1.0
Message-Id: <627d96ce-f43f-46d2-9e0d-4f815e04e7f1@www.fastmail.com>
Date: Mon, 15 Mar 2021 11:56:40 +0100
From: Robert Stepanek <rsto@fastmailteam.com>
To: calsify@ietf.org
Content-Type: multipart/alternative; boundary="20ea55d7bbeb4b41911aa10bbb5987e1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/wDS1OTULSN05IFi429drAGR_NTU>
Subject: [calsify] JSCalendar and iCalendar scheduling
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Mar 2021 10:57:04 -0000

Before we publish draft-ietf-calext-jscalendar we want to be extra sure that both JSCalendar and iCalendar interoperate cleanly in scheduling. We discussed this in IETF 110 last week and I would like to now present a proposal that should address all raised concerns. Please let me know your feedback so that we can find consensus on this topic.

*ATTENDEE property value and Participant.sendTo*

The property value of an ATTENDEE maps to a single-valued sendTo property of a JSCalendar Participant. The method of the sendTo property value is determined by the URI scheme: a `mailto:` URI maps to to the `imip` method, any other URI scheme (or none) to `other`.

A sendTo property with only a single method maps to the ATTENDEE property value, irrespective of the method type. If the sendTo property has both `imip` and `other` entries, then the default is to map the `imip` method value to the ATTENDEE property value. The `other` entry is preserved by a (to be defined) iCalendar parameter. To override this heuristic, the calext-jscalendar-icalendar RFC will register a new Participant property that allows to explicitly state which method to use when mapping the ATTENDEE property value.

*EMAIL parameter and Participant.email*

The iCalendar EMAIL parameter maps to the email property of the Participant. If no EMAIL parameter is set then the email property is null, even if the iCalendar property value is a `mailto:` URI. Likewise, only the Participant email property maps to the EMAIL parameter, the `imip` sendTo method value never maps to EMAIL.

An ORGANIZER always maps to the replyTo property. if the ORGANIZER also has an EMAIL parameter then it also maps to a Participant, with the `email` property set and the role set to `owner`. Likewise if the ORGANIZER has a CN parameter.

*Participants and iTIP*

For iCalendar, the cardinality of ATTENDEE properties in a iTIP message is well defined. For example, a REPLY message must include exactly one ATTENDEE (except for delegating events).

For JSCalendar, a REPLY may contain multiple participants. One for the replying participant, and additional participants for any participants identified in the sentBy, invitedBy, delegatedFrom, delegatedTo and memberOf properties. To simply identify the originator of the iTIP message sender, either the calext-jscalendar-icalendar RFC or the calext-jscalendar RFC will define a new top-level property that defines the originating participant identifier. This property must only be set for iTIP messages.

A replying participant may need to define new participants (e.g. for a new delegate). It must choose an unused participant identifier for each new entry. The organizer of the event may need to resolve duplicate participant ids from multiple replies and may assign new participant ids. Consequently, clients must be prepared to deal with new participant ids for each sequence of an event.