Ausblick auf WoltLab Suite 6.0

Die Entwicklung von WoltLab Suite 5.5 hat mit der Veröffentlichung vor einigen Wochen ihren Abschluss gefunden und dank der enorm hohen Stabilität der Version können wir einen Teil unserer Aufmerksamkeit auf die Weiterentwicklung von WoltLab Suite lenken. Wir haben uns dazu bereits im Vorfeld viele Gedanken gemacht und dazu aus verschiedenen Quellen Feedback eingeholt, um zu entscheiden, welchen Schwerpunkt wir für die nächste Version wählen möchten.

Neuer WYSIWYG-Editor

Der bestehende Editor „Redactor II“ hat über viele Jahre relativ gute Dienste geleistet, weist allerdings einige konzeptionelle Schwächen auf und wird bereits seit einiger Zeit zu Gunsten einer komplett neuen Fassung nicht mehr vom Hersteller weiterentwickelt. Die kontinuierliche Weiterentwicklung der Web-Browser tragen auch immer wieder zu Verhaltensänderungen bei, durch die sich ein kontinuierlicher Wartungsbedarf ergibt.


Wir haben uns eine große Anzahl an WYSIWYG-Editoren angesehen, um den für unseren Anwendungsfall idealen Kandidaten zu finden. Neben einer ordentlichen Programmierung war uns insbesondere wichtig, dass dieser mit der freien Lizenz von WoltLab Suite Core vereinbar ist und wir mehr Kontrolle über das erzeugte HTML haben, um bessere Ergebnisse zu liefern. Mit dem Wechsel fällt ebenfalls eine größere Komponente weg, die auf dem Relikt „jQuery“ basiert.


Aktuell arbeiten wir an einem Entwurf eines neuen Editors auf Basis der Version 2 von TipTap, einem modernen Editor, der technisch auf ProseMirror aufbaut. ProseMirror ist indirekt kein Unbekannter, er stammt vom selben Entwickler wie CodeMirror, der in einer älteren Version mit anderer technischer Basis bereits seit vielen Jahren von uns für die Code-Ansichten in der Administrationsoberfläche im Einsatz ist. Die Erfahrungswerte mit CodeMirror konnten in die Entwicklung von ProseMirror einfließen, insbesondere die Handhabung auf Smartphones war ein wesentliches Kriterium bei der Entwicklung.

Umstieg auf Font Awesome 6

Bis heute setzen wir bei den Icons noch auf Font Awesome 4. Diese haben ebenfalls gute Arbeit geleistet und sind auch heute noch gut benutzbar, bleiben aber weit hinter den Möglichkeiten aktueller Icons zurück. Die teilweise Unschärfe und uneinheitliche Positionierung der Icons macht die Arbeit nicht immer leicht, darüber hinaus ist die Auswahl an Icons eher begrenzt und man wird immer wieder vergeblich nach passenden Icons suchen oder Kompromisse eingehen müssen.


Mit Font Awesome 6 können wir modernere Icons in die Software einfließen lassen und mehr Möglichkeiten bei der Auswahl von Icons liefern, beispielsweise für die Darstellung von Foren. Wir wollten diese Umstellung bereits vor einiger Zeit angehen, jedoch gibt es eine Reihe von technischen Änderungen bei den Icons, die weitgehende Auswirkungen auf die Kompatibilität haben. Damals fiel die Entscheidung, die Umstellung um eine Version zu verschieben, damit wir genügend Zeit haben die Änderungen gewissenhaft durchzuführen.

Technische Modernisierung und Bereinigung von Altlasten

Wir knüpfen nahtlos an die PSR-7/PSR-15-Implementierung an, die wir bereits mit WoltLab Suite 5.5 angekündigt und teilweise umgesetzt haben. Insbesondere die Arbeit mit Rückgaben an den Client sowie die Veränderung von Responses zur Laufzeit werden damit deutlich erleichtert. Die Verwendung eines einheitlichen Standards macht es auch leichter, auf bestehende Bibliotheken zurückzugreifen, die auf denselben Schnittstellen aufbauen und kommunizieren. Der Einsatz von Middlewares erlaubt darüber hinaus weitreichenden Einfluss auf die Verarbeitung von eingehenden Anfragen.


