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

Repositorien

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

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.24
    • 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

Bearbeiten

Eine Minimal-Dokumentation wird automatisch aus dem Quellcode generiert:

Fehlermeldungen, Anregungen und Wünsche

Bearbeiten

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

Veränderung von Quellcode

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.

Verlinkung

Bearbeiten

Robuste Verlinkung von Quellcode-Einheiten: Vorlage:Phab

Anmerkungen

Bearbeiten
  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