Re: [calsify] I-D Action: draft-ietf-calext-jscalendar-26.txt

Michael Douglass <mikeadouglass@gmail.com> Fri, 03 April 2020 22:55 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 91CE33A0DB9 for <calsify@ietfa.amsl.com>; Fri, 3 Apr 2020 15:55:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.087
X-Spam-Level:
X-Spam-Status: No, score=-2.087 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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01, URIBL_BLOCKED=0.001] autolearn=ham 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 xah3yjz-sW7b for <calsify@ietfa.amsl.com>; Fri, 3 Apr 2020 15:55:03 -0700 (PDT)
Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com [IPv6:2607:f8b0:4864:20::f2a]) (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 6DE443A0DB4 for <calsify@ietf.org>; Fri, 3 Apr 2020 15:55:03 -0700 (PDT)
Received: by mail-qv1-xf2a.google.com with SMTP id n1so4490199qvz.4 for <calsify@ietf.org>; Fri, 03 Apr 2020 15:55:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=P592uH0fQh7QUy/W+y2cqOuTL46/BUe63ArlLpJnL3I=; b=V95z1k0VpGIDaqDEGfreELIWtTosZICqry1UNOZ3w35enKBcXGUzE2aaUTe3Zqkbyj VjeNBgkgTZttpJdd1CpF03wriErdSRVZQ1w+jIFtn6vkj0JHOtZh72S1ZP2FjToCEVOz JpA3bt62QCP2c6/M1mUlX6j+92Zu4doBULJPGeTl2avTcqsv7U6oF/OoAErN7PX0SZg2 U9Xa47bSS7r0jH0de79SlA5PcOrR/UNGKfkHEbleIxuFA6CdCpMZKQQYaJn9+tamM8gK QG0lhM05HZBeLtBjtWlOM2vuOjgfOs9FL/k0IuzemyjOqSelbWMoRckO8aWyt/OjtKSx ZAnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=P592uH0fQh7QUy/W+y2cqOuTL46/BUe63ArlLpJnL3I=; b=X4LK+k3du86mygplmfBTUuO2YtMT8JNAkhU0/8Oy2EcIZ7elZmVZcspim78fKFQt/z qKMDBIyg887voblJWe96nVSTzHA+9AVJyCp6SRGq+exTJX/bbigfZtwPCwoNWOnvHXlk Nb078WX8N4cgv4Ag0ynR0OAtROWWyuQCat6/5HLGs1MTFjFRFUHrdEHNwPpbbsqI6Mjd 6Ppam+tYs+vmAzBcvyYe9YPWImO77P4viNEMkdpT3GV+CXK3fbWRuS5h/Xu7fUJ2CZev UVNY0fNOcb1nCbPBZryD8fe5rTx3dALzf9M9JaGw4Gsjqu13QBJ13woYKVyFH3t2erzl vBRA==
X-Gm-Message-State: AGi0PubOHcLIyzNS2KPMsIDdegoTA/zGBr229LeG54oDHSOCPBmTHx2U krwQ8ooK91W3AfiKfr1TQSjm8IaJWDg=
X-Google-Smtp-Source: APiQypLDCGL69PooSkXGhKtZIFYdGC0S18qsW6Ck4pc+M7pG15y6Tkuy14Esl4WCMo9fIIgOdyEkrw==
X-Received: by 2002:a05:6214:801:: with SMTP id df1mr10775504qvb.73.1585954502154; Fri, 03 Apr 2020 15:55:02 -0700 (PDT)
Received: from MBP-2019.nycap.rr.com (cpe-74-70-80-66.nycap.res.rr.com. [74.70.80.66]) by smtp.googlemail.com with ESMTPSA id n124sm714629qke.104.2020.04.03.15.55.01 for <calsify@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 03 Apr 2020 15:55:01 -0700 (PDT)
From: Michael Douglass <mikeadouglass@gmail.com>
To: calsify@ietf.org
References: <158363619759.25642.15164071767646081255@ietfa.amsl.com> <ac23c153-f999-4743-b1c8-954c51bdbf9d@gmail.com> <89e9d6f2-9632-6c17-adfc-0a1977f15fcc@gmail.com>
Message-ID: <5db6d2e1-8512-5f32-94d0-6f7057481a3d@gmail.com>
Date: Fri, 03 Apr 2020 18:55:01 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.6.0
MIME-Version: 1.0
In-Reply-To: <89e9d6f2-9632-6c17-adfc-0a1977f15fcc@gmail.com>
Content-Type: multipart/alternative; boundary="------------A205ADD10AF68BE5BE092969"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/9QIJvxmULjAcVlmHiZgKNNtinpI>
Subject: Re: [calsify] I-D Action: draft-ietf-calext-jscalendar-26.txt
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: Fri, 03 Apr 2020 22:55:07 -0000

On 4/3/20 17:29, Michael Douglass wrote:
>
> Further comments below
>
> On 4/2/20 19:06, Michael Douglass wrote:
>>
>> I have to apologize for the lateness of these issues I want to raise 
>> but I've started implementing the mapping of icalendar to JSCalendar 
>> and I'm already running into some problems.
>>
>> I've only looked at a few properties so far.
>>
>> In general - while I initially thought an informational spec would be 
>> fine for describing the mappings - I'm now of the opinion it has to 
>> be mandated where possible. Otherwise we're going to have a whole 
>> mess of incompatible implementations.
>>
>> Privacy <-> CLASS
>>
>> The first was the use of "secret" instead of "confidential" for the 
>> privacy property. The result is that a simple conversion to lowercase 
>> for jscalendar isn't sufficient. I know neither authors want to 
>> change at this late stage but I mention it (again) because this will 
>> be a perpetual annoyance.
>>
>> link <->ATTACH, IMAGE, URL
>>
>> ATTACH and IMAGE seem fine (reltype of enclosure and icon resp.) but 
>> URL doesn't.
>>
>> The description of rel has this:
>>
>>    Links with a rel of "describedby" SHOULD be considered by the
>>        client to be an alternative representation of the description.
>>
>> Is that supposed to be the same as URL - it doesn't match the 
>> description for URL in 5545?
>>
>> I think the spec needs to explicitly state that URL MUST be 
>> represented by a link with a given rel - I'd suggest "alternate" 
>> because that seems closer to what is intended in 5545.
>>
>>
>> comments <-> COMMENT
>>
>> comments is only specified for timezone rules. It needs to be valid 
>> for all or some indication of how to handle them needs to be provided.
>>
>> There is an issue in 5545 with COMMENT in scheduling e.g. is a 
>> comment meant only for the organizer? That could be tightened up.
>>
> CONTACT
>
> There's no mapping suggested. CONTACT is vital for event publication. 
> I'd suggest following the approach in eventpub - add a participantType 
> property to participant
>
Having looked again I thought this could probably be handled just by 
changing the wording for participant as I suggested and extending the 
roles values. However I think that's conceptually more complicated,

"participantTypes": {"attendee": true}

"roles": {"optional": true}

is easier to understand than

"participantTypes": {"optional": true}

implying this is an optional attendee.

Changing role "attendee" to "required" or "expected" might make sense

> participantTypes: "String[Boolean]" (mandatory)
>
> Defines the type of participation in
> events or tasks.  Participants can be individuals or
> organizations, for example attendees, a soccer team, the spectators, or the
> musicians.
>        At least one type MUST be specified for the participant.  The keys
>        in the set MUST be one of the following values, a value registered
>        in the IANA JSCalendar Enum Registry, or a vendor-specific value:
>
>        *  "attendee": A participant attending a meeting.
>
>        *  "active": A participant taking an active role - for example a team
>           member.
>
>        * "inactive":  A participant taking an inactive part - for example an
>        audience member.
>
>        * "sponsor":  A sponsor of the event.  The order property may be used
>          with this participant type to define the relative order of
>          multiple sponsors.
>
>        * "contact":  Contact information for the event.  The order property may
>          be used with this participant type to define the relative order of
>          multiple contacts.
>
>
>        * "booking-contact":  Contact information for reservations or payment
>
>        * "emergency-contact":  Contact in case of emergency
>
>        * "publicity-contact":  Contact for publicity
>
>        * "planner-contact:  Contact for the event planner or organizer
>
>        * "performer":  A performer - for example the soloist or the accompanist.
>        The order property may be used with this participant type to
>        define the relative order of multiple performers.  For example,
>        "order": 1 could define the principal performer or soloist.
>
>        * "speaker":  Speaker at an event
>
> Change the participant description:
> ...
>     If this property is set with a participant type of "attendee", then the "replyTo" property of this calendar
>     object MUST define at least one reply method.
> ...
>     o  roles: "String[Boolean]" (mandatory for participantType = "attendee")


I've got another question on mapping:

In your mapping draft you say:

An iCalendar ORGANIZER maps to both the replyTo property and a
    participant with role "owner".  If an ATTENDEE with the same CAL-
    ADDRESS value exists, then it maps to the same participant as the
    ORGANIZER participant.

What if the attendee and organizer have different SENT-BY parameters? 
And what is SENT-BY mapped to?

I think the 2 ought to be kept separate.

>   
>>
>> GEO, PERCENT-COMPLETE
>>
>> What are we supposed to do with these?
>>
>> updated <-> DTSTAMP, LAST-MODIFIED
>>
>> I don't understand why 5545 has 2 values - however I think we need a 
>> better statement of how to map 2 values on to 1 - something about the 
>> later of the 2?
>>
>> More to follow...
>>
>>
>> On 3/7/20 21:56, internet-drafts@ietf.org wrote:
>>> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>>> This draft is a work item of the Calendaring Extensions WG of the IETF.
>>>
>>>          Title           : JSCalendar: A JSON representation of calendar data
>>>          Authors         : Neil Jenkins
>>>                            Robert Stepanek
>>> 	Filename        : draft-ietf-calext-jscalendar-26.txt
>>> 	Pages           : 77
>>> 	Date            : 2020-03-07
>>>
>>> Abstract:
>>>     This specification defines a data model and JSON representation of
>>>     calendar data that can be used for storage and data exchange in a
>>>     calendaring and scheduling environment.  It aims to be an alternative
>>>     and, over time, successor to the widely deployed iCalendar data
>>>     format, and to be unambiguous, extendable, and simple to process.  In
>>>     contrast to the jCal format, which is also JSON-based, JSCalendar is
>>>     not a direct mapping from iCalendar, but defines the data model
>>>     independently and expands semantics where appropriate.
>>>
>>>
>>> The IETF datatracker status page for this draft is:
>>> https://datatracker.ietf.org/doc/draft-ietf-calext-jscalendar/
>>>
>>> There are also htmlized versions available at:
>>> https://tools.ietf.org/html/draft-ietf-calext-jscalendar-26
>>> https://datatracker.ietf.org/doc/html/draft-ietf-calext-jscalendar-26
>>>
>>> A diff from the previous version is available at:
>>> https://www.ietf.org/rfcdiff?url2=draft-ietf-calext-jscalendar-26
>>>
>>>
>>> Please note that it may take a couple of minutes from the time of submission
>>> until the htmlized version and diff are available at tools.ietf.org.
>>>
>>> Internet-Drafts are also available by anonymous FTP at:
>>> ftp://ftp.ietf.org/internet-drafts/
>>>
>>>
>>> _______________________________________________
>>> calsify mailing list
>>> calsify@ietf.org
>>> https://www.ietf.org/mailman/listinfo/calsify