Sie sind auf Seite 1von 14

EXT: T3sports - Backend

Extension Key: cfc_league


Copyright 2006-2008, René Nitzsche, <rene@system25.de>

This document is published under the Open Content License


available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3


- a GNU/GPL CMS/Framework available from www.typo3.com

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/

EXT: T3sports - Backend - 1


Screenshots
Die nachfolgenden Screenshots zeigen einige Eingabemasken des Backendmoduls. Dieses Modul stellt derzeit die
folgenden fünf Funktionen zur Verfügung:
– Spiele bearbeiten (Ergebnisdienst)
– Spielplanerstellung (nur für Ligabetrieb mit vorhandenem DFB-Schlüssel)
– Spielticker
– Spieler anlegen
– Personen suchen

Illustration 1: Ergebnisverwaltung. Die wichtigsten Spieldaten können hier aktualisiert


werden.

Illustration 2: Eingabemaske des Spieltickers. Bis zu drei Meldungen können parallel


abgesetzt werden.

EXT: T3sports - Backend - 2


Illustration 3: Spieler anlegen. In dieser Maske werden Spieler anlegt und gleichzeitig dem
eingestellten Team zugeordnet.

Illustration 4: Personen suchen: Man erhält einen schnellen Überblick über


vorhandene Spieler.

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.

EXT: T3sports - Backend - 3


Die einzelnen Datenklassen sollen jetzt noch kurz vorgestellt werden.

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.

Verein und Team


Mit diesen beiden Datentypen wurde die folgende Annahme abgebildet: Jeder Verein stellt in jeder Saison ein oder mehrere
neue Teams auf und läßt es in Wettbewerben antreten. Die Mannschaft ändert sich also jedes Jahr, der Verein bleibt aber
der selbe. Daher nimmt der Verein quasi die Stammdaten auf, während das Team die variablen Daten abbildet. Es ist sehr
wichtig, daß vor jeder neuen Saison neue Team-Datensätze angelegt werden. Dies soll das folgende Beispiel verdeutlichen:
Im Team der Saison 2005/06 stehen 18 Spieler im Kader, darunter Heiner Hinkebein, der Topstürmer der Mannschaft. In der
Saison 2006/07 wird Hinkebein an einen anderen Club verkauft. Der Liga-Administrator könnte jetzt auf die Idee kommen,
sich Arbeit zu ersparen und in der neuen Saison einfach das schon vorhandene Team aus der Vorsaison zu verwenden und
Hinkebein aus dem Kader zu löschen. Großer Fehler! Zwar würde beispielsweise im Frontend in der Teamübersicht für
2006/07 Hinkebein nicht mehr aufgeführt, allerdings wäre er nun auch 2005/06 nicht mehr zu sehen. Und das war definitiv
nicht gewollt. Natürlich wäre er in den Jahr auch aus allen Statistiken entfernt worden, von den Inkonsistenzen in der
Datenbank mal ganz zu schweigen.
Daher: Sämtliche Teams müssen in jeder Saison neu angelegt werden! Einem Kopieren des Vorjahresteam steht natürlich
nichts im Wege.
Eine Ausnahme gibt es noch für das Spezialteam “Spielfrei”. Es handelt sich dabei im einen normalen Team-Datensatz, bei
dem jedoch das Attribut “spielfrei” markiert ist. Dieses Team wird verwendet, um spielfreie Spieltage für Teams zu
kennzeichnen. Wenn eine Mannschaft ein Spiel gegen dieses Team bestreitet, dann hat es automatisch an diesem Spieltag
frei. Dieses Spezialteam muss nur einmal angelegt werden und kann dann immer verwendet werden. Bei der Generierung
einer Liga mit ungerader Mannschaftsanzahl, nimmt dieses Team den Platz des fehlenden Teams ein.

Wettbewerb und Wettbewerbstyp


