aboutsummaryrefslogtreecommitdiff
path: root/ADMIN.md
diff options
context:
space:
mode:
Diffstat (limited to 'ADMIN.md')
-rw-r--r--ADMIN.md57
1 files changed, 57 insertions, 0 deletions
diff --git a/ADMIN.md b/ADMIN.md
index 3895db2..663a11f 100644
--- a/ADMIN.md
+++ b/ADMIN.md
@@ -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"