Please add sync for contact field "relationship"

  • Can you please add the field “relationship” in contacts? Actually I can’t add this information to an contact that will be synced with davdroid.

  • developer

    Relations only exist in VCard 4, while CardDAV uses VCard 3. However, the corresponding fields could be added nevertheless.

    According to the Android docs, there can be “Relations” with different types for every contact:

    Is that what you mean?

    I didn’t implement this yet because I couldn’t think of people really using that feature 😉

  • Yes, thats what I mean.

    I have only a few contacts where I’ve filled out this field. It’s low priority 🙂 .

  • I use that all the time… or actually, whenever I use a client that supports it. This is actually still one of the reasons I also keep CardDAV-Sync installed, to have access to these fields.

    In vCard 3 files, they seem to be implemented as, e.g.,


    It’s useful, for example, to keep tabs on all the names of the partners and children of friends and family.

  • developer

    In vCard 3 files, they seem to be implemented as, e.g.,

    This is a proprietary implementation. VCard 3 doesn’t define relationship at all – but it would be interesting to know how different services map this field. Basically, it’s the same problem as #426 because one could just use the VCard 4 properties in VCard 3 files, too.

  • Well, the ITEM5. prefix is standard vCard grouping, which I guess you know, semantically abused to link both. The part after that is what I got in Google contacts-exported vCards. It seems this is (was?) a subset of the custom Apple properties (,

    Of what I know, Clients that use this are CardDavMATE (, CardDav-Sync. ownCloud does not support this, neither does Horde (default setup), and KDE 4.14. I have not come accross other conventions for this, but I have not surveyed much.

    Would using that as a read-only property be possible? But perhaps this would cause confusion because the android clients would allow it to be edited?

  • if this can help this the result of my investigation

    kaddressbook 4.14.4 + akonadi google connector :

    • Vcard 3.0
    • X-KADDRESSBOOK-X-SpousesName
    • X-KADDRESSBOOK-X-AssistantsName

    kaddressbook 4.14.4 + akonadi carddav connector :

    • Vcard 3.0
    • X-KADDRESSBOOK-X-SpousesName
    • X-KADDRESSBOOK-X-AssistantsName

    google contacts :

    • Vcard 3.0
    • item1.X-ABLabel:$!<Assistant>!$
    • item1.X-ABLabel:$!<Spouse>!$

    android 4.2.2 samsung contacts + google count manages fields :

    • Assistant
    • Spouse

    owncloud contacts uses vcard 3.0 , stores and ignores the statements :

    • X-KADDRESSBOOK-X-SpousesName
    • X-KADDRESSBOOK-X-AssistantsName

  • Watch out with KAddressbook, it deletes fields it does not know when you modify an entry! The same happens with Thunderbird+SOGO connector and multiple email addresses and phone numbers.

    OwnCloud doesn’t touch fields it does not know; it has no support for X-KADDRESSBOOK or X-AB… specials but leaves them alone.

    N.B.: I assume that for ‘Spouse’ item1 there and on the line above needs to be changed to item2. Also, you need to check/edit your MarkDown: <Assistant> and <Spouse> are visible in the mail I got, but not in the web version on GitHub.

  • there is a pb with github editor :
    the part between $! and !$ disappears and also the final _
    so i rewrite it by adding blanks
    i t e m 1 . X - A B L a b e l : _ $ ! < A s s i s t a n t > ! $ _
    i t e m 1 . X - A B L a b e l : _ $ ! < S p o u s e > ! $ _

  • item1
    there are two occurences of item1 because i extract them from 2 different cards

    Watch out with KAddressbook, it deletes fields it does not know when you modify an entry!

    can you explain in detail please ?

  • That is not a problem with the editor, it uses Markdown. (See “Markdown supported” at the top of the editor). A workaround is to format things as inline code (which is actually reasonable): item1.X-ABLabel:_$!<whatever>!$_.

    Regarding KAddressbook: well, there is not much to explain; if you have an entry with a field that KAddressbook does not know, and you edit that entry with KAddressbook, then in my experience, KAddressbook silently removes that field.

  • i don’t understand .
    if kaddressbook don’t know about a field how it can supply it to you for editing ?
    have you an example of these field ?

  • KAddressbook can access CardDAV resources. Those you can also edit with other CardDAV clients to enter fields unknown to KAddressbook. For example the item1.X-AB... fields get removed.

  • developer

    Free-from relations are now supported, but only in the VCard 4.0 way:

    RELATED;TYPE=child;VALUE=text:Child name

    At the moment, only (free-from) “text” values are supported (not supported: email addresses, URIs).

    If the server supports VCard 4.0, it should understand that. Please note that when testing, we have found some servers that say to accept VCard 4.0, but all of them had problems handling such relations. Some accepted and processed the RELATED properties correctly, but converted them into X-CHILDREN etc., while other servers just ignored the field.

    If the server doesn’t accept VCard 4.0 (you can check in the DAVdroid account settings), RELATED will still be sent but VCard 3.0 doesn’t define RELATED so you can’t expect it to work.

    DAVdroid won’t support undocumented X- types for relations. If you have problems with your server, please check whether the VCards are processed by the server correctly and whether your server sends valid version 4.0 VCards before filing bugs.

  • @rfc2822 Thanks (late, but why not), this works, with Baïkal even in vcard3 files. I had to manually edit and sync using vdirsyncer, though, as I know of no open-source desktop/web client that uses RELATED.

    BTW, I am @AutoImport-equaeghe , so you may consider merging that account into mine.

Similar topics