CLM:Technische Details:Beschreibung TRF: Unterschied zwischen den Versionen

Aus ChessLeagueManager
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(29 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 12: Zeile 12:




Das TRF-Format wird auch zum '''Datenaustausch mit Programmroutinen wie JaVaFo oder bbpairing''' verwendet, die die Ansetzungen in bestimmten Turnierformen (z.B. Schweizer System) unterstützen.


Für diesen Zweck gibt es Erweiterungen zum oben genannten FIDE-Standard. Die ergänenden Satzarten starten alle mit "'''XX'''" gefolgt von einen dritten Kennbuchstaben
Das TRF-Format wird weiterhin zum '''Datenaustausch mit Programmroutinen wie JaVaFo oder bbpairing''' verwendet, die die Ansetzungen in bestimmten Turnierformen (z.B. Schweizer System) unterstützen.


<p>XXA <Accelerated rounds><br>
Für diesen Zweck gibt es Erweiterungen zum oben genannten FIDE-Standard. Die ergänzenden Satzarten starten alle mit "'''XX'''" gefolgt von einen dritten Kennbuchstaben
 
<p></p><p>XXA <Accelerated rounds><br>
<Accelerated rounds> :== <playerid> <fictious points> [<fictious points> ...]<br>
<Accelerated rounds> :== <playerid> <fictious points> [<fictious points> ...]<br>
<fictious points> :== "  0.0" | "  0.5" | "  1.0" | ...</p>
<fictious points> :== "  0.0" | "  0.5" | "  1.0" | ...</p>




<p>XXC <configuration><br>
XXC <configuration><br>
<configuration> :== ["rank"] ["black1"|"white1"]</p>
<configuration> :== ["rank"] ["black1"|"white1"]
 


<p>XXP <forbidden Pairs><br>
XXP <forbidden Pairs><br>
<forbidden Pairs> :== <list of pairing ids><br>
<forbidden Pairs> :== <list of pairing ids><br>
<list of pairing ids> :== <pairing id> <pairing id></p>
<list of pairing ids> :== <pairing id> <pairing id>
 


<p>XXR <number of rounds><br>
<p>XXR <number of rounds><br>
Zeile 34: Zeile 33:




<p>XXS <Scoring Point System><br>
 
XXS <Scoring Point System><br>
<Scoring Point System> :== <scoring rule> [<scoring rule> ...]<br>
<Scoring Point System> :== <scoring rule> [<scoring rule> ...]<br>
<scoring rule> :== <scoring id> "=" <score><br>
<scoring rule> :== <scoring id> "=" <score><br>
<scoring id> :== "WW" | "BW" | "WD" | "BD" | "WL" | "BL" | "ZPB" | "HPB" | "FPB" | "PAB" | "FW" | "FL" | "W" | "D"<br>
<scoring id> :== "WW" | "BW" | "WD" | "BD" | "WL" | "BL" | "ZPB" | "HPB" | "FPB" | "PAB" | "FW" | "FL" | "W" | "D"<br>
<score> :== [<integer>] "." [<integer>]</p>
<score> :== [<integer>] "." [<integer>]
 


<p>XXZ <absent Players></p>
<p>XXZ <absent Players></p>




Im '''CLM-Projekt''' wird das TRF-Format darüber hinaus zum Austausch von Turnierdaten zwischen einzelnen CLM-Installationen verwendet. Die hierfür zusätzlichen Satzarten starten mit "'''XC'''" gefolgt von einen dritten Kennzeichen.


Im '''CLM-Projekt''' wird das TRF-Format darüber hinaus zum Austausch von Turnierdaten zwischen einzelnen CLM-Installationen verwendet. Die hierfür zusätzlichen Satzarten starten mit "'''XC'''" gefolgt von einen dritten Kennzeichen.
<p></p>- Anzahl der beschleunigten Runden beim beschleunigten Verfahren
 
<p></p><p></p>
- Anzahl der beschleinigten Runden bei beschleunigten Verfahren
<p>'''XCA''' <last accelerated round><br>
<p>'''XCA''' <last accelerated round><br>
<last accelerated round> :== <integer></p>
<last accelerated round> :== <integer></p>


<p>Bsp.: Beschleunigtes Verfahren bis Runde 3<br>
Bsp.: Beschleunigtes Verfahren bis Runde 3<br>
XCA 3 </p>
XCA 3




Zeile 61: Zeile 58:
<club name> :== <string></p>
<club name> :== <string></p>


<p>Bsp.: Spieler Nr. 7 ist Mitglied im SF Lohmar<br>
Bsp.: Spieler Nr. 7 ist Mitglied im SF Lohmar<br>
XCC    7 SF Lohmar</p>
1234567890123456789012345678901234567890
XCC    7 SF Lohmar
 
 
- Daten einer Mannschaft
<p>'''XCD''' <Team Data><br>
<Team Data> :== <teamid> <team ZPS> <team number within club><br>
<teamid> :== <interger4><br>
<clubZPS> :== <alnum5><br>
<team number within club> :== <integer4></p>
 
Bsp.: Team Nr. 2 ist 3. Mannschaft des Vereins Naumburger SV
XCD    2 G0222    3
 
XCD als Tabelle
{| class="wikitable"
|+
!Pos
!
!
!Description
!Contents/Format
|-
|1
| -
|3
|CLM Identifier
|XCD
|-
|5
| -
|7
|TeamID
|<teamid> :== <integer3>
|-
|9
| -
|13
|Vereinscode der Mannschaft
|<club zps> :== <alnum>{5}
|-
|15
| -
|16
|Mannschaftsnummer im Verein
|<member id> :== <integer2>
|-
|17
| -
|74
|Reserve
|
|-
|76
| -
|100
|Daten zu Durchgang 1 Runde 1
|
|-
|.76
| -
|77
|Mannschaftsergebnis
|<merg> :== <integer2>
|-
|.79
| -
|79
|kampflos
|<kampflos> :== <integer1>
|-
|.81
| -
|83
|TeamID des Gegners
|<teamid> :== <integer3>
|-
|.85
| -
|86
|Nummer der Paarung
|<paarid> :== <integer2>
|-
|.88
| -
|88
|auswärts/heim
|<heim> :== <integer1>
|-
|.90
| -
|91
|Mannschaftspunkte
|<mpoints> :== <integer2>
|-
|.93
| -
|97
|Brettpunkte
|<bpoints> :== <dec3.1>
|-
|101
| -
|125
|Daten zu Durchgang 1 Runde 2
|
|}




Zeile 70: Zeile 173:
<mail address> :== <string></p>
<mail address> :== <string></p>


<p>Bsp.: Spieler Nr. 112 hat eMail maxmuster@provider.com hinterlegt<br>
Bsp.: Spieler Nr. 112 hat eMail maxmuster@provider.com hinterlegt
XCC 112 maxmuster@provider.com</p>
XCE 112 maxmuster@provider.com</p>




Zeile 78: Zeile 181:
<Tie-Breakers Numbers> :== <integer> <integer> <integer>
<Tie-Breakers Numbers> :== <integer> <integer> <integer>


<p>Bsp.: Die Feinwertungen sind hier Buchholz und Sonneborn-Berger, die dritte Feinwertung ist nicht gesetzt<br>
Bsp.: Die Feinwertungen sind hier Buchholz und Sonneborn-Berger, die dritte Feinwertung ist nicht gesetzt
XCF  1  3  0</p>
XCF  1  3  0</p>




Zeile 86: Zeile 189:
<number of groups> :== <integer></p>
<number of groups> :== <integer></p>


<p>Bsp.: Beschleunigtes Verfahren mit 3 Gruppen<br>
Bsp.: Beschleunigtes Verfahren mit 3 Gruppen
XCA 3 </p>
XCG 3 </p>




Zeile 94: Zeile 197:
<Event Location> :== <string></p>
<Event Location> :== <string></p>


<p>Bsp.: Gespielt wird in der Aula der Hort (Hinweis: der Aufbau der Anschrift entspricht den Vorgaben der Quellinstallation)<br>
Bsp.: Gespielt wird in der Aula der Hort (Hinweis: der Aufbau der Anschrift entspricht den Vorgaben der Quellinstallation)
XCL Aula im Hort Kinderpark,Wiener Straße 18,06128 Halle (Saale)</p>
XCL Aula im Hort Kinderpark,Wiener Straße 18,06128 Halle (Saale)</p>
 


- Turnier (numerisch im CLM-Code)
- Turnier (numerisch im CLM-Code)
<p>'''XCM''' <Tournament Mode><br>
<p>'''XCM''' <Tournament Mode> <Number of regular players> <Number of substitutes><br>
<Tournament Mode> :== <integer>
<Tournament Mode> :== <integer></p>
<Number of regular players> :== <integer>  !only if team competitions!
<Number of substitutes> :== <integer>      !only if team competitions!
 
Bsp.1: Einzelturnier - Der Turniermodus ist hier Schweizer System
XCM  1
Bsp.2: Teamwettbewerb - Liga, vollrundig, 2 Durchgänge mit je 7 Runden, an 8 Brettern (Stamm) und mit max. 12 Ersatzspielern je Mannschaft
1234567890123456789012345678901234567890
XCM  1  2  7  8  12
 
XCM als Tabelle
{| class="wikitable"
|+
!Pos
!
!
!Description
!Contents/Format
|-
|1
| -
|3
|CLM Identifier
|XCM
|-
|5
| -
|6
|Turniertyp num nach CLM
|<turniertyp> :== <integer2>
|-
|8
| -
|9
|Anzahl der Durchgänge
|<loops> :== <integer2>
|-
|11
| -
|12
|Anzahl der Runden
|<rounds> :== <integer3>
|-
|14
| -
|16
|Anzahl der Stammbretter, only for team competitions
|<stamm> :== <integer3>
|-
|18
| -
|20
|Anzahl der Ersatzspieler, only for team competitions
|<ersatz> :== <integer3>
|}


<p>Bsp.: Der Turniermodus ist hier Schweizer System (Einzelturnier) <br>
XCM  1 </p>




Zeile 111: Zeile 267:
Hinweis: XCP kann mehrfach sein; Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP-Angaben  
Hinweis: XCP kann mehrfach sein; Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP-Angaben  


<p>Bsp.: Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP <br>
Bsp.: Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP-Zeilen
XCP teamranking=0;<br>
XCP teamranking=0;
XCP optionTiebreakersFideCorrect=1;<br>
XCP optionTiebreakersFideCorrect=1;
...<br>
...
XCP waiting_period=30;</p>
XCP waiting_period=30;




Zeile 122: Zeile 278:
<Player Ranking Numbers> :== <integer4> <integer> <integer> <integer></p>
<Player Ranking Numbers> :== <integer4> <integer> <integer> <integer></p>


<p>Bsp.: Spieler Nr. 14 hat DWZ 1914, Elo 1893 und seine TWZ ist 1914<br>
Bsp.: Spieler Nr. 14 hat DWZ 1914, Elo 1893 und seine TWZ ist 1914
XCR  14 1914 1893 1914</p>
XCR  14 1914 1893 1914
 


- Telefon-Nr. eines Teilnehmers
- Telefon-Nr. eines Teilnehmers
Zeile 130: Zeile 287:
<Phone Number> :== <string></p>
<Phone Number> :== <string></p>


<p>Bsp.: Spieler Nr. 66 hat die Telefon-Nr  031123456 hinterlegt<br>
Bsp.: Spieler Nr. 66 hat die Telefon-Nr  +49 31123456 hinterlegt
XCS  66 031123456</p>
XCS  66 +49 31123456




Zeile 138: Zeile 295:
Aufbau analog zu Standardsatzart 132 mit den Spieltagen (Datum)</p>
Aufbau analog zu Standardsatzart 132 mit den Spieltagen (Datum)</p>


<p>Bsp.: Die Runden beginnen 16 Uhr bzw. 09:30 Uhr<br>
Bsp.: Die Runden beginnen 16 Uhr bzw. 09:30 Uhr (5 Runden)
XCT                                        16:00:00  09:30:00  16:00:00  09:30:00  16:00:00</p>
XCT   16:00:00  09:30:00  16:00:00  09:30:00  16:00:00




Zeile 148: Zeile 305:
<club zps> :== <alnum>{5}<br>
<club zps> :== <alnum>{5}<br>
<member id> :== <integer><br>
<member id> :== <integer><br>
<integer4> :== <space><space><space><digit> | <space><space><digit><digit> |<br>
<integer4> :== <space><space><space><digit> | <space><space><digit><digit> | <space><digit><digit><digit> | <digit><digit><digit><digit></p>
<space><digit><digit><digit> | <digit><digit><digit><digit></p>
 
Bsp.: Spieler Nr. 7 ist Mitglied Nr. 187 im Verein 66211
12345678901234567890
XCZ    7 66211-187


<p>Bsp.: Spieler Nr. 7 ist Mitglied Nr. 187 im Verein 66211<br>
<p> neue Tabelle </p><p>  </p>
XCZ    7 66211-187</p>
{| class="wikitable"
|+
!Pos
!
!
!Description
!Contents/Format
|-
|1
| -
|3
|CLM Identifier
|XCZ
|-
|5
| -
|8
|SpielerID
|<playerid> :== <integer4>
|-
|10
| -
|14
|Vereinscode des Spielers
|<club zps> :== <alnum>{5}
|-
|16
| -
|19
|Mitgliedsnummer des Spielers im Verein
|<member id> :== <integer>
|-
|76
| -
|100
|Daten zu Durchgang 1 Runde 1
|
|-
|.76
| -
|77
|Paarung
|<paarid> :== <integer2>
|-
|.79
| -
|81
|Brett
|<boardid> :== <integer3>
|-
|.83
| -
|83
|auswäerts/heim
|<homeflag> :== <integer1>
|-
|.85
| -
|86
|Ergebnis num nach CLM
|<homeflag> :== <integer2>
|-
|.88
| -
|88
|kampflos
|<defaultflag> :== <integer1>
|-
|.90
| -
|93
|Brettpunkte
|<homeflag> :== <dec2.1>
|-
|101
| -
|125
|Daten zu Durchgang 1 Runde 2
|
|-
|126
| -
|150
|Daten zu Durchgang 1 Runde 3
|
|}

Aktuelle Version vom 15. Oktober 2026, 15:27 Uhr

Das Dateiformat TRF wird u.a. verwendet, um Turnierergebnisse an die FIDE zu melden.

Die FIDE stellt hierfür umfangreiche Beschreibungen zur Verfügung.

Die z.Z. gültige Fassung von 2016:

- https://www.fide.com/FIDE/handbook/C04Annex2_TRF16.pdf

Die in Arbeit befindliche Fassung, die sehr wahrscheinlich im 2.Halbjahr 2026 in Kraft treten wird:

- https://tec.fide.com/trf-2026/


Das TRF-Format wird weiterhin zum Datenaustausch mit Programmroutinen wie JaVaFo oder bbpairing verwendet, die die Ansetzungen in bestimmten Turnierformen (z.B. Schweizer System) unterstützen.

Für diesen Zweck gibt es Erweiterungen zum oben genannten FIDE-Standard. Die ergänzenden Satzarten starten alle mit "XX" gefolgt von einen dritten Kennbuchstaben

XXA <Accelerated rounds>

<Accelerated rounds> :== <playerid> <fictious points> [<fictious points> ...]

<fictious points> :== " 0.0" | " 0.5" | " 1.0" | ...


XXC <configuration>
<configuration> :== ["rank"] ["black1"|"white1"]

XXP <forbidden Pairs>
<forbidden Pairs> :== <list of pairing ids>
<list of pairing ids> :== <pairing id> <pairing id>

XXR <number of rounds>
<number of rounds> :== <integer>


XXS <Scoring Point System>
<Scoring Point System> :== <scoring rule> [<scoring rule> ...]
<scoring rule> :== <scoring id> "=" <score>
<scoring id> :== "WW" | "BW" | "WD" | "BD" | "WL" | "BL" | "ZPB" | "HPB" | "FPB" | "PAB" | "FW" | "FL" | "W" | "D"
<score> :== [<integer>] "." [<integer>]

XXZ <absent Players>


Im CLM-Projekt wird das TRF-Format darüber hinaus zum Austausch von Turnierdaten zwischen einzelnen CLM-Installationen verwendet. Die hierfür zusätzlichen Satzarten starten mit "XC" gefolgt von einen dritten Kennzeichen.

- Anzahl der beschleunigten Runden beim beschleunigten Verfahren

XCA <last accelerated round>
<last accelerated round> :== <integer>

Bsp.: Beschleunigtes Verfahren bis Runde 3

XCA 3


- Vereinsname eines Teilnehmers

XCC <Player Club Name>
<Player Club Name> :== <playerid> <club name>
<club name> :== <string>

Bsp.: Spieler Nr. 7 ist Mitglied im SF Lohmar

1234567890123456789012345678901234567890
XCC    7 SF Lohmar


- Daten einer Mannschaft

XCD <Team Data>
<Team Data> :== <teamid> <team ZPS> <team number within club>
<teamid> :== <interger4>
<clubZPS> :== <alnum5>
<team number within club> :== <integer4>

Bsp.: Team Nr. 2 ist 3. Mannschaft des Vereins Naumburger SV

XCD    2 G0222    3

XCD als Tabelle

Pos Description Contents/Format
1 - 3 CLM Identifier XCD
5 - 7 TeamID <teamid> :== <integer3>
9 - 13 Vereinscode der Mannschaft <club zps> :== <alnum>{5}
15 - 16 Mannschaftsnummer im Verein <member id> :== <integer2>
17 - 74 Reserve
76 - 100 Daten zu Durchgang 1 Runde 1
.76 - 77 Mannschaftsergebnis <merg> :== <integer2>
.79 - 79 kampflos <kampflos> :== <integer1>
.81 - 83 TeamID des Gegners <teamid> :== <integer3>
.85 - 86 Nummer der Paarung <paarid> :== <integer2>
.88 - 88 auswärts/heim <heim> :== <integer1>
.90 - 91 Mannschaftspunkte <mpoints> :== <integer2>
.93 - 97 Brettpunkte <bpoints> :== <dec3.1>
101 - 125 Daten zu Durchgang 1 Runde 2


- eMail eines Teilnehmers

XCE <Player Mail Address>
<Player Mail Address> :== <playerid> <mail address>
<mail address> :== <string>

Bsp.: Spieler Nr. 112 hat eMail maxmuster@provider.com hinterlegt

XCE 112 maxmuster@provider.com


- Feinwertungen (numerisch im CLM-Code)

XCF <Tie-Breaker Numbers>
<Tie-Breakers Numbers> :== <integer> <integer> <integer> Bsp.: Die Feinwertungen sind hier Buchholz und Sonneborn-Berger, die dritte Feinwertung ist nicht gesetzt XCF 1 3 0


- Anzahl der Gruppen bei beschleunigten Verfahren

XCG <number of groups>
<number of groups> :== <integer>

Bsp.: Beschleunigtes Verfahren mit 3 Gruppen

XCG 3


- Anschrift des Spiellokal

XCL <Event Location>
<Event Location> :== <string>

Bsp.: Gespielt wird in der Aula der Hort (Hinweis: der Aufbau der Anschrift entspricht den Vorgaben der Quellinstallation)

XCL Aula im Hort Kinderpark,Wiener Straße 18,06128 Halle (Saale)


- Turnier (numerisch im CLM-Code)

XCM <Tournament Mode> <Number of regular players> <Number of substitutes>
<Tournament Mode> :== <integer>

<Number of regular players> :== <integer> !only if team competitions! <Number of substitutes> :== <integer> !only if team competitions!

Bsp.1: Einzelturnier - Der Turniermodus ist hier Schweizer System

XCM  1 

Bsp.2: Teamwettbewerb - Liga, vollrundig, 2 Durchgänge mit je 7 Runden, an 8 Brettern (Stamm) und mit max. 12 Ersatzspielern je Mannschaft

1234567890123456789012345678901234567890
XCM  1  2  7   8  12 

XCM als Tabelle

Pos Description Contents/Format
1 - 3 CLM Identifier XCM
5 - 6 Turniertyp num nach CLM <turniertyp> :== <integer2>
8 - 9 Anzahl der Durchgänge <loops> :== <integer2>
11 - 12 Anzahl der Runden <rounds> :== <integer3>
14 - 16 Anzahl der Stammbretter, only for team competitions <stamm> :== <integer3>
18 - 20 Anzahl der Ersatzspieler, only for team competitions <ersatz> :== <integer3>


- CLM-Parameter des Turniers

XCP <Tournament Parameter>
<Single Tournament Parameter> :== <string>

Hinweis: XCP kann mehrfach sein; Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP-Angaben

Bsp.: Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP-Zeilen

XCP teamranking=0;
XCP optionTiebreakersFideCorrect=1;
...
XCP waiting_period=30;


- Wertzahlen (DWZ ELO TWZ) eines Teilnehmers

XCR <Player Ranking Numbers>
<Player Ranking Numbers> :== <integer4> <integer> <integer> <integer>

Bsp.: Spieler Nr. 14 hat DWZ 1914, Elo 1893 und seine TWZ ist 1914

XCR   14 1914 1893 1914


- Telefon-Nr. eines Teilnehmers

XCS <Player Phone Number>
<Player Phone Number> :== <playerid> <Phone Number>
<Phone Number> :== <string>

Bsp.: Spieler Nr. 66 hat die Telefon-Nr +49 31123456 hinterlegt

XCS  66 +49 31123456


- Rundenstartzeiten

XCT <Start Time of the Rounds>
Aufbau analog zu Standardsatzart 132 mit den Spieltagen (Datum)

Bsp.: Die Runden beginnen 16 Uhr bzw. 09:30 Uhr (5 Runden)

XCT   16:00:00  09:30:00  16:00:00  09:30:00  16:00:00


- Vereinsmitgliedschaft über ZPS-Vereinsnummer und Mitgliedsnummer im Verein

XCZ <Player ZPS>
<Player ZPS> :== <playerid> <club zps>-<member id>
<playerid> :== <integer4>
<club zps> :== <alnum>{5}
<member id> :== <integer>
<integer4> :== <space><space><space><digit> | <space><space><digit><digit> | <space><digit><digit><digit> | <digit><digit><digit><digit>

Bsp.: Spieler Nr. 7 ist Mitglied Nr. 187 im Verein 66211

12345678901234567890
XCZ    7 66211-187

neue Tabelle

Pos Description Contents/Format
1 - 3 CLM Identifier XCZ
5 - 8 SpielerID <playerid> :== <integer4>
10 - 14 Vereinscode des Spielers <club zps> :== <alnum>{5}
16 - 19 Mitgliedsnummer des Spielers im Verein <member id> :== <integer>
76 - 100 Daten zu Durchgang 1 Runde 1
.76 - 77 Paarung <paarid> :== <integer2>
.79 - 81 Brett <boardid> :== <integer3>
.83 - 83 auswäerts/heim <homeflag> :== <integer1>
.85 - 86 Ergebnis num nach CLM <homeflag> :== <integer2>
.88 - 88 kampflos <defaultflag> :== <integer1>
.90 - 93 Brettpunkte <homeflag> :== <dec2.1>
101 - 125 Daten zu Durchgang 1 Runde 2
126 - 150 Daten zu Durchgang 1 Runde 3