Extension:WikiLambda/de

From Linux Web Expert

MediaWiki-Erweiterungen
WikiLambda
Freigabestatus: experimentell
Einbindung Parser-Funktion , ContentHandler
Beschreibung Bereitstellung einer Wikitext-Parser-Funktion für Wikimedia-Wikis, um die Auswertung von Funktionen aufzurufen, die in einem zentralen Wiki geschrieben, verwaltet und ausgewertet werden.
Autor(en) Wikimedia Foundation
Kompatibilitätspolitik Snapshots werden zusammen mit MediaWiki veröffentlicht. Der Master ist nicht abwärtskompatibel.
MediaWiki
Lizenz MIT-Lizenz
Herunterladen
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Übersetze die WikiLambda-Erweiterung, wenn sie auf translatewiki.net verfügbar ist
Probleme Offene Aufgaben · Einen Fehler melden

Die Erweiterung WikiLambda ermöglicht einem Wiki das Bereitstellen von Funktionen, die von Benutzern geschrieben, verwaltet und ausgewertet werden, was zum Betrieb von wikifunctions.org genutzt wird. Sie bildet den Kern der Software von "Wikifunctions" als Teil der Arbeit für die Abstrakte Wikipedia. Das System befindet sich derzeit in der aktiven Entwicklung, wobei das Front-End in Vue.js geschrieben ist und die neue Schnittstellenbibliothek Codex verwendet. Wikifunctions wird über WikiLambda später Wikimedia-Wikis eine Wikitext-Parser-Funktion zur Verfügung stellen, um Auswertungen von Wikifunctions in ihrem lokalen Wiki vorzunehmen.

Einführung

File:Wikifunctions - Top-level architectural model.svg
Das aktuelle Architekturmodell auf oberster Ebene für die Funktionsweise von Wikifunctions

Wikifunctions ist eine MediaWiki-Installation, auf der Funktionsinhalte, jedoch keine Ausgaben, gespeichert werden. Diese Inhalte bestehen aus Programmbeschreibungen aller verfügbaren Funktionen ("Funktionen"), tatsächlichem, vom Benutzer geschriebenem Code für diese Funktionen ("Implementierungen"), Testsuiten für diese Funktionen ("Tests") und aus an Benutzer gerichtete Dokumentation zu diesen Funktionen, neben den üblichen Inhalten zur Verwaltung der Wiki-Community wie der Projektdiskussion, Diskussionsbereichen und Richtlinienseiten.

Anfragen für Funktionsaufrufe können direkt über eine Web-Anfrage oder über MediaWiki eingehen (wahrscheinlich über eine Parser-Funktion wie {{#wikifunction:…}}, aber das ist noch nicht entschieden). Der Funktionsorchestrierer ermittelt die Einzelheiten der Anfrage, überprüft den Cache, um festzustellen, ob der Ausgabewert kürzlich bereitgestellt wurde, und gibt diesen entweder zurück oder löst eine Auswertung aus. Dazu ruft er alle relevanten Inhalte aus dem Cluster ab, sei es veröffentlichter Inhalt der Funktion aus Wikifunctions (oder während der Bearbeitung noch unveröffentlichter Inhalt der Funktion, der "vorgeprüft" wird) oder strukturierter Inhalt aus Wikidata und Wikimedia Commons, auf den Funktionen angewendet werden können. Das vollständige Paket aus auszuführendem Code und auszuführenden Eingaben wird dann an den entsprechenden Funktionsausführer übergeben, der dann versucht, die Eingabe sicher auszuführen und die Ausgabe (oder einen Fehler) zurückgibt. Der Orchestrierer schreibt dann das erfolgreiche Ergebnis in den Cache und überträgt es an den Verbraucher.

Die WikiLambda-Erweiterung ist für die Inhaltsverwaltung des Wikifunctions-Wikis verantwortlich (wie die Erweiterung Wikibase Repository), bietet Bearbeitungsoberflächen, beschränkt Benutzer auf bestimmte Aktionen oder warnt sie vor ihnen, bietet eine Schnittstelle zum Lesen und Ausführen von Tests sowie die Integration von Inhaltsanforderungen aus allen Wikimedia-Wikis (wie die Erweiterung Wikibase Client). Vom Benutzer geschriebener Code wird nie im Kontext der Produktionsumgebung ausgeführt und hat daher nie Zugriff auf vertrauliche Inhalte, sondern wird nur in isolierten, verfügbaren Instanzen ausgeführt.

Erste Schritte

Installation

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/WikiLambda/de</tvar>|Download]] and move the extracted <tvar name=name>WikiLambda/de</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone --recurse-submodules https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLambda%2Fde
  • <translate> Only when installing from Git, run <tvar name=composer>Composer</tvar> to install PHP dependencies, by issuing <tvar name=code>composer install --no-dev</tvar> in the extension directory.</translate> <translate> (See <tvar name=phab><translate> task <tvar name=1>T173141</tvar></translate></tvar> for potential complications.)</translate>
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'WikiLambda/de' );
    
  • <translate> Run the [[<tvar name=update>Special:MyLanguage/Manual:Update.php</tvar>|update script]] which will automatically create the necessary database tables that this extension needs.</translate>
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

Installation der Back-End-Dienste

Wenn du die Back-End-Dienste installieren möchtest, um die WikiLambda-Software zu verwenden, musst du dies tun und sie konfigurieren. Anweisungen hierfür können sich ändern und sind daher nur im Repositorium enthalten.

Lokal testen

(TODO)

Code-Verwaltung

  • <translate> Maintained by <tvar name=1>Abstract Wikipedia team</tvar>.</translate>
  • <translate> Live chat ([[<tvar name=1>Special:MyLanguage/MediaWiki on IRC</tvar>|IRC]]): <tvar name=2><span class="plainlinks" style="font-family: monospace,Courier; white-space: pre-wrap !important; word-wrap: break-word; max-width: 1200px; overflow: auto;" title="<translate nowrap> <tvar name=1>#wikipedia-abstract-tech</tvar> on Libera.Chat IRC</translate>">#wikipedia-abstract-tech <translate> connect</translate></tvar></translate>
  • <translate> Issue tracker: [<tvar name=url>https://phabricator.wikimedia.org/tag/wikilambda/</tvar> Phabricator <tvar name=phab>wikilambda</tvar>] ([<tvar name=url2>https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=wikilambda</tvar> Report an issue])</translate>

Siehe auch

Unterseiten