Jede Mannschaft tritt in einer Saison üblicherweise in verschiedenen Wettbewerben an. Da wären natürlich der normale
Ligabetrieb, Pokalwettbewerbe oder auch Hallenturniere. Auch Freundschaftspiele kann man als eigenen “Wettbewerb”
betrachten. Der Wettbewerbstyp Liga spielt eine besondere Rolle. Denn für eine Liga wird als Auswertung eine Tabelle
benötigt. Auch können Tabellenfahrten oder Spielpläne erstellt werden, die in einem Pokalwettbewerb keinen Sinn ergeben.
Der Wettbewerbstyp ist kein zusätzliches Datenobjekt, sondern lediglich ein Attribut im Datentyp Wettbewerb.

EXT: T3sports - Backend - 4


Profile
Dieser Datentyp bildet Personen ab, die Einfluß auf den Spielbetrieb haben. Zuallererst seien hier natürlich die Spieler
genannt, aber auch Trainer, Schiedsrichter oder Funktionäre können angelegt werden. All diese Personen werden im
Datentyp “Profile” abgebildet. Wichtig werden dann die Zuordnungen, die wir für die angelegten Profile treffen. So müssen
wir zunächst die angelegten Spieler- und Trainerprofile einem Team zu orden. Dieser Vorgang sollte zu Beginn einer Saison
stattfinden. Wir stellen somit den eigentlichen Teamkader zusammen. Da diese Zuordnung recht aufwendig ist, bietet das
Modul Ligamanagement die Funktion “Spieler anlegen” an. Mit dieser können sehr schnell die Profile erstellt und direkt
einem Team zugeordnet werden.
Es ist sehr wichtig, daß jede Person nur einmal im System angelegt wird. Denn ein Spieler kann natürlich in verschiedenen
Teams spielen. Er gehört jedes Jahr einem oder auch mehreren Teams an. Letzteres ist beispielsweise der Fall, wenn er in
einer Saison Einsätze in der 1. und 2. Mannschaft eines Vereins hat. Nur wenn der Spieler einmal im System vorkommt,
können sinnvolle statistische Auswertungen für diesen Spieler erstellt werden.

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.

Anlegen der Datensätze im Seitenbaum


Alle Datensätze können nur in SysFoldern angelegt werden. Um langfristig Ordnung zu halten, sollte man sich frühzeitig
Gedanken über eine sinnvolle Seitenstruktur machen. Folgender Vorschlag kann dabei als Ausgangspunkt verwendet
werden:
Ligaverwaltung
Saison 2006/07
Teams Männer
Teams A-Jugend
Teams B-Jugend
Saison 2005/06
Teams Männer
Teams A-Jugend
Vereine
Personenarchiv
A-C
D-F
usw.

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 Spiele bearbeiten


Über diesen View kann man die Spiele von Wettbewerben bearbeiten. Es werden nur Spiele von Wettbewerben angezeigt,
die sich auf der aktuell im Seitenbaum ausgewählten Seite befinden. Die Darstellung erfolgt gruppiert nach Spieltagen. So
kann man schnell die wichtigsten Informationen eines Spieltags speichern.
Über diese Funktion hat man auch schnell Zugriff auf bestimmte Spiele oder Mannschaften, da alle Elemente auf der Seite
mit einem Bearbeiten-Link ausgestattet sind.

EXT: T3sports - Backend - 5


Funktion Spielplan erstellen
Ein Spielplan kann nur für Ligen erstellt werden. Dafür sind folgende Bedingungen notwendig:
– Der Liga dürfen noch keine Spiele zugeordnet sein
– Der Liga muss ein passender Spielplanschlüssel zugeordnet sein
– Der Liga muss die korrekte Anzahl Teams zugeordnet sein.
Die Beschreibung des Spielplanschlüssels kann man dem Tutorial entnehmen.
Sind alle Bedingungen erfüllt, wird der neue Spielplan zunächst angezeigt. Man hat nun die Möglichkeit das Datum und den
Namen der einzelnen Spieltage anzupassen. Optional hat man auch die Möglichkeit zur die Hinrunde zu generieren. Dazu
muss man einfach die Selectbox oben umstellen. (Achtung: bei einem Wechsel dieser Option gehen alle Daten verloren.
Also zuerst anpassen!)
Wenn die Liga eine ungerade Anzahl von Mannschaften enthält, dann muß der freie Platz vom Spezialteam “spielfrei” belegt
werden.
Die Generierung der Spiele erfolgt über den Button Erstellen am Ende der Seite. Alle Spiele werden im Seitenbaum auf der
aktuell gewählten Seite angelegt.

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.

