Muckturnier

Aktuelle News

Demnächst: DMG-Paket für macOS

.tar.xz?!

Bisher habe ich die macOS-Version des Muckturnier-Programms in ein .tar.xz-Archiv verpackt. Vernünftige Kompression, und ja auch „ganz normal“ – oder?! Zumindest für einen Linux-User. Apple-User hingegen scheinen ja scheu wie die Rehe zu sein, wenn es um einen solchen Kulturschock geht, selbst dann, wenn man das Archiv einfach mit einem Doppelklick auspacken kann.

Jedenfalls habe ich mich mal schlau gemacht, wie die das so machen. Und festgestellt, dass normalerweise ein Programmpaket mittels einer „DMG“-Datei verteilt wird. Was ein Dateisystem-Abbild ist, das man wie einen USB-Stick einhängen kann. Naja. Die werden schon wissen.

Warum ich das bisher trotzdem nicht so gemacht habe: Die DMG-Images, die ich mit meinem bisherigen Buildsystem macOS 10.14 „Mojave“ erstellen konnte, hatten eine schlechte Kompression und waren erheblich größer als ein ganz normales .tar.xz-Archiv. Und unnötige große Archive müssen ja, allein schon aus gesamtökologischer Sicht, nicht sein. Also gab es .tar.xz.

Seit der Nachfolger-macOS-Version 10.15 „Catalina“ kann man – wie ich jetzt weiß – DMG-Images mit LZMA-Kompression erstellen. Und die sind nur noch unwesentlich größer als ein .tar.xz-Archiv. Weiterhin habe ich mir von verschiedener Stelle versichern lassen, dass selbst auf 10 Jahre alten Mac-Rechnern normalerweise ein aktuelleres Betriessystem als „Mojave“ läuft (was ja so ein Image dann nicht öffnen könnte).

DMG-Drag-and-Drop-Installer

Also gut. Dann setzen wir uns halt mal mit dem auseinander, was für einen Apple-User (hoffentlich) eine „gute Benutzererfahrung“ ist, wenn es um ein Software-Paket geht, was man aus dem Internet herunterlädt. Sollte ich jetzt graue Haare haben, dann liegt es an der Benutzerfreundlichkeit von macOS, wenn es darum geht, dass man seinen Open-Source-Kram möglichst „nativ“ an den Mann bringen will. Die wollen wirklich nicht, dass man das macht, ohne kostenpflichtige Drittanbieter-Lösungen dafür zu kaufen.

Letztenendes hat es dann aber doch geklappt: Ich kann jetzt ein DMG-Image mit einem Drag-and-Drop-Ziel für den „Programme“-Ordner erstellen, mit einer Readme-Datei und einem schicken Anleitungs-Hintergrund. Gescriptet und automatisiert über das macOS-Build-Script.

Und so sieht das Ganze aus:

Das Interface des Muckturnier-DMG-Pakets, wenn es eingehängt ist

Die Readme ist deswegen nötig, weil macOS einen ja nicht ohne Weiteres ein Programm ausführen lässt, das nicht von einem „registrierten Apple-Entwickler“ kommt. Man bekommt noch nicht einmal die Option angeboten. Gehen tut es glücklicherweise trotzdem, ganz offiziell dokumentiert vom Apple-Support. Und darauf weise ich eben in besagter Readme hin – weil ja erfahrungsgemäß eh keiner die Anleitung liest. Vielleicht dann zumindest die Readme im Installer.

Jedenfalls hoffe ich, dass das jetzt den Apple-Usern was bringt, und das Muckturnier-Programm auch auf dieser Plattform etwas benutzerfreundlicher macht. Das nächste Release gibt es jedenfalls in dieser Form. Viel Spaß damit dann :-)

Aufkleber und mehr Style für die Anmeldung

Was im Muckturnier.org-Merch-Portfolio definitiv noch gefehlt hat: Aufkleber! Damit ist jetzt Schluss:

Muckturnier.org-Aufkleber in zwei Größen

In zwei Größen (8 cm und 11 cm breit) machen die sich überall hervorragend, z. B. auf einem Auto, einem Notebook – oder: Auf einem stationären QR-Code-Scanner. Womit wir bei „mehr Style für die Anmeldung“ wären:

Ein Sunmi-Blink-QR-Code-Scanner mit einem Muckturnier.org-Aufkleber

Das ist meine neueste Errungenschaft: Ein Sunmi Blink. Das ist ein Barcode-Scanner, der als POS-Terminal gedacht ist (für das Scannen QR-Code-basierter Zahlungsmethoden wie Alipay – was bei uns wenig verbreitet ist, weswegen es hier auch wenig Auswahl an solchen Geräten gibt). Geradezu perfekt, um damit einen Voranmeldungs-QR-Code von einem Handydisplay zu scannen!

