Muckturnier

News 18.06.2022–23.01.2023

Muckturnier und Qt 6

Langsam wird es ernst mit Qt 6 (dem Framework, auf dem das Muckturnier-Programm aufsetzt): Seit dem 18. Januar 2023 baut der master-Branch (also der aktuelle Entwicklungszweig) der KDE Frameworks auf Qt 6 auf (vgl. die entsprechende E-Mail an die KDE-Devel-Mailingliste).

Heißt also, dass irgendwann die Linux-Distributoren Qt 6 erst standardmäßig neben Qt 5 installieren werden, und irgendwann (das kann noch ein paar Jahre dauern, aber irgendwann dann eben doch) Qt 5 entfernen werden. Und spätestens dann macht es keinen rechten Spaß mehr, ein Qt-5-Programm weiterzuentwickeln.

Das Muckturnier-Programm kann man nun schon einige Zeit mit Qt 6 bauen. Das Programm auf meinem Rechner mit einem systemweit installierten Qt 6 zu bauen ist eine Sache. Aber wie sähe das Ganze für den Endbenutzer-Realeinsatz aus? Dieser Frage bin ich jetzt endlich mal nachgegangen.

Qt 6 static und Muckturnier bauen

Sowohl das Bauen eines minimalistischen, statisch gelinkten Qt 6, als auch das Übersetzen des Muckturnier-Programms waren kein großes Problem. Und zwar weder auf Linux, noch auf Windows, noch auf macOS. Das Bauen von Qt 6 ist, im Vergleich zu Qt 5, wirklich einfacher und übersichtlicher geworden.

Linux

Auf Linux gab es erwartungsgemäß keine Probleme. Ich gehe mal davon aus, dass sich das AppImage-Paket, das ich mit jedem Release veröffentliche, wenn es so weit ist, problemlos bauen lässt und es dann auch problemlos überall laufen wird.
Ausprobiert habe ich das Bauen eines statisch gelinkten Qt 6 und des Muckturnier-Programms auf meinem Gentoo-Desktop. Das eigentliche AppImage-Paket wird dann auf Ubuntu LTS gebaut, aber ich gehe stark davon aus, dass das nach April passiert. Da läuft der Support für Ubuntu 18.04 LTS aus, und ich setze dann erstmal ein 20.04 auf. Und dazu war ich dann jetzt zum Ausprobieren doch zu faul ;-)

Aber die meisten Linux-User werden das Programm denke ich eh selbst nativ bauen (oder?!). Also kein Stress hier.

macOS

Bei macOS kann man zwar Qt 6 selbst nicht mehr auf macOS 10.14 „Mojave“ bauen (das ich bisher benutzt habe, um das Muckturnier-App-Paket zu erstellen); allerdings ging das auf macOS 11.7 „Big Sur“ ohne größere Probleme. Ein bisschen Rumprobieren musste ich schon (ich bin ziemlich inkompatibel mit Apple und macOS und dem ganzen Konzept dahinter), aber auch hier konnte ich sowohl ein statisches Qt 6 als auch das Muckturnier-Programm ohne größere Probleme bauen.

Netterweise funktioniert das resultierende App-Paket auch genauso noch auf macOS „Mojave“. Es geht also hier mit Qt 6 keine Unterstützung für ältere Rechner bzw. Betriebssysteme verloren.

Windows

Anders sieht es (leider) unter Windows aus. Für das Bauen von Qt 6 braucht man Windows 10. Das selber war dann netterweise auch hier kein Problem, genau wie das Bauen des Muckturnier-Programms. Aber. Und jetzt kommt das Aber. Die resultierende ausführbare Datei kann man nicht mehr unter Windows 7 ausführen (und höchstwahrscheinlich auch nicht mehr unter Windows 8, wobei ich das nicht ausprobiert habe). Scheinbar wurden hier tatsächlich mal alte Zöpfe abgeschnitten.

Die meisten User werden denke ich das Muckturnier-Programm unter Windows nutzen. Und typischerweise kommt für ein Muckturnier ein altes Notebook zum Einsatz – auf dem dann potenziell noch Windows 7 läuft. Mit der Windows-7-Kompatibilität ist aber definitiv Schluss mit Qt 6.

Qt 5 so lang es geht

Ich denke, es ist sinnvoll, das Muckturnier-Programm so lang wie möglich mit alter Hardware und Windows 7 kompatibel zu halten. Das heißt leider aber auch, auf Qt 6 zunächst zu verzichten. Es kommt aber defninitv der Zeitpunkt, wo es keinen Spaß mehr macht, Qt 5 zu nutzen. Und weder auf Linux, noch auf macOS wäre, wie gesagt, der Umstieg auf Qt 6 ein Problem.

