Subject: Re: [scim] Upload of SCIM/vCard mapping draft

From: Michael Angstadt <[email-masked]>
Date: Fri, 14 Sep 2012 13:16:17 -0400

Hi Bert,

I saw your message on the vCard mailing list (forwarded by Peter) and
have some thoughts about the SCIM/vCard mapping document.

===== 1. "id" --> "UID" mapping (p. 6)

There is no vCard-specific format for the UID property.  It is
*suggested* that a UUID be used and that it be encoded as a URI, but
the property will accept any URI or any text value.  Here is an
example of the "best-practice" format of a vCard UID:

UID:urn:uuid:dd418720-c754-4631-a869-db89d02b831b

However, the property also accepts free-form text.  In this case, the
VALUE parameter MUST be set to "text".  For example:

UID;VALUE=text:123abc

For SCIM IDs, you could encode them as a URI.  The URI could start
with "scim:" to show that it's a SCIM ID  For example:

UID:scim:123456789

===== 2. "meta/location" mapping (p. 6)

Could the GEO property be used for this?  The GEO property holds a set
of latitude/longitude coordinates.

===== 3. "organization", "division", and "department" mappings (p. 7)

The "organization", "division", and "department" SCIM attributes could
be stored within a single ORG vCard property.  The ORG property can
contain not just one value, but a hierarchical list of values.  It
starts with the broadest organization and ends with the most specific.
 So, the "organization" attribute could be mapped to the first ORG
value, "division" to the second, and "department" to the third (a
"division" is broader than a "department", right?).  For example, if
organization is "Google", division is "GMail Team", and department is
"Spam Detection Squad", then the ORG property would look like this:

ORG:Google;GMail Team;Spam Detection Squad

===== 4. "manager/managerId" mapping (p. 7)

The manager ID could go in a RELATED vCard property like so:

RELATED:scim:987654321

The property can also store a plain text value if the SCIM ID is not
encoded as a URI:

RELATED;VALUE=text:987654321

===== 5. "address/formatted" mapping (p. 8)

Perhaps you could map this attribute to the LABEL parameter of the ADR
property.  The LABEL parameter is used to define the exact text that
should be printed on the package or envelope that you are mailing.
For example:

ADR;LABEL="123 Main St.\nAustin, TX 12345\nUSA":;;123 Main
St.;Austin;TX;12345;USA

===== 6. Description of the "N" property (p. 11)

The "Notes" column in the table describes the N property like so:

"Additional analysis the N property may be needed, as vCard does not
provide an unambigious separation of its components."

I'm not sure what you mean by this?  The components of the N property
are actually very well defined!  They are formatted like this:

N:Family;Given;Additional;Prefixes;Suffixes

===== 7. Typos

Just a few small typos I saw!! :)

 * p. 14 - "CATHEGORIES" should be "CATEGORIES"
 * p. 15 - I'm not sure if this is an error, but in the center column,
I think "x501Certificates" should be "x509Certificates"

Regards,
Mike Angstadt
http://code.google.com/p/ez-vcard
http://mikeangstadt.name/mike-angstadt.vcf

---

From: Bert Greevenbosch <[email-masked]>
Date: Mon, 17 Sep 2012 05:35:45 +0000

Hello Michael,

Thank you for your comments.
Please find my responses (starting with [B]) below.

Best regards,
Bert

---

Hi Bert,

UID;VALUE=text:123abc

UID:scim:123456789

[B] I like the usage of a SCIM specific prefix to indicate the conversion from SCIM to vCard. It maintains the information that the data originally came from SCIM. I believe that there is also a need to include a "Service Provider" specific part in the URI, as the SCIM ID is unique within the Service Provider's space only. (See also next paragraph.) So maybe the vCard ID should have a form like

	UID:scim:[serviceProviderID]:123456789

[B] Conversion from vCard to SCIM may be done similarly, e.g. by adding a prefix to the vCard ID. The SCIM schema document mentions for the SCIM ID: "This identifier MUST be unique across the Service Provider's entire set of Resources", so as long as the vCard ID indeed is globally unique, and the service provider uses the prefix for vCard acquired resources only, the rule should hold. I am a bit unclear on whether the SCIM id can include alphanumeric characters or is restricted to numeric characters only. The examples seem to indicate that they consist of hexadecimal numbers, with dashes at appropriate places.

[B] The above mechanisms would allow looping. For example, converting SCIM -> vCard -> SCIM would lead to another SCIM ID in the second representation as in the first. This indeed reflects the possible loss of information in the conversion process. Of course this kind of tandem conversion should be avoided as much as possible.

[B] In SCIM, "meta/location" contains a URI for the location of the SCIM resource in the network. It defined to be the same as the Location option in an HTTP response header.

[B] Excellent. We can indeed do it this way.

RELATED:scim:987654321

[B] I agree that the RELATED property could be used for this. Unfortunately, for RELATED there is not yet a TYPE "manager" in vCard, so maybe that should be registered with IANA.

[B] Indeed the "LABEL parameter is appropriate.

[B] Yes, you're right. I was under the erroneous assumption that empty fields were completely omitted, i.e. that ";;" was not possible. However, I now see in some examples that there are occurrences of ";;".

===== 7. Typos

[B] Indeed these are typos. I'll fix them in the next version.

Regards,
Mike Angstadt