Kalender

Aus HaSi Wiki
Wechseln zu: Navigation, Suche


Kalender zum Lesen abonnieren

Unter der URL https://caldav.hasi.it/hasi/ kann man einen ical-Kalender abonnieren. Die Kalender unterhalb dieser URL sind read-only und benötigen keine Logindaten. Sollte ein Kalender-Client nach Logindaten fragen steht ein anonymer User anon mit Passwort anon zur Verfügung.

Wir bieten drei verschiedene Kalender an:

HaSi Highlights: https://caldav.hasi.it/hasi/highlights/

Dieser Kalender enthält Termine, die auf außergewöhnliche Veranstaltungen im HaSi (bzw. vom HaSi organisierte Veranstaltungen) hinweisen: Vorträge, Workshops und andere Veranstaltugnen die insbesonders auch an ein Publikum außerhalb des HaSi gerichtet sind.

HaSi Events: https://caldav.hasi.it/hasi/events/

Dieser Kalender enthält neben den "highlights"-Einträgen auch noch Termine die zum „normalen“ Betrieb des HaSi gehören: Plena, TuWat's, regelmäßige Öffnungstermine etc.

HaSi All: https://caldav.hasi.it/hasi/all/

Dieser Kalender enthält neben "highlights"- und "events"-Einträgen auch noch Termine die für HaSi-nahe Personen relevant sein könnten: So z.B. Veranstaltungen des CCC, Veranstaltungen in Siegen (die nicht vom HaSi organisiert werden), sowie andere, wichtige, unwichtige und lustige Termine.


Kalender zum Editieren abonnieren

Personen die Einträge in unserem Kalender mit pflegen wollen können sich bei Simon melden, der legt dann einen entsprechenden Account an.

Unter der URL https://caldav.hasi.it/hasi-edit/ findet man dann drei Kalender, Diese sind nur mit entsprechenden Logindaten les- und schreibbar.

Die editierbaren Kalender sind:

  • HaSi Highlights (edit): hier eingetragene Termine landen in den read-only-Kalendern HaSi Highlights, HaSi Events und 'HaSi All.
  • HaSi Regular (edit): hier eingetragene Termine landen in den read-only-Kalendern HaSi Events und HaSi All.
  • HaSi Other (edit): hier eingetragene Termine landen in dem read-only-Kalender HaSi All.
HaSi Highlights HaSi Events HaSi All
HaSi Highlights (edit) X X X
HaSi Regular (edit) - X X
HaSi Other (edit) - - X

Bereinigung von Kalendereinträgen

Die im Kalender gespeicherten Termine werden bereinigt um die Nutzbarkeit für andere nicht zu beeinträchtigen:

  • Alarme werden ausgefiltert
  • Teilnehmerlisten werden ausgefiltert
  • End-Uhrzeiten zwischen Mitternacht und 08:00 Uhr werden auf 0:00 Uhr normiert (damit ein abend/nächtlicher Termin in einer Kalender-App nicht an zwei Tagen dargestellt wird)
  • einige nutzlose Properties werden ausgefiltert
  • Es wird ein CATEGORIES-Header eingefügt, der je nach Kalender auf "HIGHLIGHT" / "EVENT" / "OTHER" gesetzt wird. Während dieser Header von vielen ical-Clients nicht unterstützt wird ist er doch nützlich um z.B. Termine auf einer Webseite farblich markieren zu können.

Infrastruktur

Der Kalender läuft in einem Radicale auf unserer Server-Instanz, Simon kümmert sich um die Konfiguration des Servers.

Die Collections sind unter /var/lib/radicale/collections gespeichert. Achtung: Dies ist ein Git-Repository.

In der Root-Collection gibt es die hasi- und die hasi-edit-Hierarchie. Die Zugriffsrechte darauf sind in /etc/radicale/rights konfiguriert, Nutzer und ihre bcrypteten Passwörter sind in /etc/radicale/users gespeichert. Achtung: Neue Edit-Nutzer müssen in beiden Dateien gepflegt werden.

Nachdem ein Benutzer einen Termin editiert hat, ruft Radicale über die hook-Konfigurationsoption das Skript /var/lib/radicale/sanitize-git-hook.sh auf und übergibt den Usernamen als Argument. Dieses Skript ruft zunächst für jeden geänderten Termin das Python-Programm /var/lib/radicale/sanical.py auf den Termin zu bereinigen. Anschließend werden die Termine aus der hasi-edit-Hierarchie in die hasi-Hierarchie durch strategisches Symlinken übernommen. Anschließend werden die Änderungen in das git committed.


Integration mit der Webseite

Die Darstellung/Bearbeitung von Terminen auf der Webseite wird von Julian betreut. Die Integration ist noch im Werden.


Plattformspezifische Einrichtung

MacOS

Kalender mit Leserechten abonnieren
  1. Kalender-App öffnen
  2. "New Calendar Subscription" auswählen
  3. URL einfügen (s.o.)
  4. Abonnieren auswählen.
Kalender mit Schreibrechten abonnieren

1. Via Simon muss ein Account angelegt werden. 2. In den Calendar-Einstellungen "Other CalDAV Account" auswählen

Type
Advanced
Server Address
https://caldav.hasi.it/
Server Path
/hasi-edit/
Port
443
SSL
yes