Home / Forum / Sugerencias / Vuelvo a los equipos acto segundo

Vuelvo a los equipos acto segundo

Hola Stefano,

he visto las versiones progresar como los símbolos en una máquina tragamonedas :) Hemos llegado a la 5.9.0, mientras que tú citas la 5.6.9. Te lo digo por si acaso fuera un error tipográfico, ya que no he visto pasar por la 5.7 y 5.8. Mientras escribía vi nacer la 5.9.1!


También he visto el registro de retrasados; en las versiones intermedias me permitían añadir el equipo pero luego no era posible poblarlo, ahora parece que todo está allí. Hay que probarla en los distintos casos.


Cuando trabajas con los equipos, todavía hay la molestia de que cuando expandes un equipo la página vuelve al principio, lo que hace poco intuitivo el ingreso del plantel y obliga al usuario a desplazarse hacia abajo. Con muchos equipos es particularmente "fastidioso". Recuerdo que ya habíamos señalado este punto, tal vez ha vuelto.


Me gusta la nueva “Modalidad de presentación” y la “Impresión del tablón”… las probaremos. No parece funcionar el botón mencionado “Q” para salir. Nada malo, pero visto que está listado entre las opciones…


Para la “Zona peligrosa”, estoy de acuerdo; la solicitud de confirmación no es suficiente (también vi en tiempo real los intentos de tener que escribir el nombre del torneo para cancelarlo...). ¿Sabes qué pensé sobre esto? Yo también tuve problemas similares, especialmente para eliminar torneos de prueba, es un momento crítico eliminar el torneo publicado en nuestro sitio, o un torneo concluido, con todo lo que implica, o peor aún durante un torneo. Pensé en una especie de “candado” para impedir la eliminación de torneos que se sabe son importantes, como los torneos en curso, o cualquier otra razón. La razón para eliminar un torneo creo que al 99% es porque fue un torneo de prueba, o algo salió mal y quiero deshacerlo. Entonces daremos la posibilidad de poner un “candado” a los torneos importantes, de modo que no sea posible eliminarlos por error (siempre con la opción de quitar el candado si realmente quiero eliminarlo). Podría ser un buen compromiso entre facilidad de uso y evitar errores accidentales. Una confirmación, aunque difícil de introducir (pin, nombre del torneo, etc.) se salta mentalmente cuando uno parte con la idea de borrar algo (“Confirmación JS pasada sin pensarlo, DELETE en cascada todo."). El candado también podría sugerir elegir los torneos a eliminar desde la lista de torneos (donde se pueden duplicar), sin tener que abrir el torneo y entrar en sus ajustes, seguramente poco intuitivo (aunque se puede opinar que una acción de eliminación no debe ser intuitiva).


Más tarde probaré lo demás, y haré algunas simulaciones de torneos… mañana por la noche comienza nuestra combinada, ¡y todos queremos que todo salga bien! :)


Gracias y hola,

Claudio.

Ver original (IT)

Caro @LTB

Cuando te escribí estábamos en la v5.6.9, pero después de mi correo he seguido trabajando y ahora estamos en la v5.10.1. Se saltaron las v5.7.x (modo presentación + impresión del tablero + zona peligrosa código aleatorio), v5.8.x (imagen compartible para Instagram/Telegram, paginación de emparejamientos, optimizaciones de BD), v5.9.x (Web Share API, Bot broadcast con foto al terminar el torneo, RR num_turni greyout, refactor banner news), v5.10.0 (copia de seguridad automática pre-eliminación con restauración en 7 días). Las versiones son muy ligeras porque tuve un día libre dedicado.

Te respondo por orden a tus puntos:

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

INSCRIPCIÓN DE RETRASADOS

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

✓ Sí, todo está en la v5.6.4 y posteriores bloqueado. Ahora añade un equipo en curso, lo poblas con la rosa vía UI estándar, y al próximo Generar turno entra correctamente en el emparejamiento con 0 puntos. También añadí 10 pruebas automáticas más 2 sobre Round Robin (PARTE D — bloqueado por RR porque tiene calendario fijo). Todos verdes en el torneo piloto. Te animo a hacer una prueba con un torneo de 4-5 equipos, dos rondas jugadas, luego añade un equipo “retrasado”: debería entrar en la tercera ronda sin problemas.

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

