Wikipedia:Technik/MediaWiki/Content Model
Content Model
Vorlage:SeitenordnungWkpd.de Diese Projektseite beschreibt das „(Seiten-)Inhaltsmodell“ oder Content Model. Es handelt sich um ein 2013 eingeführtes Konzept: Einer ganzen Seite (oder einem Teilbereich einer Seite, sogar einer Zeichenkette) kann diese Eigenschaft zugewiesen werden, die eine bestimmte formale Syntax kennzeichnet.
Inhaltsmodelle
Zunächst sind die nachstehenden Eigenschaften bekannt; weitere sind insbesondere für Programmiersprachen in Vorbereitung.
| Bezeichner*) | Bedeutung |
|---|---|
"wikitext"Wikitext |
Jede Seite, über die nichts Näheres bekannt ist. |
"css"CSS |
Nur im Benutzer- und MediaWiki-Namensraum anhand der Namensendung .css / .js erkannt.
|
"javascript"JavaScript | |
"json"JSON |
Nur im Benutzer-, MediaWiki-, und Modul-Namensraum anhand der Namensendung .json erkannt –Beispiel: MediaWiki:Visualeditor-quick-access-characters.json |
| JsonConfig (JSON) |
„Super-Typ“ für konfiguriertes JSON; wohl keine Direktnutzung vorstellbar. |
"Chart.JsonConfig"JSON |
Design-Spezifikation für Chart (nur auf Commons). |
"Map.JsonConfig"JSON |
Landkarten-Spezifikation für Kartographer (nur auf Commons). |
"Tabular.JsonConfig"JSON |
Allgemeine Tabelle (nur auf Commons). |
"sanitized-css"„Bereinigtes CSS“ |
|
"Scribunto"
|
|
"MassMessageListContent"„⧼content-model-massmessagelistcontent⧽“ |
Nackter Massennachricht-Verteiler |
"text"„Klartext“ plain text |
|
"flow-board" |
Structured Discussions (Flow): Seite mit inhaltlichen Texten (etwa eine Diskussionsseite) [2025 weggefallen] |
"wikibase-item" |
Hauptnamensraum auf Wikidata |
"wikibase-property" |
Property auf Wikidata |
"wikibase-lexeme" |
Wikidata |
"wikibase-query" |
Wikidata |
"proofread-page" |
Wikisource „Seite:“ |
"proofread-index" |
Wikisource „Index:“ |
Nur bei wikitext wird bei der Seitenverschiebung automatisch eine Wikitext-Weiterleitung angelegt; sie wäre sonst funktionslos. Bei Programmiersprachen kann es geeignete analoge Mechanismen mit den Mitteln der jeweiligen Sprache geben.
Nicht für ganze Seiten, aber in anderem Kontext kann auftreten:
JsonSchemaSecurePoll
Kanonische und lokalisierte Bezeichner
Es gibt zwei Darstellungen der Bezeichner:
- „kanonisch“ – nur diese Form ist in Programmierungen nutzbar, etwa für Vergleiche
Beispiel:sanitized-css - „lokalisiert“ – deutschsprachige Übersetzung, zur lesefreundlichen Darstellung
Beispiel: „Bereinigtes CSS“
Abfrage
- Hilfe:Seiteninformationen
- Parserfunktion: {{#contentmodel}}
- Lua: mw.title::contentModel
- JavaScript: wgPageContentModel
Änderung des Modells der Seite
Der Standardwert für Wiki-Seiten wäre wikitext – es sei denn im Modul-Namensraum wäre Scribunto vorgegeben oder in manchen Namensräumen für Namensendungen .js und .css sowie .json eine formale Sprache abgeleitet.
Folgende Rechte sind relevant:
editcontentmodel– Administratoren und andere besonders Berechtigte; auch für bereits existierende Seiten.- Das Inhaltsmodell kann in ein anderes geändert werden; das erfordert ggf. den adäquaten vorhandenen Inhalt bei formalen Sprachen.
editcontentmodel– Mitte April 2026 wurde eingeführt, dass bei einer noch nicht existierenden Seite angemeldete (nicht neue) Konten bestimmte ungefährliche Inhaltsmodelle vorgeben können. Wird diese Seite anschließend angelegt, erhält sie diese Eigenschaft.[1]
Grundsätzlich muss das Recht vorhanden sein, danach genau diese Seite auch bearbeiten zu können.
Spezialseite
Special:ChangeContentModel/Seitenname ist eine Spezialseite, die es erlaubt, manuell das Modell der Seite zuzuweisen.
Mittels Seitenname kann die Seite vorgegeben werden; ansonsten erscheint ein Eingabeformular.
- Nur Administratoren usw. können existierende Seiten erfolgreich auswählen.
- Bei einer noch nicht existierenden Seite kann der beabsichtigte Name spezifiziert werden und erlaubt Angemeldeten eine Vorab-Deklaration.
Seiteninformationen
Bei den Seiteninformationen wird in Situationen, in denen eine Änderung möglich ist, zusätzlich eine Direktverlinkung der Spezialseite angeboten.
Logbuch
Entsprechende Ereignisse werden in Spezial:Logbuch/contentmodel aufgezeichnet.
Slots
Seit 2018 wird ein weiterer Ausbau unterstützt: Eine Seite kann Bereiche mit abweichenden Inhaltsmodellen enthalten; oder es können auch gesonderte Bereiche abgegrenzt werden, die aber dem gleichen Inhaltsmodell entsprechen.
Bislang wurden noch keine konkreten Anwendungen dafür realisiert. Es wurden auch noch keine überzeugende Anwendungsfälle benannt, die Vorteile bieten würden.
Der Slot für die gesamte Seite trägt den Bezeichner main.
Das Konzept nennt sich Multi-Content Revisions (MCR). Auch innerhalb einer Seitenversion soll auf unterschiedliche Slots zugegriffen werden können.
Seit September 2018 ist in API-Abfragen nach einer revision auch der slot anzugeben.
Weitere Informationen:
- Manual:Slot (englisch).
- Multi-Content Revisions (englisch).
Zeilennummern
Seit 2021 werden auf geeigneten Code-Seiten Zeilennummern angezeigt, wenn auch der Quellcode dargestellt wird.
- Das gilt für:
cssjavascriptsanitized-cssScribunto
- Außerdem werden Fragmentbezeichner bereitgestellt, mit denen eine Verlinkung möglich ist.
- Das gilt zurzeit nicht für
Scribunto(Lua-Module). - Anklicken der Zeilennummer hebt die Quellcode-Zeile hervor und in der Adresszeile eines Browsers wird die URL um den Fragmentbezeichner ergänzt.
- Das gilt zurzeit nicht für
Seitenhinweise
In der deutschsprachigen Wikipedia ist zu allen gängigen Nicht-Wikitext-Seiten die Anlage einer Unterseite /Doku möglich, deren Inhalt im Seitenkopf vor dem Code eingeblendet wird.
Weitere Informationen
- Content handlers (englisch).
- $wgContentHandlers (englisch).