• Yes, I have searched the forum, and there are some old threads, but I’m still wondering what the current state of affairs is. I’m in the process of switching from CardDAV-sync to DAVx5 and noticed that with the same server (SOGo) and Android device (Android 10), the same addressbook behaves differently (in the standard contacts app as well as DW contacts):

    • With CardDAV-sync, I can select from 4 date types.
    • With DAVx5, it’s only Birthday and Anniversary.

    The Android docs explain all 4 types, and I’m fully aware that not all of them are in the DAV standard and, consequently, not all of them will be synced.
    But it’s still useful to amend a contact on the device by information which shows up in your calendar (e.g. with aCalendar) and links back from there to the contact. DAVx5 prevents me from entering such information . This is well intended (it’s not going to be synced) but I’m still wondering whether it’s possible to let the user do it anyways - say with a preference “allow all Android contact fields (not all will be synced)”. It would be really useful for some of us.

    A full blown solution would sync these fields between DAVx5 on Android devices using a private extension, but that’s a lot to ask for a special use case.


  • So, to be concrete, I’m asking about the possibility for app/src/main/res/xml/contacts.xml to specify more data than CardDAV can sync (maybe only after explicit user request) so that the user can enter that extra data on an Android device (knowing it won’t sync).

    I think I fully understand the point of view of DAV compliance: sync only what the server “can sync” in the sense of “part of the DAV standard content”. On the other hand, for many users the DAV server will be just that - a server storing data from which they sync their Android devices using DAVx5. From that point of view, syncing the full Android contact fields (using DAVx5-specific extensions) does make sense, even though the extra fields won’t show up in a Nextcloud app or Thunderbird address book.

  • developer

    Hi,

    @michael-j-gruber said in Date types in CardDAV contacts:

    So, to be concrete, I’m asking about the possibility for app/src/main/res/xml/contacts.xml to specify more data than CardDAV can sync (maybe only after explicit user request) so that the user can enter that extra data on an Android device (knowing it won’t sync).

    Thanks for your suggestion! Syncing data with X-PROPERTIES should be possible and I think it would be a good feature.

    1. Do you know what we have to add to contacts.xml?
    2. What do you suggest how these dates (OTHER and CUSTOM) should be represented in the vCard?

  • @rfc2822 said in Date types in CardDAV contacts:

    Thanks for your suggestion! Syncing data with X-PROPERTIES should be possible and I think it would be a good feature.

    1. Do you know what we have to add to contacts.xml?

    From the Android docs, I would think that

        <DataKind kind="event" dateWithTime="false" >
            <Type maxOccurs="1" type="birthday" yearOptional="true" />
            <Type maxOccurs="1" type="anniversary" yearOptional="true" />
        </DataKind>
    

    should change to

        <DataKind kind="event" dateWithTime="false" >
            <Type maxOccurs="1" type="birthday" yearOptional="true" />
            <Type type="anniversary" yearOptional="true" />
            <Type type="other" yearOptional="true" />
            <Type type="custom" yearOptional="true" />
        </DataKind>
    

    I’m not completely sure about the custom type. All of these are Android standard, so I’m somewhat surprised they even need to be specified to show up. (BTW: google contacts use all of them, that’s a good way to check and compare.)

    1. What do you suggest how these dates (OTHER and CUSTOM) should be represented in the vCard?

    I did not see these among other users of x properties (mozilla, evolution etc.). So X-DAVX5-EVENTOTHER and X-DAVX5-EVENTCUSTOM may be it. The content format would be the same as for the other two types.

    Now for the label for the custom type, if we follow what the mozilla addressbook does: For a custom event like 2021-01-17 derive an item id (maybe 2020117) and specify a label FirstShow in vcard as X-DAVX5-EVENTCUSTOM-20210117.LABEL:FirstShow. Maybe the id should be derived differently to allow different entries for the same day. (And maybe the label for an x property needs to be X-EVENTLABEL or such).

    Side note: There is a DEATHDATE in RFC 6474 which is not accepted yet. With aCalender+ and carddav-sync I noticed the following: if I enter a custom event with label Todestag then it shows up in aCalendars’s event list with a special icon. I have no clue who in the chain (carddav-sync provider, Android, aCalendar) recognizes that localized custom label. I don’t think the sync provider is involved. So, even without syncing (but with a different contacts.xml) this could work, too.


  • Any progress on this topic? I also miss custom event types a lot!

    Could you please give some feedback if you will implement or
    better configure this feature again? I would appreciate a lot!

  • developer

    @walter-schilder We are currently working on it. It will probably be contained in the next version.

    Custom events will be synced as X-ABDATE, like Apple (and some compatible systems like Synology) does.

Similar topics

  • 3
  • 1
  • 6