Hacke nicht den Kern von MediaWiki

This page is a translated version of the page Do not hack MediaWiki core and the translation is 100% complete.

Obwohl das Hacken des MediaWiki-Kerns in anderen MediaWiki-Supportforen häufig als Lösung vorgeschlagen wird, ist dies keine ideale Lösung. Im Allgemeinen verursacht es mehr Probleme, als es löst, und erschwert die Installation zukünftiger Upgrades nur.

Im Sinne dieses Aufsatzes beinhaltet "Kern" alle Dateien, die der ursprünglichen MediaWiki-Installation angehören. Das heißt alle Dateien außer LocalSettings.php, docker-compose.override.yml, die in Ihrem Ordner extensions oder skins oder anderen Ordnern, die Sie seit Ihrer Installation hinzugefügt haben.

Warum du keine Kern-Dateien verändern solltest

Egal, wie einfach es ist, Kerndateien zu ändern, damit MediaWiki das tut, was Sie wollen: widerstehen Sie der Versuchung.

  • Das wird es kompliziert, schwierig oder fast unmöglich machen, Website-Updates wie Sicherheits- und Bug-Fixes anzuwenden.
  • Sie werden es den Nachfolgern schwer machen, die Website zu pflegen.
  • Sie könnten Ihre Website möglicherweise anfällig für Exploits machen.
  • Andere Entwickler sind weniger geneigt, Ihnen zu helfen, wenn Sie Ihren Kern gehackt haben – und sei es nur aus dem Grund, dass es für sie schwierig ist herauszufinden was getan wurde.

Der MediaWiki-Kern wurde modular aufgebaut, es sollte also keinen Grund geben, ihn zu hacken. Wenn Sie eine Funktion wünschen, die Sie jedoch nicht ohne Änderung des Kerns erreichen können, sollten Sie eine Erweiterung entwickeln oder Ihren Hack als Patch einreichen. Senden Sie einen Fehlerbericht und teilen Sie der Community mit, welche Funktion Sie erreichen möchten. Diese wird dann getestet und Ihre Funktion kann Teil des MediaWiki-Kerns werden.

Probleme von Wikis, die ihren Kern hacken

  • Die Upgrade-Zeiten für MediaWiki betragen zwischen 30 Minuten und 6 Stunden oder sogar 6 Wochen, wenn Ihr diff anzeigt, dass 13.650 Zeilen geändert wurden.
  • Zunahme von Spam und anderen unerwünschten Angriffen aufgrund von Sicherheitslücken.
  • Fehlen neuer Funktionen aufgrund von widersprüchlichen Hacks an Kerndateien.
  • Unfähigkeit, die MediaWiki.org-Dokumentation zu verwenden – die gesamte Dokumentation wurde unter der Annahme geschrieben, dass Sie Ihre Kerndateien nicht gehackt haben (es sei denn natürlich, Sie schreiben eine Dokumentation speziell für die Bedienung von MediaWiki, wenn dieser bestimmte Hack verwendet wird).
  • Wiederholung des ursprünglichen Problems – da ein Fehlerbericht ein weitaus zuverlässigerer Weg zur Lösung eines Problems ist als ein Core-Hack – und sei es nur, weil eine Gruppe von Entwicklern das Problem untersucht und möglicherweise notwendige Codeänderungen entdeckt, die Sie übersehen haben.
  • Sich bei den Entwicklern darüber zu beschweren, dass die Kerndateien nicht funktionieren – und dabei nicht viel Verständnis zu finden – wenn man Kerndateien hackt – ist ein effektiver technischer Support so gut wie unmöglich.

Ausnahmen

Gibt es Ausnahmen zu dieser Regel?

Nein

Okay, sehr, sehr selten. Aber das gilt im Allgemeinen für bestimmte Wikis oder Implementierungen von Personen, die mit der Codebasis, den Entwicklungspraktiken und dem Sicherheitsmodell von MediaWiki bestens vertraut sind. Diejenigen, die ihre Änderungen ordnungsgemäß dokumentieren und eine ordnungsgemäße Revisionskontrolle ihres Codes durchführen. Wenn Sie fragen müssen, sollten Sie es wahrscheinlich nicht tun.

Erweiterungen

Beachten Sie, dass die meisten Informationen auf dieser Seite auch für wichtige Erweiterungen gelten. Es ist keine gute Idee, direkt mit dem Hacken der Semantic MediaWiki-Erweiterungen oder anderer Erweiterungen zu beginnen, die auf Wikipedia und anderen Wikimedia-Websites verwendet werden.

Eine Ausnahme könnte sein, wenn eine Erweiterung hauptsächlich durch Kopieren des Codes aus diesem Wiki installiert wird (anstatt ihn aus einem Software-Repository zu beziehen). Das bedeutet, dass die Wartung nicht sehr ernsthaft betrieben wird.

Was man tun sollte

Anstatt den MediaWiki-Kern zu hacken, gibt es mehrere alternative Lösungen, die in etwa in dieser Reihenfolge in Betracht gezogen werden können:

  1. MediaWiki ist von Haus aus ein leistungsstarkes Monster. Mit den Schnittstellenmeldungen von MediaWiki, wie etwa MediaWiki:Sidebar und vielen anderen, können Sie eine Menge machen. Informationen zu Ergänzungen und Änderungen bei JavaScript und CSS finden Sie auch auf den anderen Seiten dieses Wikis.
  2. Entwickeln Sie eine Erweiterung, die das Ziel Ihres Hacks erreicht, oder verwenden Sie einfach einen der vorhandenen Hooks.
  3. Übermittle einen Fehlerbericht
  4. Tragen Sie Ihre Kernverbesserungen in das Code-Repository ein, damit andere von Ihrer Korrektur profitieren können.

Siehe auch

  • {{Extension by patch warning }} — Vorlage, die zu den Seiten von Erweiterungen hinzugefügt wird, die Änderungen am MediaWiki-Kern erfordern.