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.

Para uma introdução ao desenvolvimento do MediaWiki, leia como se tornar um hacker do MediaWiki.

Para ajuda na instalação ou modificação do MediaWiki, visite a página. Para ajuda sobre como usar o MediaWiki, visite a página.

Visão global
O MediaWiki é desenvolvido em código aberto escrito em PHP primariamente para plataforma LAMP. O desenvolvimento do núcleo é amplamente coordenado online:


 * 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. Leia o artigo Developers para ter uma idéia de quem são as pessoas nas listas de discussão e canais de IRC.


 * O código fonte é gerenciado utilizando-se o sistema de controle de revisões Git. Leia o artigo sobre o Git para uma visão geral de como os desenvolvedores do MediaWiki usam o Git. Leia o artigo labsconsole Help:Access se desejar acesso.


 * A revisão de código é realizada no Gerrit, consulte este tutorial para obter configuração com o git e o Gerrit, a fim de submeter patches.


 * 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.


 * Coding conventions – learn how to write PHP code in the MediaWiki style.


 * 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

 * Bugs – an overview of bug tracking in the MediaWiki project.


 * How to debug – a guide to debugging MediaWiki.


 * Manual:Errors and symptoms – an overview of common MediaWiki errors and their correlating symptoms.


 * Selenium Framework – aprenda a escrever testes de interface de usuário para o MediaWiki usando o Selenium.


 * Unit testing – learn to write unit tests for MediaWiki using PHPUnit.


 *  – security issues are reported to [mailto:security@wikimedia.org security@wikimedia.org].



Arquitetura

 * 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 – learn about MediaWiki's internationalisation system.


 * Manual namespace on this wiki – documentation for developers.


 * MediaWiki Class Reference – documentação técnica gerada a partir do código fonte do MediaWiki.


 * MediaWiki Virtual Library (MVL) - 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.


 * Database access – 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.


 * Fila de tarefas – Framework do MediaWiki para o processamento de longa execução de tarefas de forma assíncrona.


 * API de mensagens – 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 – acessa os dados e metadados de instâncias MediaWiki através de uma API web poderosa.


 * 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:

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 – instruções sobre como criar uma skin para o MediaWiki.
 * Manual:Skin configuration – um guia para a configuração de skins para uma wiki.

Usos de wikis de terceiros

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