Some configuration and features questions



  • Hi,

    I've been using Davdroid for a while now, and I love it for the contact sync.

    My configuration is all private :

    • davical server on an Ubuntu VM, hosted at home and only accessible locally (not through internet, I use VPN from outside). This server is accessed by my 2 laptops and a desktop server, one W7/Outlook 2010, one W10/Outlook 2010 and one Ubuntu/Thunderbird 52.
    • I sync events and tasks (merged in a "calendar" collection, which I'm reconsidering as I wish to split those) and contacts (in the "addresses" collection)
    • Davdroid runs on a Asus Zenfone2, running ResurrectionRemix 5.8 ROM (Android N). Right now, it's only syncing contacts.

    When I create the account, I enter the full path to the address collection (http://<server>/caldav.php/<account>/addresses). Though it finds both the contact and the calendar collection. Is this normal ? I wanted to create several accounts, one per type of data.

    In this account, if I want to add a collection, I can say it's only an event's or a todo's and I see the corresponding icons.
    Is there a way to change the "calendar" collection or any collection created on the server to limit it to tasks or events ? (still in the aim to have one server collection per data type)
    I could only find a way to specify tasks or events if I create the collection from Davdroid ?

    On the contacts, I see that you use some specific fields, like in the header PRODID or DAVDROID1.X-ABLABEL. Is there a way to use those ? I'm thinking per-contact ringtone for instance. Or is there a way to create X-attribute fields ?

    And the last (but not least because I'm not using the events/tasks sync because of that), is it possible to add a categories/per event color matching table ? I know of the non-standard issue. I use "myphoneexplorer" that does only a one way match (outlook -> android) to set the per-event color, and it's lost if you modify the event on the phone.
    With a user-defined matching table, there should be a way to have a 2 ways sync of those ?

    OK, I hope I haven't been too long, thanks anyway !


  • developer

    Hello,

    @mister_slowhand said in Some configuration and features questions:

    When I create the account, I enter the full path to the address collection (http://<server>/caldav.php/<account>/addresses). Though it finds both the contact and the calendar collection. Is this normal ? I wanted to create several accounts, one per type of data.

    Yes, this is by intention. DAVdroid always does auto-detection (beginning from the URL you have entered) and shows all detected resources, including the one you specified. If you don't want the other ones to be synced, just don't check them.

    In this account, if I want to add a collection, I can say it's only an event's or a todo's and I see the corresponding icons.
    Is there a way to change the "calendar" collection or any collection created on the server to limit it to tasks or events ? (still in the aim to have one server collection per data type)

    You have to specify that on your server. DAVdroid queries the server for supported-calendar-component-set (https://tools.ietf.org/html/rfc4791#section-5.2.3), which is exactly whether a collection supports VEVENT, VTODO etc., and uses this information accordingly. Collections which are advertised as supporting VEVENT (and only those) will be used as calendars; collections which are advertised as supporting VTODO (and only those) will be used as task lists. Please ask your admin or server support for more details about that.

    I could only find a way to specify tasks or events if I create the collection from Davdroid ?

    Yes, DAVdroid is not only able to query supported-calendar-component-set, but also to send this information when creating collections on the server.

    On the contacts, I see that you use some specific fields, like in the header PRODID or DAVDROID1.X-ABLABEL.

    PRODID is not a custom property, it just shows that the VCard was created by DAVdroid. X-ABLABEL is also not defined by DAVdroid, but invented by Apple and now de-facto-standard for labels and used by many clients. The davdroidX. grouping is arbitrary, it could also be abcefX..

    Is there a way to use those ? I'm thinking per-contact ringtone for instance. Or is there a way to create X-attribute fields ?

    In theory, yes, but it would require cooperation between the used Contacts app and DAVdroid, because those properties are (by its nature) not specified in Android's Contact Provider. Per-contact ringtones could be synchronized by DAVdroid as X- field, but we have chosen not to do so, because it's not about the contact itself but about personal preferences. Imagine an address book shared by several people – they probably don't share ringtone preferences, too.

    And the last (but not least because I'm not using the events/tasks sync because of that), is it possible to add a categories/per event color matching table ? I know of the non-standard issue. I use "myphoneexplorer" that does only a one way match (outlook -> android) to set the per-event color, and it's lost if you modify the event on the phone.
    With a user-defined matching table, there should be a way to have a 2 ways sync of those ?

    As you have already noticed, we have implemented that :)



  • @rfc2822 said in Some configuration and features questions:

    Yes, this is by intention. DAVdroid always does auto-detection (beginning from the URL you have entered) and shows all detected resources, including the one you specified. If you don't want the other ones to be synced, just don't check them.

    OK I'll deal with it, that's what I have now (one account, only contacts sync, calendar unchecked). I was just looking for a way to have minimum collections in each account, as I found safe to have separate accounts when I wanted to try tasks sync. (for account deletion...)

    You have to specify that on your server. DAVdroid queries the server for supported-calendar-component-set (https://tools.ietf.org/html/rfc4791#section-5.2.3), which is exactly whether a collection supports VEVENT, VTODO etc., and uses this information accordingly. Collections which are advertised as supporting VEVENT (and only those) will be used as calendars; collections which are advertised as supporting VTODO (and only those) will be used as task lists. Please ask your admin or server support for more details about that.

    I could only find a way to specify tasks or events if I create the collection from Davdroid ?

    Yes, DAVdroid is not only able to query supported-calendar-component-set, but also to send this information when creating collections on the server.

    That isn't handled by Davical. It only knows "addresses" (vcard) or "calendar" (vevent AND vtodo mixed). When I tried to create the tasks only collection from Davdroid, I ended with a "calendar" collection server-side.
    So I guess when I try to sync on another Android device (or if I re-create this account on the phone), Davdroid will see the collection as tasks AND events ?

    In theory, yes, but it would require cooperation between the used Contacts app and DAVdroid, because those properties are (by its nature) not specified in Android's Contact Provider. Per-contact ringtones could be synchronized by DAVdroid as X- field, but we have chosen not to do so, because it's not about the contact itself but about personal preferences. Imagine an address book shared by several people – they probably don't share ringtone preferences, too.

    Yes, I imagine that. I was thinking about a more tunable system : for instance a list of fields in the Android contact/raw-contact db and the option to link any not-yet-synced field to a caldav field (standard or not) on the server. (this is a lot of UI and consistency checks though)
    I guess if I could select the "ringtone" field, match it to myset.X-ringtone, then the VCard on the server will have this new entry. But say I share the contact, whatever client tries to sync this will just ignore this unknown label ?

    As you have already noticed, we have implemented that :)

    Yes, this is an amazing coincidence !
    I have contacted the Outlook Caldav Synchronizer and they added a feature request for handling the COLOR tag, populated using Outlook Category Colors. They have proven very efficient and have a very robust solution.


  • developer

    @mister_slowhand said in Some configuration and features questions:

    That isn't handled by Davical. It only knows "addresses" (vcard) or "calendar" (vevent AND vtodo mixed). When I tried to create the tasks only collection from Davdroid, I ended with a "calendar" collection server-side.

    As far as I have seen, support for separated component support is not required, so the server can choose to only allow "mixed" collections.

    So I guess when I try to sync on another Android device (or if I re-create this account on the phone), Davdroid will see the collection as tasks AND events ?

    Yes. It should even be enough to re-scan the collections (choose the "CalDAV" menu in the DAVdroid, then "Refresh calendars"). After refreshing, the collections should be shown to support all components.



  • Well, I was trying to have the exact opposite behavior ;-)
    I wanted Davdroid to ignore the server's information, force the collection to one type only.

    Now I understand how you see the sync, as a client and the reference is the server. Gonna think my collections otherwise then.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.