Mit WoltLab Suite 6.0 werden wir die Systemanforderungen auf PHP 8.1 anheben, womit neben einer besseren Performance auch zahlreiche Erleichterungen für Entwickler eingehen. Eine stärkere Typisierung und Konstrukte wie Enums erlauben besseren und stabileren Code zu schreiben, von dem sowohl Anwender als auch Entwickler profitieren. Ebenfalls werden wir einige sehr alte Komponenten entfernen, für die es bereits seit längerem besseren Ersatz gibt. Für diesen Zweck pflegen wir bereits während der Entwicklung die Dokumentation und informieren damit frühzeitig über derartige Änderungen: https://docs.woltlab.com/5.6/m…55/deprecations_removals/

Was WoltLab Suite 6.0 nicht ist

Die Änderungen an den Icons sowie der Austausch des Editors wird weitreichende Inkompatibilitäten nach sich ziehen, von denen voraussichtlich die Mehrzahl an Erweiterungen betroffen sein wird. Auch wenn der Änderungsaufwand in den meisten Fällen eher vergleichsweise gering ausfallen wird, so stellt dies dennoch eine gewichtige Änderung dar. Die Wahl der Versionsnummer 6.0 statt der 5.6 soll die Bedeutung dieser Änderung unterstreichen.


Wir möchten an dieser Stelle jedoch mit Nachdruck unterstreichen, dass es sich weder um eine komplette Überarbeitung der Software handelt, noch dass wir von unseren bisherigen Release-Zyklen abweichen werden. Ein direktes Upgrade über die Administrationsoberfläche von WoltLab Suite 5.5 wird möglich sein.


Zum aktuellen Zeitpunkt streben wir eine Veröffentlichung für das 1. Quartal 2023 an.

