Entwickler-Zentrum
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 zum $1 (in Arbeit).
- 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 Stakeholders' Group (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 is primarily written for the LAMP platform[2] and runs on most operating systems. MediaWiki primarily uses the MySQL and MariaDB database servers.[3]
MediaWiki wird in Open Source-Manier entwickelt[4], nutzt die Programmiersprache PHP[5] und baut vornehmlich auf der LAMP Platform auf[6][7].
- 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.[8]
- Code Vorschau wird auf Gerrit durchgeführt. Sehen sie sich dieses Tutorial an um Patches mit git und gerrit einzureichen.
- Bug reports and tasks for most projects are managed on Phabricator .
- 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
- Development policy – ein Überblick über die geltenden Entwicklungsrichlinien.
- Programmierstil – lernen sie, wie man Code im Stil von MediaWiki schreibt.
- Sicherheit für Entwickler – lernen Sie, wie sie MediaWiki sicher machen können.
- Manual:Pre-commit checklist – lesen Sie diese Checkliste bevor Sie Code einreichen.
- Code Vorschau Anleitung – eine Anleitung für Reviewer von Einreichungen.
- Technical Decision Making Process – read about the process to decide on making larger technical changes.
Fehlerbeseitigung und Testen
- Wie man Fehler beseitigt – eine Anleitung zum Debuggen von MediaWiki.
- Manual:Errors and symptoms – ein Überblick über häufige MediaWiki-Fehler und die dazu passenden Symptome.
- Testen im Browser – lernen Sie, wie man Oberflächentests für MediaWiki mit Selenium schreibt.
- Unittests – lernen Sie, wie man Unittests für MediaWiki mit PHPUnit schreibt.
- API integration tests – learn to write API integration tests for MediaWiki using Mocha.
- Sicherheit für Entwickler – learn how to write secure code.
Architektur
- MediaWiki architecture – an introduction to MediaWiki's architecture.
- 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.
- Handbuch: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.
- Job queue/de – Das MediaWiki-Framework, um lang laufende Aufgaben asynchron auszuführen.
- Handbuch: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.
- Handbuch:Hooks – Mache jedes Mal etwas, wenn ein bestimmtes Ereignis passiert.
- Parser-Funktionen – Erstellen Sie einen neuen Befehl wie:
{{#if:...|...|...}}
- Handbuch:Oberflächen – ändern Sie das Aussehen von MediaWiki.
- Spezialseiten – fügen Sie eine neue Spezialseite hinzu.
- Handbuch:Tag Erweiterungen – erstellen Sie einen neuen Tag wie:
<newtag>...</newtag>
- Extending wiki markup – add a parser hook to modify the content of wikitext.
Hilfe für Entwickler von Erweiterungen
- Manual: Entwickeln von Erweiterungen – eine Anleitung zum Entwickeln von Erweiterungen.
- Erweiterungen-FAQ
- Siehe Kategorie:Erweiterungen für eine Liste von Erweiterungen.
- Extension:BoilerPlate - eine leere Vorlage für Erweiterungen
Hilfe für Skin-Entwickler
- Manual:How to make a MediaWiki skin – Anweisungen, wie man eine Oberfläche für MediaWiki erstellt.
- Manual:Skin configuration – eine Anleitung, wie man Oberflächen für ein Wiki konfiguriert.
Hilfe für die Wiederverwendung von Codebibliotheken
- Handbuch:Entwickeln von Bibliotheken – eine Anleitung für das Paketieren von Bibliotheken von Drittanbietern für den Gebrauch in MediaWiki
Drittanwender Wiki Einsatz
Infos
- ↑ 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.
- ↑ MediaWiki runs on most platforms that can support PHP, however, the lack of certain utilities or operating system features may limit the functionality or performance of MediaWiki on non-LAMP platforms.
- ↑ MediaWiki has support for DBMS other than MySQL and MariaDB, including PostgreSQL and SQLite.
- ↑ Die Entwickler sind eine Mischung aus Freiwilligen und bezahlten Angestellten (oder Dienstleistern) in verschiedenen Organisationen. Für eine komplette Liste derjenigen, die am MediaWiki Code arbeiten, lesen Sie den Artikel $dev.
- ↑ Nicht das ganze MediaWiki ist in PHP geschrieben. Einige unterstützende Werkzeuge benutzen andere Sprachen, unter anderem Batch Dateien, Shell Skripte, Makefiles und Python.
- ↑ MediaWiki läuft auf den meisten Plattformen, die PHP unterstützen können. Allerdings kann es sein, dass bestimmte fehlende Werkzeuge oder Eigenschaften des Betriebssystems dazu führen, dass die Funktionalität oder die Performanz von MediaWiki auf Nicht-LAMP-Plattformen eingeschränkt ist.
- ↑ MediaWiki unterstützt weitere DBMS neben MySQL/MariaDB, unter anderem Oracle, PostgreSQL und SQLite.
- ↑ Browse the source code and revisions of code repositories at phab:diffusion/ or download the source code to your system by using Gerrit.