Online Sports-Manager Frontend Teil 1: Das Grundkonzept
Zum Jahresende haben wir endlich noch einmal einen Artikel für euch, der letzte ist ja schon eine ganze Weile her.
Bislang ging es bei den Artikeln zum Sports-Manager eigentlich immer um die Berechnung der Spiele, zuletzt im vierten Teil der Beitragsreihe.
Heute soll es einmal nicht um den ganzen technischen Hintergrund gehen, von dem ein normaler User hinterher wenig mitbekommt. Wir widmen uns den ersten Ansätzen des Frontends, also der Oberfläche, zunächst den verschiedenen Grundüberlegungen.
Grundkonzept
Wichtig ist für uns bei der Planung und Entwicklung nicht nur die Optik und die Funktionen, sondern auch eine gute Erweiterbarkeit des gesamten Systems sowie eine suchmaschinenfreundliche Struktur.
Format der URLs
Das Spiel wird in Module eingeteilt. Jedes Modul hat eine eigene URL, die jeweils noch um Aktionen erweitert wird. Beispielsweise gibt es das Modul „team“, das sich um die Teamübersicht und andere Team-Aktionen kümmern soll.
Die Hauptaktion (Standardaktion) für das Team-Modul ist die Ansicht der eigenen Teamübersicht.
Die URL hierfür wäre dann http://www.meinedomain.de/team.html
Um ein fremdes Teamprofil anzusehen gibt es dann eine Aktion „profile“ im Team-Modul und natürlich braucht man noch die ID des Teams, zum Beispiel die 322.
Die URL hierfür wäre dann http://www.meinedomain.de/team/profile/322.html
Das Modul „spieler“ hat keine Standard-Aktion, bzw. die Standard-Aktion ist die Ansicht eines einzelnen Spielers. Auch hier brauchen wir wieder eine ID, zum Beispiel die 15321.
Die URL für das Spielerprofil ist demnach http://www.meinedomain.de/spieler/15321.html
Wer nicht so gerne mit Pfaden / Verzeichnissen in den URLs arbeitet, wird vermutlich später eine Einstellung im Grundsystem setzen können, mit der die URLs dann so aussehen:
http://www.meinedomain.de/team.profile.322.html
CRON Jobs
Für die Berechnung von Spielereignissen und den Begegnungen sind regelmäßige Aufrufe von Skripten notwendig. Wir haben das System so konzipiert, dass die Aufrufe für die Kommandozeilen-Befehle alternativ auch über den Browser erfolgen können. So können die CRON Jobs auch von extern bzw. von Hand aufgerufen werden, wenn keine Möglichkeit besteht diese direkt auf dem Server einzurichten.
Ein Beispiel:
Das Skript, das die Abarbeitung von regelmäßigen Aufgaben steuert, wird über die Konsole so aufgerufen:
php /pfad/zur/managerinstallation/index.php cron
Um den selben Aufruf über den Browser zu erledigen gibt es eine spezielle URL:
http://www.meinedomain.de/cron.html?CLI=true
Das „CLI“ steht hierbei für „command line interface“ und gibt dem System die Information, dass kein Oberflächenmodul aufgerufen werden soll, sondern ein Kommandozeilenmodul.
Alle CRON Jobs werden in der Datenbank eingetragen. Es gibt also nur eine einzige URL, bzw. ein einziges Skript das regelmäßig aufgerufen werden muss und die komplette Steuerung der regelmäßigen Aufgaben übernimmt.
Technische Aktualität
Um eine optimale Darstellung sowohl auf Desktopsystemen als auch mobilen Geräten zu ermöglichen werden die Templates in HTML5 geschrieben. Für die JavaScript Funktionalität wird grundsätzlich jQuery mit fremden und eigenen Erweiterungen eingesetzt.
Zum jetzigen Zeitpunkt ist noch nicht klar, ob wir für mobile Endgeräte ein komplett eigenes Theme (Design) erstellen.
Wiederverwendbarkeit
Möglichst viele Teile des Systems sollen an anderen Stellen wiederverwendet werden können. Ein ganz zentrales Element werden hierbei die Tabellen sein, da diese an vielen Stellen im Spiel auftauchen. Die Tabellen werden nach (fast) allen Spalten auf- und absteigend sortierbar sein und bei einigen Tabellen wird es für den User sogar die Möglichkeit geben frei zu wählen welche der Spalten angezeigt werden und welche nicht. Da wir noch kein Design erarbeitet haben, das öffentlich gezeigt werden kann, hier zwei Screenshots mit einem Dummy-Design, die eine Spielertabelle mit verschiedener Spaltenzahl zeigen. Zudem sind die Spalten anders angeordnet und die Tabellen unterschiedlich sortiert.
Alle Einstellungen, also Sortierung und Spaltenkonfiguration, werden pro Tabelle gespeichert bleiben sind somit beim nächsten Seitenaufruf erhalten.
Wir wissen, dass es nur langsam voran geht, aber wie heißt es ja so schön…
„Gut Ding will Weile haben.“
In diesem Sinne hoffen wir, dass wir euch bald einen neuen Artikel zum Sports-Manager präsentieren können.
Update 02.01.2013: Es steht ein erstes Video zum Sports Manager zum Ansehen bereit. Das Video zeigt zu diesem Zeitpunkt natürlich nur ein provisorisches und noch kein finales Design. Zu sehen ist die im Artikel angesprochene Tabelle mit der Spieler-Auflistung und deren Möglichkeiten zur Sortierung wie auch Filterung. Ebenfalls zu sehen: Einen Spieler-Detail-Layer inklusive Spieler-Entwicklung in Diagrammform!
https://www.youtube.com/watch?v=CDVzm7-QfDk
Sehr cool 🙂
Wenn es so weiter geht und alles exakt so funktioniert, wie die bisherigen Posts vermuten lassen, dann warte ich auch gerne noch 3, 4 o. 5 Jahre.
Ich kann es ehrlich gesagt kaum noch erwarten.