Subject: [VCARDDAV] PID - local and global values?

From: Kevin Wu Won <[email-masked]>
Date: Fri, 09 Jul 2010 12:09:45 +1000

Hi all,

I have a question about the PID property:

The draft-11 says this:
(1) "Two PID values for which the first fields are equivalent represent
the same local value."

What is the meaning of "same local value"?  Does this term mean anything
significant besides its use in the next sentence?:

(2) "Two PID values representing the same local value and for which the
  second fields point to CLIENTPIDMAP properties whose second field URIs
are equivalent (as specified in [RFC3986], Section 6) also represent the
same global value."

Given (1) and (2), how can this statement be true?:
(3) "For example, PID value "5.1", in the first vCard below, and PID
value "6.2", in the second vCard below, represent the same global value."

The PID 5.1's first field is 5 and the PID 6.2's first field is 6.
Therefore by (1), they do not represent the same local value.  By (2),
in order to represent the same global value, the PIDs must represent the
same local value, so 5.1 and 6.2 can't represent the same global value.
 How can (3) be true then?

In general, I don't understand the point of the local value field.  As a
client implementor, it seems that the only thing I have to store in the
contacts database is the UID of each property, found by dereferencing
through the CLIENTPIDMAP.  The rest of the PID-related fields in the
vCard can be generated from this when it comes time to export.  Is that
right?

Kevin.

---

From: Simon Perreault <[email-masked]>
Date: Fri, 09 Jul 2010 09:25:03 -0400

> significant besides its use in the next sentence?:

No, its only use is for the next sentence.

I will change the sentence to "Two PID values for which the first fields
are equivalent are said to represent the same local value." to make it
clearer that we are just making stuff up as we go.

>  How can (3) be true then?

You're right! This will be fixed in -12.

> vCard can be generated from this when it comes time to export.  Is that

No. Multiple properties may have the same global context, i.e. they have
been created on the same device. But the local value differentiates
between these properties. The example in section 7.2.4 shows multiple
properties with the same global context but different local values.

Simon
-- 
NAT64/DNS64 open-source --> http://ecdysis.viagenie.ca
STUN/TURN server        --> http://numb.viagenie.ca
vCard 4.0               --> http://www.vcarddav.org