Modul:GetProvince/Doku

Aus Wikivoyage

Funktion[Bearbeiten]

Das Modul dient der Ermittlung der ersten Verwaltungseinheit eines Ortes innerhalb seines Staates (z. B. Bundesland, Provinz, Woiwodschaft usw.). Diese Information wird im Regelfall bei Orten in der Quickbar (Infobox) benötigt. Das Modul hangelt sich dabei auf Wikidata die Verwaltungsstruktur hinauf bis zur gewünschten Region. Basis für die Funktionalität ist das Modul GetProvince/Provinces. In ihm ist abgelegt, was in jedem Land als oberste Hierarchiestufe gilt. Verläuft die Suche nicht erfolgreich, wird der Artikel in eine der vier Wartungskategorien einsortiert. Auf Ihnen findest du auch Anmerkungen, wie du das Problem lösen kannst. Beispiele und Erklärungen findest du auch im zugehörigen Testmodul.

getProvince[Bearbeiten]
  • getProvince ( id, output, delimiter )
    • Aufruf in einer Vorlage: {{#invoke:GetProvince|getProvince|id|output|delimiter}}
    • Aufruf in einem Modul: gp.GetProvince().getProvince(id,output,delimiter)
    • Funktion: Liefert die oberste Verwaltungseiheit eines Ortes innerhalb des Staates

Bei der Verwendung in anderen Modulen muss am Skriptanfang noch ein gp = require( 'Module:GetProvince' ) eingefügt werden.

Die Funktion arbeitet mit den folgenden anonymen Parametern

  • |id= Wikidata-ID des Objektes, kann leer bleiben, wenn der eigene Artikel abgefragt werden soll.
  • |output= gibt an, ob nur die gewünschte Region, oder der ganze Hierarchiepfad angezeigt werden soll.
    • |output=province nur die oberste Verwaltungseinheit (Standard)
    • |output=path ganzer Hierarchie-Pfad
  • |delimiter= gibt die gewünschte Trennung zwischen den Werten an, wenn der Pfad angezeigt werden soll. Standardmäßig ist das ein Größer-Als-Zeichen angeführt und gefolgt von einem ungeschützten Leerzeichen.

Beispiele:

  • Redcar and Cleveland (oberste Verwaltungseinheit): {{#invoke:GetProvince/Test|getProvince|Q1434448}}England
  • Redcar and Cleveland (Hierarchiepfad): {{#invoke:GetProvince/Test|getProvince|Q1434448|path}} – Redcar and Cleveland > North Yorkshire > North East England > England
  • Weitere Beispiele findest du im zugehörigen Testmodul.
getProvinceQuickbar[Bearbeiten]
Redcar and Cleveland
LandEngland
  • getProvinceQuickbar ( id, wikiValue )
    • Aufruf in einer Vorlage: {{#invoke:GetProvince|getProvinceQuickbar|id|wikiValue}}
    • Aufruf in einem Modul: gp.GetProvince().getProvinceQuickbar(id, wikiValue)
    • Funktion: Ermittelt die gewünschte erste Hierarchiestufe eines Ortes oder Region und fügt sie in eine Quickbar ein. Der zum Staat passende Titel der Zeile („Bundesland“, „Woiwodschaft“ usw.) wird dabei aus dem Submodul Modul:GetProvince/Provinces entnommen. Wird mit |wikiValue= ein Provinzname (oder Wikilink) übergeben, wird diese Provinz angezeigt. Trotzdem findet eine Suche auf Wikidata statt, beide Werte werden verglichen und der Artikel in eine passende Wartungskategorie sortiert. Für den Vergleich werden die eckigen Klammern vorher entfernt. Eine möglicher optionaler Anzeigename im Wikilink wird derzeit nicht weggefiltert und der Vergleich liefert immer eine Abweichung beider Werte.

Wartungskategorien[Bearbeiten]

Die Provinzsuche sortiert Artikel beim Auftreten von Fehlern in verschiedenen Kategorien ein. Ausführlichere Beschreibungen der Fehler und wie du sie beheben kannst findest du in der Kategoerie selbst:

HTML bei Nutzung in den Quickbars[Bearbeiten]

Folgendes HTML wird erzeugt:

<!-- Eintrag für die Zeile: jeweils eine der folgenden Zeilen, je nach abgerufener Eigenschaft -->
<tr class="voy-qb-item voy-qb-item-province">

   <!-- Eintrag für die erste Spalte -->
   <th class="voy-qb-item-key">Provinzbezeichnung</th>   <!-- Label aus: Modul:GetProvince/Provinces -->
   
   <!-- Je nach Auswertung der Daten wird eine der folgenden Zellen ausgegeben -->
   <!-- Ein Wikidata-Wert kann nicht ermittelt werden -->
   <td class="voy-qb-item-value1 voy-qb-item-value-nowikidata" data-wikidata-id="Wikidata-ID, wenn vorhanden" data-wikidata-value="Provinz" title="Tooltip-Info">Provinz</td>
   
   <!-- Wikidata-Wert und lokaler Wert sind identisch -->
   <td class="voy-qb-item-value1 voy-qb-item-value-wikidata-equal voy-wikidata-content" data-wikidata-id="Wikidata-ID" data-wikidata-value="Provinz" title="Tooltip-Info">Provinz</td>
   
   <!-- Wikidata-Wert und lokaler Wert unterscheiden sich -->
   <td class="voy-qb-item-value1 voy-qb-item-value-wikidata-noequal voy-wikidata-content" data-wikidata-id="Wikidata-ID" data-wikidata-value="Provinz" title="Tooltip-Info">Provinz</td>
   
   <!-- alle anderen Fälle -->
   <td class="voy-qb-item-value1 voy-wikidata-content" data-wikidata-id="Wikidata-ID, wenn vorhanden" data-wikidata-value="Provinz">Provinz</td>
   
</tr>

CSS-Klassen bei Nutzung in den Quickbars[Bearbeiten]

Jedes einzelne Informationsfeld der Quickbar lässt sich über CSS individuell gestalten, entweder zentral über die Systemdatei Mediawiki:common.css oder über benutzerspezifische Einstellungen Benutzer:<Dein Name>/common.css. Für Programmierer ist es damit auch möglich, an jedem Feld per Javascript Änderungen vorzunehmen und Werkzeuge zu programmieren.

Die gesamte Quickbar (<table>...</table>) besitzt drei Klassen.

  • voy-qb – Immer vorhanden ist die Klasse qb. Über diese kann man jede Infobox beeinflussen.
  • voy-qb-ort - Alle Orts-Quickbars, die direkt oder indirekt über diese Vorlage eingebunden sind, besitzen diese Klasse
  • voy-qb-<top-level-domain> – Zusätzlich gibt es eine landesspezifische Klasse, die die Top-Level-Domain beinhaltet. Alle Artikel über Deutschland haben in ihrer Quickbar somit zusätzlich die Klasse voy-qb-de hinterlegt. Lässt sich keine TLD ermitteln, heißt die Klasse qb-unknown-tld.

Jede Zeile einer Quickbar besitzt eine allgemeine und eine eigene Klasse.

  • voy-qb-item – Klasse, die alle Zeilen einer Infobox-Tabelle besitzen.

Jede Spalte einer Zeile der Quickbar (<tr>...</tr>) hat eine individuelle Klasse, über die die Formatierungen angewendet werden können. Zusätzlich haben alle Spalten jeder Zeile eine individuelle Klasse:

  • voy-qb-item-key – Erste Spalte mit der Eigenschaftsbezeichnung (standardmäßig fett geschrieben)
  • voy-qb-item-value1 – Erste (und in der jetzigen Quickbar Ort im Regelfall einzige) Spalte mit einem Wert.
  • voy-qb-item-value2 – weitere Spalte
  • voy-qb-item-value3 – weitere Spalte

Bei Bildern gibt es nur eine Tabellenzelle mit einem Div-Tag

  • voy-qb-item-image – Klasse des <div>...</div>. Die Positionierung der Bilder erfolgt dann über Flexboxen.

Die value-Spalten haben noch eine oder mehrere Klassen, wenn Daten aus Wikidata bezogen wurden.

  • voy-wikidata-content – Zusätzliche Klasse, wenn die angezeigten Daten aus Wikidata stammen. Diese Klasse ist nicht auf die Quickbars beschränkt und kann überall im Artikel auftauchen.
  • voy-qb-item-value-nowikidata – Über Wikidata konnten keine Daten ermittelt werden. Es ist kein Objekt vorhanden, oder die gewünschte Information ist im Objekt nicht verfügbar.
  • voy-qb-item-value-wikidata-equal – Es gibt die Information auf Wikidata und es wirde ein lokaler Wert in der Quickbar angegeben (der auch angezeigt wird). Diese Klasse zeigt an, dass beide Werte identisch sind.
  • voy-qb-item-value-wikidata-noequal – Es gibt die Information auf Wikidata und es wirde ein lokaler Wert in der Quickbar angegeben (der auch angezeigt wird). Diese Klasse zeigt an, dass sich beide Werte unterscheiden.

Beispiele:

  • .voy-qb-item-population .voy-qb-item-value1 { color:blue; font-style:italic; } – Die Einwohnerzahl wird blau und kursiv dargestellt.
  • .voy-qb-item-value-wikidata-equal { color:green; font-weight:bold; } – Einträge werden grün und fett dargestellt, wenn sie lokal angegeben wurden und identisch mit Wikidata sind.
  • .voy-qb-item-value-wikidata-noequal { color:red; font-weight:bold; } – Einträge werden rot und fett dargestellt, wenn sie lokal angegeben wurden sich von Wikidata unterscheiden.

Siehe auch:

Verwendung in Vorlagen[Bearbeiten]

Das Modul wird von folgenden Vorlagen verwendet:

Submodule[Bearbeiten]

  • GetProvince/Provinces – enthält zu jedem Land die Wikidata-ID und den Namen der obersten Hierarchiestufe eines Landes. Schlägt die Suche nach einem Submodul fehl, kann es sein, dass in dieser Datei ein entsprechender Eintrag fehlt.

Benötigte weitere Module

Dieses Modul benötigt folgende weitere Module: Yesno • CountryData/Geography

Verwendung in anderen Modulen

Dieses Modul ist notwendig für die Ausführung folgender Module. Bei Anpassungen sollte die Funktionstüchtigkeit der folgenden Module geprüft werden. Benutze dazu auch diese Tracking-Kategorie um Fehler zu finden, die sich dann auf Artikel auswirken:

Verwandte Module[Bearbeiten]

  • GetP856 – Liefert die Offizielle Webseite eines Objektes.
  • GetNumber – Liefert numerische Eigenschaften eines Objektes, wie z. B. Fläche, geografische Höhe und Einwohnerzahl von Regionen bzw. Orten.
  • GetString – Liefert alphanumerische Eigenschaften eines Objektes (Datentypen string und monolingualtext)
  • GetImage – Liefert Dateinamen von Bildateien.
  • GetItem – Liefert Eigenschaften, die als Wikidata-Objekt erfasst sind. Das Ergebnis können Links auf Wikivoyage oder Wikipedia-Artikel sein.

Trackingkategorien und Spezialseiten[Bearbeiten]

  • Seiten mit Skriptfehlern – Listet Seiten auf, bei denen Lua-Skripte Fehler verursachen.
  • Gewünschte Kategorien – Gewünschte Kategorien. Hier tauche eine neue Kategorie der Art Seiten, die die Wikidata-Eigenschaft Pxxx benutzen auf, wenn eine bisher nicht genutzte Eigenschaft irgendwo verwendet wird.