Es gibt ein kleines Update für das Muckturnier-Programm. Das betrifft allein den kürzlich eingeführten WLAN-Code-Scanner-Server. Formaljuristisch ist es eigentlich kein reines Bugfix-Release, weil der Server auch ein bisschen erweitert wurde, aber ansonsten wurde nichts geändert. Also wollen wir mal nicht päpstlicher sein als der Papst – es wurde nur ein Fehler behoben, nämlich „der WLAN-Code-Scanner-Server ist kein gescheiter HTTP-Server“ ;-)
Das Problem mit der bisherigen Server-Implementierung war, dass ich mir das ein bisschen zu einfach vorgestellt habe. Technisch betrachtet ist der WLAN-Code-Scanner-Server ein HTTP-Server. Und als solcher sollte er sich zumindest grundlegend an RFC 7230 (die Spezifikation für das Hypertext Transfer Protocol Version 1.1) halten.
Um nur mal ein paar vorher unberücksichtige technische Unzulänglichkeiten zu nennen:
Es können mehrere Anfragen gleichzeitig eingehen und müssen entsprechend auch einzeln verarbeitet werden.
Anfragen müssen nicht unbedingt von einem „well-behaved“ HTTP-Client kommen: Es könnte irgendwas per TCP übertragen werden, schlimmstensfalls in böser Absicht.
Wenn man HTTP benutzt, dann wird kein reiner Text übertragen, sondern Bytes. Das ist ein wichtiger Unterschied, sobald etwas anderes als reine ASCII-Zeichen übertragen werden.
Bei Feldnamen in einem HTTP-Header wird die Groß- und Kleinschreibung nicht berücksichtigt.
Eine Antwort des Servers muss per Standard den Zeitpunkt der Antwort enthalten.
und und und … ;-)
Langer Rede kurzer Sinn: Der WLAN-Code-Scanner-Server verhält sich jetzt einigermaßen wie ein vernünftiger (wenngleich auch sehr minimalistischer) HTTP-Server.
Weiterhin können jetzt abgesehen von GET-Anfragen, die nur aus dem nackten Datensatz bestehen, auch GET-Anfragen mit mehreren Parametern und POST-Anfragen verarbeitet werden. Für POST kann sowohl application/x-www-form-urlencoded als auch application/json als Content-Type benutzt werden. Außerdem kann der Parametername, der für den Code-Inhalt benutzt wird, jetzt (via „Extras“ → „Einstellungen“ → „Netzwerk“) beliebig eingestellt werden (vorher war es „hard-coded“ zwingend content).
Unterm Strich sollte das jetzt also dafür sorgen, dass man nicht nur Binary Eye, sondern auch beliebige andere Scanner, die Daten per HTTP übertragen können, benutzen kann (wenngleich Binary Eye nach wie vor und zweifelsohne der mit Abstand beste Barcode-Scanner für Android ist!).
Wie gesagt: Alles andere ist unangetastet geblieben. Viel Spaß beim Ausprobieren :-)
Die Zeit seit dem kürzlichen letzten Release war äußerst produktiv :-) Deswegen kann ich schon nach gut zwei Monaten und gut 7 000 Zeilen neuem Code stolz ein neues Release verkünden: Muckturnier 3.7.0!
Die neue Version bringt neben vielen Fehlerkorrekturen, die vor allem Einzelspieler-Turniere betreffen, insbesondere zwei neue Features mit: Paar- bzw. Spielernummern und Anmeldungscodes. Außerdem wurde das im letzten Release eingeführte Info-Display weiter ausgebaut.
Im Einzelnen:
Paar- bzw. Spielernummern
Damit konnte ich ein Feature Request aus Marxgrün implementieren. Die Frage war „kann man eigentlich Spielernummern vergeben? Am besten in der Reihenfolge der Anmeldung?“ – das sollte doch kein Problem sein. Dachte ich. Einfach eine zusätzliche Spalte, ein bisschen übers Netzwerk verteilen, und dann halt noch danach suchen können.
Nachdem ich dann die Hälfte aller internen Datenstrukturen einmal auf links gedreht und halb neu geschrieben hatte, hat es dann auch tatsächlich geklappt, dieses vermeintlich unscheinbar-einfache Feature hinzuzufügen. Das Problem war, dass seit jeher eine Anmeldung immer nur über ihren Namen referenziert wurde, und alles darauf ausgelegt war. Nicht darauf, dass es noch zusätzliche Merkmale gibt. Aber ich will euch nicht mit Internas langweilen ;-)
Auf jeden Fall kann man jetzt die zusätzliche Spalte „Nummer“ auf der Anmeldungsseite einblenden:
Danach kann man, entweder über einen direkten Klick auf den Platzhalter „…“ in der Nummer-Spalte oder über das Kontextmenü, eine Paar- bzw. Spielernummer vergeben:
Bei der Paar- bzw. Spielerauswahl kann dann die entsprechende Registrierung über die Nummer ausgewählt werden. Sobald man nach einer Zahl sucht, gibt es entweder exakt einen Treffer (nämlich die Anmeldung mit dieser Nummer), oder keinen:
Die Nummer wird, sofern sie vergeben ist, auch als Bestandteil des Namens mit angezeigt.
Voranmeldung und Anmeldungscodes
Für die etwas Technikaffineren unter uns bringt die neue Version ein Feature mit, das die Anmeldung erheblich schneller macht, wenn man mit Voranmeldungen arbeitet: Anmeldungscodes. Das ist vor allem für größere Turniere mit vielen Voranmeldungen interessant, weil erfahrungsgemäß kommen ja die Vorangemeldeten auf den letzten Drücker – sie sind ja schließlich schon vorangemeldet.
Das Konzept ist: Man generiert einen QR-Code, der jeder Voranmeldung im Vorfeld zur Verfügung gestellt wird, z. B. in einer Bestätigungs-E-Mail. Bei der eigentlichen Anmeldung beim Turnier wird dieser Code dann gescannt (z. B. direkt vom Handydisplay), und damit ist die Anmeldung erledigt.
Hier ein Screenshot der Datensatz-Ansicht der neuen Voranmeldungsseite:
Das Konzept und dessen Umsetzung ist ausführlich unter Features: Anmeldungscodes generieren erklärt. Meiner Meinung nach ein echtes Killer-Feature :-D
An dieser Stelle vielen Dank an Project Nayuki für die hervorragende QR Code generator library, die für die Erstellung der Anmeldungscodes zum Einsatz kommt! Weiterhin vielen Dank an Markus Fisch dafür, dass man sich dank seines Projekts Binary Eye noch nicht einmal einen QR-Code-Scanner kaufen muss, wenn man das Anmeldungscodes-Feature nutzen will :-)
Weitere Neuerungen und Änderungen (Auswahl)
Das Info-Display des Turnierzeitplans hat jetzt neben der Zeitanzeige noch eine „Willkommen“- und eine „Auf wiedersehen“-Seite, auf der ein entsprechendes Bild angezeigt werden kann. Die Anzeige kann auch über den „Info-Display“-Knopf auf der Zeitplan-Seite umgeschaltet werden, so dass man den Mauszeiger nicht auf einen zweiten Bildschirm bewegen muss.
Für das Info-Display kann man jetzt sowohl die Textfarbe als auch die Schriftart für jede Textzeile einzeln (und auch für alle gleichzeitig) einstellen. Eine zusätzliche Zeile mit einem (optional auch ausblendbaren) Muckturnier.org-Logo ist ebenfalls dazugekommen.
Das Einstellungen-Menü des Info-Displays kann jetzt einfach per Kontextmenü (Rechtsklick) geöffnet werden. Der Menü-Knopf wurde entfernt, somit gibt es jetzt keine sichtbaren Bedienelemente mehr.
Auf der Anmeldungsseite wird jetzt bei Einzelspielerturnieren die Spielernummer (1 oder 2) der Auslosung angezeigt.
Auf der Ergebnisse-Liste, der Anmeldungen-Liste und der Markierungen-Liste wird jetzt die Zeile unter dem Mauszeiger hervorgehoben. Diese Hervorhebung bleibt auch während einer Interaktion (Kontextmenü, Popup) bestehen. Auch ein gerade auf der Ergebnisse-Seite eingegebenes Ergebnis wird jetzt in der Liste hervorgehoben.
Der Disqualifikationsstatus eines Paars bzw. Spielers wird jetzt auch in den Auswahlboxen bei der Ergebniseingabe angezeigt (der Zusatz „(disqualifiziert)“ wird aber bei der Suche nicht berücksichtigt). Ebenso wird der Disqualifikationsstatus jetzt beim Netzwerk-Vergleich von Spielständen angezeigt.
Wenn die Markierung für „Abwesend“ bzw. das Berücksichtigen allein gekommener Spieler aktiviert werden, dann wird jetzt jeweils automatisch die passende Markierung ausgewählt, sofern die voreingstellten Standard-Markierungen benutzt werden.
Markierungen, die für Voranmeldungen bzw. allein gekommene Spieler ausgewählt sind, können jetzt nicht mehr gelöscht werden.
Fehlerkorrekturen (Auswahl)
Beim Vergleich der eingegebenen Ergebnisse übers Netzwerk ist es jetzt egal, ob ein Paar als Paar 1 oder als Paar 2 eingegeben wurde, und auch, ob ein Paar bei einem Einzelspielerturnier aus „Spieler 1 / Spieler 2“ oder aus „Spieler 2 / Spieler 1“ besteht. In allen diesen Fällen sind die erreichten Punkte gleich, und auch die Rangliste ist dieselbe (und darum geht es ja). Folgerichtig werden solche Ergebnisse auch bei unterschiedlicher Paarkonfiguration jetzt als „identisch“ angezeigt.
Markierungen, Disqualifikationen und Auslosungen wurden beim Verbinden mit einem Server nur dann übernommen, wenn sie am Server gesetzt waren – aber nicht entfernt, wenn sie zwar am Client gesetzt waren, aber nicht am Server. Das führte in dem Fall zu einem Fehlschlagen der Synchronisation. Jetzt werden alle Markierungen, Auslosungen und Disqualifikationen korrekt synchronisiert.
Beim Bereinigen der Auslosung wird jetzt die Spielernummer (korrekt) gesetzt.
In der Auslosungsübersicht werden jetzt gelöschte Auslosungen korrekt entfernt.
In der Auslosungsübersicht werden jetzt die Spieler in der korrekten Reihenfolge, entsprechend der zugelosten Spielernummer innerhalb des Paars, angezeigt.
Es können jetzt nicht mehr dieselben Markierungen für „Vorangemeldet“ und „Allein da“ ausgewählt werden. In der Folge gibt es jetzt auch keine unsinnigen Statustexte auf der Anmeldeseite für diesen (faktisch ja gar nicht möglichen) Fall mehr.
Alle Änderungen enthält wie immer der ChangeLog. Viel Spaß mit der neuen Version, vor allem beim schnellen Anmelden von Voranmeldungen :-)
Gestern war es so weit: Das sage und schreibe 20. Muckturnier der JU Leupoldsgrün fand statt. Mittlerweile eine echte Institution in der lokalen Muckturnierlandschaft!
Von den maximal 100 Teilnehmern haben dann 104 mitgekartet – neuer Rekord. Und zum Glück konnten wir Tisch 26 noch aus dem Hut zaubern, sonst hätten wir tatsächlich (altgediente) Karter heimschicken müssen – mangels Platz und mangels Voranmeldung. Die wird das nächste Mal ein bisschen konsequenter kommuniziert – in dieser Größenordnung geht es ja eigentlich gar nicht mehr ohne. Auch programmseitig habe ich schon ein paar Ideen, wie man eine Voranmeldung effektiver gestalten könnte. Mehr dazu beim nächsten Release ;-)
Auf jeden Fall war das Turnier wieder ein Traum, so wie immer! Gute Stimmung, scheens Gewaaf, kein Ärger – so, wie es sein sollte. Und netterweise gab es beim „öffentlichen Betatest“ weder einen Crash (wie beim letzten Mal), noch sonst irgendwelche Probleme. Auch das mittlerweile etwas aufgemotzte Info-Display hat 1A funktioniert, und genau wie beim Muckturnier der Konradsreuther SPD letzte Woche für Klarheit bezüglich der verbleibenden Zeit gesorgt.
Sprich: Sowohl von Seiten der JU und des Turniers als auch von Seiten des Muckturnier-Programms war das 20. Muckturnier der JU Leupoldsgrün ein voller Erfolg!
An dieser Stelle nochmals herzlichen Glückwunsch an die strahlenden Gewinner Heinz Walz und Franz Hoben, die es als treue Stammkarter dieses Mal auf den 1. Platz geschafft haben, und sich über je einen Kasten Bier und ein Spanferkel freuen konnten. Die komplette Rangliste kann auf der Turnierseite abgerufen werden. Bei mir hat’s mit Basti Söllner immerhin noch für den 29. Platz gereicht – kann keiner behaupten, das Programm würde mir einen Vorteil verschaffen ;-)
Vielen Dank an alle, die mitgeholfen haben, an die JU für’s fleißige Beta-Testen und vor allem an die Sponsoren der Preise! Das waren dieses Mal (in alphabetischer Reihenfolge, unabhängig vom Wert der gesponsorten Preise):
ASV Leupoldsgrün
Autobahnrasthof Sellanger
Bäckerei Bayreuther, Selbitz
Brauerei Meinel, Hof
Christian Lange, Imkerei, Leupoldsgrün
CSU Fan-Shop, München
Degel Landtechnik, Leupoldsgrün
Dorfladen Onkel Emil, Leupoldsgrün
Eiscafé am Marktplatz, Konradsreuth
Ellis Wunderland, Konradsreuth
FaBoWa, Selbitz
Frankonia Hydraulik GmbH, Wolframs-Eschenbach
Gasthaus Gebhardt, Ahornberg
Gasthaus Sack, Ahornberg
Gasthof Grüne Linde, Wölbattendorf
Getränke Hoffmann, Helmbrechts
Haarschneiderei Leupoldsgrün
Hannis Lädla, Schauenstein
Hofladen Leupold, Volkmannsgrün
Hofrichter Betonwerk, Stegenwaldhaus
Jahn-Orthopädie, Hof
Junge Union Leupoldsgrün
Kristan von Waldenfels, MdL, Lichtenberg
Lamilux, Rehau
Landgasthof Sellanger
Löwen-Apotheke, Selbitz
Ludwig Schuhe, Selbitz
Marsmann Gewürze, Schauenstein
Metzgerei Bloß, Schauenstein
Metzgerei Günther, Schauenstein
Metzgerei Herpich, Hof
Metzgerei Krafft, Konradsreuth
Metzgerei Lochner, Konradsreuth
Metzgerei Strobel, Dörnthal
Minges Kaffeerösterei GmbH, Breitengüßbach
Müllers Hoflädla, Konradsreuth
Münzer Sanitär, Schauenstein
Ostermaiers Waldeck, Edlendorf
Prodomo Werbemittel, Schauenstein
REWE Bär, Helmbrechts
REWE Selbitz
Rolf Weber Gruppe, Schauenstein
Saale-Apotheke, Konradsreuth
Schiller Fleisch, Hof
Schützenverein Frohsinn, Leupoldsgrün
Sell, Helmbrechts
Sparkasse Hochfranken, Hof
Sport Strobel, Schauenstein
Sprudelkiste / Gasthaus Löhner, Leupoldsgrün
Stadtwerke Hof
Willy Maisel GmbH, Konradsreuth
Vielen, vielen Dank! Ohne euch wäre so ein Turnier nicht möglich!
Wir freuen uns aufs nächste Jahr, wenn die JU das 21. Muckturnier veranstaltet! Infos hierzu gibt es dann wieder auf der Turnierseite. Bis spätestens dann :-)
Am letzten Samstag (20.01.2024) fand in Marxgrün wieder ein Muckturnier statt – aber dieses Mal unter neuer Führung. Markus Karl vom ACR Hof übernahm erstmals die Turnierleitung, und zum Einsatz kam – auch erstmals – das Muckturnier-Programm.
Ein Turnier mit einzelnen Spielern, „vertikalen“ Spielstandzetteln, drei Bobbln pro Runde und 31 Punkten pro Bobbl. Mal was anderes! Aber spätestens seit Muckturnier 3.4.0, veröffentlicht am 01.09.2020, gehört auch die „vertikale“ Variante für die Eingabemaske zum Portfolio des Programms. Beliebig viele Bobbl pro Runde gibt es schon seit Version 0.4 von 2014, und die Punkte pro Bobbl konnte man schon im ersten Release von 2012 einstellen.
Auf jeden Fall ist alles problemlos über die Bühne gegangen, und sowohl die Organisatoren als auch die Karterinnen und Karter waren zufrieden (wenn nicht sogar begeistert ;-) von der Auswertung mit dem Muckturnier-Programm – und die Marxgrüner zählen jetzt auch zum Nutzerkreis von Muckturnier.org!
Soll noch einer sagen, dass in Deutschland die Digitalisierung nicht klappt ;-)