Home / Forum / Návrhy / Zpět ke skupinám, druhá část.

Zpět ke skupinám, druhá část.

Ahoj, znovu otevřel novou diskuzi na toto téma z dvou důvodů: předchozí se stávalo příliš dlouhým a při více stránkách fórum místo toho, aby tě umístilo na poslední stránku pro přidání zprávy, umisťuje na první stránku. Pak musíš ručně dojít na poslední stránku, abys mohl napsat novou zprávu. Navíc z nějakého důvodu se nyní pokaždé, když dosáhnu poslední stránky, znovu vyžaduje přihlášení pro psaní a po přihlášení mě vrací zpět na domovskou stránku! To bylo špatné, je čas začít nový vláknový diskuzní thread.

Chtěl jsem ti poskytnout nový seznam úvah, které se objevily z některých obtíží při registraci našeho posledního turnaje; když budeš mít čas, podívej se na ně a případně mohu rozvést důvody jednotlivých požadavků, pokud je to nutné:


- „Přidat nevyrovnaného hráče“ by měl umožnit registraci pouze podle příjmení, bez jména.

- „Přidat nevyrovnaného hráče“, když zadáš nějaké znaky a zobrazí se hráči splňující filtr, přidej do zobrazených informací rok narození (pole „B-Year“).

- Výchozí rating hráče, který není v FIDE seznamech, by měl být 1399.

- Když rozbalíš tým, povolit přidání hráče, který není v FIDE seznamech, pomocí příjmení a volitelně jména a Elo. Také umožnit přidání hráče ze seznamu nevyrovnaných. Měly by existovat 5 možností: z hráčů uživatele (jak je nyní), z FIDE (jak je nyní), podle FIDE ID (jak je nyní), ze seznamu nevyrovnaných a pouze s příjmením, jménem a Elo. „Přidat hráče“ ze seznamu nebo ze seznamu nevyrovnaných by měl umožnit filtraci při hledání. Je třeba zvážit, zda hráč přidaný na místě pomocí příjmení bude umístěn do seznamu hráčů uživatele – obecně bych řekl ano.

- Když vytvoříš „Nový tým z vybraných“, zaměření by mělo okamžitě jít na pole s názvem, aby se mohl ihned začít psát. Toto je zlatá pravidla, které by mělo být propagováno všude – nevyžaduj od operátora kliknutí myší do pole pro zahájení psaní.

- Někdy se stává, že FIDE nerozdělí pole příjmení a jména čárkou, takže pokud přidáš hráče z FIDE s těmito vlastnostmi, i když ho najdeš, neumožní pokračovat, protože chybí jméno. To samozřejmě není v pořádku. Může se to vyřešit „hádaním“, jaké je jméno a příjmení, ale nemusí být jednoduché. Podle mě je nejlepší (jak je uvedeno v prvním bodu) přijmout registraci pouze s příjmením.

- Nová zmínka o importu souboru pro registrace. Mluvili jsme o tom, ale podle mého by se měla umožnit hromadná registrace alespoň u nevyrovnaných hráčů. Takže přidání nevyrovnaných by mělo přijmout seznam hráčů z textového souboru nebo jen z políčka, kde lze vložit seznam. Formát je třeba rozhodnout, ale podle mého stačí formát „Příjmení,Jméno,Elo“, jeden na řádek. Nebo alternativně by měl řádek umožnit také FIDE ID (nemyslím si, že existují příjmení složená jen z čísel). Po dokončení hromadné registrace by měl vytvořit zprávu o počtu vložených řádků a kolik hráčů bylo skutečně registrováno, přičemž zvýrazní řádky, které nebylo možné zpracovat z jakéhokoli důvodu (např. neexistující FIDE ID nebo selhání parsování). Zůstává zvážit, zda příjmení obsažené v FIDE seznamech může být zachyceno samotným seznamem, ale to by mohlo být komplikované (homonymie, někdy s identickým příjmením a jménem, další nejasné situace). Je lepší to držet jednoduché – přidávat jen příjmení. Pokud chybí jméno, přijmout bez jména, a pokud chybí Elo, nastavit na 1399. Takže řádky „Paperino,,1756“ nebo „Paperino,Paolino“ nebo „Paperino“ jsou všechny platné.


Víš, můžeme zvažovat problém s dvojitým Bye a nemožností generovat kolo po odchodu celého týmu, který byl plně pochopen a vyřešen pro budoucnost? Ujišťuji tě, že to byla opravdu nepříjemná situace… když kromě turnaje jsou i ceny, lidé nejsou moc vstřícní! :)


Ahoj a děkuji jako vždy,

Claudio.

Zobrazit originál (IT)

ahoj @Claudio

díky, jak obvykle, za podrobnou zpětnou vazbu a za čas, který věnujete provozování ChessPairings na místě. Vaše hlášení po skutečném turnaji mají hodnotu více než tisíc testů.

Jdu bod po bodu, začínám vaším konečným dotazem, který je nejdůležitější.

O CHYBÁCH VAŠEHO TURNIJE (dvojitý bye a blokace po odhlášení týmu)

Řeknu vám pravdu: myslím, že ano, ale nemám 100 % záruku.

Tady je, co se stalo za scénou:

1) Dvojitý bye: opraveno ve verzi 4.7.2. Příčina byla v TRF, který jsme posílali motoru pro párování bbpPairings — označovali jsme bye jako „remíza s virtuálním“ místo „bye přidělené systémem“, a tak motor neměl způsob, jak zjistit, že tým už měl jeden bye. Nyní používáme správný marker (PAB) a bbp6 automaticky dodržuje pravidlo FIDE „no double bye“.

2) Generování kola zablokováno po odhlášení týmu: opraveno ve verzi 4.7.6. Když se tým v polovině turnaje odhlásil, generovaný TRF obsahoval odkazy na tento tým (protože ostatní týmy ho potkaly), ale ne jeho hlavičkový řádek, takže bbp6 selhal s chybou „Invalid line“. Nyní jsou odhlášení týmy zahrnuty do TRF se značkou XXZ, která je vylučuje z párování, ale zachovává konzistenci historie.

3) Stress simulator (v4.7.7): přidali jsme automatický test, který spouští 12 kompletních scénářů (včetně odhlášení týmu a dvojitého bye) před každou novou verzí. Pokud se některá z těchto chyb vrátí, zjistíme to před nasazením místo během vašeho turnaje.

Klidnou potvrzení však můžeme dát jen po tom, co nějaký váš reálný turnaj projde bez problémů v těchto situacích.

I když jsou testy přesné, realita je vždy kreativnější.

Je mi velmi líto špatného zážitku, chápu, že s cenami na střeše není prostor pro toleranci.


═══════════════════════════════════════════════════════════

NA VAŠE 7 ŽÁDOSTÍ — dostupné ve verzi 4.8.0 (release dnes)

═══════════════════════════════════════════════════════════


Implementováno 3 z 7 požadavků. Zde je detail:


═══ PŘIJATÉ ═══


✓ B-Year v výsledcích „Přidat nevyrovnaného hráče“ Nyní FIDE vyhledávání zobrazuje také rok narození, jak v panelu nevyrovnaných, tak při hledání v týmech. Velmi pomáhá v případech homonymie.

✓ „Přidat hráče“ v rozšíření týmu — 5 režimů. Úplně jsem přepsal tuto sekci. Nyní najdete horizontální pill selector se pěti možnostmi:

