Zum Inhalt

Veranstaltung

Eine Veranstaltung ist die zentrale Einheit in Protegear Sports. Sie legt fest, wann und wo ein Sportereignis stattfinden soll.

Competitions

Mit wird eine Veranstaltung gelöscht, mit eine Kopie einer bestehenden angelegt.

Die Zeitmessung kann mit gestartet werden und ermöglicht einen Replay einer Veranstaltung mithilfe von Daten aus einer Datenquelle (keine Live-Daten).

Eine neue Veranstaltung kann mit angelegt werden; wird auf eine bestehende Veranstaltung geklickt, so öffnet sich eine Detailansicht.

Veranstaltung bearbeiten

Die grundlegenden Daten einer Veranstaltung werden direkt am Anfang eingegeben:

Competition Head

Die Zeitstempel für Begin und Ende des Wettbewerbs sind frei wählbar, sollten aber (grob) korrekt gesetzt sein. Denn nur innerhalb dieses Zeitraums wird das System überhaupt Live-Daten von Geräten abgreifen können. Wenn der Wettbewerb noch nicht begonnen hat oder beendet ist, werden die von den Geräten gesendeten Daten nicht berücksichtigt. Es ist also wichtig, dass die Zeitstempel zumindest die korrekten Tage enthalten. Die Uhrzeiten können an dieser Stelle ruhig noch zu grob gesetzt werden. Denn oftmals ist der genaue Start- bzw. Endezeitpunkt erst kurzfristig bekannt.

Die Daten für Namen, Beschreibung und Adresse können beliebig geändert werden.

Bewertung

Eine Veranstaltung besteht am Ende daraus, die von den Geräten gesendeten Daten zu bewerten und diese dann regelmäßig auf eine Bewertung zu reduzieren.

Die Bewertung wird separat beschrieben, aber an dieser Stelle muss für eine Veranstaltung eine Bewertung ausgewählt werden. Diese Bewertungsfunktion wird dann zur Laufzeit vom System aufgerufen und liefert pro Teilnehmer einen Datensatz, der dann im Ranking angezeigt werden kann.

Ranking

Das Customizing der Darstellung für die Veranstaltung und das Ranking kann mit Hilfe von CSS erfolgen. Per Default werden schon einige CSS-Klassen und -Stile vorgegeben, welche Sie aber jederzeit anpassen können. Bitte beachten Sie, dass Sie nur CSS-Klassen und CSS-ID’s nutzen sollten, welche eindeutige Namen haben; generierte CSS-Stile können sich jederzeit ändern und können somit zu unerwarteten Verhalten führen.

Competition Ranking

Um bspw. die ersten drei Plätze im Ranking anders zu gestalten, können Sie folgenden Code nutzen:

1
2
3
4
5
table.starters tbody tr:nth-child(1),
table.starters tbody tr:nth-child(2),
table.starters tbody tr:nth-child(3) {
  background-color: yellow;
}

Die Aktion für Mouse selection definiert was passiert, wenn im Ranking auf einen Teilnehmer geklickt wird. Standardmäßig wird der Teilnehmer in der Karte durch einen Tooltip markiert. Sie können dieses Verhalten aber auch abschalten.

Schließlich legen Sie noch die Spalten für die Ranking-Tabelle fest. Jede Spalte hat einen Titel und einen Datenwert. Dieser Wert kann aus einer Liste von vordefinierten Werten stammen; Sie können aber auch einen Wert aus dem Datensatz der Bewertungsfunktion verwenden und somit eigene Spalten mit berechneten Werten erstellen.

Competition Ranking

Im Beispiel wird hier auf das Feld userdata.ui.distance zugegriffen. Dieses Feld ist nicht Teil der Sport-Plattform, stattdessen wird die Struktur userdata der Bewertungsfunktion zur Verfügung gestellt um dort selbst Daten abzulegen. Das bedeutet, dass das Feld ui.distance von der Bewertungsfunktion erstellt werden muss!

Karte

In der Karte werden zur Laufzeit alle Teilnehmer angezeigt. Sie können mit dem zentralen Marker die Position festlegen, auf die die Karte beim Aufruf der Seite durch einen Nutzer zentriert wird.

