Vereinheitlichte & geteilte Kalender

Geht hier erstmal Ideen zu sammeln, wie sich sowas umsetzen lässt.
Es geht darum, dass man Kalender vereinheitlicht bzw. einheitlich verfügbar macht.

ursprüngliche Ideenskizze:

  • Es gibt mindestens einen öffentlich editierbaren Kalender, in den alle Termine eintragen können
  • Es gibt mehrere moderierte Kalender (z.B. StuFF München, SFF bundesweit, …), die abboniert werden können. Aus dem öffentlichen Kalender können Menschen Termine in den moderierten Kalender übernhemen
  • Es sollte möglichst gut in Tools integriert werden, die Menschen schon verwenden (lokale Kalender auf dem Handy etc)
  • Idealerweise auch niedrigschwellig (=wenig Aufwand). Zum Beispiel, dass man sich möglichst einfach ‚Feeds‘ raussuchen kann, die einen interessieren

So wie ich jetzt auf den ersten Blick finden konnte gibt es im Prinzip zwei weit verbreitete Standards:

  • iCal/.ics zum Abbonieren von Kalendern (read-only). Können eigentlich fast alle Tools.
  • CalDAV für r/w Synchronisation von Kalendern. CalDAV ist Account-gebunden, aber es könnten auch einfach alle den selben Account nehmen, daher denke ich wäre das kein Problem. Problem ist allerdings, dass Google Calendar keine anderen CalDAV Server erlaubt, das heißt da braucht man andere Apps (die das in Google Calendar reinsynchronisieren). Microsoft Office braucht dieses Plugin.

CalDAV Server gibt es ein paar. Zum einen kann Nextcloud das, zum anderen gibt’s spezielle Server wie Baïkal oder Radicale. Baïkal hab ich testweise mal aufgesetzt (ist PHP, und muss man etwas fixen, damit es hinter einem HTTP Proxy läuft), Radicale wohl hat ein nixpackage.

Ich weiß nicht, ob ein zentral gehosteter Kalender überhaupt erstrebenswert ist, aber zumindest fände ich eine ‚gemergete‘ Anlaufstelle sinnvoll. Das sähe zum Beispiel so aus, dass es einen CalDAV Server gibt, der zum einen eigene Kalender hat, die Menschen über CalDAV moderieren können, als auch externe Kalender importiert und sammelt. Dafür gibt es zum Beispiel dieses Tool hier. Nextcloud kann ics direkt abbonieren, aber ich hab noch nicht getestet, was sich dann damit machen lässt (z.B. in anderen Kalender kopieren oder nochmal aus Nextcloud abbonieren).

Nachdem ich mich auch schonmal etwas mit Kalendern beschäftigt hatte:

Radicale ist sehr nett und simpel, aber auch extrem einfach — das ist im wesentlich ein python-script, eine config, und ein bisschen doku zur config, und es macht wirklich absolut nix außer calDAV zu implementieren (es gibt noch ein webinterface, in dem man sich einloggen und kalender erstellen und freigeben kann, sonst aber nix — bearbeiten geht nur über caldav). Insgesamt eigentlich recht angenehm, zumindest im vergleich zu den ganzen anderen kalendern die dann noch irgendwelche groupware mitbringen.

Es kann wohl ldap, allerdings hab ich das noch nie ausprobiert. Funktioniert aber sonst eigentlich ganz gut (läuft hier auf meinem NAS schon ein paar Jahre, wurde auch schonmal „migriert“, i.e. ich habe ein paar dateien auf nen anderen rechner verschoben und dort radicale wieder neu gestartet), man stößt halt relativ schnell an featuregrenzen. Läuft auch auf nix gut.

Sonst denke ich, dass für so Kalender ein Webfrontend wichtig ist; jedenfalls erscheint es mir unwahrscheinlich, dass alle potentiellen Benutzer:innen bereit sind sich mit e.g. Android und CalDAV auseinanderzusetzen (geht, aber braucht ne app, die es zumindest vor ein paar jahren glaub ich nur im fdroid gab — danach ist die auch im systemkalender, aber wahnsinnig intuitiv ist das halt nicht).

Leider sind mir keine guten Webfrontends für CalDAV bekannt …

Ich hab dazu jetzt mal AgenDAV aufgesetzt, was eigentlich ganz okay aussieht, ansonsten aber einige Probleme macht, weils nicht mehr aktiv gepflegt wird seit 2018 (Die Website ist nur noch nichtssagen zu irgendeinem Unternehmen). Die Dokumentation ist hier: https://agendav.readthedocs.io (hab ich sonst nirgendwo verlinkt gefunden).

Konkret musste ich zwei Sachen im PHP Code fixen (Issue 263 und 191), damit Login mit Baikal lief, bearbeiten geht aber immer noch nicht (Laut Doku könnte das mit einem anderen CalDAV Server gehen, weil die jeweils unterschiedliche Methoden zur authentication nutzen).

Eine Haufen php von 2018 find ich … suboptimal.

Ich hab eben nochmal etwas herumgesucht; und dabei infcloud gefunden. Das ist immerhin statisches javascript und braucht keine weiteren Servereinstellungen, dafür ist das letzte Release aber auch nochmal drei Jahre älter als das letzte von AgenDAV.

Das compref / AStA der TUM verwendet übrigens sogo.nu, was sogar noch aktiv entwickelt wird; allerdings ist das eine Groupware mit noch Integration für Mail und Microsoft Exchange — das „nur“ für den Kalender zu installieren erscheint mir etwas ineffizient. Außerdem ist es Objective-C :woman_shrugging:

Die FFF Cloud hat ja die „Kreise“ Funktion, vllt hilft euch das?
Weiß auch nicht wie ihr bisher mit Gruppen arbeitet.

Insgesamt ist das einrichten von DAV schon bisschen aufwändig und verschiedenen zwischen den Plattformen, hab selber iPad, android handy und Windows…
Lustigerweise ist die Umsetzung für Windows am schlechtesten.