Software-Entwicklungen

Terminkalender
kal_termine, Version 3.5
Autor: Wolfgang Busch

Dieses AddOn bietet ein System zur Verwaltung und Darstellung von Veranstaltungsterminen mit responsivem Design. Die Termine lassen sich in getrennt verwaltete Kategorien gliedern.

Das AddOn umfasst
- eine zusätzliche Redaxo-Datenbanktabelle für die Termine
- eine Stylesheet-Datei für Farben und Formen der Kalendermenüs
- Funktionen zu Kalenderberechnungen
- Funktionen zur Darstellung von Terminlisten und Kalendermenüs
- einen Modul zur Verwaltung der Termine (im Backend)
- einen Modul zur Ausgabe eines Kalendermenüs oder einer Terminliste (im Frontend)

Ein (Veranstaltungs-)Termin kann ein Zeitabschnitt innerhalb eines einzelnen Tages sein. Er kann aber auch aus mehreren Zeitabschnitten bestehen, die sich auf mehrere Tage verteilen:
- auf mehrere aufeinander folgende Tage oder
- auf genau einen Wochentag über mehrere Wochen oder
- auf genau einen Wochentag über mehrere Monate (z.B. jeden 2. Freitag im Monat).
Wöchentlich oder monatlich wiederkehrende Termine können sich darüber hinaus auch auf mehrere aufeinander folgende Tage verteilen (Wochenenden [Sa+So] über einige Wochen oder ein festes Wochenende im Monat über einige Monate).
 

Die Terminverwaltung beinhaltet diese Funktionen:
- Eintragung eines Termins in die Datenbanktabelle
- Löschung eines Termins
- Aktualisierung der Daten eines Termins
- Kopieren (der Daten) eines Termins
- Menü-gesteuerte Suche eines Termins

Als Kalendermenüs stehen die folgenden Darstellungen zur Wahl:
- Monatsmenü, Tage mit eingetragenen Terminen sind schraffiert
- Monats-, Wochen-, Tagesblatt mit halbgrafischer Darstellung aller Termine
- Liste der Termine eines Kalenderjahres mit Filterfunktionen
- tabellarische Darstellung der Daten eines Termins
- tabellarische Liste der Termine eines Zeitabschnitts

Alle Kalendermenüs gestatten das Blättern zum vorherigen und nachfolgenden Zeitabschnitt, das Monatsmenü zusätzlich zum gleichen Monat im Vor- oder Folgejahr. Zudem sind sie untereinander verlinkt, sodass man von einem zum anderen wechseln kann. Die Kalenderfunktionen liefern in Form von tooltips gesetzliche und christliche Feiertage.
 

Erste Schritte zum Aufbau eines Terminkalenders
  1. Zunächst wird in einem neuen Artikel ein Block mit dem Modul Termine verwalten angelegt. Mit diesem werden u. A. Termine eingetragen. Der Artikel kann offline bleiben, da keine Ausgaben im Frontend gemacht werden.
  2. In weiteren Artikeln wird je ein Block mit dem Modul Termine anzeigen angelegt. Mit diesem lassen sich Termine in den unterschiedlichen Menüs im Frontend anzeigen. Z. B. ein Artikel zur Anzeige einer Liste der aktuell anstehenden Termine und ein Artikel zur Auswahl von Terminen, startend mit dem aktuellen Monatsmenü oder dem Suchmenü des aktuellen Jahres.
  3. Mithilfe der Konfiguration lässt sich die Darstellung der Menüs gestalten:
    Anpassung der Menüfarben an das Site-Design:
    Es wird eine Grundfarbe ausgewählt, die auch als Schriftfarbe dient. Ausgehend von dieser werden hellere ähnliche Farbtöne sowie eine Komplementärfarbe verwendet. - Die RGB-Werte der Grundfarbe müssen ≤105 sein, damit die abgeleiteten Farben fehlerfrei berechnet werden können.
    Anpassung der Stundenleiste im Monats-/Wochen-/Tagesblatt (relevant nur für Desktop-Displays):
    Gesamtbreite in Anzahl Pixel
    darzustellender Zeitbereich ggf. eingeschränkt auf z.B. 9:00 - 22:00 Uhr.
    Definition von Terminkategorien:
    Sie dienen dazu, Termine inhaltlich und organisatorisch zu klassifizieren, siehe unten. Die Kategorie wird als Parameter jedes Termins mitgeführt. Kategorien können jederzeit umbenannt werden, da nicht ihre Bezeichnungen, sondern ihre Ids (= Nummer in der Konfiguration) in der Termintabelle abgelegt werden.

Zuweisung von Terminkategorien an Redakteure
Damit ein Redakteur den Terminkalender nutzen kann, muss ihm für jede Kategorie eine Benutzerrolle zugewiesen werden, in der das Recht auf Nutzung der Kategorie ausgewiesen ist. Außerdem braucht er den Zugriff auf die beiden Module des AddOns.
Die Rechte zur Verwaltung und Ausgabe von Terminen der konfigurierten Kategorien werden automatisch (im Abschnitt \'Extras\' jeder Rolle) definiert. Zudem wird je Kategorie automatisch eine Rolle angelegt, in der das Recht zu ihrer Nutzung bereits markiert ist. Diese Aktionen erfolgen in der Datei boot.php des AddOns.
Ein Redakteur kann jede der ihm zugewiesenen Kategorien einzeln als unabhängigen Terminkalender anbieten. Alternativ kann er auch alle seine Kategorien zu einem gemeinsamen Terminkalender zusammenfassen.
Andererseits kann eine einzelne Terminkategorie auch von mehreren Redakteuren verwaltet werden.

Sonstige Hinweise
  • Um einen einzelnen aus einer Folge von wöchentlich/monatlich wiederkehrenden Terminen zu modifizieren, kann ein zusätzlicher Termin als Ersatztermin eingetragen werden. Dieser muss mit dem zu ersetzenden Termin in den wesentlichen Parametern übereinstimmen (Bezeichnung, Datum, Kategorie) und darf selbst kein wiederkehrender Termin sein.
  • Die Icons in den Kalendermenüs sind dem Awesome-Font entnommen. Der Zugriff darauf ist in der Stylesheet-Datei definiert, wobei der URL auf die entsprechenden Font-Dateien im AddOn be_style verweist.
  • In der Terminliste (und nur dort!) können Termine entsprechend ihrer Kategorien farblich markiert werden, um eine optische Zuordnung zu Kategorien zu unterstützen. Die zugehörige Konfigurierung wird unter dem Reiter "Terminliste" vorgenommen.

Anzeige eines Bespiels

AddOn-Download