Ein kleines Problem gab es mit dem Ding aber doch: Trotz korrekter Konfiguration des Tastaturlayouts verschluckte der Scanner alle in einem QR-Code gespeicherten Leerzeichen. Zwar habe ich mittlerweile herausgefunden, wie man das korrekte Eingeben von Leerzeichen trotzdem konfigurieren kann, aber per Standardeinstellung werden keine eingetippt. Womöglich machen das andere Barcode-Scanner auch so – damit hätte ich jetzt ehrlich gesagt nicht gerechnet.

Es sieht also ganz danach aus, als ob der kleinste gemeinsame Zeichensatz-Nenner für Barcode-Scanner nicht nur der druckbare ASCII-Zeichensatz ist, sondern der druckbare ASCII-Zeichensatz ohne Leerzeichen. Um maximale Hardware-Kompatibilität sicherzustellen, habe ich das Serialisierungsprotokoll für Anmeldungscodes angepasst. In der aktuellen Version 2 enthalten die Codes keine kodierten Leerzeichen mehr, und somit gibt es auch keine Probleme mehr mit Leerzeichen.

Veröffentlicht wird das neue Protokoll, zusammen mit dem neuen „QR-Code-Scanner testen“-Dialog zum Überprüfen, ob ein Barcode-Scanner richtig konfiguriert ist, in der nächsten Version (höchstwahrscheinlich 3.9.0, t. b. a.). Natürlich kann man schon jetzt die neuen Anmeldungscodes nutzen, wenn man den aktuellen git-Stand selbst baut.

Abgesehen davon könnt ihr euch den Scanner auch gern für euer Muckturnier ausleihen – bei Bedarf einfach melden :-) Dank der richtigen Konfiguration kann er ja jetzt auch Version-1-Anmeldungscodes mit Leerzeichen auslesen.

Muckturnier 3.8.0: Zettel drucken und überarbeitete Auslosung

Version 3.8.0 bringt zwei große neue Features: Man kann jetzt Tischnummern-Aufkleber sowie Auslosungs- und Spielstandzettel direkt mit dem Programm generieren und ausdrucken, und es ist jetzt möglich, für mehrere Runden auszulosen. Außerdem wurde die Darstellung des Auslosungs- bzw. Automatische-Auswahl-Modus überarbeitet – und natürlich wurden auch einige Fehler behoben.

Zettel drucken

Bisher waren unter Material Vorlagen für Tischnummern sowie Auslosungs- und Spielstandzettel zur Verfügung gestanden. Dazu noch ein paar Perl-Scripts, mit denen man dann u. a. teilweise ausgefüllte Spielstandzettel (auf denen schon die Runde und der Tisch stehen) generieren konnte. Funktioniert hat das auf einem Linux-System unter Verwendung von Inscape und PDFjam (was typischerweise eine LaTeX-Distribution wie TeX Live mitbringt).

Das war zugegebenermaßen alles andere als Endbenutzer-geeignet; vermutlich hatten nicht allzu viele Muckturnier-User tatsächlich etwas von diesen Vorlagen. Damit ist es jetzt vorbei: Mit Muckturnier 3.8.0 kann man jetzt sowohl Vorlagen für Tischnummern-Aufkleber, als auch für Auslosungs- und Spielstandzettel als PDF-Dateien generieren, und zwar exakt so, wie das bisher mit den o. g. Perl-Scripts ging – aber ohne zusätzlich nötige Programme, und vor allem mit einer schicken grafischen Oberfläche.

Mitgeliefert werden neben den Vorlagen für Tischnummern und Auslosungszettel Spielstandzettel-Vorlagen für zwei und drei Bobbl pro Runde, jeweils in der „horizontalen“ (Paare stehen oben und unten, Bobbl von links nach rechts) und der „vertikalen“ Variante (Paare stehen links und rechts, Bobbl von oben nach unten). Da sollte für jeden was dabei sein.

Das Drucken von Zetteln ist tatsächlich faktisch eine Kern-Funktion: Wirklich jeder, der ein Muckturnier abhält, muss in irgend einer Art und Weise solche Zettel bereitstellen. Deswegen kann man die entsprechende Funktionalität jetzt auch direkt über den Startbildschirm aufrufen. Alternativ geht das auch über „Datei“ → „Zettel drucken“ oder über den Tastatur-Shortcut „STRG+Z“ – unabhängig davon, ob eine Turnierdatenbank geöffnet ist oder nicht.

