diff options
author | Jonas Smedegaard <dr@jones.dk> | 2021-10-28 21:21:09 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2021-10-28 21:21:09 +0200 |
commit | e0165d24dd67034852be649a7865676ee1aada12 (patch) | |
tree | 381d2fc4a6d9b2609abedf1633b86404679362a4 | |
parent | f45aa6882ffd48c3ff65400e0be493bc8a6775b0 (diff) |
largely rewrite README and ADMIN
-rw-r--r-- | ADMIN.md | 57 | ||||
-rw-r--r-- | README.md | 34 |
2 files changed, 73 insertions, 18 deletions
@@ -1,4 +1,61 @@ +# Administrating calendar events + +This system supports a limited subset of [iCalendar] and [CalDAV] standards, +and is tested to work with Apple and Mozilla clients. + +The CalDAV service uses [Radicale]. + +[CalDAV]: https://en.wikipedia.org/wiki/CalDAV + "CalDAV - Internet standard allowing a client to access scheduling information on a remote server" + +[Radicale]: https://radicale.org/ + "Radicale - Free and Open-Source CalDAV and CardDAV Server" + +[iCalendar]: https://en.wikipedia.org/wiki/ICalendar + "iCalendar - media type which allows users to store and exchange calendaring and scheduling information" + + +## Recurrences + +Recurring events can be too complex to handle for some CalDAV applications. + +Recurrence rules are stored in iCalendar field [RRULES]. + +Locating which events may be cause of problem is tricky, +because recurrence rules may exist not only directly tied to the event +but also embedded in timezone objects for the event +(which is commonly not problematic for applications). + Quick'n'dirty locating events containing recurrence rules, except (most likely) summertime rules: grep -rP 'RRULE:FREQ=(?!YEARLY(;UNTIL=19430919T000000Z)?;(BYMONTH=(2|3|4|9|10|11);BYDAY=(-1|1|2|3)SU|BYDAY=(-1|1|2|3)SU;BYMONTH=(2|3|4|9|10|11)))' + +[RRULES]: <https://devguide.calconnect.org/iCalendar-Topics/Recurrences/> + "RRULES - iCalendar data field to express recurrence rules" + + +## Scheduling + +Scheduling of events is currently *not* processed - +invitation and FreeBusy/Availability hints are ignored. + +Calendaring applications may request invitations for events, +but this is currently ignored in the CalDAV service +(technically this is CalDAV extensions [iTIP] and [iMIP]). + +Calendaring applications may query for FreeBusy or Availability of resources, +but this is currently rejected by the CalDAV service +(technically this may involve CalDAV extensions [VFREEBUSY] or [VAVAILABILITY]). + +[iTIP]: <https://devguide.calconnect.org/Scheduling/iTIP/> + "iTIP - specification on handling participant invites for CalDAV events" + +[iMIP]: <https://devguide.calconnect.org/Scheduling/iMIP/> + "iMIP - specification on distributing iTIP invites via email" + +[VFREEBUSY]: <https://devguide.calconnect.org/Scheduling/FreeBusyAvailability/> + "VFREEBUSY - specification on sharing free/busy time of resources" + +[VAVAILABILITY]: <https://datatracker.ietf.org/doc/html/rfc7953> + "VAVAILABILITY - specification on sharing (potentially) available time of resources" @@ -1,29 +1,27 @@ -# Shared calendars and publishing events +# Syncronizing and sharing calendar events _(event)_ -Decentral event planning and publishing tools. -Publish or share calendars within a group of people or publish events to a feed or a web page. +Calendars hold events and tasks +(tasks, a.k.a. todo items, are events without time or date assigned). -## Scheduling of calendar events _(event)_ +Each user can create private calendars tied to their personal account. -iCalendar specifies a file format for events. +Shared calendars can be created for groups of users. -CalDAV specifies how to manage events. +Private and shared calendars can be exported as read-only calendar files +e.g. for publishing on a website. -iCalendar spec is relatively simple, and widely supported. -CalDAV spec is very big and complex, however, -and no system supports all of it. +Technically, +private and shared calendars is a [CalDAV] service using [Radicale], +and public calendars are [iCalendar] files. -This system supports a limited subset of CalDAV -tested to work with Apple and Mozilla clients. -Currently non-shared calendars are supported, -without iTIP or iMIP. - -It is possible to extend our current system with iTIP/iMIP support, -but that has not yet been explored. - -Technically, the CalDAV service uses [Radicale]. +[CalDAV]: https://en.wikipedia.org/wiki/CalDAV + "CalDAV - Internet standard allowing a client to access scheduling information on a remote server" [Radicale]: https://radicale.org/ + "Radicale - Free and Open-Source CalDAV and CardDAV Server" + +[iCalendar]: https://en.wikipedia.org/wiki/ICalendar + "iCalendar - media type which allows users to store and exchange calendaring and scheduling information" ## Invites |