Re: [calsify] I-D Action: draft-ietf-calext-eventpub-extensions-16.txt

Michael Douglass <mikeadouglass@gmail.com> Sun, 03 January 2021 21:15 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 69D8B3A1348 for <calsify@ietfa.amsl.com>; Sun, 3 Jan 2021 13:15:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.459
X-Spam-Level:
X-Spam-Status: No, score=-0.459 tagged_above=-999 required=5 tests=[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, NICE_REPLY_A=-0.262, SPF_HELO_NONE=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=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 W7ZIWXLlcq_w for <calsify@ietfa.amsl.com>; Sun, 3 Jan 2021 13:15:26 -0800 (PST)
Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) (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 EF2853A1347 for <calsify@ietf.org>; Sun, 3 Jan 2021 13:15:25 -0800 (PST)
Received: by mail-qt1-x830.google.com with SMTP id g24so17276808qtq.12 for <calsify@ietf.org>; Sun, 03 Jan 2021 13:15:25 -0800 (PST)
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=yl39bL5XFTYULl0+gOcDvRrcYWPojaKGK7fxGS14zoA=; b=jtpgu7XMnBOR+/wTN5tXuO45qymgWqoQk5Esavx5/1DaXVZsv/d+DtoJE7gstlUN9I sONPYZvKl8is0/ZyWnmv5aXzYiLG1Ms/6jmp4g/ufpgbXsNdHMrgFnEZZ7oOxCcA9nNB Fwx6kFd8upC2ZyGUIjdldAfYaAhp7zIoZaRfJqzjMhddDQ2eiH66QW1bozOWpA+JpztT o9rP59cEn1Mr9lWjoaZXmkv8ugdCv0MY4At9LjOMHNP1H0qbj/I8aLfKoMbW8g5SNS91 AztbSKIaB0Caga9+zl5InnkiI94LRLEigHkbionkfyBCFLE5qPZnswMew+4jmNpIfgNc AFsg==
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=yl39bL5XFTYULl0+gOcDvRrcYWPojaKGK7fxGS14zoA=; b=S8YyhnuvnYCEphsqWFRpbdedVS563L9cLExetkiF+nr3AhUFPQYuQmv6isDWJJ/RUV dN31ZmZsDROVtGVlvPWnwO0aDBmLX+N8MfVSSeWmjc7NW8b2rGbhbUYBu6wB1QlSS1DJ zy3Cmrr0f/yLMC4rP+1SEujLBRe+7T4HeHMafjvSVHMf7UnyyBQr13goWX8Ja3MxJSd6 +5kUqrMFL/f1vcm/ADagBwn1GyqlgNPa/AjhIkbzN89WRDfM3cBbKvnSuZKY9wOtc1iV x1ll3yERAYmRJNoWn4/0XPI9rKxoqvLxapbW5uuxm8NTN0IqHYJjQHV/x9aUzL90pciD aEFA==
X-Gm-Message-State: AOAM530M57v02CPCO897hJVwaeI/bQEdTZ6bPnN5WSOlbR9Az8ebBZQ2 oUK2ccsxbiGnZ8q2vvI8Ls5Qo2TeiSMw4w==
X-Google-Smtp-Source: ABdhPJxRGMJfNH5RMHWxIelOS6iYjwWZJO7XF5Nu+vwI5QFewWY39krq7Xp5q+VJqemT4vminxdWKw==
X-Received: by 2002:ac8:5d53:: with SMTP id g19mr68170564qtx.354.1609708524501; Sun, 03 Jan 2021 13:15:24 -0800 (PST)
Received: from [192.168.1.151] (cpe-74-70-70-237.nycap.res.rr.com. [74.70.70.237]) by smtp.googlemail.com with ESMTPSA id 136sm36157141qkn.79.2021.01.03.13.15.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 Jan 2021 13:15:23 -0800 (PST)
From: Michael Douglass <mikeadouglass@gmail.com>
To: Дилян Палаузов <dilyan.palauzov@aegee.org>, calsify@ietf.org
References: <160287329801.13575.6476139980278266084@ietfa.amsl.com> <79daa7a2a7518f9ab26060be943538f266ec92ea.camel@aegee.org> <9dc03462-7fd0-9fc1-faa1-33883a91a1c9@gmail.com>
Message-ID: <fd92c62f-596e-06df-3763-9e02635ed99a@gmail.com>
Date: Sun, 03 Jan 2021 16:15:22 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0) Gecko/20100101 Thunderbird/78.6.0
MIME-Version: 1.0
In-Reply-To: <9dc03462-7fd0-9fc1-faa1-33883a91a1c9@gmail.com>
Content-Type: multipart/alternative; boundary="------------45EF20E418EDADA277D6EF29"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/DkVMrlh-1Tr-2kEvMYQAo3b5Slo>
Subject: Re: [calsify] I-D Action: draft-ietf-calext-eventpub-extensions-16.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: Sun, 03 Jan 2021 21:15:29 -0000

