Central do desenvolvedor

This page is a translated version of the page Developer hub and the translation is 100% complete.
  • Usuários
  • Administradores de sistema
  • Desenvolvedores
  • Tradutores


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.

Visão global

MediaWiki é o software que alimenta a Wikipédia, seus projetos parceiros e milhares de outras wikis ao redor do mundo.

MediaWiki está escrito no linguagem de programação PHP[1]. Ele usa jQuery como a biblioteca de JavaScript do cliente.

MediaWiki é escrito principalmente para a Plataforma LAMP[2] e é executado na maioria dos sistemas operacionais. O MediaWiki usa principalmente os servidores de bases de dados MySQL and MariaDB.[3]

O desenvolvimento acontece em Código aberto style[4], é amplamente coordenado on-line e apoiado pela Wikimedia Foundation, embora desenvolvedores comunitários voluntários também tenham uma grande participação.

  • A discussão de desenvolvimento ocorre em várias mailing lists e canais IRC. A lista principal dos desenvolvedores é wikitech-l. O canal principal IRC do desenvolvedor é #mediawiki connect.
  • O código fonte é gerenciado utilizando-se o sistema de controle de versão Git.[5]
  • A revisão de código para a maioria dos projetos é executado em Gerrit . Siga este tutorial para configurar o Git e Gerrit para enviar patches.
  • Relatórios de erros e tarefas para a maioria dos projetos são gerenciados no 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

Depuração e teste

Arquitetura

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 – Estrutura do MediaWiki para suportar tipos personalizados de conteúdo de página.
  • 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.
  • Job queue – Framework do MediaWiki para o processamento de longa execução de tarefas de forma assíncrona.
  • Messages API – 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
  • Ganchos – toda vez que um dado evento acontece, faça alguma coisa.
  • Funções do analisador sintático – cria um novo comando como: {{#if:...|...|...}}.
  • Temas – altera a aparência do MediaWiki.
  • Páginas especiais – adiciona uma nova página especial.
  • Desenvolvendo extensões – cria uma nova tag como: ‎<newtag>...‎</newtag>.
  • Extending wiki markup – adicione um gancho do analisador para modificar o conteúdo do wikitexto.

Ajuda para desenvolvedores de extensões

Ajuda para desenvolvedores de skins

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

Notas

  1. Nem todo o MediaWiki está escrito em PHP. Algumas ferramentas de suporte estão escritas em outras línguas, incluindo arquivos em lote, scripts de shell, makefiles e Python.
  2. O MediaWiki é executado na maioria das plataformas que podem suportar o PHP, no entanto, a falta de determinados utilitários ou recursos do sistema operacional pode limitar a funcionalidade ou o desempenho do MediaWiki em plataformas que não sejam LAMP.
  3. O MediaWiki suporta outras DBMS além de MySQL e MariaDB, incluindo PostgreSQL e SQLite.
  4. Os desenvolvedores são uma mistura de voluntários e funcionários remunerados (ou contratados) para várias organizações.Para uma lista completa de quem trabalha no código do MediaWiki, leia o artigo Desenvolvedores .
  5. Procure o código-fonte e as revisões dos repositórios de código em Gerrit ou baixe o código-fonte para o seu sistema usando o Gerrit .