Wikipedia:Technik/MediaWiki/Quellcodes
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:
- Phabricator Diffusion (mit Callsigns)
- 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.
- Der Name jedes project enthält einen Schrägstrich. Davor steht eine übergeordnete Gruppe, der das project zugeordnet ist. Dem entsprechen bei Phabricator die Callsigns aus zwei bis vier Großbuchstaben, ggf. auch Ziffern.
- Am häufigsten benötigtes einzelnes project ist der Kernbereich
core
vonmediawiki
.- mediawiki/core/* (Phabricator Diffusion)
- Sprachabhängige Einstellungen:
- Alle Projekte (GIT)
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.44.0-wmf.8
- 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.
- Sie erhalten dann wöchentlich auch eine neue Versionsnummer, im Moment:
- 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).
- Sie werden über das Interwiki
[[rev:]]
gekennzeichnet (etwa rev:105284) und werden weitergeleitet auf die Seite mw:Special:Code/MediaWiki/105284 usw.
- Sie werden über das Interwiki
Suche
[Quelltext bearbeiten]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.
Verlinkung
[Quelltext bearbeiten]Robuste Verlinkung von Quellcode-Einheiten: Vorlage:Phab
Anmerkungen
[Quelltext bearbeiten]- ↑ „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