Developer hub/de

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, welche bereits Erfahrung im Umgang mit MediaWiki haben.


 * Wenn Sie die Wikimedia Web APIs nutzen wollen, gehen Sie zum Web-APIs-Zentrum (in Arbeit).
 * If you want to contribute to developing Wikimedia software, see New Developers.
 * Für eine Einführung zum Entwickeln von MediaWiki, lesen Sie bitte wie man ein MediaWiki Hacker wird.

Übersicht
MediaWiki is the software that powers Wikipedia, its sister projects and thousands of wikis all over the world.

MediaWiki is written in the PHP programming language. It uses jQuery as the client JavaScript library.

MediaWiki is primarily written for the LAMP platform and runs on most operating systems. MediaWiki primarily uses the MySQL and MariaDB database servers.

MediaWiki wird in Open Source-Manier entwickelt, nutzt die Programmiersprache PHP und baut vornehmlich auf der  LAMP Platform auf. For a full list of who works on the MediaWiki code, read the article. , is largely coordinated online, and supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.


 * Diskussionen über die Entwicklung finden auf verschiedenen Mailinglisten und IRC Kanälen statt. Die wichtigste Liste für Entwickler ist wikitech-l. Die wichtigsten IRC-Kanäle für Entwickler sind #mediawiki und #wikimedia-dev.
 * Der Code wird mit dem Versionskontrollsystem Git verwaltet.
 * Code Vorschau wird auf 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 sie Code in Stil von MediaWiki schreiben.
 * Security for developers – lernen sie, wie sie MediaWiki sicher machen können.
 * Pre-commit Checkliste – lesen sie diese Checkliste bevor sie Code einreichen.
 * Code Vorschau Anleitung – eine Anleitung für Betrachter von Einreichungen.
 * Änderungsanfragen – lesen sie wie sie Änderungen an MediaWiki vorschlagen können.

Fehlerbeseitigung und Testen

 * Wie man Fehler beseitigt – eine Anleitung zum Debuggen von MediaWiki.
 * Fehler und Symptome – ein Überblick über häufige MediaWiki Fehler und die dazu passenden Symptome.
 *  – lernen Sie, wie man Oberflächentests für MediaWiki mit Selenium schreibt.
 * Unittests – lernen Sie, wie man Unittests für MediaWiki mit PHPUnit schreibt.
 *  – Sicherheitsprobleme werden an [mailto:security@wikimedia.org security@wikimedia.org] gesendet.



Architektur

 * Manual:Code – Ein Überblick über die zentralen Bausteine des Quellcodes von MediaWiki.
 * Datenbanklayout – ein Überblick über die Datenbankschemata von MediaWiki.
 * Variablen für globale Objekte – eine unvollständige Liste zentraler globaler Variablen.
 * Localisierung – Erfahren Sie etwas über das Internationalisierungssystem von MediaWiki.
 * Manual-Namensraum in diesem Wiki - Dokumentation für Entwickler.
 * [//doc.wikimedia.org/mediawiki-core/master/php/ MediaWiki Klassenreferenz] – eine technische Dokumentation, die aus dem MediaWiki-Quellcode erstellt wurde (Achtung: Die Klassenreferenz ist eine große, langsam ladende Seite).
 *  – Handbücher, Anleitungen, Sammlungen von ausgewählten Artikeln.

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.
 *  – ein Überblick über die Nutzung von Datenbanken in MediaWiki mit einem kurzen Leitfaden für die Datenbankabstraktionsschicht von MediaWiki.
 *  – Das MediaWiki-Framework, um lang laufende Aufgaben asynchron auszuführen.
 *  – 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:
 * Skins – ändern Sie das Aussehen von MediaWiki.
 * Spezialseiten – fügen Sie eine neue Spezialseite hinzu.
 * Tag Erweiterungen – erstellen Sie einen neuen Tag wie:
 * Extending wiki markup – add a parser hook to modify the content of wikitext.

Hilfe für Entwickler von Erweiterungen

 * Manual:Extensions entwickeln – eine Anleitung zum Entwickeln von Erweiterungen.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * Siehe Category:Extensions für eine Liste von Erweiterungen.
 * Manual:$wgExtensionFunctions – verwenden Sie diese, um die Einrichtung einer Erweiterung aufzuschieben (oder andere Callbacks aufzurufen), bis der MediaWiki-Kern eingerichtet ist.
 * Extension:BoilerPlate - eine leere Vorlage für Erweiterungen

Hilfe für Skin-Entwickler

 * Manual:Skinning Part 1 – 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

 * – eine Anleitung für das Paketieren von Bibliotheken von Drittanbietern für den Gebrauch in MediaWiki

Drittanwender Wiki Einsatz

 * - Für Firmenwikis
 * - Für Wikis in der Bildung