Skip to content

Composite Views

Michael Massee edited this page Aug 6, 2026 · 3 revisions

Composite Views

Was sind Composite Views?

Ein Composite View ist eine frei zusammengesetzte Browser-Ansicht, die mehrere Inhalte gleichzeitig auf einer Seite darstellt – z. B. Rangliste und laufende Spielrunde nebeneinander, oder eine Tabelle kombiniert mit einem eingebetteten Timer, einem Logo/Bild und einer externen Webseite. Jeder Composite View läuft wie eine normale Webserver-Anzeige auf einem eigenen TCP-Port und wird per Server-Sent-Events (SSE) live aktualisiert – kein manuelles Neuladen nötig.

Im Unterschied zur einfachen Webserver-Konfiguration (ein Sheet pro Port) lässt sich ein Composite View in mehrere Panels aufteilen, die frei angeordnet werden.

Composite Views verwalten

Composite Views werden über Extras → Optionen → PétTurnMngr → Composite Views verwaltet.

Element Beschreibung
Webserver aktiv Globaler Schalter für alle Composite Views (und den normalen Webserver)
System-Filter Schränkt die im Detail-Dialog wählbaren Sheet-Typen auf ein bestimmtes Turniersystem ein (oder „Alle")
Liste der Views Zeigt alle konfigurierten Composite Views: Port, Name/Panel, Zoom, Status (Aktiv/Inaktiv)
+ Hinzufügen Öffnet den Detail-Dialog für einen neuen Composite View auf dem nächsten freien Port ab 9100
Bearbeiten Öffnet den Detail-Dialog für den ausgewählten View
Löschen Entfernt den ausgewählten View (inkl. zugehöriger Webserver-Regie-Verknüpfungen)
Exportieren Speichert alle konfigurierten Composite Views als JSON-Datei (siehe Export/Import unten)
Importieren Lädt Composite Views aus einer zuvor exportierten JSON-Datei und fügt sie der bestehenden Liste hinzu

Jede Aktion (Hinzufügen/Bearbeiten/Löschen/Importieren) speichert sofort und aktualisiert bereits laufende Anzeigen live, ohne dass die Optionsseite mit „OK" verlassen werden muss.

Der Detail-Dialog

Der Detail-Dialog („Composite View konfigurieren") kombiniert einen visuellen Layout-Builder mit der Panel-Konfiguration.

Layout aufbauen (Split-Baum)

Ein neuer Composite View startet mit einem einzelnen Panel, das die gesamte Fläche einnimmt. Über die Schaltflächen wird das aktuell ausgewählte Panel geteilt:

  • Split horizontal – teilt das Panel in eine linke und rechte Hälfte
  • Split vertikal – teilt das Panel in eine obere und untere Hälfte

Jeder Split kann beliebig oft wiederholt werden, sodass verschachtelte Layouts mit beliebig vielen Panels entstehen (Fliesenlayout, ähnlich einem Tiling-Fenstermanager). Für jeden Split lässt sich der Flächenanteil der beiden Seiten prozentual über Breite bzw. Höhe einstellen. Ein Panel kann über Blatt löschen wieder aus dem Baum entfernt werden (das Wurzel-Panel kann nicht gelöscht werden). Eine Layout-Vorschau zeigt die aktuelle Aufteilung während der Bearbeitung an.

Panel-Konfiguration

Für das jeweils ausgewählte Panel stehen fünf Anzeigemodi zur Verfügung:

Modus Beschreibung
Blatt Zeigt ein Turnier-Sheet als Tabelle an (siehe Sheet-Auswahl unten)
Externe URL Bettet eine beliebige http://- oder https://-Adresse als eingebettete Seite ein (manche Webseiten erlauben keine Einbettung)
Timer Zeigt den aktuellen Turnier-Timer im Panel an
Lokale Datei Zeigt eine lokale HTML-, Bild- oder PDF-Datei im Panel an
Turnierstartseite Zeigt die konfigurierte Turnier-Startseite im Panel an

Für Panels vom Typ Blatt stehen zusätzlich diese Einstellungen zur Verfügung:

Einstellung Werte Beschreibung
Sheet Auswahl Welches Sheet angezeigt wird (siehe Sheet-Auswahl)
Zoom 10 – 500 % Darstellungsgröße der Tabelle im Panel
Sichtbar % 10 – 100 % Wie viel der Gesamttabelle im Panel sichtbar ist (Rest wird abgeschnitten statt gescrollt)
H (horizontale Ausrichtung) Kein / Links / Mitte / Rechts Horizontale Positionierung der Tabelle im Panel
V (vertikale Ausrichtung) Kein / Oben / Mitte / Unten Vertikale Positionierung der Tabelle im Panel
Blattname anzeigen Ja / Nein Zeigt den Sheet-Namen als Kopfzeile über dem Panel an

Sheet-Auswahl

Die Sheet-Auswahl ist system-agnostisch: Rollen wie „Rangliste", „Aktuelle Spielrunde", „Meldeliste", „Checkin" oder „Teilnehmer" lösen sich automatisch auf das im Dokument aktive Turniersystem auf – ein Composite View muss also nicht pro Turniersystem neu gebaut werden. Zusätzlich stehen einige system-spezifische Spezial-Sheets zur Verfügung (z. B. Maastrichter-Finalrunden, Kaskaden-Felder, Poule-K.O.), die im System-Filter der Optionsseite je nach gewähltem Turniersystem ein-/ausgeblendet werden.

Globale Einstellungen

Einstellung Beschreibung
Name Anzeigename des Composite View (erscheint u. a. in der Webserver-Regie-Auswahl). Pflichtfeld – jeder Composite View braucht einen eigenen, nicht-leeren Namen, der unter allen Views eindeutig ist (Groß-/Kleinschreibung wird dabei unterschieden, „Ansicht" und „ansicht" gelten also als zwei verschiedene Namen)
Zoom Globaler Zoom-Faktor (10–500 %), wirkt zusätzlich zum Zoom der einzelnen Panels
Kopf-/Fußzeile global Rendert Kopf-/Fußzeile aus Panel 0 einmal für die gesamte Ansicht statt pro Panel

Rahmen (Rand)

Um den gesamten Composite View kann ein Rahmen gelegt werden – nützlich, um z. B. den Status eines Turniers (aktiv/pausiert) optisch hervorzuheben:

Einstellung Werte Beschreibung
Rand-Art Kein / Durchgezogen / Gestrichelt / Gepunktet / Doppelt Linienart des Rahmens
Dicke 0 – 50 px Rahmendicke
Farbe Farbwähler Rahmenfarbe
Transp. 0 – 100 % Transparenz der Rahmenfarbe
Animation Keine / Laufende Ameisen / Pulsieren / Farbwechsel Optionale Animation des Rahmens

Vorschau im Dialog übernimmt die aktuelle Konfiguration sofort in eine bereits laufende Anzeige, ohne den Dialog zu schließen – praktisch, um das Ergebnis direkt im Browser zu kontrollieren.

Validierung

Beim Speichern werden alle Composite Views geprüft:

  • Port darf nicht leer sein und muss zwischen 1 und 65535 liegen
  • Jeder Port darf nur einmal verwendet werden (auch nicht doppelt mit dem Webserver-Regie-Port)
  • Name darf nicht leer sein und muss unter allen Composite Views eindeutig sein (case-sensitiv)
  • Mindestens ein Panel muss konfiguriert sein
  • Zoom muss zwischen 10 und 500 % liegen, sichtbarer Tabellenanteil zwischen 10 und 100 %
  • Randdicke muss zwischen 0 und 50, Rand-Transparenz zwischen 0 und 100 liegen

Bei einem Fehler wird die betroffene Zeile in der Fehlermeldung benannt; es wird nichts gespeichert, bis alle Einträge gültig sind.

Export/Import

Über die Buttons Exportieren und Importieren auf der Optionsseite lässt sich die komplette Composite-View-Konfiguration als JSON-Datei sichern und wieder einspielen – z. B. um eine aufwendig gebaute Ansicht auf einen anderen Rechner zu übertragen oder vor größeren Änderungen ein Backup anzulegen.

  • Exportieren schreibt die aktuelle Liste aller Composite Views (inkl. Panels, Split-Layout und Rahmen-Konfiguration) als JSON-Datei über einen Datei-Auswahldialog.
  • Importieren liest eine solche JSON-Datei ein und hängt die enthaltenen Views an die bereits vorhandene Liste an – bestehende Composite Views gehen dabei nicht verloren.
  • Kollidiert der Port eines importierten Views mit einem bereits vorhandenen (oder einem anderen Eintrag aus derselben Import-Datei), wird automatisch ein neuer freier Port vergeben.
  • Ebenso wird bei einem doppelten oder leeren Namen automatisch ein eindeutiger Name erzeugt (z. B. durch Anhängen von „(2)", „(3)", …, oder bei leerem Namen ein Platzhalter auf Basis des Ports).
  • Der Import wird sofort gespeichert und bereits laufende Composite-View-Anzeigen werden live aktualisiert, genau wie beim manuellen Hinzufügen/Bearbeiten.

Zusammenspiel mit der Webserver-Regie

Jeder aktive Composite View steht in der Webserver-Regie als „Quelle" zur Auswahl. Wird der Port eines Composite Views nachträglich geändert, migriert PTM automatisch alle Regie-Ziele, die auf diesen View zeigen, auf den neuen Port – ohne dass die stabile Regie-URL für Zuschauer sich ändert.

Clone this wiki locally