SCROLL DEL EQUIPO

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

✓ Confirmado, era una regresión. Cuando hacías clic en un equipo para expandirlo, el servidor recargaba la página con `&squadra=N` y el scroll volvía al inicio — particularmente molesto con muchos equipos. Ya lo habíamos arreglado antes, pero en una de las versiones intermedias en la pestaña Equipos la corrección se perdió.

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

BOTÓN Q EN MODO PRESENTACIÓN

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

✓ Bug real, disculpa. Estaba usando `history.back()` que no funciona si la presentación está abierta en una nueva pestaña (historial vacío → nada sucede al pulsar la tecla). Ahora el flujo es:

1. Q en pantalla completa → sale del modo pantalla completa

2. Q de nuevo (o Q sin pantalla completa) → si te abrí la presentación desde la página del torneo (referer same-origin), `history.back()` te devuelve allí

3. Si llegaste directamente a la URL, redirige a la página pública del torneo

Funciona en todos los casos. También `Esc` tiene el mismo comportamiento.

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

ZONA PELIGROSA

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

Has acertado el punto: una confirmación que requiera solo “escribe un código/nombre” se salta mentalmente cuando el usuario está pensando en cancelar. Es exactamente lo que ocurrió esta mañana en nuestro torneo de prueba.

Para esto, además del código aleatorio de 2 cifras en la Zona Peligrosa (la barrera permanece), en v5.10.0 añadí una copia de seguridad automática pre-cancelación: antes del DELETE se guarda un JSON con todo el torneo (equipos, rosas, formaciones, rondas, partidas, desempates) en una tabla “Conservado por 7 días”. Todo lo encuentras en:


Menú de usuario → “Torneos eliminados”

(o directamente: my.chesspairings.org/tornei_eliminati.php)


Desde allí ves los torneos eliminados recientemente, la expiración del backup y un botón “Restaurar” que recrea el torneo con el mismo ID si está libre. Funciona tanto para individuales como para equipos. Un cron diario a las 04:00 purga los caducados.

Sobre tu sugerencia del candado: tenlo en cuenta, lo revisaremos. El backup automático cubre el 99% de los casos (“oh no he borrado, restauro inmediatamente”), pero el candado sería un segundo nivel explícito de protección para torneos “importantes”. Anotado como próxima función a evaluar.

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

MODO PRESENTACIÓN + IMPRESIÓN DEL TABLERO — todas las pruebas

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

Cuando lo pruebes, presta atención:


Modo Presentación (proyector en sala):

- URL: botón “Modo presentación” encima de las pestañas del torneo, o directamente `presentazione.php?id=X&token=Y` para individuales / `presentazione_squadre.php?...` para equipos

- Token público, sin login requerido — conecta la laptop al proyector y listo

- 2 diapositivas en rotación: Clasificación top 10 (15s) → Emparejamientos de la ronda actual (60s, paginados a 10 mesas por página)

- Datos en vivo: auto-refresh cada 30s, recarga completa cuando llegan nuevos resultados o cambia la ronda

- Controles: Espacio = pausa/reproducir (con insignia amarilla visible), ← → = navegar manualmente sin pausar, F = alternar pantalla completa, Q/Esc = salir


Impresión del tablero:

- Botón “Imprimir tablero” encima de las pestañas (siempre visible, incluso para torneo en estado inscripciones)

- Genera A4 vertical con 2 QR Code grandes: uno a la página pública del torneo, otro genérico al bot Telegram

- Si el torneo es privado, el QR del torneo se reemplaza por un aviso (para activarlo habría que marcar “Página pública del torneo” en Configuración)

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

COMBINADO DE MAÑANA — ¡buena suerte!

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

Dame saber cómo va mañana por la noche. Si durante el torneo surge algún bug o extraña, avísame para poder trabajar en ello al día siguiente.


Durante las pruebas encontré dos problemas, el primero grave:

