Tagebuch einer Extension-Entwicklung - Contao Wiki
Tagebuch einer Extension-Entwicklung - Contao Wiki
Tagebuch einer Extension-Entwicklung - Contao Wiki
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Schritt 1: Anforderungen & Randbedingungen<br />
Zunächst mal zum Hintergrund:<br />
Ich bin Webmaster der Seite http://www.gruen-weiss-aachen.de , der Webpräsenz des momentan größten<br />
Tanzsportvereins in NRW, und einem der größten in Deutschland. Wie man unschwer erkennen kann, bedarf<br />
die Seite dringend eines Relaunchs, der auf Basis von TYPOlight erfolgen soll. Dazu erfolgt auf <strong>einer</strong> Subdomain<br />
parallel zum weiteren Betrieb der bisherigen Webseite der Aufbau <strong>einer</strong> TL-basierten Seite.<br />
Das Design steht noch nicht, erstmal soll die technische Funktionalität geschaffen werden. 95% der bisherigen<br />
Seiteninhalte lassen sich mit "TL-Bordmitteln" oder schon verfügbaren <strong>Extension</strong>s wie efg erschlagen. Allerdings<br />
gibt es auf der alten Seite einige "handgestrickte" PHP-Skripte, deren Funktionalität mehr oder weniger auf der<br />
neuen Seite erhalten bleiben soll.<br />
Eine Funktionalität, die sich mit verfügbaren <strong>Extension</strong>s m<strong>einer</strong> Meinung nach nicht nachbilden lässt, und für die<br />
ich deshalb eine eigene <strong>Extension</strong> entwickeln möchte/muss, ist folgende:<br />
Der Verein besitzt eine Menge an Tanzturnierpaaren. Zu diesen Turnierpaaren gehören Daten wie Name(n),<br />
Start- und Alterklassen, und ein Flag, ob es noch aktiv ist. Diese Daten werden von <strong>einer</strong> berechtigten Person<br />
(Sportwart) im BE gepflegt. Zusätzlich gehört zu einem Turnierpaar eine Art "Visitenkarte" mit Bild, Freitext,<br />
Email-Adresse, Telefonnummer...Diese Daten sollen auch im Backend pflegbar sein, zusätzlich sollen diese<br />
Daten aber auch von dem Turnierpaar selbst unter Kenntnis eines individuellen Passworts veränderbar sein.<br />
Dazu möchte ich aber KEINE Frontend-User-Verwaltung nutzen.<br />
Für jedes Turnierpaar gibt es N "Meldungen", dies sind Datensätze, die enthalten, zu welchem Tanzturnier ein<br />
Paar fahren wird/gefahren ist. Turnierpaare informieren den Sportwart darüber, bei welchen Turnieren sie<br />
starten wollen. Der Sportwart führt die Anmeldung beim Turnierveranstalter durch (So ist das Procedere im<br />
Tanzsport), und trägt danach die "Meldung" in der Datenbank ein. Auf der sog. "Meldeliste" kann das Tanzpaar<br />
dann selbst sehen, ob es zu einem Turnier gemeldet worden ist. Die Liste der Meldungen (1:N-Beziehung zu<br />
den Turnierpaaren) wird vom Sportwart im BE gepflegt. Auch hier gibt es die Möglichkeit, dass ein Turnierpaar<br />
unter Kenntnis seines Passworts seinen erzielten Platz auf einem Turnier und einen freien Kommentar zu <strong>einer</strong><br />
Meldung hinzufügen kann.<br />
Sollte das Tanzpaar das Turnier s<strong>einer</strong> Leistungsklasse gewonnen haben, darf es direkt im Anschluss das<br />
Turnier der nächsthöheren Klasse mittanzen (Ohne Meldung durch den Sportwart). Hier muss es die Möglichkeit<br />
geben, dass das Paar selbst einen Meldungs-Eintrag in der Datenbank vornehmen kann (Das sog. Folgeturnier).<br />
Die Meldeliste dient also mehreren Zwecken:<br />
- Rückmeldung vom Sportwart an die Paare, dass die Meldung beim Veranstalter erfolgt ist<br />
- Außenwirkung für den Verein: Wie viele Paare haben wir, und wo starten sie<br />
- Außenwirkung für die Tanzpaare selbst: Wie gut haben wir abgeschnitten<br />
Übertragen auf die Tabellenstruktur handelt es sich also um die Tabelle der Turnierpaare, klassisch im BE durch<br />
ein BE-Modul gepflegt. Die Meldungen sind "Childs" der Turnierpaare, und sollten so auch im Backend angezeigt<br />
werden (Wie Artikel - Inhaltselemente). Zugriff auf das BE-Modul hat nur der Sportwart.<br />
Zusätzlich soll es einen Mechanismus geben, unter Angabe eines Tanzpaar-spezifischen Passworts bestimmte<br />
Felder in der Tanzpaar-Tabelle und in der Melde-Tabelle durch ein Frontend-Formular zu verändern. Außerdem<br />
soll es die Möglichkeit geben, einen neuen Satz in der Melde-Tabelle anzulegen.<br />
Die Ausgabe der Daten im Frontend soll auf verschiedene Weisen geschehen:<br />
● Modul "Aktive Turnierpaare"<br />
● Modul "Ehemalige Turnierpaare"<br />
<strong>Tagebuch</strong> <strong>einer</strong> <strong>Extension</strong>-<strong>Entwicklung</strong> bis 104.odt Seite 4 von 121