Wikipédia:Desenvolvimento técnico/Guia extensivo: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
desenvolvendo Módulos Lua e Tool Labs
Linha 23:
 
== Módulos Lua ==
O domínio Módulo é utilizado para criar módulos Lua, que funcionam como predefinições que em vez de código wiki são programados na linguagem [[Lua (linguagem de programação)|luaLua]] e são incluídos usando o código <tt>{{cód|<nowiki>{{#invoke:</nowiki>''nome_do_módulo''<nowiki>|</ttnowiki>''nome_do_módulofunção_do_módulo''<ttnowiki>}}</ttnowiki>}}.
 
Ao se criar um módulo deve-se ter em mente que o módulo deve retornar uma tabela com as funções desse módulo, e ao se chamar o módulo em uma página deve-se obrigatoriamente chamar uma função desse módulo. Veja por exemplo o seguinte trecho do [[Módulo:Texto]]:
<source lang="lua">
m = {}
function m.semparenteses(frame)
local str = mw.ustring.gsub(frame.args[1], ' *%([^)]+%)', '')
return str
end
 
-- E no final do módulo existe a seguinte linha:
return m
</source>
Perceba que o módulo começa declarando uma tabela ({{cód|<nowiki>m = {}</nowiki>}}), em seguida declara uma função dessa tabela ({{cód|function X.Y}} indica que Y é uma função da tabela X) e no final do módulo é retornada a tabela.
 
Quando chamamos um módulo em uma página, será chamada uma função do módulo, não o módulo inteiro. No exemplo do [[Módulo:Texto]], a função "semparenteses" pode ser chamada nas páginas com o código {{cód|<nowiki>{{#invoke:texto|semparenteses|argumento da função (exemplo)}}</nowiki>}}, em que o {{cód|<nowiki>{{#invoke:</nowiki>}} diz que o que está sendo chamado é um módulo, o {{cód|texto}} diz qual módulo está sendo chamado, o {{cód|semparenteses}} diz qual função do módulo está sendo chamada e {{cód|argumento da função (exemplo)}} é o argumento passado para a função, como essa função retira termos entre parênteses esse código irá retornar "argumento da função" sem o "(exemplo)", que foi removido pela função.
 
=== A linguagem Lua ===
Linha 65 ⟶ 81:
 
== Wikimedia Labs ==
...
''Texto em itálico''
=== Tool Labs ===
...
 
'''Acesso:'''
# Crie uma conta no [[wikitech:|wikitech]]. No campo "Instance shell account" que será pedido na criação da conta coloque o nome que você usará para fazer login pelo terminal.
# Crie uma chave para o SSH (se já tem pule para o próximo passo)
#* No Linux: digite {{cód|ssh-keygen -lf ~/.ssh/id_rsa.pub}} para ver se você já tem a chave, ser der o erro "No such file or directory" você não tem. Digite então {{cód|ssh-keygen}}, será pedido o diretório em que pretende instalar, pode digitar a sugestão que é dada entre parênteses, depois será pedida a passphrase, que é a senha (chamasse passphrase e não password porque a senha pode ser uma frase longa, para dar mais segurança), redigite a passphrase e a chave então será gerada.
# Entre em 'Preferências>OpenStack>Add Public SSH key' e copie sua chave pública do SSH para lá (o conteúdo do seu id_rsa.pub)
 
=== Tool Labs ===
O Tool Labs é um projeto dentro do Wikimedia Labs onde podem ser desenvolvidas ferramentas web para auxiliar os projetos Wikimedia e onde os robôs podem funcionar com hora marcada ou mesmo ininterruptamente. Uma das principais vantagens de se desenvolver uma ferramenta no Tool Labs é o acesso a uma réplica do banco de dados de todos projetos Wikimedia, possibilitando com isso operações que não seriam possíveis com API.
 
Para se ter acesso ao Tool Labs é necessário primeiro criar uma conta no Wikimedia Labs como descrito na seção acima, depois é necessário fazer um pedido de acesso ao Tool Labs [[wikitech:Special:FormEdit/Tools_Access_Request|neste formulário]] (você só poderá preenchê-lo se estiver logado) dizendo o que planeja fazer no Tool Labs (em inglês). Após seu pedido ser aceito pelos administradores do projeto (geralmente é aceito se demonstrado um mínimo de conhecimento do projeto) você poderá criar um novo projeto ou ser adicionado em um projeto já existente.
 
Para logar no sistema do Tool Labs através do terminal usando Linux digite {{cód|ssh seu_nome_shell@tools-login.wmflabs.org}} (seu_nome_shell é o nome que digitou no campo "Instance shell account" quando criou sua conta no Labs), então será pedida sua passphrase e após isso já estará logado no sistema do Tool Labs.
 
==== Banco de dados ====
Todos usuários com acesso ao Tool Labs tem automaticamente acesso ao banco<sup>pt-br</sup>/base<sup>pt</sup> de dados do Tool Labs, que é uma réplica dos bancos de dados dos projetos Wikimedia. Para manipulá-los é necessário conhecimentos de [[SQL]].
 
==== Ferramentas web ====
Para criar uma ferramenta web em um projeto você pode simplesmente colocar seus arquivos<sup>pt-br</sup>/ficheiros<sup>pt</sup> [[PHP]] na pasta {{cód|/data/project/''seu_projeto''/public_html}}.
 
==== Robôs ====
...
 
== Scripts e Gadgets ==