1) Inicio la competición (que no tenía activada la opción “Permitir inscripción tardía” en los ajustes). Estoy en la segunda ronda y quiero añadir un equipo tardío, y justamente no aparece la opción. Entonces voy a los ajustes y activo “Permitir inscripción tardía”, ok. En “Equipos” aparece la opción “+ Añadir equipo a competición en curso”. La añado, pero luego no puedo completarla; al expandir el equipo solo hay la opción “Retirar”, no la habitual UI de inscripción. Los demás equipos también son estáticos: se puede cambiar el orden de los tableros pero no añadir un nuevo jugador ni modificar un nombre. Si elimino todos los turnos y vuelvo a abrir la competición, entonces “Equipos” permite nuevamente las modificaciones. Aparte de este comportamiento que no va bien (hace inútil la posibilidad de añadir equipos), también me estaba preguntando la utilidad del flag “Permitir inscripción tardía”: si quiero añadir un equipo parece más lógico simplemente agregarlo; no sirve tener una bandera para habilitar esta función. Pero eso puede ser opinable, solo parece más sencillo permitir la inserción de un nuevo equipo.

2) En el mismo marco “Equipos”, el filtro por nombre de equipo o jugador se perdió en algún punto; ya no parece funcionar (aparentemente no filtra nada).


Hola,

Claudio.

Hola @LTB


Sobre el punto 1 mañana lo reviso, pero basta con que sean cuidadosos y seleccionen los interruptores que consideren útiles.


En cuanto al filtro probablemente sea un error que se ha roto, pero se arregla rápido.


S.

hola @LTB 


gracias por las notificaciones — ambos errores han sido solucionados en la versión 5.10.4 recién desplegada.


Error 1 (grave): UI de roster bloqueada en_curso


Confirmado: la UI de gestión de roster (renombrar, añadir jugadores, X roja, reorganizar tableros) estaba oculta justo cuando el torneo pasaba a “en curso”. Para el equipo late‑entry era doblemente

penalizante porque no se podía poblar.


Qué cambié:

- Toda la UI de gestión de roster (renombrar equipo, 5 modos añadir jugador, drag‑drop tableros, X eliminar) ahora siempre está activa cuando un equipo es “activo” — tanto en inscripciones como durante el torneo.

- Restricción añadida: la X de eliminación de jugador aparece gris (no clicable) si el jugador ya tiene partidas registradas. Motivo técnico: teams_matches.white_id/black_id no tiene restricción FK, un DELETE

silencioso orfandaría el historial. Para excluir a un jugador que ya ha jugado de las próximas formaciones, modifica la formación del turno.

- En estado en_curso, el equipo ahora tiene tanto “Retirar” como “Eliminar” — este último disponible solo si el equipo nunca ha jugado (ej. equipo late‑entry creado vacío que quieres borrar al vuelo).


Sobre la bandera “Permitir inscripción tardía”


Tienes razón: era redundante. La quité de las Configuraciones. El botón “+ Añadir equipo a torneo en curso” aparece ahora siempre cuando el torneo es Suizo y está en curso. No hay bandera que activar.


(La columna en la base de datos permanece por compatibilidad con torneos antiguos, pero ya no se lee.)


Error 2: filtro de nombre no funciona


Confirmado y solucionado. El campo “Filtrar por nombre de equipo o jugador” estaba presente en la página pero el JavaScript que lo manejaba estaba dentro de un bloque que solo se ejecutaba en fase de inscripciones. Ahora el filtro

funciona en cualquier estado del torneo.


---

En total: 4 correcciones en el lado servidor + 3 nuevas cadenas en 6 idiomas. Versión 5.10.4 activa. Si recreas el escenario (torneo Suizo por equipos, dos rondas, añadir equipo, prueba a poblarlo) debería funcionar todo

avísame si encuentras otras rarezas.


Gracias como siempre por las pruebas exhaustivas.

Hola Stefano,

He probado los errores corregidos y todo parece estar bien. Intenté duplicar nuestro torneo de esta noche (una opción muy útil, créeme) y simular todo el desarrollo. Funcionó correctamente; por supuesto tengo algunas observaciones que no bloquean, decide tú cuándo y si las tomas en cuenta, pero considero importantes las dos primeras.


