Entwickler-Zentrum

This page is a translated version of the page Developer hub and the translation is 100% complete.
  • Benutzer
  • Systemadministratoren
  • Entwickler
  • Übersetzer


Dies ist eine Übersicht der MediaWiki-Entwicklung, mit Links zu den wichtigsten Dokumenten, Hilfsmitteln und Werkzeugen, die MediaWiki-Entwicklern zur Verfügung stehen. Es wurde für geübte LAMP-Entwickler geschrieben, die bereits Erfahrung im Umgang mit MediaWiki haben.

  • Wenn Sie die Wikimedia Web APIs nutzen wollen, gehen Sie auf das Entwicklerportal.
  • Wenn Sie zur Entwicklung der Wikimedia beitragen möchten, lesen sie Neue Entwickler .
  • Für eine Einführung zum Entwickeln von MediaWiki lesen Sie bitte Wie man ein MediaWiki-Hacker wird .
  • Wenn Sie mit anderen MediaWiki-Benutzern von Drittanbietern zusammenarbeiten möchten, die MediaWiki Stakeholder-Gruppe (MWStake) ist eine MediaWiki-Special:MyLanguage/Groups, die aus MediaWiki-Entwicklern, Systemadministratoren, Benutzern, Beratern und Hosting-Anbieter besteht.

Übersicht

MediaWiki ist die Software, die Wikipedia, ihre Schwesterprojekte und Tausende von Wikis in der ganzen Welt betreibt.

MediaWiki ist in der Programmiersprache PHP geschrieben[1]. Es verwendet jQuery als Client-JavaScript-Bibliothek.

MediaWiki ist in erster Linie für die LAMP-Plattform[2] und läuft auf den meisten Betriebssystemen. MediaWiki verwendet hauptsächlich die Datenbankserver MySQL und MariaDB.[3]

Die Entwicklung geschieht im Stile von open source. [4] Dies wird größtenteils online koordiniert und von der Wikimedia-Foundation unterstützt, freiwillige Entwickler tragen jedoch ebenfalls einen großen Teil bei.

  • Diskussionen über die Entwicklung finden auf verschiedenen Mailinglisten und IRC Kanälen statt. Die wichtigste Liste für Entwickler ist wikitech-l. Der wichtigste IRC-Kanal für Entwickler ist #mediawiki connect.
  • Der Code wird mit dem Versionskontrollsystem Git verwaltet.[5]
  • Code Vorschau wird auf Gerrit durchgeführt. Sehen Sie sich dieses Tutorial an um Patches mit git und gerrit einzureichen.
  • Fehlerberichte und Aufgaben für die meisten Projekte werden auf Phabricator verwaltet.
  • Für Entwickler, die das MediaWiki erweitern oder daran andocken (statt den Kerncode zu bearbeiten), haben mehrere komfortable Erweiterungsmöglichkeiten, unter anderem die API, das Hooks-System und Skins – siehe dazu auch den Abschnitt #MediaWiki_erweitern dieses Artikels für einen Überblick.

Wichtige Dokumente

Code, Entwicklung und Stil

Fehlerbeseitigung und Testen

Architektur

  • MediaWiki-Architektur – Eine Einführung in die Architektur von MediaWiki.
  • Manual:Code – Ein Überblick über die zentralen Bausteine des Quellcodes von MediaWiki.
  • Manual:Database layout – ein Überblick über die Datenbankschemata von MediaWiki.
  • Handbuch:Global object variables – eine unvollständige Liste zentraler globaler Variablen.
  • Lokalisierung – Erfahren Sie etwas über das Internationalisierungssystem von MediaWiki.
  • Manual-Namensraum in diesem Wiki - Dokumentation für Entwickler.
  • MediaWiki Klassenreferenz – eine technische Dokumentation, die aus dem MediaWiki-Quellcode erstellt wurde (Achtung: Die Klassenreferenz ist eine große, langsam ladende Seite).

Teilsysteme

  • API – Die API von MediaWiki bietet direkten High-Level-Zugriff auf die Daten in der MediaWiki-Datenbank.
  • ContentHandler – Ein MediaWiki-Framework um eigene Inhaltstypen zu unterstützen.
  • Datenbank-Zugriff – ein Überblick über die Nutzung von Datenbanken in MediaWiki mit einem kurzen Leitfaden für die Datenbankabstraktionsschicht von MediaWiki.
  • Jobwarteschlange – Das MediaWiki-Framework, um lang laufende Aufgaben asynchron auszuführen.
  • Messages-API – Das MediaWiki-Framework um lokalisierte Systemmeldungen mit PHP und JavaScript bereitzustellen.

MediaWiki erweitern

MediaWiki ist dafür angelegt, Veränderungen ohne einen Eingriff in den "Kerncode" zu ermöglichen. Das vereinfacht die Aktualisierung auf eine neue MediaWiki-Version, ohne dass dabei händisch alte Änderungen des Erweiterungscodes eingepflegt werden müssen. Es gibt sechs zentrale Erweiterungspunkte, die es Entwicklern ermöglichen, den Funktionsumfang von MediaWiki zu erweitern oder zu ändern. Die Erweiterungspunkte sind:

  • API – Greifen Sie auf die Daten und Metadaten von MediaWiki Instanzen über die mächtige Action Web-API zu.
  • Hooks – Mache jedes Mal etwas, wenn ein bestimmtes Ereignis passiert.
  • Parser-Funktionen – Erstellen Sie einen neuen Befehl wie: {{#if:...|...|...}}
  • Oberflächen – ändern Sie das Aussehen von MediaWiki.
  • Spezialseiten – fügen Sie eine neue Spezialseite hinzu.
  • Tag Erweiterungen – erstellen Sie einen neuen Tag wie: ‎<newtag>...‎</newtag>
  • Extending wiki markup – füge einen Parser-Hook hinzu, um den Inhalt von Wikitext zu ändern.

Hilfe für Entwickler von Erweiterungen

Hilfe für Skin-Entwickler

Hilfe für die Wiederverwendung von Codebibliotheken

Infos

  1. Nicht alle Teile von MediaWiki sind in PHP geschrieben. Einige Hilfs-Tools sind in anderen Sprachen geschrieben, so z. B. Batch Dateien, Shell Skripte, Makefiles und Python.
  2. MediaWiki läuft auf den meisten Plattformen, die PHP unterstützen, jedoch kann das Fehlen bestimmter Dienstprogramme oder Betriebssystemfunktionen die Funktionalität oder Leistung von MediaWiki auf Nicht-LAMP-Plattformen einschränken.
  3. MediaWiki bietet Unterstützung für andere DBMS als MySQL und MariaDB, einschließlich PostgreSQL und SQLite.
  4. Die Entwickler sind ein Mix aus Freiwilligen und bezahlten Mitarbeitern (auch externe) verschiedener Organisationen. Eine vollständige Liste der Beitragenden zum MediaWiki-Code findet sich im Artikel Entwickler .
  5. Durchsuche den Quellcode und die Versionen von Code-Repositories in Gerrit oder lade den Quellcode auf dein System herunter, indem du Gerrit verwendest.