Jump to content

Extensão: WikiLambda

From mediawiki.org
This page is a translated version of the page Extension:WikiLambda and the translation is 80% complete.
Manual de extensões do MediaWiki
WikiLambda
Estado de lançamento: experimental
Implementação Função do analisador , ContentHandler
Descrição Fornecer às wikis da Wikimédia uma função de analisador de texto wiki para chamar a avaliação de funções escritas, geridas, e avaliadas numa wiki central.
Autor(es) Wikimedia Foundation
Política de compatibilidade Lançamentos de capturas de ecrã em conjunto com o MediaWiki. Original não é compatível com as versões anteriores.
Alterações à base de dados Sim
Licença Licença MIT
Transferência
  • $wgWikiLambdaClientTargetAPI
  • $wgWikiLambdaEnableRepoMode
  • $wgWikiLambdaClientWikis
  • $wgWikifunctionsEnableWikidataInputTypes
  • $wgWikiLambdaClientDefaultShowChanges
  • $wgWikiLambdaClientModeOffline
  • $wgWikifunctionsEnableHTMLOutput
  • $wgWikiLambdaObjectCache
  • $wgWikiLambdaPersistBackendCache
  • $wgWikiLambdaOrchestratorLocation
  • $wgWikiLambdaEnableClientMode
  • wikilambda-bypass-cache
  • wikilambda-connect-implementation
  • wikilambda-connect-tester
  • wikilambda-create
  • wikilambda-create-arbitrary-zid
  • wikilambda-create-boolean
  • wikilambda-create-converter
  • wikilambda-create-enum-value
  • wikilambda-create-function
  • wikilambda-create-function-call
  • wikilambda-create-generic-enum
  • wikilambda-create-implementation
  • wikilambda-create-language
  • wikilambda-create-predefined
  • wikilambda-create-programming
  • wikilambda-create-tester
  • wikilambda-create-type
  • wikilambda-create-unit
  • wikilambda-disconnect-implementation
  • wikilambda-disconnect-tester
  • wikilambda-edit
  • wikilambda-edit-argument-label
  • wikilambda-edit-attached-implementation
  • wikilambda-edit-attached-tester
  • wikilambda-edit-boolean
  • wikilambda-edit-builtin-function
  • wikilambda-edit-connected-converter
  • wikilambda-edit-converter
  • wikilambda-edit-enum-value
  • wikilambda-edit-error-key-label
  • wikilambda-edit-function-call
  • wikilambda-edit-generic-enum-type
  • wikilambda-edit-generic-enum-item
  • wikilambda-edit-generic-enum-id
  • wikilambda-edit-implementation
  • wikilambda-edit-key-label
  • wikilambda-edit-language
  • wikilambda-edit-object-alias
  • wikilambda-edit-object-description
  • wikilambda-edit-object-label
  • wikilambda-edit-object-type
  • wikilambda-edit-predefined
  • wikilambda-edit-programming
  • wikilambda-edit-running-function
  • wikilambda-edit-running-function-definition
  • wikilambda-edit-tester
  • wikilambda-edit-type
  • wikilambda-edit-unit
  • wikilambda-edit-user-function
  • wikilambda-execute
  • wikilambda-execute-unsaved-code
  • wikifunctions-run
Traduza a extensão WikiLambda se esta estiver disponível em translatewiki.net
Problemas Tarefas em aberto · Reportar um erro

A extensão WikiLambda fornece uma wiki para alojar as funções escritas, geridas, e avaliadas pelos utilizadores, que é utilziada para alimentar wikifunctions.org. Ela forma o núcleo da pilha de programa "Wikifunções", como parte do trabalho para a Wikipédia Abstrata. O sistema está atualmente em desenvolvimento ativo, com o front-end escrito em Vue.js e utilizando a nova biblioteca de interface de Codex . A Wikifunções via WikiLambda mais tarde fornecerá às wikis da Wikimédia uma função de analisador de texto wiki para realizar avaliações da Wikifunções na sua wiki local.

Introdução

O atual modelo de arquitetura de alto nível de trabalho para como a Wikifunções irá funcionar

Wikifunctions is a MediaWiki installation on which function content, but not output, is stored. This content takes the form of programmatic descriptions of each available function ("Functions"), actual user-written code for these functions ("Implementations"), test suites for these functions ("Testers"), and human-facing documentation about these functions, alongside the usual wiki community management content like village pumps, discussion areas, and policy pages.

Requests for function calls can come in directly via a Web request, or via MediaWiki (probably through a parser function like {{#wikifunction:…}}, but this is not yet decided). The function orchestrator determines the specifics of the request, checks the cache to see if the output value has been recently provided, and either returns that or proceeds to trigger an evaluation. To do that, it fetches all relevant content from the cluster, be that published function content (or mid-edit as-yet-unpublished function content being "previewed") from Wikifunctions, or structured content on which functions can operate from Wikidata and Wikimedia Commons. The complete bundle of code to execute and inputs on which to execute are then passed to the appropriate function executor, which then securely tries to execute the input and returns the output (or a failure error). The orchestrator then writes the successful result to the cache and transmits it to the consumer.

The WikiLambda extension is responsible for content management of the content on the Wikifunctions wiki (like the Wikibase Repository extension), providing editing interfaces, restricting users from or warning about certain actions, and providing a reading and test execution interface, and the integration of content requests on all Wikimedia wikis (like the Wikibase Client extension). User-written code is never executed in the context of the production environment, and thus never has access to sensitive content, but is only run in isolated, disposable instances.

Começar

Instalar

  • Exporte e coloque o ficheiro, ou ficheiros, num diretório chamado WikiLambda, na sua pasta extensions/.
    Developers and code contributors should install the extension from Git instead, using:
    cd extensions/
    git clone --recurse-submodules https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLambda
    
  • Only when installing from Git, run Composer to install PHP dependencies, by issuing composer install --no-dev in the extension directory. (See T173141 for potential complications.)
  • Acrescente o seguinte código ao fundo do ficheiro $LocalSettings:
    wfLoadExtension( 'WikiLambda' );
    
  • Execute o script de atualização que irá criar automaticamente as tabelas da base de dados necessárias para esta extensão.
  • Yes Pronto – Na página especial Special:Version da sua wiki verifique se a extensão foi instalada.

Instalação dos serviços de back-end

If you wish you install the back-end services to use the WikiLambda software, you must do so and configure them. Instructions are subject to change, and so only provided within the repo.

Testar localmente

(TODO)

Administração do código

Consultar também

Subpáginas