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

Michael Douglass <mikeadouglass@gmail.com> Wed, 17 February 2021 04:35 UTC

Return-Path: <mikeadouglass@gmail.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 A74B03A1496 for <calsify@ietfa.amsl.com>; Tue, 16 Feb 2021 20:35:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.098
X-Spam-Level:
X-Spam-Status: No, score=-1.098 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, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 IV4_tff89O-2 for <calsify@ietfa.amsl.com>; Tue, 16 Feb 2021 20:34:59 -0800 (PST)
Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E578E3A1491 for <calsify@ietf.org>; Tue, 16 Feb 2021 20:34:58 -0800 (PST)
Received: by mail-qt1-x835.google.com with SMTP id w20so8734135qta.0 for <calsify@ietf.org>; Tue, 16 Feb 2021 20:34:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=yL5pmFc5ZRxCu91Z3C/qYrFCKMDW2AZ0ynEdJEnnd5A=; b=byVnC1pcHULtCDlzOyuiUp4VQMipgVO9ljHxAfjEr08Vlk+GqMBNRSM+s073UJsvil IPRgJHMJGacxNxRSq2jf6KKI6q5VsOc+KKxB6257xdrTdI6IF5uI+9HFz/ciPFkfOPws /vrscgk8szLzzI0xAvGMy6XPnfO4IYeggm/r9opDNPdy/oLrV3omQeOHIhwMw0DShV8P kQ/RtueZP0n2LsJhsLF/oDD2wDGjXtTS17YWkalRYPVZyPupUvwikCz9wZ73aD6Fdt+J VGeNtcLfr2lbnATVgLDkV9lfdEUURRI+4AbPybhpqykCysMexXwYDr+Ofck1K43/VeC+ wzYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=yL5pmFc5ZRxCu91Z3C/qYrFCKMDW2AZ0ynEdJEnnd5A=; b=JCAgKHJuMR4fqzMmekzK8zfxuLDeLYzDjcJV0eiayR2tJe9txokzPL89sET53nxKWT RYlWzvhBHDL0jflIQpoh5RqLI6IRBInrz/6Y/qmWrdZeiS8EEDI5WcO48HzK3HTX2C19 5P9YQzr4JFIm+Td/umkpNrWLIF9CqU8OTjPKsPbsNkp84F+Xo1tZwhpNitO4LlURIDKJ 5XAeWxcTHGLzIMTuKxVtkYJAhSathwATbsxs65IDyG2beOR0+dUVqMauoHYpBq/VvbnZ YPPIdVhO5T+kIa5u7JVi70Sc2L5xtmQFZpdlWy8ZJ6m71bmiHGxwUJhdVPPm3Hn3UnPZ MyZA==
X-Gm-Message-State: AOAM532Wj9o0vGBArZk4+YYBn5gxs3/YqASw1IXf0EMBKwsM+sPTk5Hv PeblI4g3VdrwNw37Aj+7XA6ncNioweA=
X-Google-Smtp-Source: ABdhPJwU3E0uXz4ljFz6R5NzE4d1EcgIhKIUcS1dBffFoSyx9yz41YSY9xyFehAkQe2oGXd9f32YOA==
X-Received: by 2002:ac8:6c5d:: with SMTP id z29mr22188189qtu.145.1613536497426; Tue, 16 Feb 2021 20:34:57 -0800 (PST)
Received: from [192.168.1.150] (cpe-74-70-70-237.nycap.res.rr.com. [74.70.70.237]) by smtp.googlemail.com with ESMTPSA id f188sm850821qkj.110.2021.02.16.20.34.56 for <calsify@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Feb 2021 20:34:56 -0800 (PST)
To: calsify@ietf.org
References: <cf63883d-e134-62ea-3e53-af6945b755e1@gmail.com> <f3631111-c3d7-46e1-b83a-2e994621a799@dogfood.fastmail.com> <d240c4fe-1961-4493-97e2-f9b3e5c13668@www.fastmail.com> <d2de6358-9994-4d41-aa6c-1258e5ff2d0b@dogfood.fastmail.com>
From: Michael Douglass <mikeadouglass@gmail.com>
Message-ID: <e5f6b4ba-f5de-b18a-2705-7d7c11abdc03@gmail.com>
Date: Tue, 16 Feb 2021 23:34:55 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0) Gecko/20100101 Thunderbird/78.6.1
MIME-Version: 1.0
In-Reply-To: <d2de6358-9994-4d41-aa6c-1258e5ff2d0b@dogfood.fastmail.com>
Content-Type: multipart/alternative; boundary="------------B8B48F244AA39348CE0DEE03"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/tYkDzj39HrfL5RXhXS6gW87okuk>
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: Wed, 17 Feb 2021 04:35:02 -0000