- Estoy finalizando la fase de inscripción y me gustaría imprimir los equipos para que los jugadores lo revisen antes de comenzar el torneo. No veo un botón de impresión en la sección “Equipos”. Creo que ya lo habíamos hecho; recuerdo una discusión donde se decía que la impresión debía respetar el tipo de visualización (expandida o colapsada). Pero ya no encuentro esa opción, y también sería útil durante un torneo en curso. Vi que añadiste la “Modalidad presentación”, pero si la pantalla no es suficiente para mostrar todos los equipos, no se puede desplazar de ninguna manera. La “Q” no aparece, aunque esté listada (supongo que haces una página posterior, pero como la página está abierta recién, la citada “Q” no hace nada).

- En la “Impresión turno” sin duda incluiría el Elo de los jugadores; quien vea el turno querrá saber el Elo de su oponente. En esta impresión también hay mucho espacio inutilizado; unas dos columnas adicionales con el Elo quedarían muy bien. También corrige la palabra “RESULTADO”; la “O” final choca contra la línea de la columna y se ve fea.

- En la vista “Emparejamientos”, sería genial poder ver solo los emparejamientos que aún no tienen resultado. Es algo que siempre quise tener en otros programas; imagina tener decenas (o cientos, lo deseo) de tableros... tienes que desplazarte manualmente para ver quién todavía no ha ingresado resultados. Poder filtrar por resultados faltantes sería una gran ventaja.

- En la sección “Clasificación”, si usas “Imagen clasificación” (o el botón “Compartir”), el resultado muestra solo las primeras 5 equipos. No sé si eso fue intencional, pero creo que debería mostrarse toda la clasificación.


Este torneo, como te comenté, será una combinación de tres torneos, uno el sábado por la tarde (recuerdo que me dijiste que Tommaso no puede jugar durante la semana). Si el sábado no saben qué hacer y quieren venir a visitarnos, ¡están bienvenidos! :)


Saludos,

Claudio.

hola @LTB

Este sábado Tommaso tendrá que estar en Turín por la mañana para una especie de olimpiada de matemáticas y luego lo traeré el domingo por la tarde al blitz https://vesus.org/tournament/iVXqgWyR - gracias por la invitación será otra vez.


Para el resto excelentes observaciones como siempre — he trabajado en todas esas indicadas. Versión 5.10.5 recién desplegada.


1) Impresión de formaciones — hecha


Nueva botón "Imprimir Formaciones" en la barra de herramientas de la pestaña Equipos, junto a Expandir/Contraer. El modo de impresión sigue la vista actual:

- vista expandida → un bloque por equipo con el plantel completo (tablero, título, apellido+nombre, Elo, casilla firma vacía para controlar a los jugadores);

- vista contraída → tabla única de resumen (nombre, capitán, n.º de jugadores, rating medio).


Funciona tanto antes del inicio como en torneo en curso, e incluye el QR a la página pública para quien quiera comprobar también al vuelo desde el móvil.


2) Impresión de turno con Elo + "RESULTADO" centrado


Se añadieron dos columnas Elo (una a la izquierda del Resultado para las Blancas, una a la derecha para las Negras). La celda "RESULTADO" se amplió y los encabezados ahora están centrados para evitar que la última "O" choque contra el borde de la columna.


3) Modo Presentación — arreglo doble


a) Clasificación en rotación, 7 a la vez, 15 segundos por página. Era una sugerencia, pero lo apliquei también porque resuelve de golpe el problema del "pantalla no suficientemente grande para desplazarse": antes solo veías la top 10 fija, ahora ves toda la clasificación paginada. Vale tanto para torneos por equipos como individuales. Los emparejamientos siguen paginándose a 10 por página, 60 segundos cada uno como antes.


b) Atajo "Q" eliminado. Así no verás algo que no funciona para tu patrón.


4) Filtro "Solo por completar" en los emparejamientos


Lo hice tanto para torneos por equipos (pestaña Emparejamientos, junto a Vista compacta) como para individuales (en la parte superior derecha junto a "Imprimir turno"). Toggle que oculta los encuentros ya completados y los BYE, dejando solo los que aún no tienen resultado. El estado se recuerda por torneo (localStorage), así si recargas la página encuentras el filtro tal como lo dejaste. Cuando introduces el resultado de un partido con el filtro activo, la fila se actualiza en tiempo real — no es necesario desactivar/reactivar.


