-
-
Notifications
You must be signed in to change notification settings - Fork 1
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 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 („Composite View konfigurieren") kombiniert einen visuellen Layout-Builder mit der Panel-Konfiguration.
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.
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 |
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.
| 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 |
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.
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.
Ü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.
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.
Einstieg Home Installation Download
Turniersysteme Supermêlée Schweizer System Liga Jeder gegen Jeden K.-O.-System Poule-A/B Maastrichter System Kaskaden-K.O. Formule X Trip-Tête / Trio Kölner Sextet Dänisches System Monrad-System Tête-Series Crazy-Mêlée Arena-Pétanque Systemvergleich
Referenz Turnieransicht Sidebar Konfiguration WhatsApp Webserver Composite Views Webserver-Regie Turnier-Startseite FTP-Server KI-Assistent Siegergeld Planungsrechner Formeln Makros & Formeln Zeitplan-Feature Für Entwickler Entwicklungsumgebung Architektur: Threading Architektur: Blattschutz