DAVdroid <-> Radicale
the website states that DAVDroid works with a Radicale server. I've set up such a server and connected to it with DAVDroid. But at that point, DAVDroid cannot find any calenders or address books. With other clients (on my desktop computer), the server seems to work. Is this a problem with the server, or with DAVDroid?
What URL are you entering in DAVdroid vs the URL of your calendars/address books?
DAVdroid works with radicale for me (except #85).
I am entering an IP-Address with port looking like:
and tried also
In both cases, I cannot find any Contacts/Appointments. The self-signed ssh-certificate is added to my phone.
I haven't set up ssl yet, but http:// 55.55.555.555:5232/user/ works.
Do the radicale logs and/or logcat show anything?
Well, first I had to figure out how to produce log files
I can see some error 207 Unknown and error 404, but do not know what they mean.
You can see the log here: http://nopaste.info/e47b675ae6.html
@Milch3006 What is the exact error message of DAVdroid? Or are there just no address books / calendars? Can you provide logcat output?
There is no error message, there is just no address book and calendar.
I'm not very much in android application development, so I do not know how to access logcat (and did not find an easy way at once).
Could you provide a test account and send it to email@example.com?
Looks like this problem occurs when the calendar is created not in a subdirectory like /Andi/mycalendar/ but directly in /Andi/. DAVDroid then requests all calendars for the home-set but receives only a single response tag (in pastebin starting in line 269). This response tag is for the home-set itself and also for the calendar!
Due to the check in https://github.com/rfc2822/davdroid/blob/master/src/at/bitfire/davdroid/webdav/WebDavResource.java#L391 this response tag is not added as a member, but instead its props are added to the WebDavResource object itself. And in https://github.com/rfc2822/davdroid/blob/master/src/at/bitfire/davdroid/syncadapter/QueryServerDialogFragment.java#L182 it only walks over the members but doesn't check if the homeSetCalendars object itself is a calendar...
@Milch3006: a simple solution would be to create the calendar at /Andi/calendar.ics/ . This is also suggested in Radicale doc (and it makes it easier to create multiple calendars for one user). You can still enter /Andi/ as URL in DAVdroid, and it should automatically find the calendar at /Andi/calendar.ics/ .
This seems to be the solution!
My Desktop client does not have problems with the calender and contact book being in the /user/-root directory. Creating another calender in a sub-directory works. DAVdroids now displays the calender. It was only a first test, as I do not have much time at the moment, but it seems very promising.
I will send a little description how to use DAVDroid with Radicale to the Radicale developer for the homepage. There are howtos for several clients, but DAVDroid is missing. So no one else should have the same problem .
Thank you for all your help!
RFC 4791 6.2.1: »CALDAV:calendar-home-set Property
Typically, users will group all the calendar collections that they own under a common collection. This property specifies the URL of collections that are either calendar collections or ordinary collections that have child or descendant calendar collections owned by the principal.«
So, I think this is a matter of interpretation. What is "the URL of calendar collections"? "The URL" is singular, "calendar collections" are plural. Until I have found/heard good arguments, I will interpret it as "URL that contains calendar collections (but not: is a calendar collection") and then DAVdroids behaviour is correct.
What I have missed is that the home-set can contain nested collections and only the last level must be a calendar collection. So the detection Depth should be Infinity, not 1 (and it should only detect calendars). I will consider this as an enhancement issue, thanks for reporting.