Re: [calsify] draft-ietf-calext-jscalendar and participants

Robert Stepanek <rsto@fastmailteam.com> Tue, 16 February 2021 17:17 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 A95173A0C6C for <calsify@ietfa.amsl.com>; Tue, 16 Feb 2021 09:17:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.8
X-Spam-Level:
X-Spam-Status: No, score=-2.8 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_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, 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=UlqzQjg2; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=pJBaHFsT
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 iLQXOr_zMf5m for <calsify@ietfa.amsl.com>; Tue, 16 Feb 2021 09:17:42 -0800 (PST)
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4CF263A0C5B for <calsify@ietf.org>; Tue, 16 Feb 2021 09:17:42 -0800 (PST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 81E64B25 for <calsify@ietf.org>; Tue, 16 Feb 2021 12:17:41 -0500 (EST)
Received: from imap7 ([10.202.2.57]) by compute4.internal (MEProxy); Tue, 16 Feb 2021 12:17:41 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=mime-version:message-id:in-reply-to :references:date:from:to:subject:content-type; s=fm2; bh=Rb7wsQ+ 7zf/Am4+9bGusgq9qRM+1D6WyWLfYXqPNAz8=; b=UlqzQjg2PWu9OlTaXO12xMP agp1YugGoFZtllSEtHEApJUjkIRN1tCFlv6iAOdRDHUbPkQzq+ML25dQuD/XYMgj 2HffTe53kl/IQEGyh8VZJ/tAtxetEFF+2d3EMzLsHhPJgQs4eg24NeTfi9sOjVY2 ifLY5n/IbfOaMd3yWWlPPLbuMu8hudL5CvEYHY294LmD4G4lx/FZ1vFv0n/isV9d I3cr5vY15QtHq5j8zu+zl39dUHfMlJXz4YKxBOot/xeqW2tF57oAJaCtgR138G28 PpGzF9fGFowCFpfAMlLVUjyqxCqTX2WotsgVU4okjUPKkvVBqAWLN2QODm0PpzQ= =
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=Rb7wsQ +7zf/Am4+9bGusgq9qRM+1D6WyWLfYXqPNAz8=; b=pJBaHFsTz1rDrQVfFcCua5 lhZM9bpDiHtPvvWWLLvh0dP3BSBFhCgTF3p9NY7VtGlJDyxuXYb3v8gM5t1F/VEz cl9MlNu6QBHncBZa2SA8uhgd7UraLcjTkTPvSGqWV85t14tKZt2zj3HdzVh/+Tat IRo7AJQE/Kv1jKb+H54MYtG6e1AzaG4Q71EXh+7SvEf0i5tUk2vbZNl09CuWp3aJ JxeMSra6UZWtkpTgtHBrRkH4XZzkYSVoorYQ0RL/rwfMppMWnMtbknqy29oOCfeF 3wad2v93GlUmsEPwhvMoucUX0fnguAsJDbm/oIKIvhRlEWYYDyomd+o6j7KUOt5A ==
X-ME-Sender: <xms:M_4rYE2bqW9PaUX719TpxxMePQqdILysOrQPGEnplo5mbRKdxae4Xg> <xme:M_4rYPFpsCWWIVtlz6yux23DLR4WYgU1cVUymXRvjVohe8W8cq3tSwvD4uuhOP6hF oaIeaNh_aFVRA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrjedtgdellecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgesrgdtre erreerjeenucfhrhhomhepfdftohgsvghrthcuufhtvghprghnvghkfdcuoehrshhtohes fhgrshhtmhgrihhlthgvrghmrdgtohhmqeenucggtffrrghtthgvrhhnpeeijefhvefgge ekleetieeuuefgtdfhveetvdeileelveelueekjeffgffhgeeuueenucffohhmrghinhep ihgvthhfrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomheprhhsthhosehfrghsthhmrghilhhtvggrmhdrtghomh
X-ME-Proxy: <xmx:M_4rYM751ypf1KTOkclNkPd0Y2QwD7OpSWJp8xKFiH632pMRSpBC6Q> <xmx:M_4rYN3cL3smIA0hosbsr9-p6zs5UeFN67ZCLfj2RPURTKDbhXDtWQ> <xmx:M_4rYHFcz_HIJyxFkwYXjKZpnOsIPQPbKZQbCwxJGMcDwHxMzBoG6w> <xmx:NP4rYLRCw43kCz3dFYmlndNDuB5MdvDdiLowSpzKzOG_O2W7k7RNYQ>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 55D3836005C; Tue, 16 Feb 2021 12:17:39 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.5.0-alpha0-141-gf094924a34-fm-20210210.001-gf094924a
Mime-Version: 1.0
Message-Id: <d240c4fe-1961-4493-97e2-f9b3e5c13668@www.fastmail.com>
In-Reply-To: <f3631111-c3d7-46e1-b83a-2e994621a799@dogfood.fastmail.com>
References: <cf63883d-e134-62ea-3e53-af6945b755e1@gmail.com> <f3631111-c3d7-46e1-b83a-2e994621a799@dogfood.fastmail.com>
Date: Tue, 16 Feb 2021 18:17:05 +0100
From: "Robert Stepanek" <rsto@fastmailteam.com>
To: calsify@ietf.org
Content-Type: multipart/alternative; boundary=0c93d4634df74358ae9cbf56782ad3e9
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/icrHCc-60hSEOA6DExo9K90rW4I>
Subject: Re: [calsify] draft-ietf-calext-jscalendar and participants
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: Tue, 16 Feb 2021 17:17:45 -0000

On Tue, Feb 16, 2021, at 12:06 AM, Neil Jenkins wrote:
> On Tue, 16 Feb 2021, at 04:29, Michael Douglass wrote:
>> I ran into a problem mapping iCalendar ATTENDEE onto jscalendar participants.

>> For example I might have an ATTENDEE that looks like

>> ATTENDEE;CN=Michael Douglass;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;ROLE=CHAIR;EMAIL=mikeadouglass@gmail.com:/aMzkzNTI4MzkzNTI4MzkzNQPuXCcDTdG5iXfOhcljjCSqMYrUXDcs6f1z7CyXejTR/principal/

>> The value is a URI but certainly not an email address.

>> Additionally the value is used as a unique key to the attendee - something we don't have clearly defined in jscalendar. 

> 
> Unless I'm missing something, that's just the participant id (i.e. the key in the participants object).

The difference is that the participant id has no meaning outside a single JSEvent. But a calendar user address is an identifier for an entity across events.

> 
>> I suggest we add a calendarAddress property which maps on to the value of the ORGANIZER or ATTENDEE properties.

> 
> I don't see the purpose of this proposed property.

It allows for unambigously mapping the ATTENDEE or ORGANIZER property value to JSCalendar and reverse. It's not clear from a multi-valued sendTo property which one should be used as the property value.

There is one other benefit of making more use of calendar user addresses in JSCalendar: the DELEGATED-FROM, DELEGATED-TO, MEMBER-OF, SENT-BY parameters all use calendar user addresses. But in JSCalendar we use participant ids for these properties. If a DELEGATED-FROM calendar user address has no ATTENDEE in iCalendar, we would need to create an artificial participant in JSCalendar. This participant could have an "informational" role, expectReply=false, because it's really not a participant. When mapping back to iCalendar we would need to figure out if to create an ATTENDEE for that. When we use calendar user addresses rather than participant ids for these properties then there is no ambiguity.


>> The "calendarAddress" and "email" properties can then match the behavior specified for the EMAIL parameter and ORGANIZER/ATTENDEE values - 

>>    Description:  This property parameter MAY be specified on "ORGANIZER"
      or "ATTENDEE" properties.  This property can be used in situations
      where the calendar user address value of the "ORGANIZER" and
      "ATTENDEE" properties is not likely to be an identifier that
      recipients of scheduling messages could use to match the calendar
      user with, for example, an address book entry.  The value of this
      property is an email address that can easily be matched by
      recipients.  Recipients can also use this value as an alternative
      means of contacting the calendar user via email.  If a recipient's
      calendar user agent allows the recipient to save contact
      information based on the "ORGANIZER" or "ATTENDEE" properties,
      those calendar user agents SHOULD use any "EMAIL" property
      parameter value for the email address of the contact over any
      mailto: calendar user address specified as the value of the
      property.  Calendar user agents SHOULD NOT include an "EMAIL"
      property parameter when its value matches the calendar user
      address specified as the value of the property.
>> 

>> While I appreciate the intent of the jscalendar sendTo I'd suggest it's in general unnecessary to specify iMip - iMip is sending email with a calendar attachment and it goes to the email address.

> 
> No, there is a difference:
>  * Participant email property: this is the person's email address and can be used if you want to send them an email.
>  * sendTo imip property: the user a) accepts calendar updates via iMIP; b) at this address (which may or may not be the same as the email – it may be a calendar-specific address that's just used for iMIP).
> 
>> Additional to all this I realised there is no clear mapping for the SENT-BY parameter. This is used on ATTENDEE and ORGANIZER when somebody else sends on behalf of the participant. I suggest we add a "sentBy" jscalendar property for participants.

> 
> Sure.
> 
>> I believe there's no mapping for the jscalendar "invitedBy" from iCalendar - is that so?

> 
> Potentially not, we can register a new iCalendar property.
> 
> Neil.
> _______________________________________________
> calsify mailing list
> calsify@ietf.org
> https://www.ietf.org/mailman/listinfo/calsify
>