Wikipedia:Technik/MediaWiki/Quellcodes

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Diese Seite liefert Informationen, wo und wie die Quellcodes der MediaWiki-Software gefunden werden können.

Repositorien

[Quelltext bearbeiten]

Alle Quellcodes der allgemeinen MediaWiki-Software auf dem Server sind offen nachlesbar:

  1. Phabricator Diffusion (mit Callsigns)
  2. Von 2012 bis Sommer 2016 unter der Domain git.wikimedia.org („GIT“).
    • Inzwischen nur noch Weiterleitungen.
    • URL wären anzupassen; insbesondere mittels {{Phab}}

Die Quellcodes (PHP, JavaScript, CSS und viele andere) sind organisiert als einzelnes „project“ und auch „repository“ für jede Erweiterung, jede größere Teilaufgabe.

Zusätzlich zur Verwaltung der Quellcodes unter Diffusion/GIT gibt es noch mit [[gerrit:]] (etwa gerrit:94412) einen Kommunikationsprozess über neue Vorschläge und Versionen, die in die Sammlung der Quellcodes aufgenommen werden sollen.

  • Gerrit: Alle Teil-Projekte – mit Kurzbeschreibung
    • Link am rechten Seitenrand (gitblit) für Inhalte und Details
    • Direkt (Lupe) anklicken für Administratives
  • Kommentare sind nur den dort angemeldeten Konten möglich, alle können es aber ansehen.

Aktualität und Versionen

[Quelltext bearbeiten]

Für die Aktualität und Versionen gilt:

  • Die zunächst sichtbare (jüngste) Version eines Quellcodes muss nicht im Wiki-Projekt aktiv sein.
  • Neue Versionen einer Portion Quellcode durchlaufen zuerst einen Review-Prozess, bevor sie mit der offiziellen Version verschmolzen werden.
  • Zurzeit wöchentlich (Donnerstag abends) werden in der Regel Veränderungen auf den Wiki-Projekten aktiviert; in dringenden Fällen auch zwischenzeitlich.
    • Sie erhalten dann wöchentlich auch eine neue Versionsnummer, im Moment: 1.43.0-wmf.14
    • Das wmf signalisiert die Version der Wiki-Projekte, die Zahl dahinter wird wöchentlich hochgezählt.
    • Die Zahlen davor geben die major version der MW-Software an.
    • wikitech:Deployments gibt die für die folgenden Wochen geplanten Aktualisierungen an.
  • Die Version auf den Wiki-Projekten ist sehr viel aktueller als die für alle kostenlos verfügbare Download-Version der Software (Open Source), mit der sich ein eigener Server betreiben lässt (diese gemäß Versionsgeschichte).
  • Über BETA lässt sich in Echtzeit der jüngste Stand der Programmierung erproben.
  • Aus früheren Zeiten (bis Ende 2012) gibt es noch eine weitere, eigenständige Nummerierung von Veränderungen (SVN).

Alle Repositorien können mit codesearch nach Textsequenzen durchsucht werden.

Dokumentation

[Quelltext bearbeiten]

Eine Minimal-Dokumentation wird automatisch aus dem Quellcode generiert:

Fehlermeldungen, Anregungen und Wünsche

[Quelltext bearbeiten]

Fehlermeldungen, Anregungen und Wünsche erfolgen über den Phabricator.

Veränderung von Quellcode

[Quelltext bearbeiten]

Während Diffusion nur die Einsicht in Repositorien ermöglicht, können Befugte einzelne Änderungen vorschlagen, kommentieren und gutheißen.

Dafür werden zwei Software-Systeme parallel eingesetzt:

  • Isolierte Projekte, Toolforge und Konfiguration innerhalb der Server haben kleine Personalgruppen und benötigen keine synchronen Aktionen in mehreren Repositorien; sie sollen, sofern noch nicht geschehen, mittels GitLab verändert werden. Teilweise handelt es sich um geschlossene Gruppen; die Codes sind privat. Einiges ist sicherheitsrelevant, um Angriffe auf die Wikifarmen zu vermeiden und keine Ansatzpunkte offenzulegen.
  • Stark vernetzte und untereinander abhängige Repositorien mit großen Personenkreisen, wie die komplexe allgemeine MediaWiki-Software, werden über Gerrit verwaltet, weil bei GitLab die erforderliche Unterstützung fehlt.[1] Diese Codes sind öffentlich.

Vorschläge für veränderten Quellcode können mittels gerrit-patch-uploader übermittelt werden.

Robuste Verlinkung von Quellcode-Einheiten: Vorlage:Phab

  1. „Aufgrund einer Entscheidung der Wikimedia Foundation vom 24. Juni 2024, die Software-Entwicklung auf beiden Plattformen zu unterstützen, können Wikimedia-Entwickler offiziell weiterhin sowohl Gerrit als auch GitLab nutzen. Gerrit und GitLab sind beides Code-Repositorien, die von Entwicklern genutzt werden, um den Softwarecode zu schreiben, zu prüfen und einzusetzen, der die MediaWiki-Software unterstützt, auf der die Wiki-Projekte basieren sowie die Werkzeuge, die von Autoren genutzt werden, um Inhalte zu erstellen und zu verbessern. Die Entscheidung wird die Produktivität unserer Entwickler sicherstellen und Probleme beim Code-Review vermeiden, die Benutzer betreffen könnten.“ mw:GitLab/Migration status