Re: [Jcardcal] AD Evaluation of draft-ietf-jcardcal-jcal-08
Philipp Kewisch <kewisch@gmail.com> Tue, 18 February 2014 11:23 UTC
Return-Path: <kewisch@gmail.com>
X-Original-To: jcardcal@ietfa.amsl.com
Delivered-To: jcardcal@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 80EEF1A047F for <jcardcal@ietfa.amsl.com>; Tue, 18 Feb 2014 03:23:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
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 imD4Jngr0Rf1 for <jcardcal@ietfa.amsl.com>; Tue, 18 Feb 2014 03:23:34 -0800 (PST)
Received: from mail-ee0-x232.google.com (mail-ee0-x232.google.com [IPv6:2a00:1450:4013:c00::232]) by ietfa.amsl.com (Postfix) with ESMTP id 432BC1A032F for <jcardcal@ietf.org>; Tue, 18 Feb 2014 03:23:34 -0800 (PST)
Received: by mail-ee0-f50.google.com with SMTP id d17so7822945eek.9 for <jcardcal@ietf.org>; Tue, 18 Feb 2014 03:23:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=iWDW18Q/aP3mxHJOJnfQxPaBVEEI/4BuAd68VTk8iX8=; b=o/m5DoxHT7dq8z4fgpCZoTQ2zOQD9IObDA8swsetme2UuW8zeavfh8t+IG4UoZeM3K 3AiZdWwHy1AAWXyCrPMzLCujUI5DHoxr3uzMkppHI21QesIpBkt2y9S+4960NdQty48P MI3v9Pq9Q72rMdjvvT5m5WQbJVyf34JqtKzfBRUk5V5M9pzqXV1A4syFbV54qFrHeEP5 Xxj3oUJhHQYxf7B8sSs5uU+5RsMiWu+EgLroEuJI3XavCSbQ9uPfXSVNOcy8sL3ap3aO EZHBp3eoeX+4g8fyt9Fxqve89LMLVxkdqn++hZ8kT8cXU9jKpsD53PAlKf98FCOUmfqP QVOQ==
X-Received: by 10.15.42.136 with SMTP id u8mr8337504eev.52.1392722610930; Tue, 18 Feb 2014 03:23:30 -0800 (PST)
Received: from oskar.local (fhvisitor-pub.fh-wedel.de. [213.39.233.2]) by mx.google.com with ESMTPSA id j41sm69081515eey.15.2014.02.18.03.23.28 for <multiple recipients> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Feb 2014 03:23:29 -0800 (PST)
Message-ID: <530342B0.2080500@gmail.com>
Date: Tue, 18 Feb 2014 12:23:28 +0100
From: Philipp Kewisch <kewisch@gmail.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:27.0) Gecko/20100101 Thunderbird/27.0
MIME-Version: 1.0
To: Pete Resnick <presnick@qti.qualcomm.com>, "jcardcal@ietf.org" <jcardcal@ietf.org>
References: <52F1DA5C.5020805@qti.qualcomm.com>
In-Reply-To: <52F1DA5C.5020805@qti.qualcomm.com>
Content-Type: multipart/alternative; boundary="------------040702050104030400000300"
Archived-At: http://mailarchive.ietf.org/arch/msg/jcardcal/o_agMY2af4xrreNhj9KYGjrBiLk
Subject: Re: [Jcardcal] AD Evaluation of draft-ietf-jcardcal-jcal-08
X-BeenThere: jcardcal@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: JSON data formats for vCard and iCalendar WG <jcardcal.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jcardcal>, <mailto:jcardcal-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/jcardcal/>
List-Post: <mailto:jcardcal@ietf.org>
List-Help: <mailto:jcardcal-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jcardcal>, <mailto:jcardcal-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Feb 2014 11:23:38 -0000
On 2/5/14, 7:29 AM, Pete Resnick wrote: > Sorry for the delay in this. This document is pretty much ready for > IETF Last Call. Only one issue that I'd like to address before I send > it out. After that one's cleared up, I'll ship; you can deal with the > rest of the comments as if they were Last Call comments. > > Here's the big one. 3.4.1.1 (and similarly in 3.4.1.2): > > This kind of special casing can be seen as a "structured value", as > described in [I-D.ietf-jcardcal-jcard], Section 3.3.1.3. > Implementors may want to keep this in mind in case they aim to > support both jCard and jCal in their product. For example, checking > the data type of all property values instead of assuming an array for > just GEO is RECOMMENDED. > > I find that paragraph incomprehensible. I don't understand what it > means. Please explain. Ok, I've removed these paragraphs as suggested by Cyrus. There is one detail I would like to keep though and I think I found a good place to put it. I want to make clear that its a bad idea to rely on the third element of the property array (i.e "float" in the GEO case) to determine the data type of the value elements of the property array. I found some text about this in Section 3.4 that was a bit sparse, and made this modification: OLD 3. The type identifier string of the value, in lowercase. It is important that parsers check this to determine the data type of the value, and that they do not rely on assumptions. NEW 3. The type identifier string of the value, in lowercase. Due to special casing of certain properties as described in Section 3.4.1, it is important that parsers check both the type identifier and the value data type and do not rely on assumptions based on the property name. END > > The rest of these are non-blocking IMO. I ignored grammatical stuff > unless it potentially confused the meaning; I'll leave those for the > RFC Editor. > > 3.1: "So the following rules MUST be applied..." is redundant with the > MUSTs below. Instead: "So the following rules are applied". Done > > 3.2: > > If you > plan to transport multiple jCal objects in a stream, it is > recommended to use a simple JSON array. > > I'm not a big fan of using "recommended" when you just mean "can". I > suggest instead "To transport multiple jCal objects in a stream, a > simple JSON array can be used." Done > > 3.4: > > - Typo: "followed by at one or more additional". I think you just want > to strike "at". > - "while all other properties are single-valued:" I think you mean > "while the 'summary' property is single-valued:", since there are no > other properties. Yes, indeed. I think I previously had more properties in that example. Fixed both issues. > > 3.5.2: > > Single-value parameters SHOULD > be represented using a single string value, although a more simple > implementation might prefer an array with one string element. > > What harm will come to me or the other side if I don't? Isn't this > just an aesthetic choice and I should do whichever is easier in my > implementation? Yes, my intent was to do whichever is easier, but prefer using a single string value. Given the findings at calconnect and Cyrus' suggestion, I have revised it in the following way: OLD In [RFC5545], some parameters allow using a COMMA-separated list of values. To ease processing in jCal, the value to such parameters MUST be represented in an array containing the separated values. The array elements MUST be string values. Single-value parameters SHOULD be represented using a single string value, although a more simple implementation might prefer an array with one string element. An example for a such parameter is the iCalendar "DELEGATED-FROM" and "DELEGATED-TO" parameter, more such parameters may be added in extensions. NEW In [RFC5545], some parameters allow using a COMMA-separated list of values. To ease processing in jCal, the value to such parameters MUST be represented in an array containing the separated values. The array elements MUST be string values. Single-value parameters can be represented either using a single string value or an array with one string element. A jCal parser MUST be able to understand both value data types. An example for a such parameter is the iCalendar "DELEGATED-FROM" and "DELEGATED-TO" parameter, more such parameters may be added in extensions. END > > 3.6.4/3.6.5/3.6.12: "are not permitted"? Why not "MUST NOT be used"? Fixed > > 3.6.8: Does this need to say "MUST NOT have a 'frac' or 'exp' portion"? Hmm I agree the number usually shouldn't have a fractional part, but what speaks against a positive exponent? 3e+8 is still a valid integer. To be pedantic, certain negative exponents will also work, i.e 30e-1, as do certain fractional parts like 3.1e1. Also, this is just about the value data type used in jCal. At latest when converting back to iCalendar, the value must stay in the range specified in 5545 and not contain an e. I have changed the text as follows: OLD Description: vCard "INTEGER" property values are represented by a property with the type identifier "integer". The value elements are JSON primitive number values. NEW Description: vCard "INTEGER" property values are represented by a property with the type identifier "integer". The value elements are JSON primitive number values which MUST resolve to an integer value in the range specified in [RFC5545], Section 3.3.8. Thus a fractional and/or exponential part are only allowed under limited circumstances. END > > 3.6.10: "it is RECOMMENDED to represent it as a...". Same question > from 3.5.2. Fixed, using the following text: OLD * The following rule parts can have one or more numeric values: "bysecond", "byminute", "byhour", "bymonthday", "byyearday", "byweekno", "bymonth", and "bysetpos". If a rule part contains multiple values, an array of numbers MUST be used for that rule part. Although it is allowed for the array to contain just one value, it is RECOMMENDED to represent it as a single JSON number value instead, omitting the array completely. * Similarly, the "byday" rule part can have one or more string values. If it contains multiple values, an array of strings MUST be used. As before, it is RECOMMENDED to represent a single value as a JSON string, omitting the array completely. NEW * The following rule parts can have one or more numeric values: "bysecond", "byminute", "byhour", "bymonthday", "byyearday", "byweekno", "bymonth", and "bysetpos". If a rule part contains multiple values, an array of numbers MUST be used for that rule part. Single-valued rule parts can be represented either using a single number value, omitting the array completely, or an array with one number element. A jCal parser MUST be able to understand both data types. * Similarly, the "byday" rule part can have one or more string values. If it contains multiple values, an array of strings MUST be used. As before, a single-valued rule part can be represented either using a single string value or an array with one string element, both of which a jCal parser MUST be able to understand. END > > 6: Please move this to an appendix Done, moved to Appendix A > > 8: I have no idea what the "SHOULD" in the opening paragraph means. > Instead, why not "can"? There may exist valid reasons to use something other than jCal for transferring calendar data in JSON, but I think everyone should be doing this :) Given this is the same opening text as in jCard, I have left it this way for now. If this requires further discussion I'm sure we can do it during the last call. > > 8.1: So, I think the template specified in 5545 is useless and broken, > because the information in this template is simply thrown away and > does not go into the registry. Instead the template have the name of > the data type, the status to be listed, and the reference. In this > case those would be "UNKNOWN", "RESERVED - DO NOT USE", and "RFC XXXX, > Section 5" (or something like that). But 5545 says what it says. So I > would make the following changes to this section: > > First paragraph, change to: > > IANA is asked to add the following entry to the iCalendar Data Types > registry: > > and strike the rest of the paragraph. By the time of publication, the IANA will have done this already? Its also the same text jCard uses. I've made this and other related changes nevertheless, since this is clearly a part of the document you have more experience in. Thanks for the input, the updated draft is coming up in a few minutes. Philipp
- [Jcardcal] AD Evaluation of draft-ietf-jcardcal-j… Pete Resnick
- Re: [Jcardcal] AD Evaluation of draft-ietf-jcardc… Cyrus Daboo
- Re: [Jcardcal] AD Evaluation of draft-ietf-jcardc… Peter Saint-Andre
- Re: [Jcardcal] AD Evaluation of draft-ietf-jcardc… Pete Resnick
- Re: [Jcardcal] AD Evaluation of draft-ietf-jcardc… Philipp Kewisch