Wikiup:Technik/Cloud/Infrastruktur

aus Wikipedia, der freien Enzyklopädie

Infrastruktur der WikiMedia Cloud


Diese Projektseite stellt für technisch Interessierte und potenzielle Entwickler einige Informationen zusammen, die das Verständnis für die WikiMedia Cloud, deren Betriebsabläufe und den Einstieg in die Entwicklung erleichtern sollen.

Die hier verlinkten Seiten dürften in aller Regel englischsprachig sein. Die Angebote liefern nur erste Grundlagen; aktuelle und vertiefte Informationen sind den Dokumentationen der WMF zu entnehmen.

Betriebszustand

Wikimedia-Tool-Ressourcen

Kommunikation

Interwiki-Link

Eine Interwiki-artige Verlinkung ist im Prinzip möglich mit: [[toolforge:]] (sowie den Vorgängern toollabs: und nicht mehr wirksam labsconsole:)

  • Dieses löst jedoch auf zu tools.wmflabs.org.
  • Das ist wiederum eine Domain, die zukünftig Weiterleitungen nur noch ausführen wird,wenn sie von Werkzeugen stammen, die im Mai 2020 bereits registriert waren.
  • Damit ist das nicht mehr universell einsetzbar, und auf ein Interwiki-Link sollte zukünftig verzichtet werden, um Verwirrung bei alten und neuen Werkzeugen zu vermeiden. Vielmehr sollten vollständige URL, soweit möglich für toolforge.org und mit explizitem Protokoll https:// benutzt werden.
  • Interwiki-Links sind programmatisch darauf ausgelegt, dass nur der Pfad mittels $1 variabel verlinkt werden kann; die Domain und auch Subdomains hingegen konstant sind. Bei toolforge.org müsste jedoch die Subdomain vom Pseudo-Linkziel angesprochen werden, und selbst wenn hier $1 ersetzt würde, können aktueller Pfad und Query nicht mehr mit Wikilink-Syntax unabhängig vom Namen des Accounts die aktuellen Angaben tragen. Deshalb ist nicht mehr mit sinnvollen Interwiki-Links zu rechnen.

Vorlage:Toolforge kennt die erforderlichen unabhängigen Parameter für Subdomain und Pfad/Query.

Bots und Tools

In der WikiMedia Cloud („Toolforge“) sind die Bots und Tools einander gleichgestellt.

Der Unterschied liegt in der Art der Benutzung:

  • Helferlein bieten eine Schnittstelle (in Form einer URL oder eines interaktiven Formulars) an, die jederzeit von jedem Internet-Benutzer aufgerufen werden kann und sofort ein Ergebnis liefert.
  • Bots können nur von ihrem Betreiber gestartet werden und führen einmalig oder automatisch periodisch auf einem Wiki Aktivitäten aus, die dieses in der Regel verändern (Seitenbearbeitung).
    • Dazu muss ein WMF-Benutzerkonto vorhanden sein, und es ist auch die Zustimmung der Gemeinschaft erforderlich, die das durch ein Botflag kennzeichnet.

Clean URL

Tools sollten als Clean URL angeboten werden, also keine Implementierungsdetails wie /cgi-bin/ oder .php oder .py usw. nach außen verraten.

Ein Ansatz, der außerdem die hierfür geeigneten Parameter in durch Schrägstriche getrennte Unterseiten-ähnliche Segmente gliedert, wird von whois verfolgt. In der .lighttpd.conf wird konfiguriert:

url.rewrite-once = (
  "/w/([0-9A-Fa-f\:\.]*)/redirect/(\w*)/?$" => "/gateway.py?ip=$1&provider=$2",
  "/w/([^/%]+)/lookup/json/?$"               => "/gateway.py?ip=$1&lookup=true&format=json",
  "/w/([^/%]+)/lookup/?$"     => "/gateway.py?ip=$1&lookup=true",
  "/w/([0-9A-Fa-f\:\.]*)/?$" => "/gateway.py?ip=$1",
  "/$"                     => "/gateway.py"
)
url.redirect = (
  "/whois/gateway.py\?(.*)$" => "//whois.toolforge.org/gateway.py?$1",
  "/whois/(.*)$" => "//whois.toolforge.org/w/$1",
  "/w/(%20|%E2%80%8E)*([^/%]+)(%20|%E2%80%8E)*/(|lookup)/?$" => "//whois.toolforge.org/w/$2/$4",
)
server.error-handler-404 = "/notfound.html"

Damit wird der Pfad des Zugriffs aus dem www umgeschrieben auf die verborgene interne Seitenstruktur, und die Parameterwerte werden getrimmt, die URL entsprechend reformatiert und das Werkzeug gestartet.

Weitere Informationen

Wikitech: Help:Toolforge – Technische Infrastruktur (englisch)