1) Z mého seznamu (s živým filtrem)

2) Vyhledat FIDE (s B-Year ve výsledcích)

3) FIDE ID (textarea bulk, jako dříve)

4) Nevyrovnaní — výběr z listu nevyrovnaných hráčů tohoto turnaje, s filtrem

5) Ručně — Příjmení + Jméno + Elo volitelné, s checkboxem „přidat také do mého seznamu hráčů“ aktivním výchozí.

Každá změna režimu automaticky nastaví fokus na první pole (váš „zlatý zákon“). Už není nutné klikat pro začátek psaní.

Přidaný hráč v režimu „Ručně“ skončí ve vašem seznamu (pokud je checkbox aktivní). Pokud již existuje hráč se stejným příjmením+jménem, použije se stávající místo vytváření duplicity.

✓ Bulk import nevyrovnaných

V panelu nevyrovnaných je nový tlačítko „Importovat seznam“. Otevře textarea, kde můžete vložit hráče po řádku ve formátu:

Příjmení,Jméno[,Elo|FIDE_ID]


Platné příklady:

Rossi,Mario,1750 → Elo 1750
Verdi,Giovanni,12345678 → vyhledat FIDE (ID 8 nebo více číslic)
Bianchi,M → Elo 0, jméno jen první písmeno
Neri,Anna → Elo 0


Pravidlo: třetí pole, pokud je číselné mezi 0 a 3500, se čte jako Elo, pokud >3500 jako FIDE ID (a v tom případě se příjmení/jméno/rating berou z archivu FIDE, ignoruje se to, co bylo zadáno).

Po dokončení se zobrazí zpráva: přečtené řádky, registrovaní hráči, odmítnuté řádky s důvodem pro každý.

Preferoval jsem mít to pouze jako paste, žádný upload souboru, z bezpečnostních důvodů.


═══ NEPŘIJATÉ ═══


✗ Registrace nevyrovnaného jen s Příjmením (bez Jména)

Preferuji požadovat alespoň iniciálu jména. Pouze příjmení riskuje, že data budou příliš rozptýlená a nejednoznačná (zejména při homonymii). Validace přijme „Rossi M.“ nebo

„Rossi Mario“, ale ne „Rossi“ samostatně.

Z toho důvodu nepřidávám opravu pro FIDE hráče bez čárky mezi příjmením a jménem — jsou to sporadické případy a pokus o „uhádnutí“ oddělení by přinesl více chyb než oprav.

V těchto případech vám doporučuji hráče přidat ručně s Příjmení + iniciála.

✗ Výchozí Elo 1399 pro hráče bez ratingu

Hodnota 1399 je specifická pro Italskou federaci, zatímco ChessPairings je vícejazyčný a používá se i mimo Itálii. Výchozí je 0. Pokud je pro vaše turnaje důležitý 1399, můžete

samozřejmě zadat ručně (ani v bulk).

✗ Upload souboru pro import nevyrovnaných

Pouze paste do textarea, z bezpečnostních důvodů aplikace.


Když vyzkoušíte novinky, dejte mi vědět, jak to jde — zejména pokud narazíte na nepohodlný workflow nebo něco k vylepšení.

Ah, a na fóru: beru si poznámku o problému s poslední stránkou, která po přihlášení vrací domů. Podívám se na to zvlášť.

Dobrých turnajů!

Stefano


Upraveno 05/05/2026 08:16