Der Startbildschirm sieht jetzt so aus:

Der Programm-Splash-Screen mit dem neuen „Zettel drucken“-Knopf

Der „Zettel-Drucken“-Dialog sieht so aus (Spielstandzettel mit zwei Bobbln ausgewählt):

Der neue „Zettel drucken“-Dialog, hier für Spielstandzettel mit zwei Bobbln

Die Zettel werden in einem temporären Verzeichnis als PDF-Dateien erstellt, und dann mit dem Standard-PDF-Viewer geöffnet, mit dem sie dann ausgedruckt werden können. Das Verzeichnis wird automatisch gelöscht, sobald das Programm geschlossen wird – man muss sich also nicht um’s „Aufräumen“ kümmern.

Die Einstellungen für die Innen- und Außenabstände sind so voreingestellt, wie ich sie mit meinem Drucker wählen musste, damit alles exakt in der Mitte landet. Vermutlich muss man sie je nach Drucker ein bisschen anpassen – einfach mal ausprobieren. Alle Werte können pro Zettel-Sorte gespeichert werden und werden dann beim Starten wieder so eingestellt.

Überarbeitete Auslosung

Kürzlich hat die Landjugend Marxgrün e. V., anlässlich ihres 75jährigen Bestehens, ein Muckturnier auf dem Nailaer Wiesenfest abgehalten. Im Vorfeld waren die Organistoren bei mir für eine kleines Muckturnier-Programm-Coaching. Es tauchte dabei ein Problem auf: Das Turnier sollte mit einzelnen Spielern durchgeführt werden, die jede Runde neu ausgelost werden. Hier musste ich dann feststellen, dass das mit den derzeitigen Möglichkeiten des Programms schlicht nicht geht – zumindest nicht so, wie man sich das vorstellen würde.

Man konnte zwar auch bisher eine Auslosung eingeben, die dann für die jeweils offene Runde benutzt wird (wenn die Option „Paar 2 rückt pro Runde weiter“ nicht aktiviert war), aber wie sollte das in der Praxis funktionieren? Da müsste man ja die Einstellungen nach der 1. Runde ändern (auf eine zufällige Auslosung über alle Tische), und nach dem Eingeben aller Ergebnisse alle Auslosungen löschen und alle Teilnehmer neu auslosen, und allen diese Auslosung auch mitteilen. Das geht mit Zetteln, die man beim Abgeben des Spielstandes für die nächste Runde zieht, schneller. Deswegen:

Auslosung für beliebig viele Runden

Eins vorweg: Wie man einzelne Spieler pro Runde neu auslost, habe ich in dem neuen Beitrag Features: Einzelspieler in jeder Runde auslosen ausführlich erklärt. Die neuen technischen Grundlagen dafür möchte ich hier im Einzelnen vorstellen.

Mit Muckturnier 3.8.0 ist jetzt eine Auslosung für beliebig viele Runden möglich. Hierfür gibt es jetzt auf der Anmeldungsseite eine Auswahlbox, in der man einstellen kann, für welche Runde ausgelost werden soll:

Auswahl der Runde, für die Ausgelost werden soll

Auslosungen ab Runde 2 können eingegeben werden, sobald das Turnier gestartet wurde. Das ist entweder der Fall, wenn das 1. Ergebnis eingegeben wurde, oder wenn im Netzwerkbetrieb die Anmeldung explizit beendet wurde. Diese Einschränkung besteht deswegen, weil für die Auslosung ab Runde 2 feststehen muss, wie viele Tische besetzt sind (was ja bei der Anmeldung noch nicht der Fall ist). Es werden dann die Plätze innerhalb aller Tische zufällig vergeben.

Wenn wir schon digital auslosen, dann können wir uns einen weiteren Umstand zunutze machen: Wir wissen, wer schon mit wem und gegen wen gespielt hat, oder das in der nächsten Runde tun wird. Deswegen wurden die Parameter für die Auslosung außer „Auslosung für die 1. Runde“ (u. a. mit der mittlerweile sehr bewährten „Fenster-Auslosung“) mit „Auslosung für weitere Runden“ erweitert:

Dialog mit den Auslosungs-Parametern

Die Optionen sind selbsterklärend: Es kann, sofern möglich, vermieden werden, dass ein Spieler mehrfach einem anderen als Partner in einem Paar zugelost wird, und entsprechend auch, dass dieselben Spieler mehrfach gegeneinander spielen. Entsprechend kann man sich auch einen Hinweis anzeigen lassen, wenn ein Spieler schon einmal einem anderen als Partner oder Gegner zugelost war.