Si filtro todo y no queda nada, aparece un mensaje verde "✓ Todos los encuentros de este turno están completados." — así sabes a simple vista que el turno está cerrado.


En el punto "Imagen clasificación solo 5 equipos"


Lo he dejado para la próxima versión. La share‑card 1080×1080 estaba pensada como "podio compartible en redes sociales" (Instagram/Telegram/WhatsApp), por eso está limitada a top 5. No puedo hacer lo contrario.



Como siempre gracias por las pruebas al milímetro — este round salió muy limpio justamente porque has estresado todo el flujo end‑to‑end.




Gracias a ti, ¡excelentes modificaciones!

Pero intenté de nuevo el giro de un torneo y me quedé con el problema de que no logra generar la ronda 6 con 8 equipos; me detengo en la 5ª con el mensaje "El motor de emparejamiento no pudo generar la ronda (Error while pairing /tmp/tmpbgup_izw/tournament.trf: No valid pairing exists: The players could not be simultaneously matched while satisfying all absolute criteria.

). Posibles causas: demasiadas rondas para los equipos activos, restricciones de color irresolubles. Puedes usar "Emparejamiento manual" o reducir num_turns y concluir.". Si quieres investigar estoy aquí: https://my.chesspairings.org/torneo_squadre.php?id=240&tab=abbinamenti. Esto lo habíamos dirigido, ¿por qué está resaltado fuera? Se necesita absolutamente una prueba de estrés en cada versión...

hola @LTB

Investigado a fondo. No es una regresión, es una imposibilidad matemática real dada por el set-up. Aquí la análisis:

Análisis torneo 240

8 equipos, num_turns=9, max_teórico=7 (N-1 para N par). En el turno 6, reconstruyendo quién-ha-encontrado-quién de los turnos 1-5:


┌─────────────────────┬──────────────────────────┬────────────┐

│ Equipo │ Ya encontradas │ Faltantes │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1899 LTBirra Italia │ 1902,1905,1903,1901,1904 │ 1900, 1906 │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1900 Ruffini Team │ 1905,1902,1904,1903,1901 │ 1899, 1906 │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1906 Purple SST │ 1901,1904,1902,1905,1903 │ 1899, 1900 │

└─────────────────────┴──────────────────────────┴────────────┘


Los equipos {1899, 1900, 1906} forman un triángulo imposible: cada uno tiene solo los otros 2 del trío como adversarios disponibles. En un turno solo puedes formar UNA pareja, dejando al tercero sin nadie con quien jugar (todos los demás ya lo han encontrado). bbp6 rechaza correctamente — no existe pairing válido sin rematch o bye en un torneo con número par de equipos.

También los otros 5 tienen clusters muy estrechos (ej. {1901,1902,1904,1905} con pocas alternativas). Una búsqueda exhaustiva confirma que después de estos 5 turnos no hay un 6.º matching válido.

El set-up

8 equipos, sistema Suizo. Has configurado 9 turnos. Importante: en un torneo Suizo con N par, cada equipo puede encontrarse con como máximo N-1 de distintos (8 equipos → cada uno puede jugar hasta 7 partidas diferentes, porque la 8ª sería contra sí mismo).

Después de 7 turnos has agotado todos los posibles adversarios — si necesitas más debes recurrir a rematch o bye. Así que ya desde el principio 9 turnos con 8 equipos está "fuera de presupuesto" por 2 turnos.

Los primeros 5 turnos

El motor bbp6 generó 5 turnos regulares. Resultado: cada equipo ha encontrado 5 adversarios sobre 7 posibles, dejándolos 2 aún "libres".

Reconstruyendo de la BD quién-ha-encontrado-qué:


LTBirra Italia (1899) → todavía libres: Ruffini (1900), Purple SST (1906)

Ruffini Team (1900) → todavía libres: LTBirra (1899), Purple SST (1906)

