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).
 * If you want to contribute to developing Wikimedia software, see New Developers.
 * Per a una guia introductòria al desenvolupament de MediaWiki, llegiu Com esdevenir desenvolupador de MediaWiki.
 * If you want to collaborate with other third-party MediaWiki users, the (MWStake) is a MediaWiki user group consisting of MediaWiki developers, system administrators, users, consultants, and hosting providers.

Visió general
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. It uses jQuery as the client JavaScript library.

MediaWiki is primarily written for the LAMP platform and runs on most operating systems. MediaWiki primarily uses the MySQL and MariaDB database servers.

MediaWiki es desenvolupa en un estil de codi obert mitjançant el llenguatge de programació PHP principalment per a la plataforma LAMP. For a full list of who works on the MediaWiki code, read the article. , is largely coordinated online, and supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.


 * 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.
 * Guia de la revisió de codi – una guia per als revisors de les contribucions al codi font de MediaWiki.
 * Demandes de comentaris (RFC) – llegiu sobre les característiques noves de l'ecosistema de MediaWiki, o suggeriu-ne.

Depuració i verificació

 * Com depurar – una guia per depurar MediaWiki.
 * Manual:Errors i símptomes – un resum dels errors comuns de MediaWiki i els símptomes corresponents.
 *  – apreneu a escriure verificacions de la interfície d'usuari de MediaWiki mitjançant Selenium.
 * Verificació unitària – apreneu a escriure verificacions unitàries per a MediaWiki mitjançant PHPUnit.
 *  – apreneu a escriure codi segur.



Arquitectura

 * Manual:Codi – un resum de les parts essencials del codi font de MediaWiki.
 * Disposició de la base de dades – un resum dels esquemes de la base de dades de MediaWiki.
 * Variables d'objecte globals – una llista parcial de les variables globals essencials.
 * Localisation - Descripció tècnica de la internacionalització (I18N) de MediaWiki.
 * Espai de noms Manual d'aquest wiki – documentació per als desenvolupadors.
 * [//doc.wikimedia.org/mediawiki-core/master/php/ Documentació sobre les classes de MediaWiki] – documentació tècnica generada a partir del codi font de MediaWiki. (Nota: És una pàgina llarga i lenta de carregar.)
 *  – manuals, guies, col·leccions d'articles

Sub-sistemes

 * API – L'API de MediaWiki proporciona un accés directe i d'alt nivell a les dades que hi ha a les bases de dades de MediaWiki
 * ContentHandler – el marc de MediaWiki per admetre les pàgines amb tipus de contingut personalitzats.
 *  – un resum de l'ús de les bases de dades a MediaWiki, amb una breu guia sobre la capa d'abstracció de bases de dades.
 *  – el marc de MediaWiki per processar asíncronament tasques de llarga durada.
 *  – el marc de MediaWiki per proporcionar missatges d'aplicació traduïts, mitjançant PHP o 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 – per accedir a les dades i les metadades dels exemplars de MediaWiki a través de l'API web
 *  – * 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:
 *  – add a parser hook to modify the content of wikitext.

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 – instruccions per crear una aparença de MediaWiki.
 * Manual:Skin configuration – una guia per configurar les aparences d'un wiki.

Ajuda per reutilitzar codi de biblioteques

 * – una guia per empaquetar llibreries de tercers per poder-les utilitzar amb MediaWiki.

Ús en wikis de tercers

 * - Per a wikis d'empresa
 * - Per a wikis acadèmics