Skin: MediaWiki
Diese Projektseite beschreibt im technischen Detail die im MediaWiki-Namensraum und anderswo gespeicherten Informationen, mittels derer das Erscheinungsbild und die Funktionalität von Wiki-Projekten für alle Benutzer konfiguriert und angepasst werden können.
Alle Inhaltsseiten können nur von dazu besonders berechtigten Benutzern verändert werden.
Es gibt folgende Grundtypen:
- Systemnachrichten – kleine Textbausteine, zur Übersetzung in die deutsche Sprache oder zur Anpassung dieses Wiki an globale Strukturen
- Ressourcen – CSS und JavaScript, das in alle oder bestimmte Seiten eingebunden wird; sowie JSON zur Konfiguration
- Gadgets (Helferlein) – Ressourcen, die ggf. benutzerkonfigurierbar gestartet werden oder auch nicht
Die Seiten der ersten Gruppe können nur von Administratoren oder „Benutzeroberflächenadministratoren“ verändert werden, die programmtechnisch wirksamen „Ressourcen“ (CSS/JavaScript) nur von Benutzeroberflächenadministratoren.
Anlaufstellen für Anfragen:
- Systemnachrichten – hinreichend sind Administratoren/Anfragen
- Ressourcen – Skin/MediaWiki/Änderungen
- Server-Konfiguration – ein Ticket über Phabricator, für das meist ein „Community Consensus“ verlangt wird; das wäre eine Umfrage oder ein anderer projektöffentlicher Diskussionsabschnitt mit breitem Konsens.
Zukünftig sollen weitere Server-Konfigurationsmöglichkeiten hinzukommen, die über JSON im MediaWiki-Namensraum spezifiziert werden.
Systemnachrichten
BearbeitenAlle ins Deutsche zu übersetzenden Text-Fragmente, die in einer Seite erscheinen, können über Einträge im MediaWiki-Namensraum verändert werden.
Die Baustein-Wirkung auf die aktuelle Seite lässt sich herausfinden, indem man den URL-Parameter ?uselang=qqx
(bzw. &uselang=qqx
bei /w/index.php?
statt /wiki/
) an die momentane URL anhängt.
Es werden dann jeweils in Klammern die Identifizierer (Seiten-Bezeichner) angezeigt.
Hinzu kommen kleine Anpassungen an das lokale Wiki, etwa die Namen von Kategorien oder Projektseiten.
Ressourcen
BearbeitenWeil im MediaWiki-Namensraum nur von Administratoren geändert werden konnte, werden über einzelne Textbausteine hinaus auch komplexere Zusammenstellungen (ähnlich „Dateien“) abgelegt. Mittlerweile ist Zugehörigkeit zu den Benutzeroberflächenadministratoren für Änderungen erforderlich.
Es gibt im Wesentlichen zwei Typen von Ressourcen:
- CSS – optische Darstellung des Seiteninhalts
- JavaScript (JS) – aktive Funktionen
Bildchen
BearbeitenDas System verwendet Grafiken, die eher nicht lokal konfigurierbar sind:
- resources/assets – Icons usw., die direkt in Software benutzt werden
- Vector
- MonoBook
- Modern
Komplexe Konfigurationen
BearbeitenVerschiedene administrativ kontrollierte Anpassungen, die über kleine Systemnachrichten hinausgehen, sind ebenfalls im MediaWiki-Namensraum hinterlegt. Sie beeinflussen das Erscheinungsbild, die „Skin“, nur mittelbar. Vielmehr betreffen sie funktionale Aspekte.
Zunehmend wird auch JSON eingesetzt, um komplexe Situationen modellieren zu können.
- JSON kann in der Regel mit einfachen Admin-Rechten verändert werden.
- JSON ermöglicht eine komplexere Syntax, verglichen mit trivialen Textzeilen, und damit etwa robuste Aufzählungen sowie strukturierte Hierarchien und Fallunterscheidungen. Eine einfache Textzeile müsste nach individuellen Formatregeln geparst und in Bestandteile zerlegt werden; bei JSON ist hingegen bereits ein einheitliches Format für Strukturen vorgegeben.
- JSON kann von der Wiki-Software (PHP), von Lua und von JavaScript-Programmen leicht ausgelesen werden.
Gadgets (Helferlein)
BearbeitenGadgets sind ein Sonderfall der Ressourcen. Gadgets können in der Regel von angemeldeten Benutzern individuell zu- oder gelegentlich abgewählt werden. Die Programmierung wird durch die hiesige Community gepflegt.
Es gibt in Gadgets die Möglichkeit, JavaScript einzubinden (der häufigste Fall) und dies auch mit CSS zu kombinieren oder ein reines CSS-Gadget zu definieren.
Hauptsächlich interessant sind:
- MediaWiki:Gadgets-definition – Spezifikation der Gadgets
- Skin/Gadgets – weitere Einzelheiten
Skin-Programmierung in PHP
BearbeitenRein informativ die Programmierung der Skins in PHP; sie generiert das Grundgerüst der Ausgabeseite in HTML.
Skin | Repositorium | Callsign | Code-Suche | Workboard |
---|---|---|---|---|
Vector „2010“ |
mediawiki/skins/Vector/* | SVEC | Codes | #Vector |
Vector2022 | #Desktop_Improvements_(Vector_2022) | |||
MonoBook | mediawiki/skins/MonoBook/* | SMNB | Codes | #MonoBook |
Modern | mediawiki/skins/Modern/* | SMOD | Codes | #Modern |
Timeless | mediawiki/skins/Timeless/* | STIM | Codes | #Timeless |
Minerva | mediawiki/skins/Minerva/* | SMIN | Codes | #MinervaNeue |
Alle einzelnen | SKIN/* | Codes | ||
Core Basis- Programmschema |
includes/skins | MW | Codes | #mediawiki-interface |
Weitere Informationen
Bearbeiten- Skin/Tutorial
- doc.wikimedia.org – alle deutschsprachigen Standard-Systemnachrichten
- meta:Help:System message (englisch)
- noc.wikimedia.org/conf – alle Konfigurationsdateien des Servers
- includes/Message.php – Programmierung zu Systemnachrichten
- MediaWiki – Zentrale Software und Programmierung