Re: [VCARDDAV] LANGUAGE parameter vs. cardinality and PIDs

"Javier Godoy" <rjgodoy@fich.unl.edu.ar> Thu, 08 April 2010 11:23 UTC

Return-Path: <rjgodoy@fich.unl.edu.ar>
X-Original-To: vcarddav@core3.amsl.com
Delivered-To: vcarddav@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B16393A6A4B for <vcarddav@core3.amsl.com>; Thu, 8 Apr 2010 04:23:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.337
X-Spam-Level:
X-Spam-Status: No, score=0.337 tagged_above=-999 required=5 tests=[AWL=0.477, BAYES_20=-0.74, J_CHICKENPOX_56=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Ztm8wNjvQWI for <vcarddav@core3.amsl.com>; Thu, 8 Apr 2010 04:23:31 -0700 (PDT)
Received: from fich.unl.edu.ar (fich.unl.edu.ar [168.96.132.90]) by core3.amsl.com (Postfix) with ESMTP id 3021F28C113 for <vcarddav@ietf.org>; Thu, 8 Apr 2010 04:22:54 -0700 (PDT)
Received: from Javier2 ([190.193.124.162]) (authenticated user rjgodoy@fich.unl.edu.ar) by fich.unl.edu.ar (using TLSv1/SSLv3 with cipher RC4-MD5 (128 bits)); Thu, 8 Apr 2010 08:22:24 -0300
Message-ID: <F588DC05BB844664AD372ACF1BA29DFA@Javier2>
From: Javier Godoy <rjgodoy@fich.unl.edu.ar>
To: Simon Perreault <simon.perreault@viagenie.ca>, Cyrus Daboo <cyrus@daboo.name>
References: <4BBB2EE0.6040202@viagenie.ca> <2DDEFC9394064E53BD759285A555AE71@Javier2> <4BBC7383.3030404@viagenie.ca> <8989BD112D9135A1A1C1658C@socrates.local> <4BBC8080.2020801@viagenie.ca> <ADEF5C7C11F74B02F0F6CDFC@caldav.corp.apple.com> <4BBCB302.1050706@viagenie.ca>
Date: Thu, 08 Apr 2010 08:20:54 -0300
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="iso-8859-1"; reply-type="response"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
Cc: vcarddav@ietf.org
Subject: Re: [VCARDDAV] LANGUAGE parameter vs. cardinality and PIDs
X-BeenThere: vcarddav@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF vcarddav wg mailing list <vcarddav.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Thu, 08 Apr 2010 11:23:35 -0000

On April 07, 2010 1:29 PM Simon Perreault wrote:


> On 2010-04-07 12:10, Cyrus Daboo wrote:
>> The more I think about this from a client perspective the more I dislike
>> the idea of multiple alternative vcards. Lets figure out a way to make
>> the LANGUAGE parameter work.
>
> Agreed.
>
> Would the following be sufficient?
>
> Properties with different LANGUAGE parameters that represent the same 
> data...
>   - ...count as 1 toward cardinality.
>   - ...have the same PID value if the PID parameter is used.

+1 for me.

* It allows several instances of a property with cardinality (0,1), as long as 
each instance has its own language. This makes sense because every instance of 
BIRTH is sematically equivalent to any other instance of BIRTH, then it is 
still (0,1) from that point of view.

* It also applies to properties with cardinality (0,n) such as ORG, and helps 
processing translations of a property (e.g. removing all the instances of 
ORG;PID:1).

* Synchronization is well defined (the same properties on matching vCard and 
with the same PID match if both has no LANGUAGE parameter, or the value of the 
LANGUAGE parameter is the same). Alternatively, it might be defined that the 
same properties with the same PID match "as a whole" (e.g. the set of ORG 
properties with PID 1, or the set of BIRTH properties), and that the action to 
be performed over each property instance is left at the discretion of the 
synchronization engine.

>
> Therefore, since BIRTH has cardinality (0,1), this would be legal:
>
> BIRTH;LANGUAGE=fr:Ville de Québec
> BIRTH;LANGUAGE=en:Quebec City
>
> while these three would not:
>
> BIRTH;PID=1;LANGUAGE=fr:Ville de Québec
> BIRTH;PID=1;LANGUAGE=en:Quebec City
>
> BIRTH;PID=1;LANGUAGE=fr:Ville de Québec
> BIRTH;PID=2;LANGUAGE=en:Quebec City
>
> BIRTH;LANGUAGE=fr:Ville de Québec
> BIRTH:Quebec City
>

I would add the following case to the set of illegal values:
BIRTH;LANGUAGE=fr:Ville de Québec
BIRTH;LANGUAGE=en:Quebec City
BIRTH;LANGUAGE=en:Anything

(otherwise it would mean that cardinality is not 0,1)



Best Regards


Javier