Ahoj, psal jsem ti obvyklou nudnou analýzu, s statistikami o FIDE tabulkách, ale když jsem stiskl „Publikovat odpověď“, řekl mi, že se musím přihlásit a ztratil jsem vše! Z nějakého důvodu fórum někdy ztratí přístup a požaduje opětovné přihlášení. Jsem demoralizovaný, protože jsem všechno ztratil (psal jsem hodně) a nepřesvědčil se o mém pravidlu vždy kopírovat obsah příspěvku před pokusem o publikaci :( Trpělivost, když znovu získám důvěru ve svět, zkusím to znovu.


Ahoj,

Claudio.

Ahoj @Claudio

V těchto dnech je dalších pět týmových turnajů a nedostal jsem žádná upozornění (ale pět je málo a nemusí nutně znamenat, že nebyla žádná)

Ahoj @stefanoloberti,

my se znovu podíváme na to, nyní budeme mít tři týmové turnaje (tentokrát s týmy po třech hráčích), které budou součástí kombinace. V současné době nevidím možnost spravovat dokonce i kombinace, s celkovými žebříčky různých výsledků v jednotlivých turnajích, o tom možná budeme mluvit později. Prozatím je zpracujeme jako tři samostatné turnaje; ale uvidíš, že už v tomto případě by bylo užitečné mít možnost duplikovat turnaj, nebo alespoň exportovat přihlášené hráče, kteří kromě výjimek budou stejní pro všechny tři turnaje... jinak budeme muset ručně vytvořit každý jednotlivý turnaj a znovu přihlásit všechny hráče z prvního. To bude také aspekt, který budeme řešit později.


Jak obvykle, mám před tebou několik předběžných poznámek a žádostí o upřesnění, děkuji jako vždy.


- V nastavení turnaje, jakmile se otevře registrace, není možné ani zobrazit, ani upravit pravidla pro rozpis. Pokud si nepamatuji špatně, měl jsi tuto možnost na konci turnaje, ale myslím, že by měla být možná kdykoli, zejména před zahájením turnaje.

- Chyba: v „Seznamu hráčů“ (ty z tvého klubu pro účely), pokud je vybereme všechny a pak se pokusíme je smazat, správně říká, že by je chtěl smazat (uvádí celkový počet), ale pak smaže jen jednoho!

- Jak lze nahrát oznámení o turnaji, aby si ho mohl někdo prohlédnout před registrací?

- Možná to nevidím já, ale jak může uživatel bez administrátorských práv vidět seznam přihlášených? Měl by existovat veřejný odkaz na turnaj, kde lze zobrazit jeho vlastnosti, vidět přihlášené, stáhnout/zkontrolovat oznámení a mít možnost se zaregistrovat pomocí odkazu. Je to něco, co nevidím, nebo nebylo naplánováno?


Ahoj,

Claudio.

Čau @LTB dnes budu na cestě do Basileje kvůli Bundesturnieru.


V vlaku se podívám detailně na požadavky, i když si myslím, že před zavedením nových funkcí by měl být proveden stresový test, aby se zjistilo, zda produkční verze generuje chyby a výjimky, a tím se zabrání organizátorům s horkou bramborou něčeho poškozeného.


Malá poznámka k oznámení: tento soubor nelze nahrát (jako jakýkoli jiný soubor), ale existuje pole poznámek, kde můžete uvést informace a výstup je stránka jako tato: https://my.chesspairings.org/pubblico/torneo.php?id=1381&token=10705c963d87ab2fac5f0dd8e104769b35dc66197c083d3606ec16cfe6561c56&tab=bando

Upraveno 13/05/2026 07:32

Ahoj Stefano,

Pravý problém je tenhle: jak publikum může zobrazit tyto informace během registrační fáze? Pokud se přejde na veřejný odkaz pro otevřené registrace, vidí jen tlačítko Standings, krátký text „Standings not available yet“ a nic dalšího (např. https://my.chesspairings.org/pubblico/torneo_squadre.php?id=208&token=5f5b5aa47b850102f0424a8bad91d113bad9d40eff9fc4c3fb31bd8177241113)... karta „Regulation/Bando“ tam není. Řešení se zdá být „jednoduché“, je potřeba povolit karty „Participants“ a „Regulations“ i v registrační fázi, jinak, opakuji, jak hráči uvidí tyto informace? Je to tak velký problém, že mám opravdu podezření, že jsem něco ztratil :)


Hodně štěstí v Bílém!


Ahoj,

Claudio.

Ahoj @LTB skutečně v sekci týmového turnaje to není implementováno. Přidám to hned

Ahoj @LTB


Přistupuji k bodům, začínám nejlepším zprávou: všechna čtyři hlášení, která jsi vznesl, byla potvrzena v kódu a vyřešena ve verzi 4.8.9 (online od dneška).


═══════════════════════════════════════════════════════════

TVOJCH 4 HLÁŠENÍ — vyřešených ve verzi 4.8.9

═══════════════════════════════════════════════════════════


✓ Neviditelné/nenastavitelné postupy během registrací


Potvrzeno: karta „Nastavit postupy“ byla ukryta v záložce Seřazení, která je však skrytá, dokud není turnaj ve fázi registrací (neexistuje ještě seřazení k zobrazení). Výsledek: nebyl vůbec žádný způsob, jak to dostat.


Přesunul jsem ji do záložky Nastavení, na konec. Nyní je vždy přístupná a upravitelná v libovolném stavu turnaje – registrace, probíhá, ukončen. Stejný drag&drop jako dříve, stejné přednastavené hodnoty.


✓ Chyba „smazat všechny hráče klubu“, která smazala jen 1


Skutečná chyba a docela absurdní po pochopení: stránka měla dva vnořené HTML formuláře (jeden pro hromadné mazání, jeden uvnitř každého řádku tabulky pro jednotlivé mazání). Prohlížeče automaticky uzavřou vnější formulář při setkání s vnitřním – takže do POST skutečně vstoupila jen první zaškrtávací políčka. Zpráva „chcete smazat N“ byla správná, protože se počítalo na straně JavaScriptu, ale server dostal 1. Opraveno.


✓ Načtení oznámení o turnaji


Technicky už bylo pole (textarea „Poznámky“ v nastaveních), ale s tímto obecným názvem nikdo nemohl odhadnout, že jde o veřejné oznámení. Přejmenoval jsem pole na „Oznámení / Poznámky turnaje“, přidal výstižný placeholder (datum, místo, ceny, pravidla, kontakty…) a podřádku vysvětlující: „Bude zobrazeno jako záložka Oznámení na veřejné stránce turnaje.“.


✓ Veřejná stránka během registrací – největší změna


Měl jsi pravdu naprosto: veřejná stránka týmového turnaje před registracemi zobrazovala jen záložku Seřazení s textem „Seřazení není ještě k dispozici“ a nic dalšího. Žádné zaregistrované týmy, žádné oznámení, žádný odkaz na registraci. Neztratil jsi nic – to bylo tak.


Nyní veřejná stránka týmového turnaje obsahuje:


- Záložku „Týmy“ (vždy viditelná, s počítadlem) → seznam zaregistrovaných týmů, každý lze rozbalit pro zobrazení sestavy hráčů po jednotlivcích (titul, příjmení+jménko, hodnocení, FIDE ID, případné náhradníci na konci). Během registrací je tato záložka výchozí.


- Záložku „Oznámení“ → viditelná, když jsi vyplnil poznámky turnaje.


- Vynikající zelený CTA „Zaregistruj svůj tým“ v záhlaví, když jsou online registrace otevřené. S počítadlem „N / max počet zaregistrovaných týmů“, pokud jsi nastavil limit.


- Záložky „Seřazení“ / „Rozpisy“ → zobrazí se, když turnaj začne (kolo > 0).


- Jasný stavový badge v záhlaví: zelený „Registrace“, živý LIVE při průběhu turnaje, šedý „Ukončeno“ na konci.



═══════════════════════════════════════════════════════════

DUPLICACE TÝMOVÉHO TURNÁJE═══════════════════════════════════════════════════════════


Řekl jsi „tohle budeme řešit později“, ale protože duplicace byla již v jednotlivých turnajích, opakování stejného vzoru u týmových turnajů bylo jen ranní práce. Takže je to uvnitř.


Jak to funguje:


V seznamu tvých týmových turnajů se objeví nová ikona (list s překrytím, modrá) na pravé straně každého turnaje. Klikni → modal s předvyplněným názvem „X (kopia)” → potvrzení → přesměruje tě přímo na nový turnaj.


Co se kopíruje:

• Kompletní nastavení (typ, kola, šachovnice, tempo, počáteční barva, motor atd.)

• Nastavení postupů (takže je nemusíš znovu nastavovat)

• Všechny aktivní týmy (název, zkratka, kapitán, email kapitána, pořadové číslo pro seeding, průměrné hodnocení)

• Celá sestava hráčů každého týmu, s pořadím šachovnic a flagem hlavní/rezervní


Co NIKOLI NEKOPÍRUJE (v úmyslu):

• Výsledky, rozpisy, sestavy kol – nový turnaj začíná „čistý“.

• Odpovězené týmy

• Jednotliví registrovaní hráči stále čekající na přiřazení

• Veřejné tokeny a krátký kód → generují se znovu, takže odkazy kopie jsou jiné než originálu.


Nový turnaj vznikne ve stavu „registrace“, kolo 0, dnešní datum. Od té doby ho upravuješ normálně (konkrétní název, data, případné drobné rozdíly v sestavách).


Pro tvou kombinaci tří turnajů: vytvoříš první jako obvykle, zduplikuješ dvakrát a za 30 sekund máš tři připravené turnaje se stejnými hráči. Odhadovaná úspora: půl hodiny na každý turnaj, který bys musel přepsat ručně.



Jak obvykle, když vyzkoušíš novinky, dej mi vědět jak to jde – i jen „ok funguje“ je cenné, protože potvrzuje, že oprava drží v praxi a ne jen ve mých testech. Já jsem zkoušel tento tok (ne jiné z týmových turnajů) a nenašel chyby.


Šťastný turnaj (kturnaje, opravdu!),


Stefano

Ahoj @LTB


Přistupuji k bodům, začínám nejlepším zprávou: všechna čtyři hlášení, která jsi vznesl, byla potvrzena v kódu a jsou vyřešena ve verzi 4.8.9 (online od dneška).


═══════════════════════════════════════════════════════════

TVOJCH ČTYŘ HLÁŠENÍ — vyřešených ve v4.8.9

═══════════════════════════════════════════════════════════


✓ Neviditelné/needitovatelné přebíhající zápasy během registrací


Potvrzeno: karta „Nastavit přebíhající zápasy“ byla zaprášena uvnitř záložky Tabulky, která je však skrytá, dokud turnaj není v fázi registrace (tabulka ještě neexistuje). Výsledek: nebyl vůbec žádný způsob, jak se k ní dostat.


Přesunula jsem ji do záložky Nastavení, dole. Nyní je vždy přístupná a editovatelná ve všech stavech turnaje — registrace, probíhá, ukončen. Stejný drag&drop jako dříve, stejné přednastavené hodnoty.


✓ Chyba „odstranit všechny hráče klubu“, která odstranila jen 1


Skutečná chyba a docela absurdní po pochopení: stránka měla dva vnořené HTML formuláře (jeden pro masivní mazání, jeden uvnitř každého řádku tabulky pro jednorázové mazání). Prohlížeče automaticky uzavírají vnější formulář při setkání s vnitřním — takže jen první checkbox skutečně skončil ve POST. Zpráva „chcete odstranit N“ byla správná, protože se počítalo na straně JavaScriptu, ale server obdržel pouze 1. Opravena.


✓ Načtení oznámení turnaje


Technicky pole už existovalo (textarea „Poznámky“ v nastaveních), ale s tímto obecným názvem nikdo nemohl odhadnout, že jde o veřejné oznámení. Přejmenovala jsem pole na „Oznámení / Poznámky turnaje“, s vysvětlujícím placeholderem (datum, místo, ceny, pravidla, kontakty…) a řádkem níže, který upřesňuje: „Bude zobrazeno jako tabulka Oznámení na veřejné stránce turnaje.“.


✓ Veřejný pohled během registrací — největší problém


Měl jsi pravdu v celém směru: veřejná stránka týmového turnaje před registracemi zobrazovala pouze záložku Tabulky s textem „Tabulka není k dispozici“ a nic dalšího. Žádné zaregistrované týmy, žádné oznámení, žádný odkaz na registraci.


✓ Záložka „Přebíhající zápasy“ – neviditelné/modifikovatelné


Potvrzeno: karta „Nastavit přebíhající zápasy“ byla zaprášena uvnitř záložky Tabulky, která je však skrytá, dokud turnaj není v fázi registrace. Výsledek: nebyl vůbec žádný způsob, jak se k ní dostat.

...

Ahoj @LTB


Přistupuji k bodům, začínám nejlepším zprávou: všechna čtyři hlášení, která jsi vznesl, byla potvrzena v kódu a jsou vyřešena ve verzi 4.8.9 (online od dneška).


Skvělé, vše mi připadá dobře nastavené, děkuji! Jsem znepokojen tím, že se nebudou kopírovat nepárová hráči při duplikaci turnaje, ale mohlo by to být v pořádku… Já bych je také duplicitně vytvořil, mohlo by to být pohodlné pro duplikaci turnaje (vytvořit jeho snapshot) před sestavením týmů.

Napokon by bylo výhodné, kdyby případný odkaz ve sekci Poznámky/Regulace/Oznámení byl klikací, takže pokud se vloží odkaz na vlastní oznámení (nebo cokoli jiného) uživatel může k němu přistoupit kliknutím. Momentálně je vše v prostém textu.


Ahoj,

Claudio.

Ahoj @LTB běžný text (bez HTML) je bezpečnější pro vyhnutí se vkládání škodlivých odkazů, které mohou způsobit upozornění na doméně.


Existuje téměř tisíc uživatelů a každý den se generují 1000 párování, bezpečnost je velmi důležitá.

@LTB vyřešil jsem chybu odhlášení na fóru

Skvělé! Ale cesta k úspěchu je pokrytá obtížemi a nespokojenými uživateli! Zde je další dávka poznámek, získaných během testování, aby se předešlo nutnosti ručně vytvářet kola při příštích turnajích :) Mezi poznámkami jsou některé estetické a jiné diskutabilní, nejdůležitější je ta týkající se možnosti upravovat nastavení turnaje kdykoli:


Registrace:

- Veřejná stránka turnaje by měla umožnit rozbalit všechny týmy nebo je sbalit, stejně jako jste udělali na stránce administrátora.


Kola:

- Zobrazení kol je „špatné“, bylo by vhodné se snažit vyrovnat pole. Rozšířený zobrazení je v pořádku, ale kompaktní zobrazení má všechny výsledky nesprávně zarovnané. I tisk kola by měl mít sloupec „VÝSLEDEK“ vystředěný na stránce. Stejně tak je veřejná stránka párování celá nesprávně zarovnaná.

- Podle mě, když se spustí „Spustit turnaj“, měl by automaticky vytvořit první kolo; považuji tlačítko „Vygenerovat kolo“ za nadbytečné. Pokud je námitka, že takto lze provést ruční kolo, tato možnost je stále přítomna po vygenerování kola, není potřeba uživatele požádat o generování kola.

- Správa sestav by měla být doladěna… je velmi účinná při registraci (stačí přetáhnout hráče myší), ale během turnaje není jasná. Uděláme praktický případ: udělám chybu a spustím turnaj se špatnou sestavou. Vytvořím první kolo, a když zadávám výsledky si uvědomím, že jedna sestava je nesprávná, ale naštěstí je tlačítko „Spravovat sestavu“ :) Pak ji změním (a už zde je změna méně účinná, nutí mě dočasně umístit prázdnou šachovnici a hrát hru tří karet pro opravu finální sestavy). Potvrzuji sestavu a vše jde dobře. Zadám své výsledky (tady také není jasný význam „Uložit výsledky“, vypadá nadbytečně jako tlačítko...). Vytvořím nové kolo, a znovu mi nabídne počáteční sestavu. Může to být i tak, ale jak mohu trvale změnit sestavu až do konce turnaje? Pak přejdu na „Sestavy“, kde mohu změnit sestavu (s dalším odlišným systémem, který vám umožní nastavit dva krát stejného hráče, ale pak neumožňuje úspěšně uložit sestavu; je třeba sjednotit metodu změny sestavy). Vrátím se k „Párování“, ale tam není žádná změna a musel bych ji znovu změnit (protože pokud smažu a znovu vytvořím kolo, změna provedená v „Sestavách“ je ztracena. Ještě horší: po návratu do prvního kola změním sestavu pro kolo 1, vygeneruji kolo 2 a znovu mi nabídne počáteční sestavu, kterou už nikde nevidím! V zásadě podle mě by bylo vhodné mít možnost dočasně změnit sestavu při zadávání výsledků (sjednotit způsob změny), a to je dobré, ale měla by umožňovat trvalou úpravu sestavy pro nadcházející kola. Pamatuji si, že během posledního turnaje se stalo právě toto: jeden tým byl zadaný s nesprávnou sestavou a při každém kole muselo být ručně připomenuto upravit sestavu před zadáním výsledků.

- Už jsme to viděli u individuálních turnajů, ale v týmových nemám možnost upravovat turnaj během kol (např. počet kol nebo metody vyrovnání). To je zvláště závažné, protože když spustíte turnaj s nadměrným počtem kol vzhledem k hráčům, nevyjde z něj: i když to necháte dělat, přijdete na bod, kdy jste zablokováni zprávou „Pairing engine error: Error while pairing /tmp/....trf. No valid pairings exists... etc.“ Zpráva o chybě párovacího enginu během turnaje *neměla* nastat, měla by být předcházená! A v tomto případě nemáte ani možnost se z toho dostat! Nastavení turnaje musí být vždy přístupná od začátku do konce.


Konec turnaje:

- Konečná tabulka zahrnuje jak týmovou, tak šachovnici, ale Export (PDF, CSV atd.) obsahuje pouze týmovou tabulku a není tam tabulka pro šachovnici. Nebo ji přidejte za týmovou tabulku, nebo potřebujete samostatné tlačítko pro její export. Navíc tabulka pro šachovnici nepoužívá žádný tie-break; měly by být také zde předpřipraveny.


Ahoj,

Claudio.

ahoj @LTB

obvyklá pevná sada zpětné vazby, vždy s výhodou přicházející z turnajové místnosti a ne z laboratorního testu — díky.

Verze 5.4.0 je online od dneška a obsahuje pět ze šesti bodů, které jsi vyzdvihl. Šestý (spuštění, které také generuje první kolo) jsem nechal mimo výběr záměrem.


Jdu po bodech podle struktury odpovědi.

═══════════════════════════════════════════════════════════

ZAPISY — rozbalit/sbaliť veřejnou stránku

═══════════════════════════════════════════════════════════

✓ Hotovo.

Na veřejné stránce týmového turnaje, nad seznamem týmů, nyní existují dva tlačítka „Rozbalit vše“ / „Sbaliť vše“, identická s těmi z administrace. Jednotlivé trojúhelníky na

každého týmu stále fungují nezávisle, takže můžeš otevřít jen ty týmy, které tě zajímají, nebo je všechny najednou rozbalit, jak si přejete.

═══════════════════════════════════════════════════════════

KOLY — zarovnání

═══════════════════════════════════════════════════════════

✓ Hotovo ve všech třech oblastech, které jsi zmínil.

  1. Přehled kompaktního párování (admin) – problém byl v tom, že řádek hlavičky karty se choval jako volný „flex“ prostor: pokud bylo jméno týmu delší než jiné, skóre napravo posunulo o několik pixelů. Převěřil jsem to na mřížku s pevnou sloupcovou šířkou pro skóre a tabulární čísla (takže „1.5 - 0.5“ a „2 - 0“ zabírají stejnou šířku). Nyní jsou výsledky sloupce i při vertikálním posouvání.
  2. Tisk kola – sloupec VÝSLEDOK měl šířku 55 px, příliš málo pro „½-½“. Zvětšil jsem na 78 px, table-layout pevný, vertical-align middle. Řádek nyní dýchá a je symetrický vůči stránce.
  3. Veřejná stránka párování – mřížka byla rigidní a při dlouhých jménech ztrácela zarovnání. Přepsal jsem ji s pojmenovanými sloupci a minmax(0, 1fr) na jména, tabular-nums pro rating a výsledek.


Počasí práce narazil i na chybu, kterou jsi nehlásil, ale která se projevovala: v TXT exportu žebříčku týmů byla řádka „LTBagna Càuda“ posunuta o jeden znak oproti ostatním. Příčina: „à“ je 2 bajty UTF‑8 a PHP počítalo bajty místo znaků při vyplňování sloupce. Nahradil jsem sprintf s mb_str_pad. Řádka je nyní zarovnaná.

═══════════════════════════════════════════════════════════

KOLY — správa sestav

═══════════════════════════════════════════════════════════

✓ Hotovo hlavní věc. Nejednotil jsem tři UI do jednoho komponentu (bylo by příliš invazivní nyní), ale vyřešil jsem funkční problém, který popisuješ.

Případ, o kterém jsi říkal — „tým startuje se špatnou sestavou, každý tah musím manuálně upravit“ — je nyní řešen takto:

  1. V každém z tří bodů, kde dnes můžeš změnit sestavu (drag&drop při registraci, tab Sestavy, „Spravovat sestavu“ během kola), je pod sestavou zaškrtávací políčko: „☐ Aplikuj také jako výchozí sestavu pro následující kola“. Pokud ho necháš prázdný, změna platí jen pro toto kolo (aktuální chování, užitečné při „dnes mám X na lavičce kvůli horečce“). Pokud zaškrtnete, změna se stane NOVOU výchozí sestavou: tým je přeuspořádán (scacchiera_default aktualizován) a všechny budoucí kola začnou od té nové sestavy místo původního pořadí.
  2. Server‑side anti‑duplicate validace všude. Dříve ti tab „Sestavy“ umožňoval umístit stejného hráče na dvě desky a pak selhání při uložení bylo nejasné. Nyní v každém z tří toků (impostaFormazione, aggiornaFormazioneDefault, rigeneraPartiteMatch) se odmítá s jasnou zprávou: „Stejného hráče je přiděleno na dvě desky (1 a 2). Oprav sestavu před uložením.“


V podstatě: během turnaje, pokud v kolo 2 zjistíš, že sestava týmu byla špatná, zaškrtáváš jednou a od kol 3‑4‑5 se použije ta správná. Už žádné „každý tah“.

...

ciao @LTB

solita baterie di feedback solida, sempre con il vantaggio di venire dalla sala torneo e non da un test in laboratorio — grazie.

La v5.4.0 è online da oggi e contiene cinque dei sei punti che hai sollevato. Il sesto (l'avvio che genera anche il turno 1) l'ho lasciato fuori per scelta.


  1. Všechny body jsou rozšířeny podle struktury odpovědi.

Ahoj Stefano,

Wow! Tak mnoho věcí na adresu v tak krátkém čase... gratuluji!

Ještě je pár grafických nedostatků, ale ty vyřešíme, jakmile budou důležité záležitosti vyřešeny! :)


Malá zjevná zapomenutí: stále dostávám Pair Engine Error, když změním počet kol v probíhajícím turnaji… přijímá přehnaný číslo a pak, když už nedokáže generovat kolo, se objeví zpráva. Ale dovoluje mi vytvořit ruční kolo bez varování (a to je v pořádku, nechme to tak, pokud to nezpůsobí další žaludeční potíže).


Podle mě bys měl mít možnost znovu otevřít ukončený turnaj, momentálně se zdá, že to není možné. Dej mi praktický případ: vložím poslední kolo, ukončím turnaj a zveřejním tabulku; objeví se někdo, kdo říká, že jeho výsledek z posledního kola je chybný! Co mám dělat?


Uvědomil jsem si také, že mohu stáhnout tým, ale nejsem schopen přidat tým do již zahájeného turnaje; pokud přijde pozdníci, kterého chci vstoupit od druhého kola, co dělám?


V ostatním je vše v pořádku! Nyní, abychom spravovali naši kombinaci, vytvořil jsem malou webovou aplikaci, kde mohu zadat exportované tabulky „TXT (Report)” (které jsou užitečné jako zlato), analyzuji je a dělám kombinovanou tabulku různých turnajů, vážím výsledky podle počtu kol jednotlivého turnaje. Pokud máš zájem to vidět, momentálně jsem ho umístil na své webové místo, mohu ti poslat soukromý odkaz. Momentálně vypočítává jen tabulky týmů, ale nyní, když jsi mi přidal tabulky šachovnice v exportu, přidám i ty (doufám, že mi brzy nezměníš rozvržení...). Možná jednoho dne dokážeš také implementovat koncept kombinace.


Děkuji ještě jednou a ahoj.

Claudio.

Ahoj @LTB


díky za odpověď a za to, že jsi se vrátil k otevřeným bodům s typickou přesností. Pojďme na tři témata, která jsi zmínil, plus poznámku na patičce o kombinaci.


═══════════════════════════════════════════════════════════

ERROR ENGINEU PARINGU — skutečně uzavřeno, tentokrát (doufám)

═══════════════════════════════════════════════════════════


✓ Hotovo. Měl jsi pravdu: i po opravě v5.4.0 to stále bral. Provedl jsem autopsii a našel dvě chyby, které se dostaly dovnitř:


(1) Ukládání nastavení přijímalo libovolné `num_turni` v rozsahu 1–30 bez kontroly maximálního teoretického Swiss pro aktivní týmy. Takže když zadáš „20 kol“ s 6 týmy, ukládání proběhne hladce a dostaneš se do dead-endu, když motor dosáhne limitu.


(2) Náhradní kód, který zachytává technickou chybu a přetváří ji do uživatelsky přívětivé zprávy, odpovídal pouze řetězci „no valid pairings“. Pokud bbp6 vrací „Pairing engine error“ doslova (nebo „Cannot pair“, nebo jiné interní formulace), kryptická zpráva zůstane nedotčena.


Co je zajímavé na tvém pozorování, je věta „ale nechte mě vytvořit manuální kolo bez varování a to je v pořádku, nechme to“. Vzal jsem ji jako explicitní specifikaci: bod NEJDE zabránit ti uložit vysoké `num_turni` — to by ti odřízlo možnost manuálního párování. Cílem je nedovolit ti skončit před kryptickou chybou.


Proto jsem opravu strukturoval do tří úrovní:


• Ukládání nastavení: pokud zadáš `num_turni > max_teorico` při probíhajícím turnaji, ukládání projde, ale zobrazí se žluté varování: „Pozor: s 6 aktivními týmy automatické párování pokryje maximálně 5 kol. Přebytečná kola budou generována manuálně.“ Vidíš to a víš, co očekávat.


• Automatické párování (Generovat kolo): blokuje se s zprávou, která explicitně ukazuje cestu ven – „Automatické párování vyčerpáno pro 6 aktivních týmů (maximální teoretický limit 5 kol). Použij ‚Manuální párování‘ pro generování dalších kol, nebo sníž `num_turni` na 5 a ukonči turnaj.“ Už žádné dead-endy bez operačních instrukcí.


• Manuální párování: žádná blokace, nikdy. Přesně tak, jak jsi požadoval.


Kromě toho jsem rozšířil zachytávání chyby motoru tak, aby také zachytil „Pairing engine error“ doslova a jakoukoli jinou technickou generickou formulaci. Pokud bbp6 selže z jiných důvodů (například neřešitelné barvy na kolo 3 s maximálním teoretickým limitem 5), místo přenosu surového řetězce zobrazí: „Motor párování nedokázal vygenerovat kolo (...). Možné příčiny: příliš mnoho kol pro aktivní týmy, neřešitelné barvy. Můžeš použít ‚Manuální párování‘ nebo snížit `num_turni` a ukončit.“


Jedním slovem: „Pairing engine error“ a podobně by nikdy neměly dosáhnout rozhodčího v místnosti. Nikdy znovu, tentokrát.


═══════════════════════════════════════════════════════════

Otevřít ukončený turnaj — hotovo

═══════════════════════════════════════════════════════════


✓ Hotovo. Tvůj praktický případ je dokonalá specifikace: rozhodčí uzavře turnaj, zveřejní tabulku, vynechá výsledek posledního kola špatně. Nyní existuje legitimní cesta.


V ukončeném týmovém turnaji, vedle finálního kroku turnaje najdeš žluté tlačítko „Otevřít turnaj“ s explicitním potvrzením. Kliknutím na něj:

• Stav turnaje se vrátí na „probíhá“

• Finální tabulka týmů bude vymazána (bude přepočtena při příštím „Ukončit“)

Ahoj @LTB


díky za odpověď a za návrat k otevřeným bodům s typickou přesností. Pojďme na tři témata, která jsi zmínil, plus poznámka v patičce o kombinaci.


═══════════════════════════════════════════════════════════

CHYBA PAIRING ENGINE — opravdu uzavřeno, tentokrát (snad)

═══════════════════════════════════════════════════════════


✓ Hotovo. Měl jsi pravdu: i po opravě v5.4.0 stále se to stávalo. Provedl jsem autopsii a našel dvě propasti, které se proplétaly:


(1) Ukládání nastavení přijímalo libovolné `num_turni` v rozsahu 1-30 bez kontroly maximálního teoretického limitu Swiss pro aktivní týmy. Takže když zadáš „20 kol“ s 6 týmy, ukládání proběhne hladce a poté se dostaneš do dead-endu, až motor dosáhne hranice.


(2) Fallback zachycující technickou chybu pro přetvoření na uživatelsky přívětivou zprávu odpovídal pouze řetězci „no valid pairings“. Pokud bbp6 vrací „Pairing engine error“ přesně, nebo „Cannot pair“, nebo jiné interní formulace, zpráva zůstane nepochopená.


Co zajímavé na tvém pozorování je věta „ale mi umožní generovat manuální kolo bez varování a to je v pořádku, nechme to“. Přijal jsem to jako explicitní specifikaci: hlavním cílem není zabránit ukládání vysokých `num_turni` — to by odříklo ventilaci pro manuální pairing. Cílem je vyhnout se kryptické chybě.


Proto jsem fix strukturoval do tří úrovní:


• Ukládání nastavení: pokud zadáš `num_turni > max_teorico` při probíhajícím turnaji, ukládání projde, ale zobrazí se žluté varování: „Pozor: s 6 aktivními týmy pairing automatický pokryje maximálně 5 kol. Přebytečné kolo bude nutné generovat ručně.“ Víte a víte, co očekávat.


Upraveno 17/05/2026 10:43

Ahoj Stefano,

zkusil jsem změny. Možnost znovu otevřít turnaj funguje a ujistím tě, že je to nezbytná záložní možnost!

- Pair Engine Error: potvrzuji, že zprávy se nyní zdají být zachyceny a znovu zabaleny… možná by se dalo říct, že čas, kdy se objeví dlouhá a komplikovaná zpráva, je tak krátký, že ji obtížně přečtete. Taková zpráva (která pravděpodobně vyvolává paniku) by měla požadovat potvrzení k pokračování. Ale existuje blokující podivnost: s turnajem 6 týmů po třech hráčích každý, i když program přijímá počet kol vyšší než 5, nevidí se žádný způsob, jak jít dál než do třetího kola (místo pátého, jak by logika naznačila). Můžeš zkontrolovat, jestli je to opravdu bbp6, který dělá křikytky, nebo je nějaký jiný důvod? Pokud smažu všechna kola (operace trochu dlouhá, pokud je počet kol vysoký) a změním turnaj ze Swiss na Round Robin (i když program přijímá nesprávný počet kol… v případě round robin by se měl „přepočítat“ počet kol na n‑1. Protože program ti ticho změní počet kol na n‑1 hned, jak spustíš turnaj, i když jsi zadal jiný počet), turnaj běžně skončí s 5 koly. Omlouvám se za nadměrné používání závorek k popisu situací, ale píšu, zatímco testuji.

- Registrace pozdní: rozumím dopadům. Trik Place Holder rozhodně není jednoduchý a měl bys ho vždy předvídat :) Uvidíme, jestli PoC dokáže ověřit přidání nového týmu kdykoliv…


