aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ADMIN.md57
-rw-r--r--README.md34
-rw-r--r--USE.md66
3 files changed, 76 insertions, 81 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"
diff --git a/README.md b/README.md
index 1fe0fef..84e7e82 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/USE.md b/USE.md
index c13048d..d73fca1 100644
--- a/USE.md
+++ b/USE.md
@@ -21,7 +21,7 @@ eventhost: event.example.org
Recommended calendaring client depends on the operating system you use:
* Mac, iPhone and iPad: Apple Calendar
- * Windows and Linux: [Mozilla Lightning](https://www.mozilla.org/en-US/projects/calendar/)
+ * Windows and Linux: [Mozilla Thunderbird](https://www.thunderbird.net/)
* Android: [DAVdroid](https://f-droid.org/app/at.bitfire.davdroid)
and [ICSdroid](https://f-droid.org/app/at.bitfire.icsdroid)
@@ -46,74 +46,14 @@ To both read a calendar and help maintain its content,
you need to setup a **CalDAV** profile:
1. Open calendaring client, and add new account profile of type "CalDAV".
- 2. Server address: **event.example.org:8443**
+ 2. Server address: **event.example.org**
3. Username and password: Either personal or calendar-group account credentials.
If above fails, or if you want to specifically pick a single calender,
use this alternative approach:
1. Copy address of relevant calendar from web page
- **https://event.example.org:8443/calendars/users/USERNAME/**
+ **https://event.example.org/**
(replace USERNAME with either personal or calendar-group account name)
2. Open calendaring client, and add new account profile of type "CalDAV".
3. Paste the calendar address as server address.
-
-
-## FIXME
-
-FIRST: open Calender -
-Under Calendar>Preferences>Accounts find the old kpstaff calendar,
-mark it and hit the - in the button to delete it,
-It is not working anymore and can not be used.
-
-THEN: set up the new one following the steps below.
-
-Step 1:
-Under Calendar>Preferences>Accounts create a new account by pressing the "+"
-and select "Other CalDAV Account"
-
-If it says 'AUTOMATIC' change it to \'91MANUAL\'92 in the top drop down menu.
-
-Step 2:
-Fill in the following:
-
-Username: Your Username
-Password: Your Password
-
-URL: <https://event.homebase.dk/
-
-press "add"
-
-All team calendars + staff and room booking calendar should now pop up.
-And we can all edit them (students cannot of course).
-
-How to create an additional calendar?
-
-Step 3: Press the "+" icon in the bottom left of the screen:
-you now have a new calendar.
-Name it what you want by double clicking on it and editing it.
-
-This new Calendar is personal and is not shared to other,
-but is synchronised between your own devices.
-
-If you want let's say a new Team xx calendar to be read/write for all staff,
-then create it and write <mailto:teknik@lists.homebase.dk>
-and ask to make it available for all staff.
-
-How do the students see the calendar(s)?
-
-Go to <http://event.homebase.dk/>,
-copy the URL to the calendar(s) they need,
-and mail it to them,
-then in Calendar,
-by going to Calendar > Subscribe in the menu and pasting the URL
-or just dobbelclik the link you send (works most of the time).
-They still need to refresh to update
-and any changes you make will take 10 minutes to go across.
-
-For tech support, contact the teknik list.
-<teknik@lists.homebase.dk>
-
-Important: Never ever share passwords.
-Not to technicians, not to police.
-Never.