Showcase: Terminmultiplikator
Der Terminmultiplikator ist eine Webanwendung in dem Veranstalter Ihre Termine pflegen können. Herzstück ist ein Presseverteiler, mit denen die Termine direkt an die Presse versendet werden können. Mehrere Filter sorgen automatisch für eine gefilterte Presseauswahl, damit Lokalredaktionen und Spartensender nur die relevanten Termine erhalten.
Zusätzlich gibt es eine api, um die Termine auf der eigenen (meist Wordpress) Webseite auszugeben oder anderweitig zu exportieren.
TLTR;)
Fast 10 tsd Zeilen Code, gut 200 Funktionen und etliche Liter Café wurden für die erste Version benötigt. Unterbau ist ein TYPO3 System, aktuell 13, ab Sommer 2026 die 14er LTS Version.
Aufgrund er vielen benötigten Tabellen (21 aktuell), ist das Projekt recht kleinteilig und besteht aus unzähligen Listen, Eingabemasken etc. Für die Programmierung ist das einerseits hilfreich, man hat genau abgesteckte User Storys die gekapselt programmiert werden können, andererseits ist die x-te Eingabemaske dann auch irgendwann langweilig …
Wie üblich, ist auch dieses Projekt während der Entstehung gewachsen, jeder Entwickler kennt den Kundenanruf “Ich hab da mal eine Idee ….” ;) Aber das gehört dazu. Die Menüstruktur wurde mehrfach dem erforderlichem Funktionsumfang angepasst und sollte inzwischen zukunftssicher sein.
User Experience
Der Terminmultiplikator ist ein Angebot an kleinere und mittlere Veranstalter. Die Welt dreht sich auch weiter ohne diesem Tool. Es ist eben kein firmeninternes Intranet dessen meistbesuchte Seite in der Regel der Speiseplan der Kantine ist (nein, leider kein Witz)…
Das bedeutet, man muss die Benutzer entsprechend abholen.
Es sind zum einen Veranstalter: die organisieren das Booking der Künstler, klären die Location, PA & Bühne, im Zweifelsfall hängen die noch ein paar Plakate selber auf.
Da muss so ein Tool schon funktionieren, sonst wird es schnell nervig.
In der Praxis bedeute das: ein Kontaktformular kann ich ohne Angabe der E-Mail Adresse nicht speichern/absenden. Da kann man wunderbar eine harte Validation im Model drauf machen - keine E-Mail Adresse, keine Kekse.
Im Terminmultiplikator muss der Anwender aber auch Formulare speichern können, ohne das alle Angaben vorliegen. Man muss Ihm nur deutlich sagen “Hey, wäre cool wenn Du das noch ergänzt.” Ich nenn es mal Hilfe-Business-Logic.
Das hat nichts mit der eigentlichen Funktion oder Validierung zu tun, erst geht hier um ein User-Case Feedback.
Mit einer Zeile Code kann ich zwar ein ganzes Formular abspeichern, aber für ein sinnvolles User Feedback das auch die Relationen einschließt, ist deutlich mehr erforderlich.
Es gibt in allen Ansichten Hilfe und Error Felder, die Praxis wird zeigen was noch an Help-Business-Logic erforderlich ist.
Vermutlich braucht man noch für viele Tabellen eine Service Class, die eine Soft Validierung zurück liefert.