So lang es geht, halte ich das Muckturnier-Programm mit Qt 5 und somit mit Windows 7 kompatibel. Den Installer konnte man, als ich das das letzte Mal probiert habe, sogar noch unter Windows XP starten und das Muckturnier-Programm installieren und ausführen (über 20 Jahre nach dem Launch von Windows XP doch eine bemerkenswerte Tatsache wie ich finde). Aber die Tage dafür sind gezählt.

Momentan ist das Nutzen von Qt 5 aber noch überhaupt kein Problem, und deswegen wird es höchstwahrscheinlich noch das eine oder andere Release geben, das man auf Betriebssystemem ausführen kann, die man eigentlich besser nicht mehr nutzen sollte ;-)

Ausblick auf 2023

Große Ereignisse werfen ihre Schatten voraus!

2023 wird es voraussichtlich wieder ein Muckturnier der JU Leupoldsgrün geben. Das letzte war am 28.02.2020. Den Termin habe ich mir allein schon deswegen gemerkt, weil das damals das letzte Mal vor Corona war, dass ich mit vielen anderen Leuten (es werden wohl knapp 100 gewesen sein) „einfach so“ in einem Wirtshaus war. An das, was leider danach kam, können wir uns ja alle noch erinnern.

Das Muckturnier der JU Leupoldsgrün wird voraussichtlich am 14.04.2023 stattfinden, und wird hier auch nochmal angekündigt (incl. Regel-Download etc).

Was ebenfalls wieder ansteht, ist das Muckturnier der SPD Konradsreuth. Voraussichtlich wird es am 10.02.2023 stattfinden. Und dieses Mal kommt – nach langen Jahren der konsequenten EDV-Verweigerung – dafür das Muckturnier-Programm zum Einsatz! Darüber freue ich mich natürlich besonders, allein schon wegen der überparteilichen Zusammenarbeit ;-)

Und wer weiß? Vielleicht gibt es auch eine Neuauflage der Oberfränkischen Muckmeisterschaft?!

Hoffen wir, dass das Jahr 2023 nicht nur Muckturnier-technisch, sondern generell besser wird, als die letzten beiden.

In diesem Sinne schöne Feiertage und einen guten Rutsch!

Muckturnier 3.5.0 out now!

Seit dem letzten Release am 17.01.2021 ist, hauptsächlich Corona-bedingt, viel Zeit vergangen. Aber langsam läuft das Muckturnier-Geschäft wieder an, und endlich kann ich, nach viel zu lang nicht möglichen Real-(Test-)Einsätzen des aktuellen Entwicklungsstands, ein neues Release präsentieren: Muckturnier 3.5.0!

In der Corona-Zeit gab es zwar keine Muckturniere, aber die Entwicklung hat doch einige Fortschritte gemacht. Entsprechend lang ist die Liste der Änderungen, Neuerungen und Bugfixes. Wie immer sind alle im ChangeLog nachzulesen.

Die Wichtigsten sind Folgende:

Disqualifikation von Paaren/Spielern

Es können jetzt Paare bzw. Spieler disqualifiziert werden. Die Eingabe von Ergebnissen ist, damit der normale Turnierablauf weitergehen kann, noch möglich (potenziell mit Dummy-Spielern von der Turnierleitung), aber das entsprechende Paar bzw. der entsprechende Spieler taucht ab der Runde der Disqualifikation nicht mehr in der Rangliste auf.

Hierfür war ein Update der Datenbankrevision nötig (auf dbv10). Beim Öffnen älterer Datenbanken wird, wie gewohnt, ein automatisches Update angeboten.

Damit kann nun sowohl die meistens in den Regeln bei groben Verstößen gegen dieselben angedrohte Disqualifikation auch tatsächlich berücksichtigt werden, als auch der – zumindest hypothetisch mögliche – Fall, dass ein Paar bzw. Spieler das Turnier abbrechen muss.

Vergleich der eingegebenen Ergebnisse

Es wird jetzt auch am Server angezeigt, ob die an den Clients eingegebenen Ergebnisse mit den lokalen übereinstimmen. Die Anzeige ist analog zu der, die es bisher bei den Clients gibt, mit dem Unterschied, dass statt dem Server alle Clients aufgelistet sind:

Screenshot der Ergebnisse-Seite, den den fortlaufenden Vergleich der eingegebenen Ergebnisse mit allen Clients zeigt

Weiterhin besteht jetzt auch die Möglichkeit, Rundenergebnisse vom Server aus mit einem Client zu vergleichen (statt bisher nur von einem Client aus mit dem Server).

Damit hat der Ranglisten-Vergleichs-Dialog nun endgültig ausgedient. Schließlich geht es ja um das Finden von Eingabefehlern, und das geht über den Ergebnisvergleich deutlich besser, als über die Rangliste. Folgerichtig wurde der Ranglisten-Vergleichs-Dialog entfernt. Der Prüfsummen-Dialog zeigt jetzt auch nur noch die Prüfsumme der Paar-/Spielerliste und die der aktuellen Rangliste. Der ist jetzt eigentlich nur noch ein kleiner Helfer für die Entwicklung.

