Rolf B: TIL: Mediawiki - Listen in Definitionslisten schachteln

Hallo alle,

unser Wiki verwendet MediaWiki 1.27, was 10 Versionen älter als die Wikipedia ist. Es hat einen ärgerlichen Bug beim Umgang mit Definitionslisten

Ein Wiki-Markup wie dieser

; Forum
:* Self
:* Meta
:* Intern

sollte dieses HTML erzeugen (und tut es in der Wikipedia, mit Wikimedia-Version 1.37, auch):

<dl><dt> Forum</dt>
<dd>
<ul><li> Self</li>
<li> Meta</li>
<li> Intern</li></ul></dd></dl>

Tut es aber nicht. Statt dessen entsteht

<dl><dt> Forum
<ul><li> Self</li>
<li> Meta</li>
<li> Intern</li></ul></dt></dl>

D.h. das dd Element fehlt und die Liste wird dem dt Element zugeschlagen.

Es gibt aber einen Workaround:

; Forum
:
:* Self
:* Meta
:* Intern

Die leere Definitionszeile beendet das dt Element und beginnt das dd Element. Unnötiger Whitespace im dd Element wird nicht ausgegeben. Und die Liste wird korrekt dargestellt. In neueren Wikimedia-Versionen stört die Extrazeile nicht.

Rolf

--
sumpsi - posui - obstruxi
  1. @@Rolf B

    unser Wiki verwendet MediaWiki 1.27, was 10 Versionen älter als die Wikipedia ist.

    Gibt es einen Grund, das Wiki so ungepflegt zu lassen?

    😷 LLAP

    --
    „Man darf die Klimakrise doch echt jetzt nicht überbewerten.
    Es ist gar nicht klar, ob 2022 wieder Extremregen und Hochwasser bringt oder ob es ein ganz gewöhnliches Dürrejahr wird.“

    — @HalleVerkehrt
    1. Hallo Gunnar,

      ich würde mutmaßen: Es gibt keinen zwingenden Grund für einen Update (die reine Existenz einer neuen Version ist erstmal keiner) und Dedlfix hat keine Zeit. Wir sind kein Unternehmen, das auf Herstellersupport angewiesen ist und deshalb den Updategalopp des Anbieters mitgehen muss.

      Ein Update ist immer ein Risiko, irgendwas kann dabei zerbröseln. Und es würde ja auch bedeuten, das Offline-Wiki Paket neu zu packen.

      Mediawiki 1.27 ist eine LTS Version von 2016, die unter PHP 5.5.9 oder höher läuft. Wir betreiben sie unter PHP 7.0.33, d.h. ohne ein PHP Update können wir maximal auf die 1.31 updaten (letzte LTS die mit PHP 7.0 läuft). Das nützt auch nicht so viel.

      Ja, ich weiß, PHP 7.0 ist auch schon EOL. Aber angesichts der Tatsache, dass PHP Versionen nur noch 3 Jahre halten (2 Jahre in Service, 1 Jahr Maintenance, dann EOL), ist es ein mühsames Unterfangen, dort up-to-date zu bleiben.

      LTS Versionen von Mediawiki gibt's alle 2 Jahre, d.h. wir könnten auf PHP 8 und Mediawiki 1.35 hochrüsten. Aber das ist sicherlich eine Menge Testaufwand. Ob Dedlfix da hinter den Kulissen schon dran ist, weiß ich auch nicht.

      Rolf

      --
      sumpsi - posui - obstruxi
      1. @@Rolf B

        Ein Update ist immer ein Risiko, irgendwas kann dabei zerbröseln.

        Kein Update ist immer ein Risiko, irgendwelche Sicherheitslücken können dabei ungepatcht bleiben.

        😷 LLAP

        --
        „Man darf die Klimakrise doch echt jetzt nicht überbewerten.
        Es ist gar nicht klar, ob 2022 wieder Extremregen und Hochwasser bringt oder ob es ein ganz gewöhnliches Dürrejahr wird.“

        — @HalleVerkehrt
        1. Hallo Gunnar,

          ja. Wir haben beide recht. Nichts tun kann bedeuten, dass das Wiki gehackt wird. Ein Update ist viel Arbeit für dedlfix und kann alles mögliche bedeuten, von "läuft wie geschmiert" bis "fliegt auf der Schmiere aus der Kurve".

          Setz Dich mit dedlfix zusammen, wenn Du das Risiko für untragbar hältst.

          Rolf

          --
          sumpsi - posui - obstruxi