Central do Desenvolvedor

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Developer hub and the translation is 100% complete.

Other languages:
العربية • ‎български • ‎català • ‎čeština • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎فارسی • ‎suomi • ‎français • ‎galego • ‎עברית • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎سنڌي • ‎සිංහල • ‎тоҷикӣ • ‎ไทย • ‎Türkçe • ‎Tiếng Việt • ‎粵語 • ‎中文
Crystal Clear app display.png UsuáriosUser hub Nuvola-inspired-terminal.svg Administradores de sistemaSysadmin hub Source code project 1171.svg DesenvolvedoresDeveloper hub

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

O MediaWiki é desenvolvido em código aberto[1] escrito em PHP [2] primariamente para plataforma LAMP[3][4]. O desenvolvimento do núcleo é amplamente coordenado online: Open desenvolvimento básico é em grande parte 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 e #wikimedia-dev.
  • O código fonte é gerenciado utilizando-se o sistema de controle de revisões Git.[5]
  • A revisão de código é executado em GerritGerrit. Siga este tutorial para configurar o Git e Gerrit para enviar patches.
  • Bug reports and tasks for most projects are managed on 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 – MediaWiki's framework for supporting custom types of page content.
  • Acesso ao banco de dadosManual: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 queueManual:Job queue – Framework do MediaWiki para o processamento de longa execução de tarefas de forma assíncrona.
  • Messages APIManual: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
  • Hooks – cada vez que um determinado evento faça alguma coisa..
  • Parser Functions – cria um novo comando como: {{#if:...|...|...}}
  • 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: <newtag>...</newtag>

Ajuda para desenvolvedores de extensões

Extension:BoilerPlate - uma predefinição de extensão em branco

Ajuda para desenvolvedores de skins

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

Usos de wikis de terceiros

Notas

  1. Desenvolvedores são uma mistura de voluntários e funcionários da Fundação Wikimedia pagos (ou contratados). Para uma lista completa de quem trabalha no código MediaWiki, leia o artigo DevelopersDevelopers
  2. Nem todo o MediaWiki está escrito em PHP. Algumas ferramentas de suporte estão escritas em outras linguagens, incluindo batch files, shell scripts, makefiles e na linguagem Python.
  3. O MediaWiki roda na maioria das plataformas que suportam PHP, no entanto, a falta de certos utilitários ou recursos do sistema operacional podem limitar a funcionalidade ou desempenho do MediaWiki em plataformas diferentes.
  4. Oferece suporte para SGBDs e MySQL, incluindo Oracle, PostgreSQL e SQLite.
  5. Procure o código fonte e as revisões em https://phabricator.wikimedia.org/diffusion/MW/ ou clone a versão de desenvolvimento do código usando isso Git command:
    git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git MediaWiki