Re: [VCARDDAV] vcarddav-birth-death-extensions update
Cyrus Daboo <cyrus@daboo.name> Fri, 04 November 2011 17:34 UTC
Return-Path: <cyrus@daboo.name>
X-Original-To: vcarddav@ietfa.amsl.com
Delivered-To: vcarddav@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 79DED1F0C3D for <vcarddav@ietfa.amsl.com>; Fri, 4 Nov 2011 10:34:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.901
X-Spam-Level:
X-Spam-Status: No, score=-101.901 tagged_above=-999 required=5 tests=[AWL=-0.698, BAYES_00=-2.599, MIME_QP_LONG_LINE=1.396, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 73ptNCYGpqoI for <vcarddav@ietfa.amsl.com>; Fri, 4 Nov 2011 10:34:11 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 841741F0C3C for <vcarddav@ietf.org>; Fri, 4 Nov 2011 10:34:11 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id E8B621C571A9; Fri, 4 Nov 2011 13:34:10 -0400 (EDT)
X-Virus-Scanned: amavisd-new at daboo.name
Received: from daboo.name ([127.0.0.1]) by localhost (daboo.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i4xp8YbvTDQI; Fri, 4 Nov 2011 13:34:08 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id AF29A1C5719D; Fri, 4 Nov 2011 13:34:07 -0400 (EDT)
Date: Fri, 04 Nov 2011 13:34:04 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Barry Leiba <barryleiba@computer.org>, vCardDAV <vcarddav@ietf.org>
Message-ID: <9FE424074AAF9DE563907947@caldav.corp.apple.com>
In-Reply-To: <CAC4RtVAZVa7kOMvgufL8wZC3Uc7iW4H9==SynCdas+UA1XEmEw@mail.gmail.com>
References: <CAC4RtVBLpmkZJP3+qFNp+87BCAgKahRQ8OWgrLd0Q7-NggdPYA@mail.gmail.com> <4EB3DF52.9020302@viagenie.ca> <1E4E86DF2C18BFEDE8B074E3@caldav.corp.apple.com> <CALaySJJmph-d1P+5_5QREhzKfDH7xeH3dz1YqdBG-MKLktRibw@mail.gmail.com> <CAC4RtVAZVa7kOMvgufL8wZC3Uc7iW4H9==SynCdas+UA1XEmEw@mail.gmail.com>
X-Mailer: Mulberry/4.1.0a1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline; size="3388"
Subject: Re: [VCARDDAV] vcarddav-birth-death-extensions update
X-BeenThere: vcarddav@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF vcarddav wg mailing list <vcarddav.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vcarddav>
List-Post: <mailto:vcarddav@ietf.org>
List-Help: <mailto:vcarddav-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Nov 2011 17:34:12 -0000
Hi Barry, --On November 4, 2011 4:12:08 PM +0000 Barry Leiba <barryleiba@computer.org> wrote: >> Happy to do that, if no one objects. I'll go ahead and make the >> change, and put the version into SVN for now. I'll just do it by >> reference, saying that the description of ADR describes this as well. > > Updated; same URL: > http://trac.tools.ietf.org/wg/vcarddav/trac/browser/draft-ietf-vcarddav-b > irth-death-extensions-02.txt > > Please check to make sure I got it right, including the ABNF and the > examples. 1) So in the formal syntax for each property you list altid-param, but in the template "Property Parameters", ALTID is not listed. That said, I am wondering why "Property Parameters" appears to be missing from all the properties in RFC6350. The template says that parameters MUST be listed (actually it says "Any of the valid property parameters for the property MUST be specified." but that really ought to be "All of the valid..."). It seems a little odd for 6350 to not follow its own rules... 2) The formal syntax for DEATHDATE splits out the sets of parameters valid for each value type. Shouldn't that also be done for BIRTHPLACE and DEATHPLACE? 3) I am a little concerned about introducing new "compound" properties (having previously said +1 to that). The problem is how will existing vCard parsers handle those? The key issue being \ encoding of ;. Specifically 6350 says: Some properties (e.g., N and ADR) comprise multiple fields delimited by a SEMICOLON character (U+003B). Therefore, a SEMICOLON in a field of such a "compound" property MUST be escaped with a BACKSLASH character. SEMICOLON characters in non-compound properties MAY be escaped. On input, an escaped SEMICOLON character is never a field separator. An unescaped SEMICOLON character may be a field separator, depending on the property in which it appears. Now, a parser that does not know BIRTHPLACE is compound, could read it in as "plain" text, and re-generate it using \; in place of ; (because it says "SEMICOLON characters in non-compound properties MAY be escaped."). That is going to be problematic. In fact this is a subset of a bigger problem with extensibility that also crops up in iCalendar - namely how do existing parsers cope with new properties whose default value type is not TEXT? e.g., URIs can contain comma characters, so a parser not aware of the fact that a new property's default is URI could reject the vcard because of an unescaped comma, or could "tolerate" it but then re-generate the value with a \, - which would make it an invalid URI. Now, one solution to the later problem is to always require a VALUE= parameter on new properties even when the actual value type is the default (except perhaps if the default is TEXT). That should "force" existing parsers to properly parse the value and properly regenerate it. As to the first problem with compound value types, I am not sure what the answer is other than to not allow those in extensions (which would kind of break this extension). It probably would have been better to have a "TEXT-LIST" value type to indicate a compound value... NB One way around both problems would be for parsers to treat any unrecognized property's value as "raw text". i.e. store and re-generate as-is without applying any kind of encoding/decoding. -- Cyrus Daboo
- [VCARDDAV] vcarddav-birth-death-extensions update Barry Leiba
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Tantek Çelik
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Simon Perreault
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Cyrus Daboo
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Barry Leiba
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Barry Leiba
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Simon Perreault
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Cyrus Daboo
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Barry Leiba
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Cyrus Daboo
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Barry Leiba
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Peter Saint-Andre
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Barry Leiba
- Re: [VCARDDAV] vcarddav-birth-death-extensions up… Peter Saint-Andre