#import "@preview/wrap-it:0.1.1": *

== Kalender

Der FF Admin beinhaltet ein Modul für die Verwaltung von Terminen. Diese Termine können den Mitgliedern oder anderen Interessierten über die integrierte öffentliche Ansicht oder direkt als WebCal-Link zur Verfügung gestellt werden. 

#wrap-content(
  figure(
    image("../../images/calendar-type-form.png", width: 6.5cm),
  ),
)[
Auch im Kalendermodul müssen Stammdaten angelegt werden.

Die Stammdaten dienen dazu, die Kalendereinträge bestimmten Kategorien zuzuordnen. Die Kategorien enthalten eine Farbe und können dauerhaft öffentlich oder durch ein Passwort geschützt sein. Der Schutz einer Kategorie mit einem Passwort erschwert das automatisierte Testen und Auslesen von Terminen, da dann neben dem Namen der Kategorie auch das Passwort im Link angegeben werden muss.
]

#figure(
  image("../../images/calendar.png", width: 100%),
)

#wrap-content(
  figure(
    image("../../images/calendar-form.png", width: 6.5cm),
  ),
)[
Der Kalender ermöglicht die direkte Verwaltung von Terminen. Durch die Auswahl von Tagen in der Monatsansicht oder Zeiträumen in der Wochenansicht können Zeitbereiche direkt in das Formular zur Erstellung eines Termins übernommen werden.

Der vorgewählte Zeitraum kann im erscheinenden Formular jederzeit geändert werden. Bei ganztägigen Terminen können dann nur noch direkte Datumsangaben und bei zeitbegrenzten Terminen Daten mit Uhrzeit ausgewählt werden.
\
\
Weiterhin besteht ein Termin aus einem Termintyp bzw. einer Kategorie, einem Titel, einer Beschreibung und einem Ort.

Die Textfelder sind frei wählbar und werden nicht auf Duplikate oder Korrektheit geprüft.
]

Alle Daten eines Termins sind analog zu diesem Formular in der öffentlichen Kalenderansicht sichtbar. Die Daten werden auch vollständig über WebCal übertragen.

Die öffentliche Ansicht des Kalenders ist in FF Admin unter dem URL-Pfad `/public/calendar` verfügbar und zeigt alle Termine der Kategorien an, die mit `Standard Kalender Auslieferung` erstellt wurden. Die Ansicht kann als angemeldeter Nutzer über das Kalender-Icon im Kalender-Link-Dialog erreicht werden.

Die Kategorien können weiterhin verwendet werden, um spezielle Links anzulegen, die Termine nur bestimmten Mitgliedern zur Verfügung stellen.

#wrap-content(
  figure(
    image("../../images/calendar-publish.png", width: 6.5cm),
  ),
)[
Die Freigabe des Kalenders mit einem WebCal-Link kann über eine eigene Dialogbox verwaltet werden. Die Dialogbox kann über das Link-Icon in der rechten oberen Ecke der Kalenderansicht geöffnet werden.
\
\
Hier kann ausgewählt werden, welche Kategorien über einen Link verfügbar sein sollen. Die Kategorien werden - bei Bedarf mit der Passphrase - automatisch in den Link geschrieben. Sind Kategorien ausgewählt, kann zusätzlich die Standard-Auslieferung aktiviert werden. Ansonsten werden nur Termine der ausgewählten Kategorien ausgeliefert. Dieser kann dann kopiert und direkt in einen Kalender wie der von Google oder von Apple eingefügt werden.
]