Das Winhistory-Forum läuft seit der Umstellung durch gandro vor über einem Jahrzehnt auf dem Versionszweig 1.6 von
MyBB, der seit Oktober 2015 nicht mehr unterstützt wird und von mir mit mäßigen Aufwand am Laufen gehalten wurde. Dass ich in der Zwischenzeit nicht auf den Nachfolger MyBB 1.8 aktualisiert habe, ist an diesem Punkt praktisch ein Meme.
Ich möchte noch einmal darauf zurückkommen, was sich insbesondere seit November letzten Jahres getan hat, und was nun konkret anliegt.
Warum müssen wir die Foren-Software migrieren?
Die derzeitige Foren-Software stammt in dieser Form noch aus der PHP-5-Ära. Ich konnte noch manuell Fixes für inkompatible Änderungen vor allem in PHP 7.2 vornehmen, aber die vielen Brüche in PHP 8, die u. a. viele vorher gar nicht oder nur stillschweigend mit „Notices“ quittierten Fehler zu „lauten“ Warnungen hochgestuft haben, machen das nicht mehr sinnvoll durchführbar.
Gleichzeitig wurden Sicherheits-Patches für die Vorgänger-Version PHP 7.4 im November 2022 eingestellt. Das wäre an sich nicht besonders tragisch, aber zumindest in Bezug auf Hosting bei Coni zunehmend schwierig, da PHP 7.4 in der Zwischenzeit aus den Paketquellen von Gentoo entfernt wurde, da es z. B. nicht mit der aktuellen Version der OpenSSL-Bibliothek kompatibel ist, welche durchaus sicherheitsrelevant ist. (Das Forum läuft derzeit auf einer abgespeckten Installation von PHP 7.4, die OpenSSL nur noch als indirekte Abhängigkeit einsetzt, was aber nicht ideal ist.)
Ein Weiterbetrieb wäre nur mit einem Umzug in eine andere Umgebung möglich, und selbst z. B. mit Debian 11 oder einem verwalteten Webhoster könnte man sich so nicht mehr allzu viel Zeit kaufen.
Warum hat sich der Umzug auf MyBB 1.8 so lange gezogen?
Neben Plugins, die vor allem von gandro geschrieben wurden und relative geringe Anpassungen erfordern würden (z. B. wegen dem Wechsel des Javascript-Frameworks beim Plugin für die Bilder-Verkleinerung), besteht der Großteil der Arbeit im Austausch und manuellen Übernahme aller Änderungen an den Templates, welche die HTML- bzw. PHP-Schnipsel darstellen, aus denen das Forum zusammengebaut wird. Das ist niedere, aber umfangreiche Arbeit, die nicht nur für den Standard-, sondern jede Familie von Skins nicht nur im Zuge der Migration, sondern fortwährend mit jeder Aktualisierung auftreten kann, weil MyBB Änderungen in diesem Bereich nicht automatisch übernehmen kann.
Der MyBB-1.8-Versionszweig war außerdem monatelang ebenso inkompatibel mit PHP 8. Bis heute werden neue Tickets erstellt, in denen Platzhalter z. B. im Benutzer- oder Admin-CP zu Warnungen führen, weil jede nicht aufzufindende Variable in der Sprachdatei nun zu einer Warnung führt.
Wie schon gandro 2012 beschrieben hat, war MyBB die Option, die mehr Aufwand und Rückgriffe auf Plugins guter oder eher schlechter Qualität bedeutet hat, auch wenn sie den Erwerb einer Lizenz erübrigt hat. Leider habe ich im Moment noch weniger freie Zeit als vor sechs Jahren, als ich das Forum übernommen habe, um noch nebenbei im Dienst am Forum zu schrauben. Soweit ich mich vorsichtig umgehört habe, sieht das bei anderen erfahrenen Foren-Mitgliedern leider nicht anders aus.
Wenn nicht MyBB 1.8, was dann?
Da ich mich zugegeben nie besonders mit Alternativen beschäftigt habe, kam hier winfreak ins Spiel, der über seinen bestehenden Account einen alten Freund aus der Geschichte des WHFs vorgeschlagen hat: Das Forum der
WoltLab Suite, früher als WoltLab Burning Board bekannt.
Kurz gesagt: Das Woltlab-Forum bietet in einem Paket alle Funktionen, die vom WHF benötigt werden. Das beinhaltet nicht nur Funktionen, die in MyBB wie gesagt über Plugins und benutzerdefinierte Styles gelöst werden mussten (z. B. StopForumSpam, mobiles Design, Dark Mode, grundlegende Moderations-Tools), sondern auch Verbesserungen, durch die es weitaus einfacher ist, das Forum DSGVO-konform und dennoch ohne Cookie-Terrorbanner anzubieten.
Es ist zwar nicht möglich, das jetzige MyBB-1.6-Forum unmittelbar zu Woltlab zu migrieren, aber mit ein paar Kniffen lassen sich alle Daten über den MyBB-Upgrade-Assistenten in die Datenbank einer temporären MyBB-1.8-Instanz kopieren, mit der der Woltlab-MyBB-Importer arbeiten kann.
Was koschtet des?!
Gemäß Benachrichtigung im Admin-Panel beträgt der Preis der Lizenz für das Forum-Paket (was Support und Updates für 1 Jahr enthält) 124 € p. a. ab 2024, dieser verringert sich bei rechtzeitiger Verlängerung auf die Hälfte.
winfreak würde sich bereit zeigen, diese Kosten zu tragen. Wir sind einfach nicht mehr (größtenteils Jugendliche) ohne Arbeit und frei verfügbares Einkommen, dass es für mich oder die Gemeinschaft nicht mehr tragfähig wäre, diesen Betrag aufzubringen. Zum Vergleich kostet mich die Domäne derzeit etwa 15 € im Jahr und Coni ist vor allem anteilig mit ein paar Gigabyte Speicherplatz auf seinem Server und Backupspeicher beteiligt, auf dem er vorrangig eigene Dienste betreibt und ein paar andere Webseiten hostet. Derzeit besteht eine aktive Lizenz bis November 2024.
Andere kommerzielle Angebote wie XenForo oder Invision Community Suite würden sich in einem vergleichbaren Rahmen bewegen.
Was für Probleme gibt es derzeit mit dem Woltlab-Forum?
Diese Punkte beziehen sich auf die unten verlinkten Vorführinstanz.
- Avatare werden in der WoltLab Suite mit einer festen Größe von 128×128 Pixeln repräsentiert. Beim Import sind davon vor allem animierte GIF-Animationen in Mitleidenschaft gezogen worden, die nicht bereits ein annähernd quadratisches Seitenverhältnis haben.
- Es wurden zwar Smilies aus MyBB migriert, aber die bereits in Woltlab enthaltenen wie , , etc. wurden nicht ersetzt. In diesem Sinne sollten wir uns überlegen, inwiefern die eingebaute Unterstützung für Retina/HiDPI-Smilies genutzt werden sollte, auch wenn diese nur benutzt wird, um die Pixel-Smilies durch Pixel-Verdoppelung schärfer abzubilden.
- Der automatische Import der privaten Nachrichten unter „Konversationen“ hat in den vorherigen Fällen wie angedacht einen Strang von Antwort-PNs aus dem MyBB in eine Konversation umgewandelt, durch eine Kette von Umständen ist dies aber beim letzten Importlauf nicht passiert.
Was bedeutet das für die Leute, die das Forum über ihre alten Geräte aufrufen?
Während die Woltlab-Suite darauf ausgelegt ist, grundlegend ohne Javascript zu funktionieren, scheinen historische Browser dennoch mit deren Nutzung von modernem CSS überfordert zu sein. Aus diesem Grund würde ich dann auch vollständig HTTPS aktivieren. Ein HTTP-/HTTPS-Mischbetrieb würde wie in MyBB ein Plugin erfordern.
Im Vergleich haben ursprüngliche Versionen von MyBB 1.8 eine Version des jQuery-Frameworks eingesetzt, das noch z. B. mit IE6 kompatibel war, aber auch das ist nicht mehr gegeben.
Es ist aber angedacht, in Zukunft weiterhin eine legacy-freundliche Schnittstelle bereitzustellen, im Mindesten mit der Funktionalität des
Aprilscherzes von 2017. Außerdem schwebte mir schon immer vor, ein BBS-artiges System anzubieten – wenn schon nicht über Modem-Einwahl, sollte es doch wenigstens über Telnet o. ä. verfügbar sein.
Wie sieht das Ganze aus?
Der letzte Import basiert auf einem Daten-Export vom 1. November, 12 Uhr:
https://test.winhistory-forum.net/ (Woltlab Suite 6.0)
Das Forum ist vor unbefugten Zugriffen während der Testphase durch HTTP-Authentifizierung geschützt. Diese lauten wie folgt:
Benutzername:
public
Passwort:
WHF
Zur Vollständigkeit ist auch die temporäre MyBB-1.8-Instanz verfügbar. Hier habe ich zur besseren Navigation einen responsiven Forenstyle namens „Duende“ installiert, der Wechsel zu den klassischen Forenstyles offenbart aber eine Myriade an PHP-Fehlern (und fehlende Grafiken, die jetzt im PNG- statt GIF-Format gesucht werden).
https://test18.winhistory-forum.net/ (MyBB 1.8)
Wann willst du das durchziehen?
Soweit es keine gravierenden Einsprüche gibt, könnte ich das schon morgen heute oder morgen auf dem 37c3-Kongress in persönlicher Anwesenheit von Coni und winfreak durchführen. Alternativ hätte ich zeitnah in der ersten Januar-Woche 2024 genügend ungestörte Zeit.
Aus der Erfahrung von nicht weniger als vier Test-Migrationen dauert der gesamte Vorgang dabei etwa 13 Stunden. Zur Überbrückung würde ich ein Ersatz-Forum anbieten.