Entwickler-Zentrum

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Developer hub and the translation is 100% complete.

Other languages:
العربية • ‎български • ‎català • ‎čeština • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎فارسی • ‎suomi • ‎français • ‎galego • ‎עברית • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎سنڌي • ‎සිංහල • ‎тоҷикӣ • ‎ไทย • ‎Türkçe • ‎Tiếng Việt • ‎粵語 • ‎中文
Source code project 1171.svg
Crystal Clear app display.png BenutzerUser hub Nuvola-inspired-terminal.svg SystemadministratorenSysadmin hub Source code project 1171.svg EntwicklerDeveloper hub

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.

Übersicht[edit]

MediaWiki wird in Open Source-Manier entwickelt[1], nutzt die Programmiersprache PHP[2] und baut vornehmlich auf der LAMP Platform auf[3][4]. 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 Artikel über Git für einen Überblick, wie die MediaWiki-Entwickler Git nutzen. Lesen Sie den Artikel wikitech:Help:Access#Access FAQ, wenn Sie einen Zugang bekommen wollen.[5]
  • Code Vorschau wird auf GerritGerrit 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[edit]

Code, Entwicklung und Stil[edit]

Fehlerbeseitigung und Testen[edit]

Architektur[edit]

Teilsysteme[edit]

  • 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.
  • Database accessManual:Database access – ein Überblick über die Nutzung von Datenbanken in MediaWiki mit einem kurzen Leitfaden für die Datenbankabstraktionsschicht von MediaWiki.
  • Job queue/deManual:Job queue – Das MediaWiki-Framework, um lang laufende Aufgaben asynchron auszuführen.
  • Messages APIManual:Messages API – Das MediaWiki-Framework um lokalisierte Systemmeldungen mit PHP und JavaScript bereitzustellen.

MediaWiki erweitern[edit]

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:...|...|...}}
  • Skins – ändern Sie das Aussehen von MediaWiki.
  • Spezialseiten – fügen Sie eine neue Spezialseite hinzu.
  • Tag Erweiterungen – erstellen Sie einen neuen Tag wie: <newtag>...</newtag>

Hilfe für Entwickler von Erweiterungen[edit]

Hilfe für Skin-Entwickler[edit]

Hilfe für die Wiederverwendung von Codebibliotheken[edit]

Drittanwender Wiki Einsatz[edit]

Infos[edit]

  1. 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 DevelopersDevelopers.
  2. Nicht das ganze MediaWiki ist in PHP geschrieben. Einige unterstützende Werkzeuge benutzen andere Sprachen, unter anderem Batch Dateien, Shell Skripte, Makefiles und Python.
  3. 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.
  4. MediaWiki unterstützt weitere DBMS neben MySQL/MariaDB, unter anderem Oracle, PostgreSQL und SQLite.
  5. Browsen Sie durch den Quellcode und die Änderungen bei https://phabricator.wikimedia.org/diffusion/MW/ oder klonen Sie die Entwicklungsversion des Codes mit diesem Git Befehl:
    git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git MediaWiki
  6. Besuchen Sie https://phabricator.wikimedia.org/feed/ um die aktuellsten Veränderungen bei Bugs und Problemen in der Wikimedia Phabricator Instanz zu sehen.