diff options
-rw-r--r-- | ADMIN.md | 57 | ||||
-rw-r--r-- | README.md | 34 | ||||
-rw-r--r-- | USE.md | 66 |
3 files changed, 76 insertions, 81 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 @@ -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. |