Developer hub/pt-br

Esta é uma visão geral de alto nível do desenvolvimento do MediaWiki, incluindo links para documentos chave, recursos e ferramentas disponíveis para os desenvolvedores do MediaWiki. Ele é escrito para desenvolvedores LAMP qualificados que tenham experiência no uso do MediaWiki.


 * Se você quiser "usar" as APIs web da Wikimedia, visite a página Web APIs hub (em desenvolvimento).
 * Se você quiser contribuir para o desenvolvimento do software Wikimedia, consulte New Developers.
 * Para uma introdução ao desenvolvimento do MediaWiki, leia como se tornar um hacker do MediaWiki.

Visão global
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.

O MediaWiki é desenvolvido em código aberto escrito em PHP primariamente para plataforma LAMP. O desenvolvimento do núcleo é amplamente coordenado online: 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.


 * A discussão de desenvolvimento ocorre em várias mailing lists e canais IRC. A lista de desenvolvedor principal é wikitech-l. O canal IRC do principal desenvolvedor é #mediawiki e #wikimedia-dev.
 * O código fonte é gerenciado utilizando-se o sistema de controle de revisões Git.
 * A revisão de código é executado em . Siga este tutorial para configurar o Git e Gerrit para enviar patches.
 * Bug reports and tasks for most projects are managed on Phabricator.
 * A interação e a extensão de desenvolvedores com o MediaWiki (em vez de trabalhar no código do núcleo) têm vários pontos de extensão convenientes, incluindo o API, o sistema Hooks e skins – veja a seção #Extensões MediaWiki desta página mais detalhes.

Documentos chave


Código, desenvolvimento e estilo

 * Development policy – uma visão geral das políticas de desenvolvimento chave.
 * Convenções de código – aprenda a escrever código ao estilo de MediaWiki.
 * Security for developers – aprenda como ajudar a manter o MediaWiki seguro.
 * Pre-commit checklist – revisão desta lista de verificação antes de confirmar o código.
 * Code review guide – um guia de revisão obrigatório ao código-fonte do MediaWiki.
 * Requests for Comment (RfC) – leia a respeito ou sugira novas funcionalidades para o ecossistema do MediaWiki

Depuração e teste

 * How to debug – um guia de depuração para o MediaWiki.
 * Manual:Errors and Symptoms – uma visão geral dos erros mais comuns do MediaWiki e seus sintomas correlacionados.
 *  – aprenda a escrever testes de interface de usuário para o MediaWiki usando o Selenium.
 * Unit testing – aprenda a escrever testes de unidade para o MediaWiki utilizando o PHPUnit.
 *  – saiba como escrever um código seguro.



Arquitetura

 * Manual:Code – uma visão geral das peças-chave do código-fonte do MediaWiki.
 * Database layout – uma visão geral dos esquemas de banco de dados do MediaWiki.
 * Variáveis de objeto globais – uma lista parcial das principais variáveis ​​globais.
 * Localisation – aprenda sobre o sistema de internacionalização do MediaWiki.
 * O namespace Manual neste wiki – documentação para desenvolvedores.
 * [//doc.wikimedia.org/mediawiki-core/master/php/ MediaWiki Class Reference] – documentação técnica gerada a partir do código fonte do MediaWiki.
 *  – manuais, guias e coleções de artigos selecionados.

Sub-sistemas

 * API – A API do MediaWiki fornece acesso direto de alto nível para os dados contidos nas bases de dados do MediaWiki.
 * ContentHandler – MediaWiki's framework for supporting custom types of page content.
 *  – uma visão geral do uso de bases de dados no MediaWiki, incluindo um breve guia para a camada de abstração de banco de dados.
 *  – Framework do MediaWiki para o processamento de longa execução de tarefas de forma assíncrona.
 *  – Framework do MediaWiki para fornecer mensagens de aplicativo localizadas com PHP ou JavaScript.

Extensões MediaWiki
O MediaWiki foi concebido para permitir a modificação sem alterar o código do núcleo. Isto torna mais fácil atualizar para uma nova versão do MediaWiki sem ter que mesclar manualmente mudanças no código antigo. Há seis pontos principais de extensão que permitem aos desenvolvedores alterar ou ampliar o que MediaWiki pode fazer. Os pontos de extensão são:


 * API – acessar os dados e os metadados das instâncias do MediaWiki através da sua API da Web
 * Hooks – cada vez que um determinado evento faça alguma coisa..
 * Parser Functions – cria um novo comando como:
 * Skins – altera a aparência do MediaWiki.
 * Páginas especiais – adiciona uma nova página especial.
 * Extensões de tags – cria uma nova tag como:
 * Extending wiki markup – add a parser hook to modify the content of wikitext.

Ajuda para desenvolvedores de extensões
Extension:BoilerPlate - uma predefinição de extensão em branco
 * Manual:Developing extensions – guia de desenvolvimento de extensões.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * Veja Category:Extensions, uma lista completa de extensões.
 * Manual:$wgExtensionFunctions – usado para adiar a instalação (ou executar outras chamadas de retorno) para extensões até depois que o núcleo do MediaWiki esteja instalado.

Ajuda para desenvolvedores de skins

 * Manual:Skinning Part 1 – instruções sobre como criar uma skin para o MediaWiki.
 * Manual:Skin configuration – um guia para a configuração de skins para uma wiki.

Ajuda para reutilização do código da biblioteca

 * – um guia para empacotar bibliotecas de terceiros para uso com o MediaWiki

Usos de wikis de terceiros

 * - para Wikis corporativos
 * - para Wikis acadêmicos