Sharing Calendars Between Android and Mac/iOS failing.



  • I am publishing calendars from Macs calendar program to a Synology NAS. My wife and I can share calendars between our Macs and her iOS device. For some reason, I cannot see the events in the ics files created by the Macs on my Android phone. If I create an event on Android, I can see those events on Android and Mac.

    Before using DavDroid the file structure looked like
    calendars
    --Husband
    ----Husband.ics
    --Wife
    ----Wife.ics

    After using DavDroid and adding events to both calendars, we have something like this;
    calendars
    --Husband
    ----Husband.ics
    ----14a04628-2830-4974-9d43-cca948c115f7.ics
    --Wife
    ----Wife.ics
    ----48fc5c12-fac5-4cb9-a93b-09e4fc5ff554.ics

    DavDroid is configured with the following URL, and shows both the husband and wife calendars as available.
    https://hostname:5006/calendars
    Interestingly, when looking at the logs, it never shows Husband.ics or Wife.ics although it does show the garbage filenames.

    Is this a permission issue with the ics files or something to do with the pub/sub setup in Calendar? How do you suggest we configure the calendars to share between all devices?


  • developer

    Hello,

    @mikul said in Sharing Calendars Between Android and Mac/iOS failing.:

    Before using DavDroid the file structure looked like
    calendars
    --Husband
    ----Husband.ics
    --Wife
    ----Wife.ics

    I don't understand that. An .ics file can only contain one event in CalDAV, so you're storing only one event?

    After using DavDroid and adding events to both calendars, we have something like this;
    calendars
    --Husband
    ----Husband.ics
    ----14a04628-2830-4974-9d43-cca948c115f7.ics
    --Wife
    ----Wife.ics
    ----48fc5c12-fac5-4cb9-a93b-09e4fc5ff554.ics

    Seems correct. As said above, in CalDAV, a member resource ("file") can contain only one event.

    DavDroid is configured with the following URL, and shows both the husband and wife calendars as available.
    https://hostname:5006/calendars
    Interestingly, when looking at the logs, it never shows Husband.ics or Wife.ics although it does show the garbage filenames.

    Those file names are not "garbage", but (U)UIDs with an .ics suffix. They're not intended to be understood by humans.

    Is this a permission issue with the ics files or something to do with the pub/sub setup in Calendar? How do you suggest we configure the calendars to share between all devices?

    For me, this seems to be a misunderstanding of how CalDAV works. You cannot just put an .ics file with multiple events into the directory and expect it to work.

    Sharing is a server task, so please see your server manual for details. However, you don't need "real" sharing if you just use the same calendar resource (maybe even with same user name/password) on multiple devices. :)



  • I agree. It sounds like it's publishing to WebDav. Synology has a WebDav implementation with calendar support. The port numbers are the same. When publishing a MacOS calendar, it seems to be using WebDav.

    The problem seems to be in publishing the calendar from the Mac to the CalDav server. MacOS's calendar app places all of the calendar entries in to a single ics file. However, if I select the calendars that appear from the CalDav account and create a new event, a new file with a UUID appears in the intended spot like you said: one for each event. The question now becomes, how do I export all MacOS calendar events to CalDav or how do I get Android to ready the mult-event ics file that MacOS's calendar creates.


  • developer

    @mikul Are you sure that you published it with CalDAV (and not WebDAV or some other method)? I can't give you support for Apple products, because I don't know them, but I know that Mac generally has good support for CalDAV. We have tested with several Mac products, and all were working fine.

    It's a problem with the publishing application and not with DAVdroid. As said before, in CalDAV, every event belongs to a single resource (file).



  • I agree. It sounds like it's publishing to WebDav. Synology has a WebDav implementation with calendar support. The port numbers are the same. When publishing a MacOS calendar, it seems to be using WebDav.

    The problem seems to be in publishing the calendar from the Mac to the CalDav server. MacOS's calendar app places all of the calendar entries in to a single ics file. However, if I select the calendars that appear from the CalDav account and create a new event, a new file with a UUID appears in the intended spot like you said: one for each event. The question now becomes, how do I export all MacOS calendar events to CalDav or how do I get Android to ready the mult-event ics file that MacOS's calendar creates.


  • developer

    @mikul I see two possibilities:

    1. either get the Mac application to use CalDAV, i.e. publish the events correctly, or
    2. set up DAVdroid, transfer the .ics file to your Android device and then import it into the CalDAV calendar with the Calender app (open the .ics should be enough)


  • Thank you. I will try to get the Mac to publish to CalDav correctly, but the option to import the ics from my phone is a great idea. I did not know that was an option.


Log in to reply
 

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