Purple SST (1906) → todavía libres: LTBirra (1899), Ruffini (1900)


LTBagna Càuda (1901) → todavía libres: Imported (1902), Gelateria (1904)

Imported (1902) → todavía libres: Bagna (1901), Scaccomatt. (1903)

Scaccomatt. (1903) → todavía libres: Imported (1902), Presidentiss. (1905)

Gelateria (1904) → todavía libres: Bagna (1901), Presidentiss. (1905)

Presidentiss. (1905) → todavía libres: Scaccomatt.(1903), Gelateria (1904)


El problema en el turno 6


Mira solo las primeras 3 líneas. LTBirra, Ruffini y Purple SST tienen una propiedad especial: cada uno tiene SOLO los otros dos como adversarios disponibles. Las otras 5 equipos del torneo ya los han encontrado.

Te confirmo que, probándolo también con chessmanager.com, no es posible completar el torneo:

Gran análisis, ¡gracias! Perdona estos estrés, pero debemos crear un sistema a prueba de bombas, y por eso estoy probando las cosas más difíciles y las situaciones más improbables. Te confirmo que al comenzar el torneo con el número correcto de rondas todo va bien. Seguiré estresándote hasta que ya no pueda encontrar otro problema. Ahora no tocaré nada más ni te propondré cambios, haremos el torneo esta noche y cruzamos los dedos.


Gracias de nuevo,

Claudio.

hola @LTB no hay problema, mi deseo es que el software se vuelva popular y pueda difundirse como alternativa a otros de pago para ayudar a círculos y clubes.


A día de hoy en los torneos individuales tenemos alrededor de 1000 partidas emparejadas al día. Los que son la excepción son los torneos por equipos, pero creo que gracias a tu ayuda podremos salir de la beta rápidamente.

Hola @LTB


¿Puedes copiarme el enlace del torneo por equipos para que, si esta noche no colapsa, lo intente seguir?

Hola Stefano,

