Veranstaltungsmanagement mit Contao 4
Anforderungen
Für einen Kunden haben wir ein Veranstaltungsmanagement abgelöst und als Contao 4-Erweiterung umgesetzt.
Die neue Implementierung sollte sich nahtlos ins CMS integrieren und einfach zu bedienen sein. Die Pflege der Daten durch die Veranstalter sollte dezentral und unabhängig von einem Backend-Zugang möglich sein. Wichtig war dabei auch, dass „allgemeine“ Informationen nicht mehrfach eingetragen werden müssen. Aus diesem Grund bestehen Veranstaltungen aus vier Teilbereichen:
- Ansprechpartner
- Veranstaltungsorte
- div. Kategorien
- Typen (Abendveranstaltungen, Wochenenden, ...)
Basis
Basis der Erweiterung Veranstaltungsmanagement ist die Mitgliederverwaltung von Contao. Dies hat den Vorteil, dass die Funktionen wie Registrieren, Passwort-Service, Ein- und Ausloggen bereits zur Verfügung stehen. Die Registrierung als Veranstalter kann als kompletter „Self-Service“ angelegt werden (d.h. nach der „normalen“ Registrierung ist der Account sofort frei geschaltet) oder über eine manuelle Freigabe durch den Systemanbieter.
Weiter gibt es bereits das Core-Modul „Persönliche Daten“, das die Funktionalität für die Verwaltung der Veranstalter mitbringt. In diesem Modul kann pro Feld festgelegt werden, was im Frontend verwaltet werden kann. Dieser Idee sind wir bei der Implementierung der weiteren notwendigen Module gefolgt.
Die Mitgliederverwaltung wurde mit ergänzenden Datenfeldern angereichert, um alle gewünschten Informationen zum jeweiligen Veranstaltungs-Anbieter erfassen zu können. Diese ergänzenden Felder können je nach Konfiguration des „Registrieren-Moduls“ automatisch in die Registrierung bzw. „Persönliche Daten“ mit einfließen. Dies kann z.B. ein Feld für den Upload eines Anbieter-Logos sein. Ist ein Veranstalter registriert und freigeschaltet, kann er über das Frontend seine Daten bearbeiten. Dies sind zuerst einmal Informationen zu Ansprechpartnern, Veranstaltungsorten sowie bei Bedarf ergänzende Informationen zu Veranstaltungs-Typen. Die allgemeinen Listen können durch den Systemanbieter über eine einfache Taxonomie gepflegt werden und stehen dann dem einzelnen Veranstalter zusammen mit seinen eigenen Listen für die weitere Verwendung zur Verfügung.
Stehen die Basisinformationen bereit, kann eine Veranstaltung angelegt werden. Diese besteht neben Datum und Uhrzeit, Kosten und einer Beschreibung auch aus Angaben zum Ansprechpartner, Veranstaltungsort und -typ. Die letzten Angaben sind Referenzen auf „Kindtabellen“ der Mitgliederverwaltung. Damit wird erreicht, dass diese Daten nicht bei jeder Veranstaltung neu eingetragen werden müssen. Ergänzend werden Adressdaten automatisch mit Geo-Koordinaten angereichert, so dass eine Darstellung auf einer Karte möglich ist.
Pflege
Alle Daten werden vom Veranstaltungs-Anbieter über das Frontend gepflegt. Die Eingabemasken generieren sich aus den hinterlegten Felddefinitionen (DCA) analog der Mitgliederverwaltung. Jeder Teilbereich (Ansprechpartner, Veranstaltungsort und -typ) steht als Liste für eine schnelle Orientierung zur Verfügung. Neue Veranstaltungen lassen sich hinzufügen, bestehende bearbeiten oder löschen. Dabei sind die Bearbeitungs-Masken immer einheitlich realisiert. Bevor ein Eintrag gelöscht wird, wird der Datensatz angezeigt. Der Löschen-Button ist dabei besonders hervorgehoben.
Der Systemanbieter kann alle Daten über das Backend einsehen und im Supportfall bearbeiten. Die Backend-Masken und -Funktionen basieren komplett auf dem Contao-Core. Die Frontend-Technik ist vom Modul „Persönliche Daten“ der Mitgliederverwaltung abgeleitet.
Ausgabe
Über das Modul „Formular“ werden die verschiedenen Eingabemasken für den Veranstaltungs-Anbieter definiert.
Das Listen-Modul stellt eine über alle Felder sortierbare und paginierbare Liste zur Verfügung. Ergänzend hierzu können in diesem Modul Filter definiert werden, die die Ausgabe z.B. auf alle kommenden Veranstaltungen beschränkt. Der Filter kann aber auch so eingestellt werden, dass auch Veranstaltungen aus der Vergangenheit angezeigt werden.
Um dem potentiellen Kunden einen besseren Überblick über die aktuellen Veranstaltungsorte zu geben, können alle Veranstaltungen über das Modul „Karte“ visualisiert werden. Die Kartenansicht berücksichtigt dabei eventuell gesetzte Filter. Entgegen der Listenansicht werden hier alle Veranstaltungen aufgelistet. Der Kartenmittelpunkt und die Zoomstufe werden automatisch aus den aktuellen Veranstaltungen ermittelt. Jeder Veranstaltungsort wird mit einem Marker gekennzeichnet. Ein Klick darauf öffnet eine Kurzzusammenfassung. Ein Link führt von dort auf die Detailseite der Veranstaltung. Liegen mehrere Veranstaltungen und Veranstaltungsorte für die aktuelle Zoomstufe zu nah beisammen, werden sie vom System automatisch zusammengefasst und geclustert. Der Cluster zeigt dann die Anzahl der Veranstaltungen an. Ein Klick auf den Cluster löst diesen auf und zoomt und zentriert automatisch auf eine optimale Ansicht. Eventuell werden weitere Cluster angezeigt.
Die Detailansicht bietet die Möglichkeit, alle zur Verfügung stehenden Werte auszugeben. Alle Ausgaben lassen sich komplett über individuelle Templates beeinflussen. In den Modulen des Veranstaltungsmanagement kann darüber hinaus bestimmt werden, welche Felder an das Template übergeben werden. Die Veranstaltungsdetails stehen – sofern gewünscht – auch im Suchindex zur Verfügung.
Dieser Beitrag wurde eingereicht von Oliver Reiff, trilobit GmbH, aus Karlsruhe.
Linkeintrag