Tip: v „Tisk kola“, které obvykle používá soudce k tisku a připevnění kol, přidej vpravo nahoře QR kód odkazující na veřejnou stránku turnaje, takže kdo chce, může ho nasměrovat a zobrazit si kola na svém telefonu, včetně následujících…


Ahoj,

Claudio.

ciao @LTB

prima di tutto la cosa importante: il blocco sul tuo 6 squadre Swiss l'ho identificato e fixato. Va in v5.5.1, ti spiego sotto. Sugli altri punti ti rispondo per ordine.


═══════════════════════════════════════════════════════════

BUG BLOCCANTE — 6 SQUADRE SI FERMA AL TURNO 3 (FIX v5.5.1)

═══════════════════════════════════════════════════════════

✓ Fatto. E avevi ragione tu sul sospetto "bbp6 che fa i capricci": il colpevole era proprio bbp6, ma a causa di un'informazione sbagliata che gli stavamo passando noi.

Root cause: nel TRF che mandiamo al motore c'è un record (XXR) che dichiara quanti turni durerà il torneo. Se tu metti num_turni=7 con 6 squadre, noi gli scrivevamo "XXR 7" pari pari. bbp6 a quel punto fa lookahead: vede che il massimo teorico di un Swiss a 6 squadre è N-1 = 5 turni distinti, calcola che dopo il turno 3 gli restano solo 2 turni pairabili contro i 4 dichiarati, e rifiuta gli abbinamenti già dal turno 4 con "no valid pairings". Non è un capriccio, è proprio FIDE-compliant: il motore non vuole impegnarsi a iniziare un torneo che sa di non poter completare.

