Developer hub/nl

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

Outdated translations are marked like this.
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 • ‎粵語 • ‎中文
Crystal Clear app display.png GebruikersUser hub Nuvola-inspired-terminal.svg SysteembeheerdersSysadmin hub Source code project 1171.svg OntwikkelaarsDeveloper hub

This is a high-level overview of MediaWiki development, including links to the key documents, resources and tools available to MediaWiki developers. It is written for skilled LAMP developers who have experience using MediaWiki.

  • If you want to use Wikimedia web APIs, visit Web APIs hub (work in progress).
  • If you want to contribute to developing Wikimedia software, see New Developers.
  • For an introductory guide to developing MediaWiki and MediaWiki extensions, read how to become a MediaWiki hacker.
  • If you want to collaborate with other third-party MediaWiki users, the MediaWiki Stakeholders' Group (MWStake) is a MediaWiki user group consisting of MediaWiki developers, system administrators, users, consultants, and hosting providers.

Overview

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[1]. It uses jQuery as the client JavaScript library.

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]

Development happens in an open source style[4], is largely coordinated online, and supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.

Key documents

Code, development and style


Debugging and testing


Architecture

Sub-systems

  • API - externe API voor de directe toegang tot gegevens.

MediaWiki uitbreiden

MediaWiki is zo gemaakt dat het wijzigingen toelaat zonder de "kerncode" te wijzigen. Dit maakt het makkelijk om bij te werken naar een nieuwe versie van van MediaWiki zonder handmatig te moeten samenvoegen met oude codewijzigingen. Er zijn zes belangrijke uitbreidingspunten die ontwikkelaars toelaten om functies toe te voegen aan MediaWiki of om bestaande functies te wijzigen. De uitbreidingspunten zijn:

  • API – access the data and metadata of MediaWiki instances through its web API.
  • Hooks - Iets doen elke keer dat "X" gebeurt...
  • Parser Functions - Een nieuw bevel maken zoals: {{#if:...|...|...}}
  • Skins - De vormgeving en het uiterlijk van MediaWiki wijzigen.
  • Special Pages - Een nieuwe speciale pagina toevoegen.
  • Tag Extensions - Een nieuwe tag maken zoals: <newtag>...</newtag>
  • Extending wiki markup – add a parser hook to modify the content of wikitext.

Hulp voor schrijvers van uitbreidingen

Help for skin developers

Help for library code reuse

Third-party wiki uses

Notes

  1. Not all of MediaWiki is written in PHP. Some supporting tools are written in other languages, including batch files, shell scripts, makefiles and Python.
  2. 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.
  3. MediaWiki has support for DBMS other than MySQL and MariaDB, including Oracle, PostgreSQL, SQLite, and Microsoft SQL Server.
  4. Developers are a mix of volunteers and paid staff (or contractors) for various organizations. For a full list of who works on the MediaWiki code, read the DevelopersDevelopers article.
  5. Browse the source code and revisions of code repositories at https://phabricator.wikimedia.org/diffusion/ or download the source code to your system by using Gerrit.