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).
 * Für eine Einführung zum Entwickeln von MediaWiki, lesen Sie bitte wie man ein MediaWiki Hacker wird.
 * Hilfe zur Installation oder Anpassung von MediaWiki finden Sie im.
 * Für Hilfe zur Verwendung von MediaWiki besuchen Sie das.

Übersicht
MediaWiki wird in Open Source-Manier entwickelt, nutzt die Programmiersprache PHP und baut vornehmlich auf der  LAMP Platform auf. Die Entwicklung des Programmkerns wird weitestgehend online koordiniert.


 * 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. Lesen Sie den Artikel über Entwickler, um ein Gefühl dafür zu bekommen, wer die Leute auf den Mailinglisten und den IRC-Kanälen sind.
 * Der Code wird mit dem Versionskontrollsystem Git verwaltet. Lesen sie den Git Artikel, um einen Überblick zu bekommen, wie MediaWiki Entwickler Git benutzten . Lesen sie den wikitech:Help:Access Artikel, wenn sie Zugang erhalten möchten. Lesen Sie den Artikel über Git für einen Überblick, wie die MediaWiki-Entwickler Git nutzen. Lesen Sie den Artikel wikitech:Help:Access, wenn Sie einen Zugang bekommen wollen.


 * Code Vorschau wird auf durchgeführt. Sehen sie sich dieses Tutorial an um Patches mit git und gerrit einzureichen.
 * 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/de – ein Überblick über die geltenden Entwicklungsrichlinien.
 * Programmierstil – lernen sie, wie sie PHP Code in Stil von MediaWiki schreiben.
 * Security for developers/de – lernen sie, wie sie MediaWiki sicher machen können.
 * Pre-commit checklist – 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

 * Bugs – Ein Überblick über das Bugtracking im MediaWiki Projekt.
 * 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/html/ MediaWiki Klassenreferenz] – eine technische Dokumentation, die aus dem MediaWiki-Quellcode erstellt wurde. (Achtung: Die Klassenreferenz ist eine große, langsam ladende Seite.)
 * Virtuelle MediaWiki Bibliothek – 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.
 * Datenbankzugriff – ein Überblick über die Nutzung von Datenbanken in MediaWiki mit einem kurzen Leitfaden für die Datenbankabstraktionsschicht von MediaWiki.
 * Job queue – Das MediaWiki-Framework, um lang laufende Aufgaben asynchron auszuführen.
 * Messages API – MediaWiki's framework for providing localized application messages with PHP or JavaScript.

MediaWiki erweitern
MediaWiki has been designed to allow for modification without changing the "core code". This makes it easy to update to a new version of MediaWiki without having to manually merge in old extension code changes. There are six main extension points that allow developers to change or extend what MediaWiki can do. The extension points are:


 * API – access the data and metadata of MediaWiki instances through its powerful "Action" web API
 * Hooks – every time a given event happens, do something.
 * Parser Functions – create a new command like:
 * Skins – change the look and feel of MediaWiki.
 * Special Pages – add a new special page.
 * Tag Extensions – create a new tag like:

Hilfe für Entwickler von Erweiterungen

 * Manual:Developing extensions – a guide to developing extensions.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * See Category:Extensions, for a list of extensions.
 * Manual:$wgExtensionFunctions – use to defer setup (or run other callbacks) for extensions until after the MediaWiki core is setup.
 * Extension:BoilerPlate - a blank extension template

Hilfe für Skin-Entwickler

 * Manual:Skinning Part 1 – instructions on how to create a skin for MediaWiki.
 * Manual:Skin configuration – a guide to configuring skins for a wiki.

Help for library code reuse

 * Manual:Developing libraries – a guide to packaging third-party libraries for use with MediaWiki

Drittanwender Wiki Einsatz

 * - For Enterprise wikis
 * - For Academic wikis