Funktion Spieler anlegen


Legt auf der aktuellen Seite die gewünschten Spieler und Trainer an. In der Konfiguration der Extension kann man einen
bestimmten Root-SysFolder festlegen unterhalb dem alle Profile angelegt werden müssen. Diese Einschränkung wirkt sich
aber nur auf diese Funktion auf. Über das List-Modul kann man auch in anderen SysFoldern noch Profile anlegen.

Funktion Personen suchen


Um zu verhindern, daß Personen doppelt angelegt werden, kann man mit dieser Funktion schnell nach Profilen in der
Datenbank suchen. Die aktuelle Seite ist dabei bedeutungslos. Es wird immer die gesamte Datenbank durchsucht.
In der Ergebnisliste wird der gefundene Spieler, dessen Platz im Seitenbaum und die verknüpften Teams angezeigt. Zu den
Datensätzen werden auch gleich die entsprechenden Buttons zur Bearbeitung angezeigt.

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.

EXT: T3sports - Backend - 6


Schritt 2: Der „führenden“ Spieler auswählen.
Es wird nun festgelegt, welcher der beiden Spieler alle Referenzen übernehmen soll.

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.

Ligaerstellung mit ungerader Teamanzahl


Bei der Erstellung der Liga mit dem Spielplanschlüssel des DFB wird einfach der nächst höhere Schlüssel verwendet. Bei 11
Teams erfolgt die Erstellung also mit dem 12er Schlüssel. Der freie Platz muss nun allerdings mit einem zusätzlichen Team
gefüllt werden.
Der erste Schritt ist also die Erstellung dieser neuen Mannschaft. Dies kann beispielsweise über das Modul Liste erfolgen. Es
ist egal in welcher Seite dieser Datensatz angelegt wird. Da dieses Team nur ein Dummy-Datensatz ist, kann man es
durchaus in verschiedene Wettbewerben wiederverwenden, auch in anderen Spielzeiten.

EXT: T3sports - Backend - 7


Der Name des Teams ist frei wählbar. Er kann dann später bei Bedarf auch

Illustration 5: Der Name des Teams


Illustration 6: Nicht sollte sinnvoll vergeben werden
vergessen dieses
Häkchen zu setzen!

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.

Property: Data type: Description: Default:


numberOfInputFields Integer Anzahl der Eingabefelder (gleichzeitig absetzbare Tickermeldungen) 3
commentFieldCols Integer Spalten des Textareas für den Kommentar. 30
commentFieldRows Integer Zeilen des Textareas für den Kommentar 5

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.

EXT: T3sports - Backend - 8


Schritt 1: Saison und Altersgruppen
Der erste Schritt ist die Erstellung einer Seitenstruktur wie weiter oben (Anlegen der Datensätze im Seitenbaum von TYPO3)
beschrieben. In der Seite Ligaverwaltung legen wir jetzt drei Datensatze an:
Der erste Datensatz ist vom Typ Saison. Ein sinnvoller Name ist z.B. Saison 2007/08. Die beiden anderen Datensätze sind
vom Typ Altergruppe. Sinnvolle Namen sind hier 1. Mannschaft und A-Jugend. Im List-Modul sollte für die Seite
anschließend die folgende Darstellung erscheinen:

Illustration 7: Listmodulansicht der Seite Ligaverwaltung mit


jeweils drei Spielzeiten und Altersgruppen

Schritt 2: Mannschaften anlegen


Wir werden jetzt die ersten Teams anlegen. Entsprechend der beschriebenen Seitenstruktur geschieht dies in den
SysFoldern Teams Männer und Teams A-Jugend. Über das List-Modul legen wir also in Seiten die in der jeweiligen
Altergruppe vertretenen Teams an. Das betrifft nicht nur das eigene Vereinsteam, sondern natürlich auch alle gegnerischen
Mannschaften.
Die Seite für die A-Jugend könnte anschließend folgendes Aussehen haben:

Illustration 8: Die Gegner der A-Jugend des Chemnitzer