Kommentare 24

  • Da höre ich einige meiner Teamler schon Freudenschreie machen, wenn der von einigen unbeliebte Editor ausgewechselt wird.

    Ich selbst freue mich auf die neuen FA6 Icons. Viele davon verwende ich bereits in Drucksachen und dann auch endlich Online.

  • Ich finde das Wort Cloud nicht. Kann mir wer helfen?

    OK 1
  • Freue mich irgendwie besonders auf FA6 und den neuen Editor. Bin gespannt, wo die Reise noch hin geht. :)

  • Die Änderungen klingen spannend, ich freue mich auf TipTap 🤤

  • Gehe ich richtig der Annahme aus, das für euch Redactor/X (die neuen Versionen) aufgrund der Lizenzen nicht in betracht kommen?

    • Nein, ausschlaggebend für unsere Entscheidung ist primär die Funktionalität und ob ein Editor zu unseren Anforderungen passt.

    • Mit dem CKEditor 5 habt ihr euch sicherlich auch befasst, das wäre ja eine naheliegende Option gewesen. Was Funktionalität betrifft, bietet der natürlich eine Menge. Von TipTap auf der anderen Seite habe ich noch nie gehört. Mich würde interessieren, welche Anforderungen TipTap besser erfüllt.


      Vielleicht ist das sogar eine Idee für einen etwas Blog-Artikel? Es geht hier ja um eine grundlegende Architektur-Entscheidung, welche vermutlich die Basis für die nächsten Jahre sein soll. Bei so etwas ist es immer gut, die geprüften Optionen, die Kriterien sowie den Entscheidungsprozess zu dokumentieren. Vielleicht ist das intern sogar passiert. Sowas kann aber auch für andere interessant sein. Die Zielgruppe für so einen Artikel wäre natürlich etwas spezieller, aber ich fände das sehr interessant. Wie generell Artikel, die etwas Einblicke in die Gedanken der Entwickler geben. ;)

    • Die Entscheidung für TipTap ist effektiv auf Grund von ProseMirror getroffen wurden. Bis vor wenigen Monaten war ProseMirror noch vollständig „JavaScript“ und TipTap bot eine durchgehende Implementierung auf Basis von TypeScript. Inzwischen wurde ProseMirror fast vollständig auf TypeScript umgestellt, so dass ich aktuell einen Wechsel direkt zu ProseMirror nicht ausschließe.


      CKEditor 5 und ProseMirror haben eines gemeinsam: Die Verwendung von contenteditable rein als I/O-Layer, wobei die Verarbeitung von Interaktionen sowie das DOM komplett dem Browser entzogen wird. Generell gilt, dass contenteditable in allen Browsern durchgehend einen Totalschaden darstellt und für fast alle Bugs von WYSIWYG-Editoren verantwortlich ist. Im direkten Vergleich konnte mich ProseMirror stärker überzeugen, auch wenn es relativ nah beieinander liegt.


      Ein Beispiel wäre Froala: Einfach mal mit Strg/Cmd+A alles markieren, auf „More Paragraph“ klicken und dann bei „Paragraph Format“ auf „Code“. Jetzt die Selektion aufheben, erneut alles per Tastatur markieren und jetzt immer wieder auf „Code“ klicken. Erst ändert sich der untere Teil, dann wird die Bildunterschrift verändert und ab dem 3. Mal werden mitten drin neue Zeilen eingefügt. Und ja, ein nachträgliches „Als Code formatieren“ ist ein typischer Anwendungsfall, der mir auch beim Redactor immer wieder Schweiß auf die Stirn getrieben hat…

      Gefällt mir 1
    • Interessant ^^ ich bin auf den neuen Editor auf alle Fälle mal gespannt.

    • Der CKEditor wird ebenfalls auf TypeScript umgestellt. Die heute veröffentlichte Version 35 beinhaltet bereits die erste migrierte Komponente. Da das offensichtlich ein Argument war, der CKEditor im Test sowieso sehr dicht bei TipTap lag, mir der CKEditor allerdings sehr, sehr viel mächtiger erscheint und bei mir sogar die offizielle Demo von TipTap mehrere Sekunden (!) benötigt, bis sie fertig initialisiert ist, hoffe ich, dass diese Entscheidung noch nicht final ist.

  • ein verschachteltes Hauptmenü im Desktop-Modus wäre der Hit :D

    • Was ist mit dem „verschachtelten Hauptmenü“ gemeint? Aufklappbare Untermenüs?

  • Verstehe ich das richtig, dass die geplante Version 5.6 übersprungen wird und es gleich zu Version 6 gehen wird? :/


    Auf jeden Fall coole Verbesserungen! :)

    • Ja, das ist korrekt. Damit möchten wir deutlich machen, dass es zu – wenn auch wahrscheinlich meist überschaubaren – Inkompatibilitäten kommt. Ebenso nutzen wir die Gelegenheit um ein paar veraltete und überflüssige Komponenten zu entfernen und auf moderne PHP-Versionen umzustellen.

  • Find ich super. In dem Zuge könntet ihr auch, neben den Icons, ein paar weitere Design Anpassungen vornehmen. Ich denke hier an nichts großem, aber wenn sich der Standardstil etwas an eure Website orientiert würde das der Software frischen Wind geben. (Ich mag die Farbverläufe und die abgerundeten Ecken)

    Gefällt mir 3
  • Finde das eine Lizenz für einen höherpreisigen Editor doch die bessere Option für Woltlab ist, eine Option auf einen neuen umzuschalten ab der kostenpflichtigen, falls man dies für die kostenfreie Core nicht möchte, wäre eindeutig die bessere Lösung aus meiner Sicht. Besonders nachhaltig und langfristig

    • Die Lizenz-Kosten für einen Editor sind nachrangig (*), viel wichtiger ist, dass ein Editor am Ende das leistet, was dieser soll. Wir haben uns eine ganze Reihe kostenpflichtiger Lösungen angesehen und keine davon konnte uns überzeugen. Unsere Entscheidung basiert primär darauf, was das Beste ist und nicht wie viel es kostet.


      (*) Der Hauptkostenfaktor ist die Integration in die Software mit allem was dazu gehört, zugleich stellt der Editor eine wichtige Komponente in unserer Software dar.

      Gefällt mir 1
  • Ist davon auszugehen, dass das WSC 6 auch weiterhin stellenweise noch jQuery nutzt?

    • Ja, jQuery und jQuery UI werden in unveränderter Fassung zur Verfügung stehen.


      Wir arbeiten kontinuierlich daran, die verbleibenden jQuery-basierten Komponenten durch moderne Lösungen zu ersetzen, dies ist allerdings mit erheblichem Aufwand verbunden und daher nur schrittweise möglich.

    • Jetzt hab ich die Befürchtung dass gewisse Plugins bereits mit der nächsten Version nicht mehr funktionieren werden.


      #rettetdencommunitybot ;(


      Hab aufs falsche Kommentar geantwortet, sry

      Gefällt mir 1