Developer hub/ca



Això és una vista general del desenvolupament de MediaWiki, amb enllaços cap als documents essencials, els recursos i les eines disponibles als desenvolupadors de MediaWiki. Està escrita per a desenvolupadors de LAMP experts que tenen experiència amb MediaWiki.


 * Si voleu utilitzar les APIs web de Wikimedia, visiteu el Centre d'APIs web (encara en desenvolupament).
 * Per a una guia introductòria al desenvolupament de MediaWiki, llegiu Com esdevenir desenvolupador de MediaWiki.
 * Per a trobar ajuda en la instal·lació i en la personalització veieu.
 * Per a ajuda utilitzant MediaWiki, visiteu el.

Visió general
MediaWiki es desenvolupa en un estil de codi obert mitjançant el llenguatge de programació PHP principalment per a la plataforma LAMP. Core development is largely coordinated online.


 * Development discussion happens on various mailing lists and IRC channels. The main developer list is wikitech-l. The main developer IRC channels are #mediawiki and #wikimedia-dev.
 * Source code is managed using the Git revision control system.


 * Code review is performed on . Follow this tutorial to set up Git and Gerrit in order to submit patches.
 * Bug reports and tasks for most projects are managed on Phabricator.
 * Developers extending or interfacing with MediaWiki (instead of working on the core code) have several convenient extension points, including the API, the Hooks system and Skins – see the #Extending MediaWiki section of this page for an overview.

Key documents


Code, development and style

 * Development policy – an overview of key development policies.
 * Coding conventions – learn how to write code in the MediaWiki style.
 * Security for developers – learn how to help keep MediaWiki secure.
 * Pre-commit checklist – read this checklist before committing code.
 * Code review guide – a guide for reviewers of commits to the MediaWiki source code.
 * Requests for Comment (RfC) – read about or suggest new features for the MediaWiki ecosystem

Debugging and testing

 * How to debug – a guide to debugging MediaWiki.
 * Manual:Errors and symptoms – an overview of common MediaWiki errors and their correlating symptoms.
 *  – learn to write UI tests for MediaWiki using Selenium.
 * Unit testing – learn to write unit tests for MediaWiki using PHPUnit.
 *  – learn how to write secure code.



Architecture

 * Manual:Code – an overview of the key parts of MediaWiki's source code.
 * Database layout – an overview of MediaWiki's database schemas.
 * Global object variables – a partial list of key global variables.
 * Localisation - Descripció tècnica de la internacionalització (I18N) de MediaWiki.
 * Manual namespace on this wiki – documentation for developers.
 * [//doc.wikimedia.org/mediawiki-core/master/php/ MediaWiki Class Reference] – technical documentation generated from the MediaWiki source code. (Note: The class reference is a large, slow-to-load page.)
 *  – manuals, guides, collections of selected articles.

Sub-systems

 * API - API per a tenir accés directe ales dades
 * ContentHandler – MediaWiki's framework for supporting custom types of page content.
 *  – an overview of using databases in MediaWiki, including a brief guide to the database abstraction layer.
 *  – MediaWiki's framework for processing long-running tasks asynchronously.
 *  – MediaWiki's framework for providing localized application messages with PHP or JavaScript.

Estendre MediaWiki
MediaWiki ha estat dissenyat per a permetre una modificació sense canviar el "codi bàsic". Això fa molt fàcil l'actualització a una nova versió de MediaWiki sense haver de fusionar manualment les modificacions aportades. Hi ha 6 punts principals d'extensió que permeten als desenvolupadors afegir característiques i funcionalitats de MediaWiki o canviar les funcions existents. Aquests punts principals són :


 * API – access the data and metadata of MediaWiki instances through its web API
 * Hooks – Cada cop que succeeix "X", aleshores realitza...
 * Parser Functions - Crea una nova ordre com:
 * Skins – Canvia l'aparença de MediaWiki
 * Special Pages - Crea una nova pàgina especial.
 * Tag Extensions – Crea una nova etiqueta com:

Ajuda per als autors d'extensions

 * Manual:Developing extensions – a guide to developing extensions.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * Extension Matrix – Una llista millor, autogenerada. See also Category:Extensions, a less complete list of extensions.
 * Manual:$wgExtensionFunctions – use to defer setup (or run other callbacks) for extensions until after the MediaWiki core is setup.

Aparença

 * 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

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

Third-party wiki uses

 * - For Enterprise wikis
 * - For Academic wikis