Wenn keine „kollisionsfreien“ Plätze mehr zur Verfügung stehen, dann wird aus allen übrigen Plätzen ausgelost. Grundsätzlich ist immer die manuelle Auswahl aller noch verfügbaren Plätze möglich, es wird nur ggf. ein Hinweis auf die „Kollision“ angezeigt.

Überarbeitung des Auslosungs- bzw. Auswahlmodus

Bisher konnte man, etwas versteckt, für die automatische Auswahl der Paare bzw. Tische auf der Ergebnisse-Seite unter „Einstellungen“ → „Automatische Auswahl“ zwei Optionen aktivieren: „Auswahl laut Auslosung“ und „Paar 2 rückt pro Runde weiter“. Zweitere konnte man nur dann aktivieren, wenn die automatische Auswahl überhaupt aktiviert war.

Diese beiden Optionen wurden jetzt in die drei sich daraus ergebenden Varianten überführt, was hoffentlich besser verständlich bzw. nutzbar ist. Da man das Ganze entweder von der Auslosungs- oder von der Auswahl-Seite (beim Eingeben von Ergebnissen) her sehen kann, sind die entsprechenden Optionen nun auch sowohl auf der Anmeldungs- als auch auf der Ergebnisse-Seite verfügbar.

Es kann nun zwischen „Paar 1 bleibt sitzen, Paar 2 rutscht weiter“, „Jede Runde wird neu ausgelost“ bzw. „Auswahl laut Auslosung für die Runde“ und „Keine Auslosung“ bzw. „Keine automatische Auswahl“ gewählt werden. Um die mit dem Programm digital durchführbare Auslosung besser in den Fokus zu rücken ist nun der Auslosungs-Modus auch direkt in der Basis-Ansicht des „Neues Turnier starten“-Dialogs zu sehen:

„Neues Turnier starten“-Dialog mit den Einstellungen für die Auslosung

Nach wie vor kann die automatische Auswahl auf der Ergebnisse-Seite (zeitweilig) deaktiviert werden, wenn eine der beiden Optionen außer „Keine Auslosung“ als Auslosungs-Modus gewählt wurde. Damit können nach wie vor von der Auslosung abweichende Konstellationen eingegeben werden – hier hat sich nichts geändert.

Filtern der Anmeldungsliste nach mehreren Anmeldungen

Es ist nun möglich, auf der Anmeldungsseite nach mehreren exakten Treffern zu suchen. Realisiert wurde das über das Schlüsselwort @EXACT_MATCH als Suchbegriff, gefolgt von einem JSON-Array, was alle Namen enthält, nach denen gesucht werden soll. Das ist prinzipiell zwar manuell anwendbar, aber natürlich sehr umständlich.

Der Hintergrund ist die neue Option „Tisch automatisch für die Auslosung auswählen“ auf der Ergebnisse-Seite. Wenn diese Option aktiviert ist, dann wird die Anmeldungsliste nach der Eingabe eines Ergebnisses automatisch nach allen Paaren bzw. Spielern dieses Tisches durchsucht, und es werden nur diese angezeigt. Weiterhin wird automatisch die passende Runde für die Auslosung ausgewählt.

Damit kann sofort für die nächste Runde ausgelost werden, nachdem das Ergebnis eingegeben wurde (vgl. auch Features: Einzelspieler in jeder Runde auslosen).

Weitere Änderungen

Alle Änderungen enthält wie immer der ChangeLog. Hier eine Auswahl:

Viel Spaß mit der neuen Version, die den Bedürfnissen von Einzelspielerturnieren jetzt deutlich besser nachkommen sollte!

3. Muckturnier auf der Sportwoche des ASV Leupoldsgrün

Gestern, am 16.06.2024, fand das nunmehr 3. Muckturnier auf der Sportwoche des ASV Leupoldsgrün statt. Ein einwandfreier verlängerter Frühschoppen mit mittlerweile erfreulicherweise 40 Teilnehmern!

Nebenbei konnten die kürzlich eingeführten Anmeldungscodes für die Voranmeldung ihre Praxistauglichkeit unter Beweis stellen. Zudem kam erstmals der Turnier-Zeitplan samt Info-Display via Fernseher zum Einsatz. Auch hier hat das für Klarheit bezüglich des Turnierablaufs gesorgt, und es gab keine Diskussion. Das hat sich mittlerweile wirklich bewährt und ist definitiv zu empfehlen, wenn man mit einem Zeitlimit arbeitet.

Unterm Strich hat alles vollkommen problemlos funktioniert :-)

Die Rangliste und weitere Infos können unter muckturnier.org/asv-leupoldsgruen abgerufen werden. Wir sehen uns spätestens nächstes Jahr dort!