Developer hub/pt
É uma visão geral de alto nível sobre o desenvolvimento do MediaWiki, incluindo hiperligações para os principais documentos, recursos e ferramentas disponíveis para os programadores do MediaWiki. Isto está escrito para os programadores experientes que utilizam LAMP e que possuem experiência na utilização do MediaWiki.
- Se quiser "utilizar" as APIs da Web da Wikimedia, visite o 'Portal dos Programadores'.
- Se quiser contribuir para o desenvolvimento do programa da Wikimédia, consulte Novos Programadores .
- Para um guia de introdução de como desenvolver o MediaWiki e as extensões do MediaWiki, leia Como tornar-se num hacker do MediaWiki .
- Se quiser colaborar com outros utilizadores terceiros do MediaWiki, a Grupo de Participantes do MediaWiki (MWStake) é um grupo de utilizadores do MediaWiki que fazem parte: programadores do MediaWiki, administradores de sistemas, utilizadores, consultores, e provedores de alojamento.
Sinopse
O MediaWiki é o programa em que a Wikipédia é baseada, os seus projetos relacionados e milhares de wikis em todo o mundo.
O MediaWiki está escrito na linguagem de programação PHP[1]. Este utiliza jQuery como a biblioteca de JavaScript de cliente.
O MediaWiki está escrito principalmente para ser utilizado com a plataforma LAMP[2] e é executado na maioria dos sistemas operativos. O MediaWiki utiliza principalmente os servidores da base de dados MySQL e MariaDB.[3]
O desenvolvimento é efetuado com código aberto[4], é coordenado em grande medida on-line, e suportado pela Fundação Wikimédia, embora os programadores voluntários da comunidade também desempenham um papel muito importante.
- A Discussão do desenvolvimento ocorre em várias listas de discussão e nos canais de IRC. A lista principal dos programadores é wikitech-l. E o canal de IRC principal dos programadores é #mediawiki connect.
- O Código fonte é gerido utilizando o sistema de controlo de versão Git.[5]
- Revisão do código para a maioria dos projetos é executado em Gerrit . Siga este tutorial para configurar o Git e Gerrit para submeter correções (patches).
- Os Relatórios de erros (bugs) e as tarefas para a maioria dos projetos são geridos no Phabricator .
- Os programadores que criam extensões ou interfaces com o MediaWiki (em vez de trabalhar no código do núcleo) têm disponíveis vários pontos de extensão , incluindo a API e o sistema de Hooks.
Documentos chave
Código, desenvolvimento e estilo
- Política de desenvolvimento – uma visão geral das principais políticas de desenvolvimento.
- Convenções de programação – aprenda a escrever código no estilo do MediaWiki.
- Segurança para programadores – saiba como ajudar a manter o MediaWiki protegido.
- Lista de verificação de pré-submissão – leia esta lista de verificação antes de contribuir com o código.
- Guia de revisão do código – um guia para os revisores das contribuições do código fonte do MediaWiki.
- Technical Decision Making Process – leia sobre o processo para decidir sobre o efetuar grandes alterações técnicas.
- Developing libraries – um guia para incluir as bibliotecas de terceiros para utilizar com o MediWiki
Depuração e testes
- Como depurar – um guia para a depuração do MediaWiki.
- Errors and symptoms – uma visão geral dos erros comuns do MediaWiki e os seus sintomas correspondentes.
- Testes no navegador – aprenda a escrever testes de integração da API para o MediaWiki utilizando Selenium.
- Teste unitário: aprenda a escrever testes de unidade para o MediaWiki utilizando o PHPUnit.
- Testes de integração da API – aprenda a escrever testes de integração da API para o MediaWiki utilizando Mocha.
- Segurança para programadores – saiba como programar um código fonte seguro.
Arquitetura
- Arquitetura do MediaWiki – uma introdução à arquitetura do MediaWiki.
- Código – uma visão geral das partes principais do código fonte do MediaWiki.
- Disposição da Base de Dados – uma visão geral dos esquemas da base de dados do MediaWiki.
- Global object variables – uma lista parcial das principais variáveis globais.
- Tradução – saiba mais sobre o sistema de internacionalização do MediaWiki.
- Manual espaço nominal nesta wiki – documentação para os programadores.
- MediaWiki Referência de Classe - documentação técnica gerada a partir do código fonte do MediaWiki. (Nota: A referência de classe é uma página grande, e lenta para carregar).
Subsistemas
- API - A API do MediaWiki fornece acesso direto e de alto nível para os dados contidos nas bases de dados do MediaWiki.
- ContentHandler – Estrutura do MediaWiki para suportar tipos personalizados de conteúdo de página.
- Acesso à Base de Dados – 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.
- Job queue – Estrutura do MediaWiki para o processamento de tarefas de forma assíncrona de longa execução.
- API das Mensagens – Estrutura do MediaWiki para fornecer mensagens de aplicação localizadas com PHP ou JavaScript.
Ampliar o 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 unir manualmente mudanças no código da extensão antigo. Há vários pontos de extensão que permitem aos programadores alterarem ou ampliarem o que MediaWiki pode fazer.
Ajuda para os programadores de extensões
- Desenvolvimento de Extensões – um guia para o desenvolvimento de extensões.
- Extensões - Perguntas Mais Frequentes
- Consulte Categoria: Extensões , para uma lista de extensões.
- Extension:BoilerPlate – um modelo de extensão em branco.
Ajuda para os programadores de tema
- How to make a MediaWiki skin – instruções sobre como criar um tema para o MediaWiki.
- Configuração do Tema – um guia para a configuração de temas para uma wiki.
Ajuda para os programadores de gadget
- Gadget kitchen – um guia para desenvolver scripts de utilizador e gadgets numa wiki.
Ajuda para os programadores de módulo
- Scribunto/Lua reference manual – documentação para os programadores de módulos Lua na wiki.
- Extensão:Scribunto – sobre a extensão Scribunto.
Notas
- ↑ Nem todo o MediaWiki está escrito em PHP. Algumas ferramentas de apoio estão escritas em outras linguagens, incluindo ficheiros batch, scripts shell, makefiles e em Python.
- ↑ O MediaWiki é executado na maioria das plataformas que suportam PHP, contudo, a falta de certos utilitários ou funcionalidades do sistema operativo podem limitar o funcionamento ou o desempenho do MediaWiki nas plataformas que não sejam LAMP.
- ↑ O MediaWiki tem suporte para DBMS, além de MySQL e MariaDB, incluindo PostgreSQL e SQLite.
- ↑ Os programadores são uma mistura de voluntários e pessoal assalariado (ou contratados) por várias organizações. Para uma lista completa de quem trabalha no código do MediaWiki, leia o artigo Developers .
- ↑ Explore o código fonte e as revisões dos repositórios de código em $1 ou transfira o código fonte para o seu sistema utilizando Gerrit .