FC in der Bundesligasaison 06/07

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.

EXT: T3sports - Backend - 9


Schritt 3: Wettbewerbe
Jetzt legen wir die Wettbewerbe an. Da die meisten Teams
sowohl in der Liga als auch im Pokal spielen, sind das für
jede Altersklasse in der Regel zwei Wettbewerbe. Sollen
auch Freundschaftsvergleiche mit aufgenommen werden,
dann wäre ein dritter Wettbewerb notwendig.
Über das Listmodul legen wir alle Wettbewerbe des
Spieljahrs in der Seite Saison 2007/08 an. Diese Seite ist
der zentrale SysFolder für die jeweilige Saison. Der
SysFolder enthält nämlich nicht nur die Wettbewerbe,
sondern auch sämtliche Spiele und Spielinformationen.
Der Screenshot zeigt den Datensatz für den Wettbewerb
der Junioren-Bundesliga.

Die Auswahlboxen für Altersgruppe und Saison sollten


automatisch die vorhandenen Datensätze in der Datenbank
finden. Der Wettbewerbstyp sollte selbsterklärend sein.
Das Punktesystem kommt natürlich nur bei Ligen zum
Tragen. Die Mannschaften haben wir bereits im Schritt zwei
angelegt und können sie jetzt hier zu ordnen.

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

Markierung von Tabellen


Auch das letzte Eingabefeld ist nur für den Wettbewerbstyp Liga interessant. Hiermit können Angaben über die spätere
Formatierung der Tabellen im Frontend gemacht werden. Somit können also bspw. Auf- und Absteiger gesondert dargestellt
werden.
Beispielstring: 1;gruen,Aufstiegsplätze|12,13,14;rot,Abstieg
Die Trennung der einzelnen Markierungen erfolgt mit dem senkrechten Strich |.Im Beispiel werden also zwei Angaben
gemacht. Position 1 soll die Kennung gruen und als Kommentar Aufstiegsplätze erhalten. Die Positionen 12, 13 und 14
sollen analog die Kennung rot und den Kommentar Abstieg bekommen.
Diese Angaben können später im Frontend zur Formatierung ausgewertet werden.

Nachdem nun alle Wettbewerbe angelegt sind, können wir mit der Erstellung der Ansetzungen fortfahren.

Schritt 4: Spiele anlegen


Pokalwettbewerbe
Bei Pokalwettbewerben und Freundschaftsspielen müssen die Paarungen komplett manuell angelegt werden. Dazu legt man
über das List-Modul in der Saison 2007/08 einfach einen neuen Datensatz vom Typ Spiel an.

EXT: T3sports - Backend - 10


Illustration 10: Die wichtigsten Daten eines
Spiels
Zunächst muß wieder der richtige Wettbewerb ausgewählt werden. Anschließend füllen sich die Auswahlboxen automatisch
mit den im Wettbewerb zugeordneten Teams. Die Spielrunde wird später zur Sortierung der Spiele verwendet und sollte
nummerisch aufsteigend sein. Der Spieltagname kann frei verwendet werden. Im Status sind angesetzt, läuft, beendet und
ungültig möglich. Ist ein Spiel ungültig geht es nicht mehr in die Berechung von Tabellen ein, kann aber im Spielplan immer
noch angezeigt werden. Über den Status läuft ist es z.B. möglich, im Frontend Blitztabellen anzuzeigen.
Die weiteren Felder des Spiel können derzeit noch freigelassen werden.

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.

Import von Wettbewerben


Ein dritte Möglichkeit Wettbewerbe anzulegen, besteht in der Verwendung der freien Ligaverwaltung Liga Manager '98. Die
von diesem Programm erzeugten Dateien mit der Endung l98 können mit Hilfe der Extension lmo2cfcleague in die
Datenbank importiert werden. Auch der Ligamanager Online verwendet dieses Dateiformat.
Link: http://hollwitzold.sourceforge.net/

Schritt 5: Ergebnisse eintragen


