Centre dels desenvolupadors
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 Portal del desenvolupador.
- If you want to contribute to developing Wikimedia software, see Nous desenvolupadors .
- Per a una guia introductòria al desenvolupament de MediaWiki, llegiu 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.
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.[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]
El desenvolupament té lloc a l'estil codi obert[4], està coordinat en gran part en línia i està recolzat per la Wikimedia Fundació, tot i que els desenvolupadors de comunitats voluntàries també tenen un paper important.
- La discussió sobre el desenvolupament es realitza a diverses llistes de correu i canals d'IRC. La llista de correu principal és wikitech-l. El canal d'IRC principal és #mediawiki connect.
- El codi font es gestiona mitjançant el sistema de control de versions Git.[5]
- La revisió de codi es realitza a Gerrit . 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
- Development policy – un resum de les normes de desenvolupament essencials.
- Convencions de programació – apreneu a escriure el codi a l'estil de MediaWiki.
- Security for developers – apreneu com podeu col·laborar a mantenir segur MediaWiki.
- Manual:Pre-commit checklist – 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.
- Technical Decision Making Process – read about the process to decide on making larger technical changes.
Depuració i verificació
- Com depurar – una guia per depurar MediaWiki.
- Manual:Errors and symptoms – un resum dels errors comuns de MediaWiki i els símptomes corresponents.
- Verificació amb navegadors – 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.
- API integration tests – learn to write API integration tests for MediaWiki using Mocha.
- Security for developers – apreneu a escriure codi segur.
Arquitectura
- MediaWiki architecture – an introduction to MediaWiki's architecture.
- Manual:Code – un resum de les parts essencials del codi font de MediaWiki.
- Manual:Database layout – un resum dels esquemes de la base de dades de MediaWiki.
- Manual:Global object variables – 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.
- 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.)
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.
- Database access – 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.
- Job queue – el marc de MediaWiki per processar asíncronament tasques de llarga durada.
- Messages API – 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:
{{#if:...|...|...}}
. - Skins – Canvia l'aparença de MediaWiki
- Special pages – Crea una nova pàgina especial.
- Tag extensions – Crea una nova etiqueta com:
<newtag>...</newtag>
. - Extending wiki markup – add a parser hook to modify the content of wikitext.
Ajuda per als autors d'extensions
- Manual:Developing extensions – a guide to developing extensions.
- Extensions FAQ
- Consulteu Categoria:Extensions per obtenir una llista de les extensions.
- Extension:BoilerPlate - a blank extension template.
Aparença
- Manual:How to make a MediaWiki skin – 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
- Manual:Developing libraries – una guia per empaquetar llibreries de tercers per poder-les utilitzar amb MediaWiki
Notes
- ↑ Not all of MediaWiki is written in PHP. Some supporting tools are written in other languages, including batch files, shell scripts, makefiles and Python.
- ↑ 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.
- ↑ MediaWiki has support for DBMS other than MySQL and MariaDB, including PostgreSQL and SQLite.
- ↑ Els desenvolupadors són una combinació de voluntaris i personal remunerat (o contractistes) per a diverses organitzacions. Per obtenir una llista completa de qui treballa al codi MediaWiki, llegiu l'article Developers .
- ↑ Cerqueu el codi font i les revisions dels repositoris de codi a Gerrit o baixeu el codi font al vostre sistema utilitzant Gerrit .