Competition Map

Weiterhin können Sie noch Layer hinzufügen, welche verschieden Typen haben können:

  • Marker: Ein Marker ist ein Punkt auf der Karte.
  • Course: Eine Linie, welche aus mehreren Punkten besteht.
  • Region: Eine Fläche

Jeder Layer hat einen Typ und kann mehrere Elemente enthalten. So kann ein Layer vom Typ Marker viele Marker enthalten; ein Course-Layer kann viele Linien bereitstellen und bei einer Region können mehrere Flächen angelegt werden.

Marker

Marker können einen Text für den Marker sowie für ein anzuzeigendes Popup enthalten.

Competition Map Markeredit

Das System zeigt den internen, eindeutigen Namen des Markers an (Markers_1_0); dieser Name setzt sich aus dem Namen des Layers und dem Index des Markers innerhalb des Layers zusammen. Sie können diesen Namen im Reducer-Code nutzen um darauf zuzugreifen. Dieser Name kann ebenfalls in den CSS-Regeln als CSS-ID verwendet werden um das konkrete Element zu selektieren.

Im Textfeld pflegen Sie den Text für ein Popup, welches angezeigt wird, wenn auf den Marker geklickt wird. In können Sie einen Text für den Marker angeben. Beginnt dieser Text mit einem Präfix fa-, so wird der Inhalt als Font Awesome Icon interpretiert.

Note

Beachten Sie, daß nur die Free-Gallery von Font Awesome unterstützt wird.

Region

Ein Bereich ist eine Fläche, welche aus mehreren geometrischen Einzelelementen bestehen kann. Am Ende bestitzt der Bereich einen Namen (nebst Farbe); dieser Name dienst zum Selektieren des Bereichs im Reducer-Code. Dadurch kann eine Funktion contains aufgerufen werden; die Bewertungsfunktion kann somit überprüfen, ob ein Teilnehmer sich innerhalb eines Bereichs befindet (oder nicht).

Course

Ein Kurs ist eine Linie. Sie können diese manuell als Folge von Punkten zeichnen oder auch via GPX-Upload hochladen.

Competition Map Courseedit

Geben Sie dem Track selbst einen Namen . Da jeder Track aber auch mehrere Linien enthalten kann, können Sie diese auch noch benennen. Klicken Sie dazu auf die Linie selbst und geben Sie bei einen Namen für diese Linie ein. Im Reducer-Code können Sie dann auf diese Linie zugreifen indem Sie auf mapdata.track.road zugreifen.

Mit können Sie den Startindex für den Track ändern; dieser wird an der Stelle in der Karte angezeigt. Sobald Sie ihn verschieben, ändert sich diese Anzeige.

Info

Der Startindex ist normalerweise der erste Punkt in einer GPX-Datei bzw. der erste Punkt der gezeichneten Linie. Dieser wird benötigt, wenn Sie im Reducer-Code die Funktion nearestEdge (der Polylinie) nutzen wollen. Damit können Sie den nächstegelegenen Punkt auf der Linie ermitteln, der am nächsten zu einer Position liegt. Das System liefert neben den Koordinaten auch den Abstand zum Start der Linie; ist der Startindex nicht auf 0 gesetzt, so wird der Abstand zum Startindex berechnet.

Teilnehmer

Teilnehmer werden separat im System gepflegt. Die Zuordnung zu einem Wettbewerb erfolgt jedoch über den Wettbewerb.

Competition Participants

Sie können somit vorab eine grosse Liste von Teilnehmern pflegen und diese dann auch schon vorab in vielen Wettbewerben als Teilnehmer hinzufügen. Erst wenn Sie hier noch eine Verknüpfung über ein (oder mehrere) Geräte herstellen, werden für den Teilnehmer auch Daten erfasst.

Note

Ein Teilnehmer hat somit keine feste Geräte-ID sondern das Gerät ist nur für einen Wettbewerb mit dem Teilnehmer verknüpft.

Optional können Sie einen Teilnehmer auch mit einem Team verknüpfen; ebenso können Sie auch noch ein Freitextfeld für einen Wert angeben. Beide Werte (teamid und attribute) können zur Laufzeit im Reducer-Code verwendet werden.