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. El desenvolupament del nucli es coordina en gran part en línia.


 * La discussió sobre el desenvolupament es realitza a diverses llistes de correu i canals d'IRC. La llista de correu principal és wikitech-l. Els canals d'IRC principals són #mediawiki i #wikimedia-dev.
 * El codi font es gestiona mitjançant el sistema de control de versions Git.


 * La revisió de codi es realitza a . Per configurar Git i Gerrit de manera que pugueu enviar pedaços, seguiu aquest tutorial.
 * Bug reports and tasks for most projects are managed on Phabricator.
 * Els desenvolupadors que creen extensions o utilitzen la interfície de MediaWiki (en comptes de treballar al codi del nucli) tenen disponibles diversos punts d'extensió molt pràctics: l'API, el sistema de hooks i les aparences – vegeu la secció #Estendre MediaWiki d'aquesta pàgina per fer-vos-en una idea.

Documents essencials


Codi, desenvolupament i estil

 * Normativa de desenvolupament – un resum de les normes de desenvolupament essencials.
 * Convencions de programació – apreneu a escriure el codi a l'estil de MediaWiki.
 * Seguretat per a desenvolupadors – apreneu com podeu col·laborar a mantenir segur MediaWiki.
 * Llista de comprovació pre-contribució – llegiu aquesta llista de comprovació abans de contribuir codi.
 * 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