Okay. Feel free to not reply if not interested. 🙂
Well, as I said:
I have multiple users. The users are in a group. Each user has at least one calendar and one address book. The group also has a calendar and a address book. Since each user is in the group, he should see the group resources too. (The rights are set accordingly, and it works for KDE and Thunderbird.)The paths are defined by DAViCal in this pattern:
https://$domain:$port/caldav.php/$userOrGroup/$resource/
e.g.
https://cool-site:8443/caldav.php/evilmachine/privateContacts/
which I guess is standardized… (?)
Now I create the user account on the phone, using the path
https://$domain:$port/caldav.php/$user/
with the user name $user and the correct password.
But due to the well-known URLs, I assume
https://$domain:$port/
should suffice.
What I (as a n00b) then expect to happen in DAVdroid, is to get shown a list of all calendars, contacts (and eventually tasks) to which the user has access. I assume this would perhaps be created in the following way:
getResources(loggedInUser, []) function getResources(principal, trace) { if (principal in trace) { warning "Infinite loop!"; return [] }; trace += principal availableResources = principal.resources.filter({ access = allowed }) for each (group in principal.groups) { availableResources += getResources(group, trace) } return availableResources }This still ignores the possibility of resources that have no connection to a user still being accessible to a user. So maybe it would be even better to also offer a (series of) free text field(s) instead of just radio/check boxes, so one could add arbitrary paths…
Now the problem is, that that is all just how I guess it might work… in my head,
and I have no idea how this whole thing was intended to work,
or if this is even part of any RFC or just the way DAViCal works…
And I really would like to configure everything “the right way”. Including well-know URLs.
Because what I do now either requires disabling well-known URLs and using a specific URL…
or will leave the group resources not accessible at all.
Both don’t sound like “the right way”, and I feel like I have not understood how this is meant to be configured and used at all.