Also weg mit dem alten Code ;-)

Datenexport

Es ist jetzt möglich, die Rangliste direkt auszudrucken (mittels dem neuen „Rangliste drucken“-Knopf auf der Ranglisten-Seite). Hierfür wird automatisch ein entsprechend formatierter HTML-Export in eine temporäre Datei angestoßen, die dann mit dem Systemwebbrowser geöffnet wird. Das Drucken selbst übernimmt der Browser. Alle temporären Dateien werden beim Schließen des Programms automatisch gelöscht.

Ein HTML-Export (wie der direkte Ranglisten-Export) enthält jetzt ein „@media print“-Style-Sheet, um beim Ausdrucken das Druckbild zu verbessern (Schriftgröße, Seitenränder etc.).

Weiterhin ist die Standard-Dateierweiterung für HTML-Dateien jetzt .html (statt bisher .htm), und die für den CSV-Export .tsv (statt bisher .csv – „tab separated values“, damit weiß ein Tabellenkalkulationsprogramm potenziell gleich, welche Feldtrenner benutzt werden).

Netzwerk-Stoppuhr

Im Netzwerkbetrieb kann jetzt jeder Client eine Stoppuhr mit der des Servers abgleichen, so dass sie die selben Einstellungen hat bzw. synchron läuft. Sind am Server mehrere Stoppuhren geöffnet, kann eine zum Synchronisieren ausgewählt werden.

Die Auswahl der Abgleich-Server-Stoppuhr sowie das Synchronisieren einer Client-Stoppuhr geht über den neu dazugekommenen „Synchronisieren“-Knopf, der am Server eingeblendet wird, sobald mehr als eine Stoppuhr offen ist, und an allen Clients immer sichtbar ist:

Screenshot einer Stoppuhr mit dem neuen „Synchronisieren“-Knopf

Bugfixes

Weiterhin wurde eine Vielzahl an Fehlern behoben. Hier eine Auswahl der Wichtigsten:

Zuguterletzt: Qt 5.15 und Qt 6

Was die meisten User jetzt nicht direkt interessieren wird, aber trotzdem nicht unerwähnt bleiben soll:

Das Muckturnier-Programm kann jetzt auch mit Qt 6 gebaut werden. Hierzu beim CMake-Build einfach den Schalter -DQT6=on setzen. Die Qt-5-Kompatibilität ist hierdurch nicht verloren gegangen. Ich möchte das Programm auch so lang wie möglich mit Qt 5 kompatibel halten, damit so lang wie möglich alte Betriebssysteme (namentlich Windows 7) unterstützt werden können.

Abgesehen davon wird ab jetzt mindestens Qt 5.15 für das Kompilieren von Muckturnier benötigt.

Viel Spaß mit der neuen Version :-)

Muckturnier auf der Sportwoche des ASV Leupoldsgrün

An Fronleichnam hat das Muckturnier.org-Team das erste Mal seit Corona erfolgreich ein Muckturnier über die Bühne gebracht. An dieser Stelle nochmal vielen Dank an den ASV Leupoldsgrün für den problemlosen Ablauf und die gute Bewirtung!

Das war nach langer Zeit auch endlich einmal wieder ein öffentlicher Betatest für den aktuellen Entwicklungsstand. Fehler sind keine aufgefallen (was mich nach all den Änderungen seit dem letzten Muckturnier der JU Leupoldsgrün schon fast gewundert hat ;-) – aber ein paar Features wären noch nett.

Namentlich sieht man momentan an allen Clients, ob die eingegebenen Spielstände der momentan offenen Runde der des Servers entsprechen – aber der Server sieht nicht, ob die dort eingegebenen Spielstände mit den Clients übereinstimmen. Das wäre natürlich nett zu wissen, zumal ja in den meisten Fällen zwei Rechner für ein Muckturnier reichen, bei dem man sicher gehen will, dass es keine Eingabefehler gibt. Es ist grundsätzlich kein Problem, das zu implementieren, aber trivial ist es nicht. Aber wird werden.

Das andere nette Feature, was wir gerne gehabt hätten, ist: Es wäre cool, wenn ein Client sich die aktuelle Zeit der Server-Stoppuhr holen könnte. Damit jeder sehen kann, wie viel Zeit in der Runde noch bleibt. Wie genau ich das ausführe, weiß ich nich nicht, aber auch das wird werden.

Unterm Strich fehlen also noch diese beiden Features, und dann gibt es – nach über eineinhalb Jahren – endlich mal ein neues Release :-)