Zweite Runde Kundenrückmeldung: - Range-Ergebnisse: Das Diagramm behält die komplette lineare Skala (rangeMin..rangeMax), aber die Werte-Liste/Tabelle zeigt nur noch die tatsächlich beantworteten Werte. Sonst würde eine große Skala (z. B. Alter 1-100, Schrittweite 1) die Ergebnisseite mit hunderten Nullzeilen fluten. Neues Feld distributionRows für die Liste; distribution bleibt fürs Diagramm. - Große Skalen: X-Achsenbeschriftung wird ausgedünnt (Chart.js autoSkip/ maxTicksLimit, SVG jede n-te Beschriftung), Punkt-Marker verkleinert bzw. ab >40 Punkten weggelassen. Auch die Y-Ticks im PDF-SVG werden gedeckelt. - PDF-Range-Tabelle ohne Farb-Swatch-Spalte (nur Wert/Anzahl/Anteil), da die Kopplung an ein Vollskalen-Diagramm nicht mehr sinnvoll ist. - Aktionslinks in der Frontend-Liste: Öffentliche Ansicht, Entwurfs-Ansicht und Ergebnisse anzeigen öffnen wieder im neuen Fenster (target=_blank); nur Bearbeiten bleibt im selben Tab. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Survey Bundle
Proprietäres Contao-5.7-Bundle für ein Umfrage-System.
Das Bundle stellt Frontend- und Backend-Funktionen für die Erstellung, Verwaltung, Veröffentlichung und Auswertung von Umfragen bereit. Dazu gehören insbesondere öffentliche Umfrageaufrufe über Link-Schlüssel, Redaktions- und Zuordnungslogik für Mitglieder, Ergebnisdarstellungen im Frontend sowie Exportfunktionen für Excel und PDF.
Ziel des Bundles ist eine möglichst native Integration in Contao, sodass Umfragen sich wie ein regulärer Bestandteil der bestehenden System- und Redaktionsumgebung verhalten.
Dokumentation
Architektur, Zustandslogik, bewusste Produktentscheidungen und Einstiegspunkte sind ausführlich in AI_HANDOVER.md beschrieben.
Zwei wiederkehrend relevante technische Konventionen:
- CSRF in Frontend-Aktionsformularen: Jedes POST-Formular sendet zwei Tokens –
REQUEST_TOKEN(Contaos globaler Frontend-Gate) und_token(csrf_token('<aktion>-' ~ id), im Controller viaisCsrfTokenValidgeprüft). Beide sind nötig. - Saubere Link-URLs: Reader und Ergebnisseite werden als Pfad adressiert (
/<seite>/<alias>). Erzeugung über['parameters' => '/'.$alias], Auslesen überInput::get('auto_item')(markiert den Route-Parameter als benutzt – sonst Contao-404).
Nach Änderungen an DCA, Backend-CSS oder JS:
php vendor/bin/contao-console assets:install public --symlink --relative
php vendor/bin/contao-console cache:clear --env=prod
Rechtlicher Hinweis
Dieses Bundle ist proprietär und nicht zur öffentlichen Weitergabe bestimmt.
Copyright (c) Mummert Media. Alle Rechte vorbehalten.
Die Nutzung, Vervielfältigung, Veränderung, Veröffentlichung oder Weitergabe ist ausschließlich im Rahmen der ausdrücklich von Mummert freigegebenen internen oder vertraglich geregelten Verwendung zulässig. Eine Nutzung durch Dritte ohne vorherige schriftliche Zustimmung ist nicht gestattet.
Es wird keine Open-Source-Lizenz für dieses Bundle eingeräumt.