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. Se você quiser compreender como usar uma parte do MediaWiki (por exemplo, a fila de tarefas) veja a FAQ do desenvolvedor

Para ajuda na instalação ou modificação do MediaWiki, visite o Sysadmin hub. Para ajuda sobre como usar o MediaWiki, visite o User hub. Se você deseja trabalhar em outro software Wikimedia, veja Desenvolvedores no Meta.

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 MediaWiki roadmap mostra informações em bruto, sobre quando grande parte do trabalho de desenvolvimento está programada.
 * bugs são gerenciados utilizando-se Bugzilla encontrado em bugzilla.wikimedia.org. O artigo sobre bugs tem uma visão geral de como os desenvolvedores do MediaWiki os controlam.
 * Questões de segurança são relatadas para [mailto:security@wikimedia.org security@wikimedia.org]. Leia o artigo Security para mais informações.
 * A revisão do código é facilitada utilizando-se a extensão CodeReview em Special:Code/MediaWiki e o sistema bugzilla de correção de anexo, e segue as diretrizes de revisão de código.
 * O código-fonte é gerenciado com o sistema de controle de revisão Subversion. Leia o artigo Subversion para saber como os desenvolvedores usam Subversion. Leia o artigo Commit access se você gostaria de confirmar o acesso.


 * A documentação para os desenvolvedores é mantido no namespace Manual nesta wiki. Um arquivo e a classe de referência  (que é gerado a partir do código fonte do MediaWiki, usando doxygen) pode ser encontrado em http://svn.wikimedia.org/doc.
 * 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 desta página mais detalhes.

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á cinco 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.
 * Special Pages – adiciona uma nova página especial.
 * Tag Extensions – cria uma nova tag como:

Ajuda para desenvolvedores de extensões

 * Manual:Developing extensions – guia de desenvolvimento de extensões.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * Extension Matrix – uma lista auto-gerada de extensões. Veja também Category:Extensions, uma lista menos 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
 * Academic hub - para Wikis acadêmicos