CalDAV sharing/access rights
CalDAV allows delegating or sharing calendars to other users. This feature is also implemented in nextcloud, for which Gnome has implemented a template in the local account settings.
If a user adds shared CalDAV calendars to gnome-calendar, it is not reflected by the UI. Also, those calendars might (and will in many cases) be read-only shares. The gnome-calender still allows adding events to those calendars, which then results in the event being dropped and no feedback given to the user.
There are implementations which do reflect access-rights in the UI, e.g. Apple's iOS Calendar, DAVdroid for Android or KDE's Akonadi calendar. Those won't allow the user to add events to read-only shares. However, I haven't read through their code or the relevant RFC yet.
Going a step further, it should also be possible to setup a calendar share from within the client. Hoever, I've only seen this feature in iOS calendar and the nextcloud web interface yet. It allows for public sharing via a link or sharing to a specific user, either read-write or read-only.
Design Tasks
-
user feedback if an action is not permitted and therefore failed -
disable UI features for unpermitted actions, e.g. remove the read-only calendars from the drop-down menu from which a calendar for a new event is selected
Development Tasks
-
implement detection of shared calendars -
implement detection of access rights -
implement sharing CalDAV resources from within gnome-calendar
QA Tasks
-
add test cases for shared calendars