On 2/16/21 21:50, Neil Jenkins wrote:
> On Wed, 17 Feb 2021, at 04:17, Robert Stepanek wrote:
>>> For example I might have an ATTENDEE that looks like
>>> ATTENDEE;CN=Michael 
>>> Douglass;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;ROLE=CHAIR;EMAIL=mikeadouglass@gmail.com 
>>> <mailto:mikeadouglass@gmail.com>:/aMzkzNTI4MzkzNTI4MzkzNQPuXCcDTdG5iXfOhcljjCSqMYrUXDcs6f1z7CyXejTR/principal/
>> 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.
>>
>> 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.
>
> My reading of the current RFCs, although I think they are not super 
> clear, is that the calendar user address is the only "sendTo" method. 
> An email may be specified in addition but this is not intended as an 
> iMIP destination (so would not be in the JSCalendar sendTo, just the 
> participant's email property). Is your interpretation that the 
> calendar user address is more like a uid? If so, can you use it for 
> anything other than as an opaque token for equality comparison?

5545 only requires that the calendar address be a URI - it does not 
require it be a mailto URI - UNLESS it is used as the destination for email.

The ATTENDEE and ORGANIZER properties typically had a mailto uri as a 
value. When it was decided that the value should NOT be a mailto there 
was clearly a need for somewhere to put the address of the user so iMip 
could be sent - that's the EMAIL parameter. I don't see anything that 
suggests the calendar-address is no longer the identifier for the property.

5545 and 5546 very likely have no mention of an email address other than 
the mailto uri in the value because there was no EMAIL parameter at the 
time.

>
>> 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.
>
> It seems a bit weird to me that you would have unresolvable 
> identifiers like this (they don't seem particularly useful).
Any UID is intended to be an unresolvable identifier - doesn't make them 
any less useful.
> I'd also say that you'd be making the JSCalendar object more awkward 
> to work with (you'd have to linearly scan or build a separate index to 
> get from one of these pointers to the participant it refers to). I 
> would generally say a slightly more cumbersome translation is 
> preferable to all objects in the new format being harder to use.
It was precisely because I was having to do that that I raised the 
issue. The jscalendar spec DOES NOT specify that the id for a 
participant is the calendar address and the examples don't show it either.

What concerns me is that jscalendar seems to be essentially rewriting 
iTip - perhaps not intentionally.

We currently have 2 'properties' - the iCalendar attendee value - a 
calendar user address and an email address which may be the same or 
specified in the EMAIL parameter.

I do believe the EMAIL parameter to be underspecified but nothing in the 
text leads me to believe it is intended to replace the calendar address.

If we add a jscalendar calendarAddress property the mapping is simple 
and what works now will continue to work.

We *could* try some experiments and mess around with the values but if 
we don't have an easy reversible mapping between jscalendar and 
icalendar things will almost certainly break.


>
> Neil.
>
> _______________________________________________
> calsify mailing list
> calsify@ietf.org
> https://www.ietf.org/mailman/listinfo/calsify