Die Arbeiten für den ersten Teil des Tutorials sind jetzt abgeschlossen und die Wettbewerbe fertig eingerichtet. Über die
Funktion Spiele bearbeiten im Modul Ligaverwaltung können jetzt die Spielergebnisse eingetragen werden. Das Vorgehen
sollte selbsterklärend sein. Es ist nur immer wichtig, daß man sich im Seitenbaum auf der richtigen Seite befindet, damit die
Spiele gefunden werden. Bei Spielen mit Verlängerung und Elfmeterschiessen müssen diese Ergenisse direkt im
Spieldatensatz eingetragen werden. In der Funktion Spiele bearbeiten befindet sich hinter jedem Spiel ein Link um den
Datensatz direkt aufzurufen. Somit findet man recht schnell ein bestimmtes Spiel.
Wer auf Aufstellungen, Ticker und Statistiken verzichten möchte, der kann an dieser Stelle das Tutorial beenden. Lediglich
ein Blick in die abschließenden Bemerkungen sei noch empfohlen, da dort die Vereine und Wettbewerbsstrafen erläutert
werden.

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.

EXT: T3sports - Backend - 11


Zu einer Person können sehr umfangreiche Angaben gemacht.
Für die Ligaverwaltung benötigen wir aber nur den Namen.
Wie weiter oben schon erwähnt sollte jede reale Person nur
einmal als Datensatz im System angelegt werden. Diesen
Datensatz können wir dann immer wieder verwenden.
Bei der Erstellung der Datensätze für die Teams haben wir in
Schritt 2 die Felder für den Trainer und die Spieler der
Mannschaft frei gelassen. Das Vorgehen ist nun eigentlich
ganz einfach. Man legt im List-Modul die notwendigen
Personen an und ordnet sich dann den Teams zu. Da dieser
Prozess aber recht langwierig ist, können wir für die Erstanlage
von Spielern und Trainern die Funktion Spieler anlegen des
Moduls Ligaverwaltung verwenden. Der entsprechende
Screenshot ist im ersten Kapitel dieses Dokuments zu sehen.
Wichtig: Bei Verwendung dieser Funktion ist es wichtig im
Seitenbaum auf der richtigen Seite zu stehen. Denn genau in
der gewählten Seite werden die neuen Spieler abgelegt.
Ansonsten sollte die Funktion einfach zu verstehen sein. Man
wählt in der Auswahlbox die gewünschte Mannschaft aus und
trägt dann in den Eingabefeldern die Namen der Spieler oder
Trainer ein. Bei einem Trainer sollte der Typ natürlich auch auf
Trainer gestellt werden. Rechts sieht man alle bereits
vorhandenen Trainer und Spieler in der Mannschaft. Zusätzlich
ist auch jeweils ein Link zum Bearbeiten des Datensatzes
vorhanden, was später vielleicht einiges Suchen im Dateibaum
vermeidet.
Nach diesem Schritt sollten die gewünschten Personen
angelegt und den jeweiligen Mannschaften als Trainer oder
Spieler zugeordnet sein.
Hinweis: Neu angelegte Spieler werden nicht sofort in der
Spielerliste angezeigt. Hier muß die Seite noch einmal neu
geladen werden.

Illustration 11: Eine komplett ausgefüllte


Schritt 7: Mannschaftsaufstellung Mannschaft
Nachdem die Mannschaften nun Spieler enthalten können
auch die Aufstellungen bei den Spielen erstellt werden. Wenn
man jetzt ein Spiel dieser Mannschaft öffnet, dann stehen in
den Feldern für die Spieler und Trainer die möglichen Werte
zur Verfügung.
Die folgende Abbildung zeigt die entsprechenden Felder. Die
Schieds- und Linienrichter können direkt aus dem Seitenbaum
zugeordnet werden.

Wie man aus den Schritten 6 und 7 erkennt, baut die


Funktionalität zusehens aufeinander auf. Und auch nach
diesem Schritt steht uns jetzt eine weiter Funktion zur
Verfügung: der Liveticker.

Illustration 12: Hier kann die Aufstellung jetzt


