[calsify] draft-ietf-calext-jscalendar - thoughts

Doug Royer <douglasroyer@gmail.com> Sat, 11 May 2019 17:53 UTC

Return-Path: <douglasroyer@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 A26D012004A for <calsify@ietfa.amsl.com>; Sat, 11 May 2019 10:53:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1
X-Spam-Level:
X-Spam-Status: No, score=-1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 PDdZTTCfwjLD for <calsify@ietfa.amsl.com>; Sat, 11 May 2019 10:53:45 -0700 (PDT)
Received: from mail-it1-x12f.google.com (mail-it1-x12f.google.com [IPv6:2607:f8b0:4864:20::12f]) (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 31C18120026 for <calsify@ietf.org>; Sat, 11 May 2019 10:53:45 -0700 (PDT)
Received: by mail-it1-x12f.google.com with SMTP id 9so7059694itf.4 for <calsify@ietf.org>; Sat, 11 May 2019 10:53:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:organization:message-id:date:user-agent :mime-version; bh=9gSnoqfNZwGGesfUAq/kNoaIZvluzISIEC79jsOxoIo=; b=FTlCu6Auj58ermJhqx9im0wzGavurcKi4a9SSdSgUFUcIM5gYUpBm3wgFmS04jRCLk dgS74vqAkVPW9Jy58EdG7kSSQkVHfq0/oqazpYIe2FO3eMYvKAR9MZVtaL+IbtrIHB76 LZNnSA0ylRbUcUBKlQvqPbCIGdCCOeTEXEMJDMeSd4S9G6bNvOQJaxWNWRDOuqurli39 5BVsoS8knIEDLfotaTyIdQbyzwq+eCDLdQpAAjPHDsxAf6MekAio7wV/ZJU8LrVX+/Ng xvNIElcSx0FzSUF3wKiPeL/fTqSWv+jrP0LlkxcQtKIK9HtSmON5YN6wPLjtG3zi3DjY P9Lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:organization:message-id:date :user-agent:mime-version; bh=9gSnoqfNZwGGesfUAq/kNoaIZvluzISIEC79jsOxoIo=; b=niOczVy5zL4Jppb6uQQZ2SMmd/rxI2rfX75PjEWh1zXomK4wB7EtQ9R0FJimL4IhxK jQxRGNGDbUVeaRpejavfaTPx1xez9xrs1KL5oAOcn+YtBAnhpWOmu8jNxbFrwiv9x2mD rFvzIFWirca+dHxKns6nt8KagodJssb1ZnGD4VFiCsrOzaWK/JNdKcH0lnsXir66CrW1 WN+Oy1p7p0m/rLiB8z7fF+2dckSFNmjBfB3USmJ6hRFxVnPiJKlmF86iFGQzYSOYKgCq frhc/NOPrkmBr0sCgrBqj6pH4Wfo9jPek2WMWLetRMzwCk/5lkZfXXp+NDWy/8GQJ4iM kYnA==
X-Gm-Message-State: APjAAAXJJKdHOWAwyG5kQ3sv2SI5JrZhZ+0ebGEQVilGpQiKYtaCIr7L KX/WTQDPD24QjOO59GTHtHiC/w3zDJDj
X-Google-Smtp-Source: APXvYqwTs35wJQ5V+lAILeSL8r311vi9MjDG2U4Npv40WbINmoJEGjDWAmMAQBLbntcWkKbD3Kb+Dg==
X-Received: by 2002:a02:c64a:: with SMTP id k10mr12273226jan.30.1557597224047; Sat, 11 May 2019 10:53:44 -0700 (PDT)
Received: from [192.168.1.7] ([174.27.51.111]) by smtp.googlemail.com with ESMTPSA id u11sm875214iot.44.2019.05.11.10.53.42 for <calsify@ietf.org> (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Sat, 11 May 2019 10:53:43 -0700 (PDT)
From: Doug Royer <douglasroyer@gmail.com>
X-Google-Original-From: Doug Royer <DouglasRoyer@gmail.com>
To: calsify@ietf.org
Organization: http://SoftwareAndServices.NET
Message-ID: <cb1b4ab3-3aaf-e22e-e7cd-2b45bad5cb87@gmail.com>
Date: Sat, 11 May 2019 11:53:42 -0600
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="------------ms090300040103020803050802"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/95PB6RuOm54kN2tZj25jrGeWARk>
Subject: [calsify] draft-ietf-calext-jscalendar - thoughts
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: Sat, 11 May 2019 17:53:48 -0000

On another thread (in ietf@ietf.org) someone declared 
draft-ietf-calext-jscalendar as a replacement for iCalendar [RFC5545]. 
Not sure if that was the official position or an individuals view. I 
initially read the draft and updates with the idea that it was another 
representation of iCalendar.

First, a ton of hard work was done on this draft. My comments below are 
my second thoughts after hearing it is a replacement and not a 
representation of iCalendar. So I re-read this draft with replacement in 
mind. These are not necessarily problems, just thoughts and questions.

  **I understand that many of these topics may have been discussed on 
the mailing list. However, if not in the spec when released, they will 
be confusing. **

1. If it is a replacement for iCalendar, please provide a list of 
obsoleted properties and and some kind of migration path for the 
replacement. Some comments in the spec imply obsoleted properties, they 
are not named at all in this spec. (DTEND for example - which I think 
should have never made it into iCalendar). Is this by design? If so, 
what exactly?

2. Ambiguous ways of representing the same event. When it comes to 
recurring events, they can still be represented with an RRULE 
(recurrenceRule) OR with RDATE (recurrenceDates), or a combination. I 
could not find mention of a preferred way. (Something like use 
recurrenceRule only, except when it is not possible, then add 
recurrenceDates, and/or recurrenceOverrides ).

2.1 Same with updates to events that have recurrences. EXACTLY what is 
sent in the update? A complete replacement? Just what changes? These are 
also ambiguous in iCalendar/iTIP/iMIP.

3. iTIP/iMIP Is a jCal iTIP/iMIP replacement in the works? If not, those 
rescheduling ambiguities still exist. What (exactly) to send back when 
requesting a change to the schedule. Send the entire object, just the 
recurrence-id that is being requested with the proposed updates? Or what?

3.1 Are jCal iTIP/iMIP messages sent in jCal format or iCalendar format?
What is the jCal mapping for the iTIP/iMIP objects? How are PUBLISH, 
REQUEST, REPLY, ADD, ... method represented in jCal? As this spec does 
not mention them, does a CUA send them out in iCalendar format, even 
when the original message was in jCal format? Is there a plan? Or are 
the iTIP methods to be declared obsolete?

4. How does this relate to WebDAV and its objects, methods, or 
procedures? Only a brief mention is included.

5. Is a iCalendar to jCal migration path specification in the works?

6. Unrelated to ambiguous. Why are alarms/alerts still sent? Does anyone 
accept an alarm the organizer sends out? Example, I live 30 minutes 
away. What good is a 5-minute alarm to me? What do you do if someone 
sends an updated alarm/alert in an iTIP COUNTER? Is it ignored? Used as 
the suggested update?

6.1 Will people really be sharing the 'snoozed' property of an 
alarm/alert with others?

6.2 Alarm/alert "...  *acknowledged*: "UTCDate" (optional)

       When the user has permanently dismissed the alert the client MUST
       set this to the current time in UTC.  Other clients which sync
       this property can then automatically dismiss or suppress duplicate
       alerts (alerts with the same alert id that triggered on or before
       this date-time).

Is there a plan to separate user specific data from shared data? Clearly 
this is not to be shared with the organizer or other participants. And 
is not supposed to be updated on the master object from the organizer. 
(Thinking WebDAV where everyone can share the same link to the same event).

Their seems to be two kinds of data, API data (alerts) and public data 
(what the organizer would send). What implementations send back and 
forth between participant and organizer is not defined (ambiguous).

This is kind of talked about under "4.6.1 localizations", but I 
understand 'localizations' to mean language specific, not private data.
See useDefaultAlerts under localizations.

6.3 Where is valarm? Gone? Alert mentions alarms, yet no definition of 
alarm.

7. Under "Security Considerations"
Should it mention "do not send private data to organizer"? And a list of 
what NOT to send: Alarms, Alert updates/snooze/...

8. I am confused by highlighting meaning of *this*, _this_, and "this" 
As described in 1.3 and the highlighting methods throughout this spec.
I have not seen these used in a draft before.

9. The term "master object" is used once and not defined. Is this the 
organizer object? Or the users copy?

10. The 'JSGroup' object seems to be new to jCalendar and iCalendar. Did 
I miss something in past documents?

11. Color (4.2.10). Can't imagine implements would not just totally 
ignore this property from organizer.

12. _excluded_ property (4.3.2). I assume (ambiguous) if it can ever be 
set to false? Can I send it in object set to false at all? When would it 
be valid to set it to false? What is the point of ever being able to 
send one set to false?

13. Should alerts be excluded from a 'PatchObject'?

14. In 4.4.3 privacy: what is a 'sharee'? Is a sharee a participant? Or 
a non-Participant? How can a completely hidden ("as though it did not 
exist") calendar be shared?

14.1 Is any calendar event shared when it has more than 1 participant? 
(ambiguous) Or does shared mean the same object is shared between 
participants (as in one persistent storage object shared between 
participants)? Because if the objects have multiple copies (one per 
calendar user agent), then what does secret mean? Does it mean that 
calendar user agents MUST NOT make the event viewable by others in their 
own calendars? So they would just mark it as unavailable time (ambiguous).


14.2 Public, so can I limit what I share and still call it public. Can I 
for example limit the viewing of other participants, but otherwise make 
it public?

14.3 "private" and "hidden ... [from]... sharee". From participants? Or 
just from  non-participants?

14.4 Are not ALL calendar objects shared when there is more than one 
participant?

14.5 The same iTIP problem exists. When a participant updates their 
attendee status, and the calendar is public, what exactly does (if 
anything) the organizer send out to other participants? I would prefer 
nothing at all.

15. 4.4.5 participants "memberOf" Exactly how is this used? It is a new 
property to calendar - correct?


-- 

Doug Royer - (http://DougRoyer.US)
Douglas.Royer@gmail.com
714-989-6135