Soluzione: nel TRF cappiamo XXR a max_teorico (5 nel tuo caso) PRIMA di mandarlo a bbp6. Il num_turni che hai impostato nel torneo resta invariato in database — quindi i turni eccedenti li puoi sempre generare via pairing manuale, esattamente l'intento di v5.5.0. Semplicemente bbp6 vede solo quello che è in grado di completare automaticamente.

Conseguenza pratica per te: il tuo 6 squadre Swiss adesso ti pairizza fino al turno 5 senza intoppi, qualunque sia il num_turni che hai impostato (5, 6, 10, 30 — non importa). I turni 6+ continui a generarli a mano se ti servono.

Test automatici scritti per blindare: 4 scenari (cap pari, cap dispari con squadra ritirata, no-cap quando num_turni è già nel range), tutti passano.

═══════════════════════════════════════════════════════════

ROUND ROBIN — num_turni silenzioso (rinviato, non bloccante)

═══════════════════════════════════════════════════════════

Hai ragione: nel Round Robin il valore num_turni è di fatto inutilizzato (l'algoritmo Berger imposta sempre N-1 per N pari, N per N dispari). Però oggi il campo è un input libero, e questo è confondente.

Lo metto in lista per la prossima patch (v5.5.2 o v5.6): quando tipo_torneo='round_robin' il campo num_turni diventa disabilitato/grigiato e si auto-aggiorna a N-1 (o N con BYE) appena cambi il numero di squadre, con un piccolo tooltip che spiega perché.

Non l'ho messo in v5.5.1 perché è UX cosmetica e il fix sopra era urgente: meglio non rallentarlo.

═══════════════════════════════════════════════════════════

ENGINE ERROR — il messaggio sparisce troppo veloce

═══════════════════════════════════════════════════════════

Centrato. Oggi è un flash giallo/rosso che si auto-dismissa, ma se l'arbitro è in sala e gli sta intorno una decina di giocatori che chiedono "quando partiamo?", quel messaggio non lo legge.

In v5.5.2 (o v5.6) lo trasformo in modale con conferma esplicita "Ho capito" per gli errori del motore di pairing. Gli altri flash informativi restano come sono — non voglio appesantire la UX su roba routine, ma sull'errore del pairing engine sì, deve essere ostinato.

═══════════════════════════════════════════════════════════

QR CODE NELLA STAMPA TURNO — c'è già!

═══════════════════════════════════════════════════════════

Buona notizia: il QR code in "Stampa turno" è in produzione da un po', sia per i tornei individuali che per quelli a squadre. Lo trovi in alto a destra sulla stampa A4. Punta direttamente alla pagina pubblica del torneo, dove i giocatori vedono abbinamenti e classifica in tempo reale.

La ragione per cui forse non te l'eri visto: appare SOLO se il torneo ha la visibilità pubblica attivata (e quindi un token_pubblico generato). Se nelle impostazioni del torneo lasci "privato", il QR non viene stampato (sarebbe inutile, la pagina non sarebbe accessibile).

Quindi:

  1. Vai in Impostazioni torneo
  2. Visibilità → "Pubblico"
  3. Salva
  4. Ristampa il turno → il QR code apparirà in alto a destra


Se invece intendevi un QR sul foglio iscrizioni o sulla classifica, dimmelo e lo aggiungo lì.

═══════════════════════════════════════════════════════════

ISCRIZIONE RITARDATARI — PoC in corso

═══════════════════════════════════════════════════════════

Confermo che il PoC che ti raccontavo in v5.5.0 sta dando segnali positivi (Z e SHORT funzionano entrambe con bbp6). Te lo do in v5.6 quando l'ho integrato pulito nel form "Aggiungi squadra a torneo in corso". Sul placeholder hai ragione che è una stampella — la realtà è che fino a v5.6 è l'unica via certa, e te ne chiedo scusa.

═══════════════════════════════════════════════════════════


In sintesi:

• v5.5.1 (oggi): fix bug 6 squadre, ovvero il punto bloccante

• v5.5.2/v5.6 (a breve): RR greyout, modale conferma engine error

• v5.6: iscrizione ritardatari da PoC validato


Quando hai un attimo, riprova il tuo 6 squadre Swiss con il num_turni che vuoi: deve andare avanti fino al turno 5 senza più "Pairing engine error" né stop al turno 3. Fammi sapere com'è andata.


Ahoj Stefano,

jsme rádi, že jsme našli tento „bug“ v zásobování bbp6, byl to docela podvodný! A viděl jsem, že jsi už nainstaloval verzi 5.6.3. Zkoušel jsem to, ale Genera Turno selhává se stejnou zprávou (tentokrát modální). Také jsem zkusil smazat kolo (třetí) a znovu ho vytvořit, ale stále se zastavuje u třetího kola a nevytváří čtvrté. Pak jsem zkusil smazat všechna kola, abych mohl začít znovu od „Spustit turnaj“, a fungovalo to až do pátého kola. V tuto chvíli si myslím, že změna se projeví jen tehdy, pokud byl turnaj spuštěn novou verzí, jinak XXR už byl odeslán.

Jo, počet kol v Round Robin není naléhavé, může počkat.

Ale QR kód vůbec nevidím :) Samozřejmě se odkazuje na „Tisk kola“ pro správce, protože to je to, co rozhodčí tiskne a připevňuje do místnosti. Pro ilustraci, toto je odkaz: https://my.chesspairings.org/stampa_abbinamenti_squadre.php?id=225&turno=1. Naopak v veřejné sekci skutečně existuje QR kód, který ukazuje na Telegram („Sledujte tento turnaj na Telegramu“), ale rámec je stále celý bílý (např. https://my.chesspairings.org/pubblico/torneo_squadre.php?id=225&token=1cc53800c380a43d37ab097d5509b97ace5f78718b7e09f3a725f8ddcd0fdeb8). Ale když už jsem na veřejné stránce, nepotřebuji QR kód na veřejnou stránku, potřebuje ho ten, kdo vidí kolo vytištěné správcem. A když jdu do nastavení turnaje, nevidím přepínač „Viditelnost → Veřejný“, vidím jen „Online registrace týmu“ a „Online registrace jednotlivců“. Stejně tak při vytváření turnaje. Navíc, jak jste říkal, bylo by potřeba QR kód i v žebříčku (který odkazuje na veřejný žebříček), kromě toho pro pohodlí a větší viditelnost vašeho programu. Takže jsem trochu zmatený. Ale našel jsem přepínač u individuálních turnajů, možná jste ho nepropagovali do týmových?

