Software-Entwicklungen

Terminkalender
kal_termine, Version 3.7
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 einen festen Wochentag [1] über mehrere Wochen oder
- auf einen festen Wochentag [1] über mehrere Monate (z.B. den 2. Freitag im Monat).
[1] Wöchentlich oder monatlich wiederkehrende Termine können sich darüber hinaus auch über mehrere aufeinander folgende Tage erstrecken (z.B. 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
- Übersichtsliste aller Termine mit Filterfunktionen
- tabellarische Liste aller Termine
- tabellarische Darstellung der Daten eines Termins

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 der Terminübersicht mit Suchfunktion.
  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. - Damit die Farbunterschiede nicht verschwimmen, sollten die RGB-Parameter der Grundfarbe ≤ 150 sein.
    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 Terminkategorie eine Benutzerrolle ('Terminkategorie 1', 'Terminkategorie 2', ...) zugewiesen werden. In diesen Rollen ist das Recht auf Nutzung der Kategorie schon ausgewiesen (Markierung unter 'Extras' in den Rollenparametern). Die Registrierung der Rollen erfolgt in der Datei boot.php. Darüber hinaus braucht der Redakteur den Zugriff auf die beiden Module 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. Die zugehörige Stylesheet-Datei muss zusätzlich im Seiten-Template und dort im HTML-Header eingebunden werden (Pfad: /assets/addons/kal_termine/fontawesome/css/all.css).
  • 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