Schritt 8: Der Liveticker festgelegt werden
Wie schon erwähnt hat der Liveticker zwei Funktionen. Zum
einen liefert er natürlich den chronologischen Bericht zu einem Spiel. Zum anderen können aus ihm aber auch Informationen
gewonnen werden, die sich statistisch auswerten lassen. Die Arbeitsoberfläche des Ticker findet man im Modul
Ligaverwaltung in der Funktion Spielticker.
Zunächst muß natürlich über die Auswahlboxen das gewünschte Spiel ausgewählt werden. Sofern in dem Spiel-Datensatz
vorher die Aufstellungen eingetragen wurden, sollten die Auswahlboxen der Heim- und Gastspieler entsprechend gefüllt sein.
Bei Verwendung des Ticker ist zu beachten, daß für eine Aktion immer nur ein Spieler gesetzt werden darf. Es ist nicht
zulässig in einem Datensatz sowohl einen Heim- als auch einen Gastspieler auszuwählen. Das System kann dann nicht
mehr erkennen, welchem Team eine Aktion zugeordnet wurde.
Derzeit stehen die folgenden Aktionen zu Auswahl:
– Ticker

EXT: T3sports - Backend - 12


– Tor
– Kopfballtor
– Elfmetertor
– Eigentor
– Torvorlage
– Elfmeter vergeben
– Eckball
– Gelbe, gelb-rote und rote Karte
– Auswechslung
– Einwechslung
– Mannschaftskapitän
Bis zu drei Aktionen können gleichzeitig gespeichert werden. Eine Aktion wird nur gespeichert, wenn auch eine Spielminute
angegeben wurde. Die Spielminute 0 ist dabei auch zulässig und kann für Meldungen vor dem Spiel verwendet werden. Die
Spielminute -1 hat die Besonderheit, daß diese Meldungen im Frontend nicht im Spielstenogramm dargestellt werden.
Da die Ein- und Auswechslungen mit zwei unterschiedlichen Typen vorhanden sind, müssen bei jedem Spielerwechsel
natürlich immer zwei Aktionen gespeichert werden. Für die spätere Ausgabe im Frontend ist das nicht relevant, da hier der
Wechsel wieder zusammengefasst wird.
Am unteren Bildrand werden immer die letzten fünf Meldungen angezeigt. Auch diese haben einen Bearbeiten-Link, um noch
Korrekturen vornehmen zu können. Optional kann man sich auch alle Tickermeldungen zu einem Spiel anzeigen lassen. Die
Tickermeldungen sind vom Datentyp Spielnotiz und werden auf der aktuellen Seite im Seitenbaum gespeichert.

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.

EXT: T3sports - Backend - 13


Wichtig sind die nachfolgenden Felder. Generell
besteht die Möglichkeit das Punkte- und das Torkonto
eines Teams zu korrigieren. Es können sowohl positive
als auch negative Werte eingegeben werden. Wenn
man also -3 Punkte abzieht, bekommt das Team drei
Punkte gut geschrieben. Selbiges gilt für die Tore. Das
Feld Punktabzug negativ hat nur Einfluß bei Ligen mit
dem 2-Punkte-System.
Seit der Version 0.2.0 kann man auch die Anzahl der
Spiele, Siege, Unentschieden und Niederlagen
korrigieren. Dies ist zum Beispiel notwendig, wenn ein
Spiel für beide Teams einer Begegung als Niederlage
gewertet wird.
Muß eine Mannschaft zwangsabsteigen, so kann dies
ebenfalls festgelegt werden. Das Team wird dann in
der Tabelle immer auf den letzten Tabellenplatz
gesetzt.
Das Beispiel im Screenshot zeigt eine Strafe für die
zweite Mannschaft von Carl-Zeiss Jena. Das Spiel
endete nach 90 Minuten mit 0:1. Während für den
Gegner Auerbach das Ergebnis gültig bleibt, wird das
Spiel für Jena mit 0:2 gewertet. Zusätzlich bekommt
Jena noch drei Punkte abgezogen. Da das Spiel bei
der Berechnung der Tabelle voll in der Wertung bleibt,
muß Jena noch ein zusätzliches Gegentor
zugeschrieben werden. Außerdem werden noch die
drei zusätzlichen Strafpunkte abgezogen.
Illustration 13: Eingabemaske einer Wettbwerbsstrafe

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.

EXT: T3sports - Backend - 14