Jsem také zmatnutý ohledně možnosti přidat pozdníky... myslel jsem si, že od verze 5.6 bude možnost, vidím online verzi 5.6.3, ale nevidím „Přidat tým do probíhajícího turnaje“… možná jsem to špatně pochopil.


Ahoj,

Claudio.


Upraveno 18/05/2026 21:38

ciao @LTB

ho chiuso tutti i tre punti che mi avevi segnalato dopo la v5.6.3. Te li riepilogo per ordine. Sono già tutti in produzione (v5.6.9 al footer).

═══════════════════════════════════════════════════════════

ISCRIZIONE RITARDATARI SQUADRE — v5.6.4

═══════════════════════════════════════════════════════════


✓ Fatto. Replicato il pattern dei tornei individuali (esisteva già in mig 051) anche per le squadre.

Come si attiva: in Impostazioni torneo trovi un nuovo flag "Consenti iscrizione tardiva" (visibile solo per Swiss, l'RR per definizione ha calendario fisso). Quando è attivo e il torneo è in corso, nella scheda Squadre compare una card arancio "Aggiungi squadra a torneo in corso". La squadra entra dal turno successivo a 0 punti e con numero_squadra MAX+1 (non rinumero il seeding originale, mantengo la storia TRF di bbp6 coerente).


Il PoC (Proof of Concept) che ti raccontavo nella v5.5.0 mi aveva confermato che bbp6 accetta "0000 - Z" per i turni passati (zero-point bye, FIDE C.04.2 Art. 2.4) — quindi questo è il formato in produzione adesso, no placeholder fragili.

Sul cap XXR mi hai fatto pensare a un dettaglio importante: se aggiungi una squadra il max_teorico cresce (es. da 6 squadre a 7, max passa da 5 a 7). Però se questa squadra poi si ritira torni a 6 squadre — e nella v5.5.1 il cap si ricalcolava a max(N-1)=5, abbassando di nuovo il limite e potenzialmente rompendo pairing già prodotti col cap 7. Soluzione adottata (chiamiamola "opzione 3"): salvo il max_teorico AL MOMENTO DELL'AVVIO in una colonna `xxr_baseline`. Il cap effettivo nel TRF è ora `MAX(xxr_baseline, max_teorico_attuale)`. Late entry alza il cap, ritiri non lo abbassano sotto il baseline.

Test: ho aggiunto 12 nuovi test automatici al test runner squadre (PARTE C + PARTE D) — 31 verdi su 31. Il C10 in particolare conferma che bbp6 genera correttamente un turno 3 a 5 squadre quando il baseline è ancora 3 (chiamata reale al motore, non solo precheck logico).

══════════════════════════════════════════════════════════

QR CODE — VISIBILITÀ PUBBLICA E STAMPA CLASSIFICA (v5.6.5)

═══════════════════════════════════════════════════════════

Sul punto del QR Code nella vista pubblica hai centrato un buco: il flag "Visibilità privato/pubblico" esisteva sui tornei individuali ma non sulle squadre — io le avevo lasciate "sempre tecnicamente pubbliche" via token_pubblico autogenerato, scelta che era funzionale al sistema follower Telegram ma incoerente come UX. Adesso anche le squadre hanno il toggle, con un'unica differenza rispetto agli individuali: default 'pubblico' (sui nuovi e sui legacy via backfill) — così non rompo i follower esistenti. Quando lo metti privato la pagina pubblica dà 404, niente QR nelle stampe e i broadcast Telegram si auto-sospendono.

Stampa classifica: nuova pagina `stampa_classifica_squadre.php` (analoga a stampa_abbinamenti_squadre) con QR in alto a destra che porta alla classifica pubblica live. Ne ho fatto una anche per gli individuali. Le trovi col link "Stampa classifica" accanto al menu Esporta, nella scheda Classifica. A4 portrait, auto-stampa.

═══════════════════════════════════════════════════════════

QR TELEGRAM BIANCO NELLA VISTA PUBBLICA (v5.6.6 → v5.6.9)

═══════════════════════════════════════════════════════════

Questo punto è stato il più rognoso. La libreria QR che usavamo (davidshimjs/qrcodejs, una versione del 2013) ha smesso di funzionare su Chrome 148+: errore `f.getPatternPosition is not a function` riproducibile su qualsiasi testo, qualsiasi correctLevel. Identico in modalità incognito e con la lib inline o esterna — niente a che vedere con cache o estensioni. Probabilmente un'ottimizzazione JIT del browser che non digerisce la minificazione vecchia.

Soluzione: ho sostituito con `qrcode-generator` di Kazuhiko Arase (la lib autoritativa da cui qrcodejs aveva forkato), versione corrente, output SVG inline scalabile. Helper unico `renderQR(elemento, testo, sizePx)` su tutte le 10 pagine del progetto che generavano QR (le 4 stampe + le 2 pagine pubbliche + iscrizione + profilo + dashboard utente + marathon).

Risultato: i QR ora funzionano dappertutto, su tutti i browser. Test sul tuo Chrome dovrebbero passare al primo tentativo.

═══════════════════════════════════════════════════════════

TORNEI XXR GIÀ "ROTTI" — BACKFILL + DIAGNOSTICA (v5.6.7)

══════════════════════════════════════════════════════════

Sul punto che mi avevi sollevato dei tornei in corso che avevano già XXR storica gonfia: ho fatto due cose.

  1. (1) Backfill (migrazione 074): ho scritto retroattivamente `xxr_baseline` su 22 tornei legacy Swiss in_corso/concluso con baseline NULL. Il valore calcolato è identico al cap che si applicherebbe ora — così žádný současný chování se změní, ale i tak zajišťuje robustnost proti budoucím odhlášení.
  2. (2) Diagnostica salute torneo: in cima alla pagina del torneo Swiss in corso, se `num_turni > max_teorico_effettivo`, compare un banner giallo permanente…

ciao @LTB

ho chiuso tutti i tre punti che mi avevi segnalato dopo la v5.6.3. Te li riepilogo per ordine. Sono già tutti in produzione (v5.6.9 al footer).

═══════════════════════════════════════════════════════════

ISCRIZIONE RITARDATARI SQUADRE — v5.6.4

═══════════════════════════════════════════════════════════


✓ Fatto. Replicato il pattern dei tornei individuali (esisteva già in mig 051) anche per le squadre.

Come si attiva: in Impostazioni torneo trovi un nuovo flag "Consenti iscrizione tardiva" (visibile solo per Swiss, l'RR per definizione ha calendario fisso). Quando è attivo e il torneo è in corso, nella scheda Squadre compare una card arancio "Aggiungi squadra a torneo in corso". La squadra entra dal turno successivo a 0 punti e con numero_squadra MAX+1 (non rinumero il seeding originale, mantengo la storia TRF di bbp6 coerente).

Il PoC (Proof of Concept) che ti raccontavo nella v5.5.0 mi aveva confermato che bbp6 accetta "0000 - Z" per i turni passati (zero-point bye, FIDE C.04.2 Art. 2.4) — quindi questo è il formato in produzione adesso, no placeholder fragili.

ciao @LTB

ho chiuso tutti i tre punti che mi avevi segnalato dopo la v5.6.3. Te li riepilogo per ordine. Sono già tutti in produzione (v5.6.9 al footer).

═══════════════════════════════════════════════════════════

ISCRIZIONE RITARDATARI SQUADRE — v5.6.4

═══════════════════════════════════════════════════════════

12»
Přihlásit se pro účast v diskusi
Tento web používá technické a analytické soubory cookie pro zlepšení zážitku.