Table of Contents
EXT: Liga Management...............................1 Installation..................................................................8
Introduction....................................................................1 FAQ............................................................................8
What does it do?........................................................1 Configuration..................................................................8
Screenshots................................................................1 TS Setup.....................................................................8
Users manual..................................................................3 FAQ............................................................................8
Einführung..................................................................3 Tutorial............................................................................8
Anlegen der Datensätze im Seitenbaum....................5 Schritt 1: Saison und Altersgruppen...........................8
Funktion Spiele bearbeiten.........................................5 Schritt 2: Mannschaften anlegen................................9
Funktion Spielplan erstellen.......................................5 Schritt 3: Wettbewerbe.............................................10
Funktion Spielticker/Statistik......................................6 Schritt 4: Spiele anlegen..........................................10
Funktion Spieler anlegen............................................6 Schritt 5: Ergebnisse eintragen................................11
Funktion Personen suchen.........................................6 Schritt 6: Teammitglieder.........................................11
FAQ............................................................................7 Schritt 7: Mannschaftsaufstellung............................12
Common Tasks..............................................................7 Schritt 8: Der Liveticker............................................12
Abschließend............................................................13
Spielfrei.......................................................................7
Adminstration.................................................................8 Known problems..........................................................14
Changelog.....................................................................14
Introduction
What does it do?
Mit dieser Verwaltung können Fußballwettbewerbe oder ähnliche Sportligen verwaltet werden. Dabei sind sowohl Ligabetrieb
als auch Pokalwettbewerbe und Freundschaftspiele möglich. Die Daten können über mehrere Spielzeiten hinweg gepflegt
und später ausgewertet werden. Die Spieler und Trainer der beteiligten Mannschaften können ebenso verwaltet werden, wie
auch Spielberichte, Liveticker und statistische Daten.
Die Extension ist voll in TYPO3 integriert und nutzt sooft wie möglich die gewohnten Standardmasken. Zusätzlich steht für
spezielle Aufgaben noch ein eigenes Backendmodul zur Verfügung.
Diese Extension verfügt ausschließlich über Backend-Funktionalität. Für die Darstellung im Frontend sei auf T3sports FE
(cfc_league_fe) verwiesen.
Die Erweiterung eignet sich sowohl für Vereinsseiten als auch für Onlinemedien. Erstellt wurde diese Extension für den
Chemnitzer FC auf dessen Homepage sie auch im Einsatz ist.
Link: http://www.chemnitzerfc.de
Weitere Informationen befinden sich unter http://sourceforge.net/projects/cfcleague/
Users manual
Einführung
Um die Extension sinnvoll einsetzen zu können, sollte man sich zunächst etwas mit dem zu Grunde liegenden Datenmodell
vertraut machen. Dabei wird in diesem Dokument der Einfachheit halber, immer von der Verwaltung von Fußball-Ligen
ausgegangen.
Wenn man Informationen über Fußballspiele sammelt, und diese dann in Relation zu einander führt, erhält man recht schnell
ein doch recht komplexes Datenmodell. Denken wir nur daran, das Vereine über Jahre hinweg in verschiedenen
Wettbewerben spielen, jedes Jahr neue Spieler rekrutieren und andere abgeben und natürlich auch in verschiedenen
Altersgruppen mit Mannschaften antreten. Für jeden Wettbewerb existieren Spielpläne, die nach unterschiedlichen Regeln
erzeugt werden müssen und wenn man letztendlich bei einem konkreten Spiel angekommen ist, setzt noch eine zusätzliche
Datenflut ein. Da müssen die Aufstellungen der Teams, die Trainer und Schiedsrichter gesetzt werden. Neben den
Ergebnissen wollen die gelben und roten Karten dokumentiert sein, ganz zu schweigen von Auswechslungen, Chancen,
Eckbällen, Torschützen... Die Liste läßt sich sicher noch endlos fortführen. Aber bevor große Ängste, ob der notwendigen
Arbeit aufkommen, die meisten dieser Daten können, müssen aber nicht gepflegt werden.
Die Aufgabe bei der Entwicklung bestand nun darin, ein Datenbankmodell zu entwickeln, das einerseits flexibel genug ist, all
diese Daten aufzunehmen, welches anderseits aber nicht ins Uferlose ausarten sollte. Die folgende Grafik gibt einen
Überblick über das so entstandene Modell. Bis auf Wettbewerbstyp und Spielrunde existiert für alle aufgeführten Entitäten
eine entsprechende Tabelle in der Datenbank.
Saison
Da wir die Daten über längere Zeiträume hinweg erfassen und auswerten wollen, wird natürlich ein Datentyp für diesen
zeitlichen Aspekt benötigt. Die Saison ist letztendlich aber nur eine Klammer über verschiedene Wettbewerbe die später für
Ordnung bei Auswertungen aber auch den Dateneingaben sorgt.
Altersgruppe
Auch die Altersgruppe wurde eingeführt, um zusätzliche Ordnung in die Daten zu bringen. Damit wird es möglich, daß ein
Verein mit mehreren Teams in einer Spielzeit antreten kann. Dabei ist der Begriff “Altergruppe” nur bedingt richtig, da
beispielsweise auch Zweit- oder Drittmannschaften im Männerbereich als eigene Altergruppe angelegt werden müssen.
Selbiges gilt auch für den Spielbetrieb im Frauenbereich.
Die Spiele
Das eigentliche Herzstück der Ligaverwaltung sind natürlich die Spiele. Jeder Spieldatensatz ist genau einem Wettbewerb
zugeordnet. Da wir im Wettbewerb schon die Teams festgelegt haben, können wir im Spieldatensatz nur noch zwischen den
entsprechenden Teams wählen. Ein langes Suchen entfällt also. Trotzdem wäre die Spielplanerstellung für eine Liga
natürlich sehr zeitraubend. Da der DFB bei der Erstellung der Spielpläne aber nach einem festen Schlüsselsystem vorgeht,
kann dieser Schlüssel zur Erstellung des Spielplans genutzt werden. Der Schlüssel muss im Liga-Datensatz festgelegt
werden. Wenn dann die Reihenfolge der Team richtig gesetzt ist, kann der gesamte Spielplan mit einem Mausklick erstellt
werden.
In jedem Spiel müssen auch die Startformationen der Teams angegeben werden. Da wir bereits wissen, über welche Spieler
die einzelnen Teams verfügen, bekommen wir in dem entsprechenden Formular direkt alle verfügbaren Spieler der
Mannschaften angezeigt. Mit elf (bzw. 22) Mausklicks sind dann die Aufstellungen erledigt.
Zusätzlich ist natürlich noch Platz für einen Spielbericht und ein paar Bilder.
Spielnotizen
Im Laufe eines Spiels passieren viele interessante Dinge. Es werden Tore geschossen, gelbe und rote Karten verteilt,
Spieler ausgewechselt, Elfmeter verschossen, der Trainer auf die Tribüne verwiesen, die Werbebande fällt um.... Die Liste
läßt sich je nach Geschmack beliebig fortsetzen. All diese Dinge sind aus zwei Gründen interessant: Erstens können wir sie
nutzen, um einen Liveticker des Spiels zu zeigen. Zweitens können wir aber interessante Statistiken mit diesen
Informationen erstellen. Wenn wir all diese Informationen auf einen gemeinsamen kleinsten Nenner bringen, dann erhalten
wir den Datentyp “Spielnotiz”. Dieser enthält die Spielminute, eine Typ der Aktion, den beteiligten Spieler und einen
Kommentar. Je nach Aktion müssen natürlich nicht alle Angaben gemacht werden. Pflichtfelder sind lediglich die Spielminute
und der Typ.
Die Typen sind derzeit fest vorgeben, eine spätere Erweiterung ist aber nicht ausgeschlossen.
Natürlich spielt hier eine große Rolle, in welchem Umfang man die Daten pflegen möchte. Wer in erster Linie die Daten für
seinen eigenen Verein sammelt, wird eine andere Struktur verwenden, als jemand der gleichermaßen über alle Vereine der
Bundesliga berichten möchte.
Funktion Spielticker/Statistik
Mit dieser Funktion kann zum einen ein Liveticker betrieben werden. Zum anderen werden die Information aber auch zur
Berechnung von statistischen Daten (Arbeitsnachweis der Spieler) genutzt. Der Ticker kann nur sinnvoll betrieben werden,
wenn vorher im Spiel die Aufstellungen der Teams festgelegt wurden.
Der Spieler “Unbekannt” kann verwendet werden, wenn bei einem Team die Aufstellung nicht bekannt ist, man aber
beispielsweise trotzdem die Torfolge eingeben möchte.
Bei der Eingabe der Spielminute kann die Nachspielzeit einer Halbzeit gesondert angegeben werden. Fällt ein Tor in der 47.
Spielminute der ersten Halbzeit, dann sollte man 45+2 angeben. Dadurch kann im Frontend die Aktion eindeutig der ersten
Halbzeit zugeordnet werden.
Geburtsdatum setzen
Zusätzlich ist es möglich das Geburtsdatum einer Person zu ändern. Diese Funktion ist vor allem dann interessant, wenn die
Person vor dem 1.1.1970 geboren wurde. Über die normalen Eingabefelder ist es in TYPO3 nicht möglich derartige
Datumsangaben zu setzen. Diese Beschränkung gilt in diesem Eingabefeld nicht mehr.
Personen zusammenführen
Sollte es doch einmal vorgekommen sein, daß ein Spieler doppelt angelegt wurde, ist es ein recht aufwendiger Prozess
diese beiden Spielerdatensätze wieder zu vereinen. Schließlich müssen auch alle Verweise auf die beiden Spieler auf eine
der beiden Personen umgestellt werden. Dies betrifft Zuordnungen zu Teams, Spielen und natürlich auch Spielereignissen
(gelbe/rote Karten, Ein-/Auswechslungen usw.). Über die Personensuche können diese Zuordnungen automatisch
zusammengeführt werden.
Schritt 1: Einen passenden Suchbegriff eingeben, damit die beiden Spieler angezeigt werden.
Diese beiden Spieler können nun über die Radio-Buttons markiert werden. Der Klick auf den Button „Vereinen“ führt dann zu
Schritt 2.
Dies geschieht über den Radio-Button am Ende der Seite. Die Aktion wird über den Button „Vereinen“ angeschlossen.
Es gilt zu beachten, daß lediglich die Referenzen bei dieser Aktion verändert werden. Die Datensätze der Spieler werden
nicht angetastet. Der doppelte Spieler wird also auch nicht gelöscht. Dies kann im Anschluss manuell erfolgen.
FAQ
– Possible subsections: FAQ
Common Tasks
Spielfrei
Wenn eine Liga aus einer ungeraden Anzahl von Mannschaften besteht, dann hat logischerweise an jedem Spieltag ein
Team spielfrei. Seit der Version 0.2.0 wird dieser Umstand auch von der Ligaverwaltung aktiv unterstützt. Vom Prinzip her
bestreitet eine Mannschaft die spielfrei hat eine Begegnung gegen ein Spezialteam Spielfrei. Diese Spiele werden also
nicht einfach weggelassen, sondern es wird tatsächlich ein neuer Spieldatensatz angelegt. Dadurch wird es leichter spielfreie
Mannschaft später im Frontend zu verarbeiten.
im Frontend ausgegeben werden. Ganz wichtig ist die Kennzeichnung der Mannschaft als spielfrei. Dafür gibt es ganz am
Ende des Datenblatt ein entsprechendes neues Flag.
Wie im Tutorial beschrieben kann man jetzt den neuen Spielplan erstellen. Das neue Team Spielfrei nimmt dabei den freien
Platz ein.
In unteren Ligen gibt es auch die Situation, daß bei geringer Staffelbesetzung mehrere Teams an einem Spieltag spielfrei
haben. Hier muss man zunächst anhand der Anzahl der Spieltage ermitteln welche Spielplanschlüssel verwendet wurde.
Besteht die Staffel zum Beispiel aus 10 Teams und es sind aber 34 Spieltage angesetzt, dann wurde vermutlich ein 16er
Schlüssel verwendet. In diesem Fall müssten 6 Spielfrei-Teams angelegt werden, um die freien Plätze zu besetzen.
TODO: Mehrere Spielfreie Teams werden noch nicht unterstützt!
Adminstration
Installation
Die Installation erfolgt wie gewohnt über den Extensionmanager. Für den Betrieb der Extension sind die folgenden
Extensions notwendig:
– div
– dam
– rn_memento
FAQ
- Possible subsections: FAQ
Configuration
TS Setup
Per TS Setup kann bisher nur das Modul Ticker/Statistik etwas angepaßt werden.
Werte für tx_cfcleague.matchTickerCfg.
FAQ
Tutorial
In diesem Tutorial wird folgendes Szenario beschrieben: Wir haben die Homepage eines Fußballvereins, der mit seinen
Mannschaften in verschiedenen Altersklassen am Spielbericht teilnimmt. Exemplarisch zeigen wir die Verwaltung der
Männermannschaft und der A-Jugend. Dabei soll im Männerbereich der volle Funktionsumfang verwendet werden, während
bei der A-Jugend nur die Ergebnisse und Tabellen interessieren.
Wichtig: In diesem Schritt werden keine Vereine, sondern Mannschaften angelegt! Die Vereinszuordnung der
Mannschaften wird vorerst noch nicht benötigt und kann daher frei bleiben.
Spielplanschlüssel
Der Spielplanschlüssel wird benötigt, um den kompletten
Spielplan einer Liga automatisch erzeugen zu können.
Dieser Ansetzungsschlüssel wird vom DFB für die
verschiedenen Liga-Größen festgelegt und kann hier nach
folgendem Verfahren integriert werden:
Schlüssel für eine Liga mit vier Teams: 1-4,3-2| Illustration 9: Eingabemaske für einen Wettbewerb
2-1,4-3|1-3,2-4
Team 1 spielt am ersten Spieltag gegen Team 4 und Team 3 gegen Team 2. Am zweiten Spieltag dann 2 gegen 1 und 4
gegen 3 usw... Die Eingabe der Rückrunde ist natürlich nicht notwendig. Die Reihenfolge der Teams in der Auswahlbox der
Mannschaften ist entscheidend für die korrekte Zuordnung. Im Screenshot ist Team 1 also Tasmania Gropiusstadt und Team
14 ist Energie Cottbus.
Einige fertige Spielplanschlüssel befinden sich in der Datei EXT:cfc_league/README.txt
Nachdem nun alle Wettbewerbe angelegt sind, können wir mit der Erstellung der Ansetzungen fortfahren.
Ligaerstellung
Die Erstellung einer Liga mit dem Spielplanschlüssel erfolgt über das Modul “Ligaverwaltung”. Dazu rufen wir das Modul auf
und wählen im Seitenbaum den SysFolder mit dem Wettbewerb (also im Beispiel Saison 2007/08). Im Modul wählen wir die
Funktion “Spielplan erstellen”. In der Auswahlbox mit den gefundenen Wettbewerben wählen wir dann die gewünscht Liga.
Es ist wichtig, daß der Liga noch kein Spiele zugeordnet sind, da andernfalls die Erstellung nicht mehr durchgeführt werden
kann. Auch muß der hinterlegte Spielplanschlüssel mit der Anzahl der Team übereinstimmen.
Sollte alles in Ordnung sein, erhalten wir zunächst eine Darstellung des gesamten Spielplans. Hier ist es möglich die Namen
der Spielrunden zu ändern, sowie die Termine der Spieltage zu verändern. Die Paarungen selbst können nicht verändert
werden. Dies muß bei Bedarf später manuell erledigt werden.
An dieser Stelle noch der Hinweis, daß die Software keinerlei Konsistenzprüfungen durchführt. Wer möchte kann in einer
Ligasaison zwei Mannschaften auch fünfmal gegeneinander antreten lassen. Dem System ist das egal.
Schritt 6: Teammitglieder
Mannschaften bestehen aus Spielern, Trainern und Betreuern und diese können wir natürlich auch abbilden. Die Extension
stellt dafür den Datentyp Person bereit. Da wir es mit recht vielen Personen zu tun haben, sollten diese in einem eigenen
Verzeichnisbaum abgelegt werden.
Abschließend
Damit ist das Tutorial eigentlich beendet. Wir haben allerdings zwei Datentypen noch nicht betrachtet, den Verein und die
Wettbewerbsstrafe.
Verein
Der Verein ist nochmal eine zusätzliche Klammer über verschiedene Teams. Er wird später vor allem bei der Darstellung im
Frontend benötigt. Bei vielen Darstellungen im Frontend kann die Ausgabe auf Teams eines bestimmten Vereins beschränkt
werden. Außerdem können die Teams eines Vereins im Frontend auch gesondert hervorgehoben werden (im Spielplan oder
der Tabelle).
Man legt hier einfach einen Datensatz vom Typ Verein an und ordnet ihn den gewünschten Teams zu. Jeder reale Verein
wird nur einmal im System erstellt und kann dann für alle Mannschaften unabhängig vom Spieljahr oder der Altersgruppe
verwendet werden.
Wettbewerbsstrafe
Es soll ja auch vorkommen, daß Spiele am grünen Tisch entschieden werden. Und der DFB ist bei der Vergabe von Strafen
auch recht einfallsreich. Mit der Wettbewerbsstrafe wird versucht, die dabei gefällten Urteile abzubilden.
Die Strafen werden immer einem Team zugeordnet. Die Angabe des betroffenen Spiels ist lediglich optional und wird nicht
für die Auswertung verwendet. Ebenso ist der Kommentar optional und kann im Frontend bespw. unterhalb der Tabelle
angezeigt werden.
Known problems
- Diese Extension wurde in relativ kurzer Zeit erstellt. Nicht alle features wurden eingehend getestet. Daher kann es bei
bestimmten Anwendungsfällen noch zu Fehlern kommen.
- Die Verwaltung der Profile sollte verbessert werden. Da im System sehr viele Personen angelegt werden, sollte es ein
Hilfsmittel geben um doppelte Datensatze aufzuspüren und zusammenzuführen. (Aufspüren geht inzwischen mit der
Personensuche)
- Die Verwaltung kennt derzeit keine Spielklassen. Dies ist für den ursprünglichen Verwendungszweck einer
Vereinsverwaltung auch nicht zwingend notwendig. Das Datenbankmodell kann aber prinzipiell um die Spielklassen erweitert
werden.
Changelog
– 071231: Zusammenführen von Profilen erläutert
– 070927: Anlegen von Ligen mit spielfreien Teams und Wettbewerbsstrafe erweitert
– 070917: Ein paar Hinweise zum Team “spielfrei”
– 070801: Beschreibung der einzelnen Modulfunktionen.
– 070508: Initiale version.