gracias por la preocupación y disculpa si no te he pegado el torneo; estábamos todos ocupados, yo también jugaba y realmente no revisé el Foro. Pero el torneo (https://my.chesspairings.org/pubblico/torneo_squadre.php?id=208&token=5f5b5aa47b850102f0424a8bad91d113bad9d40eff9fc4c3fb31bd8177241113) fue muy bien, todo funcionó sin problemas. Al final teníamos 11 equipos de 3 jugadores, con 9 rondas, y todo salió como debía. En este punto abriré un nuevo hilo con posibles consideraciones adicionales, ya que esto se está volviendo demasiado largo.


¡Gracias de nuevo y hasta luego!

Claudio.

hola @LTB ¡buenísima noticia! Házmelo saber si puedo hacer algo más, me gustaría sacar de la beta la sección de equipos

Excelente. Para mí, para salir de la beta, basta que todo funcione, y por el momento no tengo reportes que hacer en ese sentido. Los demás que haré son “pequeños” para simplificar el proceso y facilitar el trabajo del árbitro. El mayor problema que veo es la introducción de bugs debido a nuevas funciones (pero aquí no te lo voy a explicar). Ahora, bajo las condiciones verificadas, todo funciona; hay que hacer que esta base sólida no sea comprometida por futuras funciones. ¡Y sé muy bien cuán fácil puede ser que eso suceda!


Por ejemplo, esto es una tontería, pero sería realmente útil para nosotros: una función para “actualizar” el Elo de los participantes usando la base de datos Fide (si el jugador fue añadido manualmente no debe hacer nada… podría haber la condición en que un jugador que al momento de la inscripción no tuviera Elo y luego entrara a las listas, y quisiera actualizar su rating; o un jugador añadido manualmente pero presente en las listas, pero esto lo encuentro difícil de aplicar por las homonimias). En cualquier caso, te doy un ejemplo práctico: nuestro primer torneo fue 3+2, así que usamos el Elo Blitz para poblar los inscritos (función importante). Ahora, para el próximo torneo y para no tener que reescribir todo, hago esto: duplico el torneo recién terminado y cambio lo que debe cambiar (fecha y tiempo de reflexión). ¡Esto es realmente cómodo! Pero como nuestro próximo torneo de la combinada será Rapid (12+3), tengo que ir a mano a cambiar los Elo de todos, anulando el proceso de clonación. Si hubiera una función que me permitiera usar el Elo Rapid en lugar del Blitz (o más bien actualizar el Elo desde el último snapshot de Fide, ajustándolo automáticamente al tiempo de reflexión) sería realmente útil.


Hola,

Claudio.

Hola @LTB


Tu idea de actualizar los Elo desde la base de datos FIDE era justamente una de esas cosas "pequeñas" que cambian la vida cuando organizas una combinada, y en efecto lo puse en producción de inmediato: ya está activa desde v5.10.7.

Funciona en dos puntos:

1. En el torneo, pestaña Inscritos — ves el botón "Actualizar rating desde FIDE" junto a "Imprimir inscritos", visible mientras el torneo esté en estado Inscripciones (es decir antes de haberlo iniciado). Al hacer clic se abre una vista previa con tres pestañas:

  1. Por actualizar: cada fila muestra el rating actual → nuevo + Δ. No se escribe nada hasta que no hagas clic en "Aplicar".
  2. Invariados: quien ya está alineado al snapshot FIDE actual.
  3. Saltados: los jugadores añadidos manualmente / del club (que no tocamos como habíamos decidido), y los jugadores FIDE que no tienen rating en la categoría del torneo (ej. tiene Standard pero no Blitz — los señalo, tú decides si los actualizas a mano).

2. En duplicación de torneo — en el modal "Duplicar" encuentras un nuevo desplegable "Categoría de rating del nuevo torneo" (Standard / Rapid / Blitz). Si cambias la categoría respecto al torneo origen, la actualización desde FIDE se hace automáticamente después de la copia, así que el caso que me contabas — duplico Blitz 3+2 para hacer un Rapid 12+3 y terminar con los Elo Blitz — ya no ocurre: abres el duplicado y los ratings son los correctos.

Funciona idéntico para torneos individuales y los de equipos. Allí el botón está en la pestaña Equipos (encima de la lista) y además de los ratings de cada jugador se recalcula también el rating medio de cada equipo modificado.

Dos cosas importantes que quiero decirte por claridad:

  1. La tabla FIDE nunca se escribe. Esos números siguen siendo el reflejo del último download FIDE (el cron corre cada noche a las 04:30). El botón solo actualiza los valores "fotografiados" al momento de la inscripción en el torneo actual.
  2. Solo antes del inicio. Si el torneo ya está "En curso" el botón no aparece: cambiar los ratings a mitad de torneo alteraría el ordenamiento, tiebreak como ARO, y sobre todo el cálculo final de Elo (que parte del rating inicial). Si te das cuenta de que un rating necesita corrección en un torneo iniciado, la vía correcta sigue siendo la edición manual del inscrito individual.

Sobre el matching por nombre de los jugadores manuales con la base de datos FIDE — lo que decías ser "difícil de aplicar debido a las omonimias" — estoy de acuerdo, no lo hice. Es demasiado fácil asignar un Elo equivocado a un homónimo, y luego es difícil darse cuenta.

Prueba práctica: ya revisé tu torneo 257 de la Combinada (Rapid 12+3, duplicado del 256 Blitz 3+2). El sistema ve 34 ratings por actualizar, 1 ya coincidente y 4 para saltar (presumiblemente jugadores manuales o sin rating Rapid). Ábrelo, haz clic en el botón, verifica en la vista previa que todo tenga sentido y aplica.

Avísame cómo va.


Stefano


¡Qué genial! Perdona el comentario técnico, pero estas funciones son las que marcan la diferencia para mí. No me he puesto a revisar los Elo individuales (lo haré, no lo creas), ¡pero la función hizo su trabajo sucio!

Hola @LTB


El cálculo Elo es correcto (fácil de hacer). Hay un pero :)


Si el jugador con ID fide asigna la K correcta (asociada a la base de datos fide), de lo contrario, para los demás el K es 20.


Sería realmente difícil modificar esto

«12
Iniciar sesión para participar en la discusión
Este sitio utiliza cookies técnicas y de análisis para mejorar la experiencia.