Parsoid

Aus Splitterwiki
Zur Navigation springen Zur Suche springen

Ausblick: Parser-Umstellung und Vorlagenpflege Stewie 2025-05-18 Technisches MediaWiki wird künftig den Parser umstellen. Davon betroffen sind auch zwei Erweiterungen, die wir aktiv nutzen – hier steht, was ihr beachten solltet. [[HatVolltext::In kommenden MediaWiki-Versionen (voraussichtlich ab 1.41) wird der Parser technisch grundlegend umgestellt. Ziel ist ein stabileres und standardisiertes Parsermodell mit langfristiger Unterstützung – bekannt als die sogenannte Parsoid Parser Engine.

Was bedeutet das für uns? Auch wenn wir noch nicht direkt betroffen sind, möchten wir heute schon darauf hinweisen, welche Techniken wir künftig vermeiden sollten, um unnötige Umbauten später zu verhindern.

Folgende Erweiterungen sind in unserem Wiki betroffen:

  • **Variables** – `#var`, `#vardefine`, `#var_final`
  • **Arrays** – `#arraymap`, `#arraydefine`, `#arraysize`, usw.

Diese Erweiterungen basieren auf sequentieller Verarbeitung im Wikitext – eine Technik, die vom neuen Parsermodell nicht mehr unterstützt wird. Das MediaWiki-Team selbst hat dies im offiziellen Hintergrundartikel dokumentiert.

Was ist Parsoid genau? Parsoid ist eine Parser-Bibliothek, die seit MediaWiki 1.35 fester Bestandteil des Systems ist. Sie wurde ursprünglich entwickelt, um den VisualEditor zu unterstützen, und wandelt Wikitext zuverlässig in HTML (und zurück) um. Parsoid wurde in JavaScript begonnen, später aber vollständig in PHP portiert und ist heute die Grundlage für eine einheitliche Parser-Architektur in MediaWiki.

Langfristig wird Parsoid den alten (Legacy-)Parser vollständig ersetzen. Der alte Parser wird zwar noch bis einschließlich MediaWiki 1.43 (LTS, Support bis Dezember 2027) unterstützt – danach ist allerdings **mit dem Wegfall der Unterstützung zu rechnen**.

Was bringt Parsoid?

  • **Konsistentes Verhalten** zwischen VisualEditor und Quelltext
  • **Stabilere Verarbeitung** komplexer Seiten und Vorlagen
  • **Einheitliche Schnittstellen** für Erweiterungen
  • **Bessere Performance** durch modernen Code

Unsere Empfehlung:

  • Bitte **keine neuen Vorlagen mehr mit Variablen- oder Array-Funktionen** schreiben
  • Bestehende Vorlagen bei Gelegenheit **vereinfachen oder umstellen**
  • Setzt bevorzugt auf native Parserfunktionen wie `#if`, `#ifeq`, `#switch`

Wir möchten damit frühzeitig die Weichen stellen, damit das Splitterwiki auch in Zukunft stabil und kompatibel bleibt – ohne hastige Umbauten kurz vor dem nächsten LTS-Ende.

Danke für eure Mithilfe und euer Verständnis! Euer Splitterwiki-Team]]


Ausblick: Parser-Umstellung und Vorlagenpflege

Veröffentlicht am 2025-05-18von Stewie


In kommenden MediaWiki-Versionen (voraussichtlich ab 1.41) wird der Parser technisch grundlegend umgestellt. Ziel ist ein stabileres und standardisiertes Parsermodell mit langfristiger Unterstützung – bekannt als die sogenannte Parsoid Parser Engine. Was bedeutet das für uns? Auch wenn wir noch nicht direkt betroffen sind, möchten wir heute schon darauf hinweisen, welche Techniken wir künftig vermeiden sollten, um unnötige Umbauten später zu verhindern. Folgende Erweiterungen sind in unserem Wiki betroffen:

  • **Variables** – `#var`, `#vardefine`, `#var_final`
  • **Arrays** – `#arraymap`, `#arraydefine`, `#arraysize`, usw.
Diese Erweiterungen basieren auf sequentieller Verarbeitung im Wikitext – eine Technik, die vom neuen Parsermodell nicht mehr unterstützt wird. Das MediaWiki-Team selbst hat dies im offiziellen Hintergrundartikel dokumentiert. Was ist Parsoid genau? Parsoid ist eine Parser-Bibliothek, die seit MediaWiki 1.35 fester Bestandteil des Systems ist. Sie wurde ursprünglich entwickelt, um den VisualEditor zu unterstützen, und wandelt Wikitext zuverlässig in HTML (und zurück) um. Parsoid wurde in JavaScript begonnen, später aber vollständig in PHP portiert und ist heute die Grundlage für eine einheitliche Parser-Architektur in MediaWiki. Langfristig wird Parsoid den alten (Legacy-)Parser vollständig ersetzen. Der alte Parser wird zwar noch bis einschließlich MediaWiki 1.43 (LTS, Support bis Dezember 2027) unterstützt – danach ist allerdings **mit dem Wegfall der Unterstützung zu rechnen**. Was bringt Parsoid?
  • **Konsistentes Verhalten** zwischen VisualEditor und Quelltext
  • **Stabilere Verarbeitung** komplexer Seiten und Vorlagen
  • **Einheitliche Schnittstellen** für Erweiterungen
  • **Bessere Performance** durch modernen Code
Unsere Empfehlung:
  • Bitte **keine neuen Vorlagen mehr mit Variablen- oder Array-Funktionen** schreiben
  • Bestehende Vorlagen bei Gelegenheit **vereinfachen oder umstellen**
  • Setzt bevorzugt auf native Parserfunktionen wie `#if`, `#ifeq`, `#switch`
Wir möchten damit frühzeitig die Weichen stellen, damit das Splitterwiki auch in Zukunft stabil und kompatibel bleibt – ohne hastige Umbauten kurz vor dem nächsten LTS-Ende. Danke für eure Mithilfe und euer Verständnis! Euer Splitterwiki-Team