2
votes

I stumbled upon a seemingly awesome feature in the VCard Specification, specifically the "SOURCE" property as specified in https://www.rfc-editor.org/rfc/rfc6350#section-6.1.3. The claim is that you can provide a URI and that is the location where applications can sync the contact. I would like to use this feature in an app I am developing, but I can't seem to get it to work. Specifically, when I add a contact in my phone (iOS contacts app) with the "SOURCE" field, it doesn't appear to be used. When I change the data pointed to in the URL, my phone app never picks up the change. Does this mean that my developer friends at Apple did not implement this feature in the contacts app, or is the source field not what I think it is? Using an example from the wiki page:

BEGIN:VCARD
VERSION:4.0
N:Gump;Forrest;;Mr.;
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;MEDIATYPE=image/gif:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=work,voice;VALUE=uri:tel:+1-111-555-1212
TEL;TYPE=home,voice;VALUE=uri:tel:+1-404-555-1212
ADR;TYPE=WORK;PREF=1;LABEL="100 Waters Edge\nBaytown\, LA 30314\nUnited States of America":;;100 Waters Edge;Baytown;LA;30314;United States of America
ADR;TYPE=HOME;LABEL="42 Plantation St.\nBaytown\, LA 30314\nUnited States of America":;;42 Plantation St.;Baytown;LA;30314;United States of America
EMAIL:[email protected]
SOURCE:http://directory.example.com/addressbooks/fgump/Forrest%20Gump.vcf
REV:20080424T195243Z
x-qq:21588891
END:VCARD

I thought that once I loaded this contact into the contact card, and then changed the name from "Forrest Gump" to "Jack Frost" that the card would eventually sync. However, I have seen no behavior. Is this some kind of placebo field?

1
All devices/softwares that I've tested ignore the "source" atribute, possible for security reasons nobody implemented that feature.Rafael F.

1 Answers

1
votes

I've always read the SOURCE property description in RFC6350 as being purely aspirational. To my knowledge (admittedly skimpy), no one has ever implemented an automated data store update using it. That's not to say that you couldn't implement the concept in your own code, but it might get unwieldy for more than a trivial number of contacts. As a place you can go to manually check for updates to contact information, though, it's a great property to have available.