I'm about to submit an updated version 17

I made some changes both as a result of points raised here and also as a 
result of the call during the IETF 109 virtual meeting.

To summarize the main points:

There was concern expressed about relating start/end to a location. This 
was partially in response to jscalendar but I think as it stood it has 
too many problems. I'm removing that. I suspect in the jscalendar 
mapping we'll add back a relation but it will only be to allow 
round-tripping.

As discussed in the IETF 109 meeting I've changed the 
STRUCTURED-LOCATION property into a VLOCATION component. This allows 
that component to contain a STRCTURED-DATA property providing the 
information - possibly as a data-url to avoid downloads. It's 
essentially what I was trying to do with STRUCTURED-LOCATION. Similarly 
for STRUCTURED-RESOURCE. These changes also make it a closer match to 
what's happening with jscalendar.

Some PARTICIPANT examples were missing the UID

Additionally I've revised the abnf along the lines suggested by Barry 
Leiba for other drafts.

On 11/11/20 23:10, Michael Douglass wrote:
>
> Thank you for the time you put into this. I've attempted to cover all 
> of it below. Some points lead to further questions.
>
> On 10/17/20 16:42, Дилян Палаузов wrote:
>> Hello,
>>
>> 10.  Privacy Considerations
>> 10.1.  Tracking
>>
>>     Properties with a "URI" value type can expose their users to privacy
>>     leaks as any network access of the URI data can be tracked.  Clients
>>     SHOULD NOT automatically download data referenced by the URI without
>>     explicit instruction from users.
>>
>>
>> How about using data: uris, and fmttype parameter for the content-type,
>> that contain vCard, instead of having STRUCTURED-
>> LOCATION;VALUE=URI:https://example.example/abc.vcf?
>>
>>
>> What is the way to download the referenced vCard simultaneously with
>> the iCalendar, apart from the data: uri?  I have now a bright idea: the
>> STRUCTURED-DATA is changed from PROPERTY to COMPONENT with UID and is
>> unencoded (as far as possible) blob.  Then instead of
>> VALUE=URI:https:// one can write VALUE=URI:attachment: or
>> VALUE=URI:cid: (which is supposed to mean the URI within STRUCTURED-
>> DATA).  This basically unifies (base64 decoded) attachments and
>> structured-data.
>
> I'm not sure this gains us much. As a property there are a number of 
> ways to represent the value (including a data uri. And doesn't 
> uri::cid only work for mail?
>
> This has got me thinking about the other structured-xxx properties. 
> Making the location a component would make sense
>
> BEGIN:VLOCATION
>
> STRUCTURED-DATA:...
>
> DESCRIPTION:...
>
> UID:...
>
> END:VLOCATION
>
>
> makes a lot of sense. It also allows us to populate the location with 
> properties describe it. Which does take us almost back to where we 
> started with VVENUE. However, I've avoided trying to duplicate vcard 
> in the location - embedding it as structured data using a vcard (or 
> other contacts) schema seems to make much more sense.
>
>
>> 1.2.  Terms Used in This Document
>>    Event:  When the word 'event' is used (perhaps with a capitalised 'E'
>>    we are referring to gatherings, formal or informal.  For example a
>>    sports event, a party or a concert.
>>
>> The square braket is not closed.
> Done
>> What is the puropose of a PARTICIPANT in a VFREEBUSY component?  Can
>> you give a use-case?
>
> Much the same as elsewhere - to provide further information about the 
> attendee/organizer.
>
> I guess it might help to know the timezone or location of the 
> participants as that might affect what you report as free.
>
>> 6.2.  Calendar Address
>>        The CALENDAR-ADDRESS property if present will provide a cal-
>>        address.  If an ATTENDEE property has the same value the
>>        participant is considered schedulable.  The PARTICIPANT component
>>        can be used to contain additional meta-data related to the
>>        attendee.
>>
>>        If there is a related ATTENDEE proeprty then all parameters must
>>        be applied in that property.
>>
>>        This property is defined by the following notation:
>>           caladdressparam   = *(
>>                       (";" schedulestatusparam)
>>           )
>>
>>
>> proeprty ⇒ property
> Done
>> schedulestatusparam exists only for scheduled ATTENDEEs, probably only
>> for CalDAV-scheduled (as opposed to iMIP scheduled by the CUA)
>> attendees.  A PARTICIPANT/CALENDAR-ADDRESS is only scheduled, if there
>> is a corresponding ATTENDEE with the same value, in which case the
>> ATTENDEE gets the schedulestatusparam.  What does PARTICIPANT/CALENDAR-
>> ADDRESS do with schedulestatusparam?
>
> I can't remember now why I added all the attendee parameters to the 
> calendar address. I'm going to remove them.
>
>
>> 3.  Typed References
>>     Using STRUCTURED-LOCATION, rich information about multiple locations
>>     can be communicated, for example, address, region, country, postal
>>     code as well as other information such as parking availability.
>>
>> Can you provide an example, that communicates postal code, address and
>> region for a STRUCTURED-LOCATION?
> I meant in a vcard reference - I'll say so.
>> 5.3.  Order
>>
>>    orderparam = "ORDER" "=" integer ;Must be greater than or equal to 1
>>    
>> space after semi-colon
> Done
>> .
>>
>> 6.3.  Styled-Description
>>     Property Parameters:  IANA, non-standard, id, alternate text
>>        representation, format type, derived and language property
>>        parameters can be specified on this property.
>>
>>
>> https://www.iana.org/assignments/icalendar/icalendar.xhtml  does not
>> contain id property, neither does ABNF for styleddescparam.  It would
>> be good if the above Property Parameters are enumerated in the same
>> order, that is used in the subsequent Formal Definition for
>> styleddescparam.
>>
>> When RFC 5545 defines Property Parameters for a Property it puts AND
>> before the last value.  draft-ietf-calext-eventpub-extensions uses
>> three times OR, twice AND before the last Property Parameter in the
>> enumeration.  The usage of the Oxford comma is inconsistent.
> Fixed.
>> 6.4.  Structured-Location
>>
>>     Value type:  There is no default value type for this property.  The
>>        value type can be set to URI or TEXT.
>>
>> Please provide an example for VALUE=TEXT, that uses all parameters.  I
>> want to see how LABEL and the TEXT value differ.
>>        
>>     Description:
>>        When a LABEL parameter is supplied the language of the label
>>        SHOULD match that of the content and of the LANGUAGE parameter if
>>        present.
>>
>> My understanding is that, apart from NAME at VCALENDAR-level and
>> DESCRIPTION, but e.g. not for SUMMARY, any property/parameter can have
>> up to one LANGUAGE and there is no way to specify the same information
>> alternating in different languages in the same iCalendar object.  This
>> forces the user to read the information in whatever language it is
>> provided, or skip it based on visual scan, as there is no alternative.
>> LANGUAGE cannot be presented to the user.  Does anybody have use cases
>> for LANGUAGE in iCalendar?
>
> 5545 has this text (Section 3.1.2):
>
> Multi-valued properties MUST NOT be used to specify multiple language variants of
>     the same value.
>
> To my mind this does make the parameter pretty useless - however I 
> guess you can auto translate it - which might work a lot better now 
> but still be inadequate.
>
> Interestingly rfc7986 says for NAME and DESCRIPTION:
>
> This property can be specified multiple times in an iCalendar object.
> However, each property MUST represent the name of the calendar in a different language.
> I talked over the issue and we think this is possibly on oversight on 
> the part of Cyrus. We may need an errata.
>
> My wording as regards the LABEL parameter is only to ensure that the 
> label and content match.
>
>
>> If elaborating on LANGUAGE is done here, it shall specify that multiple
>> LABELs can be set, each for a different language.
> I'm not intending to introduce proper localization of iCalendar - at 
> least with this spec.
>
> Jscalendar introduces the idea of localization which I hope will do a 
> better job of handling languages than 5545 does. We probably need an 
> iCalendar extension for this so we can map them.
>
>
>>     Use of the related parameter:  This allows a location to define the
>>        start and/or end timezone of the associated component.  If a
>>        location is specified with a RELATED parameter then the affected
>>        DTSTART or DTEND properties MUST be specified as floating DATE-
>>        TIME value.
>>
>> STRUCTURED-LOCATION has no TZID property and can, but does not have to,
>> point to vCard URI that may, but has not to, contain TZ.  The draft
>> does not spell that the URI behing structloc can be a vCard.  How does
>> STRUCTURED-LOCATION substitute the time zone information, if DTSTART is
>> floating DATE-TIME?  The current way to specify different timezones for
>> a trip is to use different TZID parameters for DTSTART and DTEND.  Why
>> does the current way need to be changed?  Lets say a CUA(server)
>> implements eventspub and it uses floating times in DTSTART/DTEND with
>> STRUCTURED-LOCATION to signal that the timezones of the start/end are
>> different.  The CUA creates an iCalendar objects and sends it to a
>> different CUA.  The recipient implements RFC 5545 correctly.  It would
>> understand, that the start/end timezones are different, if TZID in
>> DTSTART/DTEND said so.  But the received DTSTART/DTEND are floating
>> time and the recipient does not understand STRUCTURED-LOCATION, or for
>> privacy reasons the recipient does not want to download the data
>> pointed by STRUCTURED-DATA;VALUE=URI: . Shall users disclose their IP
>> address to get the timezone of DTSTART from now on?
> I will probably drop this. I think it started off as an attempt to 
> align with jscalendar but it doesn't make much sense I think.
>> 6.6.  Structured-Data
>>     Value Type:  TEXT, BINARY or URI
>>
>> For the other properties is spelled explicitly, that there is no
>> default value type, but for this one and the other properties the same
>> is implied byhttps://tools.ietf.org/html/rfc7986#section-3  .
> Done
>> 5.4.  Schema
>> Example:
>>
>>       STRUCTURED-DATA;FMTTYPE=application/ld+json;
>>        SCHEMA="https://schema.org/FlightReservation";
>>        ENCODING=BASE64;VALUE=BINARY:ICAgIDxzY3JpcHQgdHlwZT0iYXBwb
>>
>> This is a very good idea.  ld+json provides means to communicate from
>> the CUA, over a publisher to search engines information about an event,
>> that is not mapped in iCalendar.  E.g. if there are fees.  Is it
>> possible to not-base64 encode json, and use something like
>>
>>       STRUCTURED-DATA;FMTTYPE=application/ld+json;VALUE=TEXT;
>>        SCHEMA="https://schema.org/FlightReservation":{"brum":"
>>        wups","zz":true}
>>        
>> ?
>>
>> schema.org can define e.g name (corresponding to SUMMARY).  SUMMARY can
>> be present only once (in one language).  STRUCTURED-DATA can be
>> specified many times, but has no LANGUAGE property.  What is the way to
>> write SUMMARY⇔NAME for an event in three languages and put this in a
>> single iCalendar object?
> That will happen with localization  - no way at the moment.
>> What does it mean to have many STRUCTURED-DATA?
> I guess I need to add text to specify that multiple STRUCTURED-DATA 
> MUST represent different information - NOT the same information in 
> different languages. However, woudl it make sense to have the same 
> information in a different representation - e.g. json and html? One 
> for processing and one for display.
>> Greetings
>>    Дилян
>>
>> В 11:34 -0700 на 16.10.2020 (пт),internet-drafts@ietf.org  написа:
>>> 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           : Event Publishing Extensions to iCalendar
>>>          Author          : Michael Douglass
>>>          Filename        : draft-ietf-calext-eventpub-extensions-
>>> 16.txt
>>>          Pages           : 36
>>>          Date            : 2020-10-16
>>>
>>> Abstract:
>>>     This specification updates RFC5545 by introducing a number of new
>>>     iCalendar properties and components which are of particular use
>>> for
>>>     event publishers and in social networking.
>>>
>>>     This specification also defines a new STRUCTURED-DATA property for
>>>     iCalendar RFC5545 to allow for data that is directly pertinent to
>>> an
>>>     event or task to be included with the calendar data.
>>>
>>>
>>> The IETF datatracker status page for this draft is:
>>> https://datatracker.ietf.org/doc/draft-ietf-calext-eventpub-extensions/
>>>
>>> There are also htmlized versions available at:
>>> https://tools.ietf.org/html/draft-ietf-calext-eventpub-extensions-16
>>> https://datatracker.ietf.org/doc/html/draft-ietf-calext-eventpub-extensions-16
>>>
>>> A diff from the previous version is available at:
>>> https://www.ietf.org/rfcdiff?url2=draft-ietf-calext-eventpub-extensions-16
>>>
>>>
>>> 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
>> _______________________________________________
>> calsify mailing list
>> calsify@ietf.org
>> https://www.ietf.org/mailman/listinfo/calsify