Portal dos Programadores

This page is a translated version of the page Developer hub and the translation is 99% complete.
Outdated translations are marked like this.
  • Utilizadores
  • Administradores de Sistema
  • Programadores
  • Tradutores


É uma sinopse 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.

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 usado com a LAMP[2] mas é executado na maioria dos sistemas operativos. O MediaWiki trabalha principalmente os servidores de bancos de dados MySQL e MariaDB.[3]

O desenvolvimento é efetuado com código aberto[4], é coordenado em grande medida online, e é suportado pela Fundação Wikimedia, embora os programadores voluntários da comunidade também desempenhem um papel muito importante.

  • Ocorre debates sobre o desenvolvimento em várias listas de discussão e nos canais de IRC. A lista principal dos programadores é wikitech-l. E o canal IRC principal é #mediawiki connect.
  • Código fonte é gerenciado usando a ferramenta Git que faz o controle da versão do sistema.[5]
  • Revisão do código para a maioria dos projetos é executado em Gerrit . Siga este tutorial para configurar o Git e Gerrit para enviar correções (patch).
  • Relatórios de Erros (bugs) e tarefas para a maioria dos projetos são geridos no Phabricator .
  • Os desenvolupadors 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 muito práticos: a API, o sistema de hooks e as aparências – vejais a secção #Estender MediaWiki com sugestões de ideias.

Documentos chave

Código, desenvolvimento e estilo

Depuração e testes

Arquitetura

Subsistemas

  • API: esta fornece acesso direto e de alto nível aos 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 longa execução de tarefas de forma assíncrona.
  • API das Mensagens – Estrutura do MediaWiki para fornecer mensagens de aplicativo 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 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 – toda vez que um dado evento acontece, faça alguma coisa.
  • Funções do Analisador – cria um novo comando como: {{#if:...|...|...}}.
  • Temas – altera a aparência do MediaWiki.
  • Páginas Especiais – adiciona uma nova página especial.
  • Extensões de Etiqueta – cria uma nova tag como: ‎<newtag>...‎</newtag>.
  • Estendendo a marcação wiki – adicione um gancho do analisador para modificar o conteúdo do wikitexto.

Ajuda para os programadores de extensões

Ajuda para desenvolvedores de skins

Ajuda para reutilizar código de bibliotecas

Notas

  1. 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.
  2. O MediaWiki é executado na maioria das plataformas que suportam PHP. No entanto, a falta de certas funcionalidades do sistema operativo podem limitar o funcionamento e o desempenho do MediaWiki em plataformas que não sejam LAMP.
  3. MediaWiki também suporta o DBMS, PostgreSQL e SQLite.
  4. 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 Developers $dev.
  5. Procure o código-fonte e as revisões dos repositórios de código em $1 ou baixe o código-fonte para o seu sistema usando o Gerrit.