Modul:GetP856/Doku
Dies ist eine nachgeordnete Seite der Dokumentation von Modul:GetP856. Sie enthält Informationen zur Verwendung, Kategorisierung und zu anderem Inhalt, der nicht Bestandteil der originalen Modul-Seite ist. |
Dieses Modul ist getestet und für den projektweiten Gebrauch geeignet. Es kann in Vorlagen benutzt und auf Hilfeseiten erläutert werden. Entwicklungen an dem Modul sollten auf GetP856/Test und die Anwendung auf der Spielwiese getestet werden, da wiederholte Trial-and-Error-Edits die Resourcen stark belasten können. |
Dieses Modul benutzt die Wikidata-Eigenschaft: |
Funktion
BearbeitenDas Modul bietet einige Funktionen, um die Wikidata-Eigenschaft offizielle Website (P856) eines Objektes abzurufen. Es kann sowohl in anderen Modulen als auch in Vorlagen verwendet werden. Folgende Funktionen sind implementiert:
getUrl
BearbeitengetUrl(id,lang)
- Aufruf in einer Vorlage:
{{#invoke:GetP856|getUrl|id|lang}}
- Aufruf in einem Modul:
p856.GetP856().getUrl(id,lang)
- Funktion: Liefert offizielle Webseite eines Objektes als einfache URL.
- Aufruf in einer Vorlage:
getUrlAsLinkWithHost
BearbeitengetUrlAsLinkWithHost(id,lang)
- Aufruf in einer Vorlage:
{{#invoke:GetP856|getUrlAsLinkWithHost|id|lang}}
- Aufruf in einem Modul:
p856.GetP856().getUrlAsLinkWithHost(id,lang)
- Funktion: Liefert offizielle Webseite eines Objektes als Wiki-Markup. Als Linktext wird nur die Domain verwendet.
- Aufruf in einer Vorlage:
getUrlAsLinkWithHostAndLanguage
BearbeitengetUrlAsLinkWithHostAndLanguage(id,lang)
- Aufruf in einer Vorlage:
{{#invoke:GetP856|getUrlAsLinkWithHostAndLanguage|id|lang}}
- Aufruf in einem Modul:
p856.GetP856().getUrlAsLinkWithHostAndLanguage(id,lang)
- Funktion: Liefert offizielle Webseite eines Objektes als Wiki-Markup. Als Linktext wird nur die Domain verwendet. Zusätzlich wird die Sprache der Webseite angezeigt (derzeit nicht, wenn der erstbeste Eintrag aus der Datenbank geliefert wird, siehe Prierität weiter unten).
- Aufruf in einer Vorlage:
getOfficialWebsite
BearbeitengetOfficialWebsite(id,lang, message)
- Aufruf in einer Vorlage:
{{#invoke:GetP856|getOfficialWebsite|id|lang|message}}
- Aufruf in einem Modul:
p856.GetP856().getOfficialWebsite(id,lang,message)
- Funktion: Liefert alles komplett für die Vorlage {{Offizielle Webseite}}
- Aufruf in einer Vorlage:
Bei der Verwendung in anderen Modulen muss am Skriptanfang noch ein p856 = require( 'Module:GetP856' )
eingefügt werden.
Die Funktionen arbeiten mit den folgenden anonymen Parametern
|id=
Wikidata-ID des Objektes, kann leer bleiben, wenn der eigene Artikel abgefragt werden soll.|lang=
Sprache der Homepage, ist keine angegeben oder die gesuchte nicht vorhanden, wird nach folgender Priorität abgefragt.- Sprache des Wikis
- Englisch
- Amtssprache des Landes in dem der Ort des Artikels liegt
- Die erste, die von der Datenbank geliefert wird
|message=
Dieser beschreibende Text wird hinter dem Link zusätzlich angezeigt. Ist nichts angegeben, wird der Standardtext „Offizielle Webseite von XY“ angezeigt, wobei für „XY“ die Bezeichnung aus Wikidata verwendet wird. Je nach Benennung auf Wikidata kann der Standardtext grammatikalisch falsch sein (wenn zum Beispiel das Wort „Provinz“ vorangestellt ist).
getUrlAsLinkWithHostQuickbar
BearbeitenCottbus | |
Webseite | www.cottbus.de |
---|
getUrlAsLinkWithHostQuickbar ( id, wikiValue )
- Aufruf in einer Vorlage:
{{#invoke:GetP856|getUrlAsLinkWithHostQuickbar|id|wikiValue}}
- Aufruf in einem Modul:
p856.GetP856().getUrlAsLinkWithHostQuickbar(id,wikiValue)
- Funktion: Liefert offizielle Webseite eines Objektes als Tabellenzeile zur Einbindung in einer Infobox (Quickbar). Diese Funktion wird im Regelfall nur in anderen Modulen, speziell denen für die Quickbars, benutzt. Der Einsatz in individuell zusammengestellten Infoboxen direkt in Artikeln ist aber trotzdem möglich.
- Aufruf in einer Vorlage:
Dieser Funktion kann auch ein „Sollwert“ für die Ausgabe übergeben werden. Das bewirkt eine Ausgabe dieses Wertes und keine Ausgabe des auf Wikidata gespeicherten Wertes. Ungeachet dessen wird der übergebene Wert mit Wikidata verglichen. Das Ergebnis des Abgleich finden sich in einer Wartungskategorie sowie in zusätzlichen CSS-Klassen. Für den Leser gibt es ein zusätzliches Tooltip mit dem Ergebnis des Vergleichs und dem Wert von Wikidata.
Wartungskategorien
BearbeitenHTML bei Nutzung in den Quickbars
BearbeitenFolgendes HTML wird erzeugt:
<!-- Eintrag für die Zeile -->
<tr class="voy-qb-item voy-qb-item-website">
<!-- Eintrag für die erste Spalte -->
<th class="voy-qb-item-key">Offizielle Webseite</th>
<!-- 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="URL" title="Tooltip-Info">Offizielle Webseite</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="URL" title="Tooltip-Info">Offizielle Webseite</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="URL" title="Tooltip-Info">Offizielle Webseite</td>
<!-- alle anderen Fälle -->
<td class="voy-qb-item-value1 voy-wikidata-content" data-wikidata-id="Wikidata-ID, wenn vorhanden" data-wikidata-value="URL">Offizielle Webseite</td>
</tr>
CSS-Klassen bei Nutzung in den Quickbars
BearbeitenJedes 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 Klasseqb
. Über diese kann man jede Infobox beeinflussen.voy-qb-ort
- Alle Orts-Quickbars, die direkt oder indirekt über diese Vorlage eingebunden sind, besitzen diese Klassevoy-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 Klassevoy-qb-de
hinterlegt. Lässt sich keine TLD ermitteln, heißt die Klasseqb-unknown-tld
.
Jede Zeile einer Quickbar besitzt eine allgemeine und eine eigene Klasse.
voy-qb-item
– Klasse, die alle Zeilen einer Infobox-Tabelle besitzen.
voy-qb-item-website
– Diese Zeile zeigt die offizielle Webseite an.
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 Spaltevoy-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:
- Wikivoyage:CSS-Klassen – Dokumentation der CSS-Klassen auf Wikivoyage
Verwendung in Vorlagen
BearbeitenDieses Modul wird in folgenden Vorlagen verwendet:
- {{Offizielle Webseite}} – Die Vorlage erzeugt einen Eintrag mit der/den offiziellen Website(s) des Ortes und garantiert eine einheitliche Darstellung in allen Artikeln. Die Anwendung erfolgt als erster Eintrag im Abschnitt Weblinks eines Artikels.
- {{Quickbar Fluggesellschaft}} – Quickbar für Fluggesellschaften
- {{Quickbar Flughafen}} – Quickbar für Flughäfen
- {{Quickbar Ort}} – Quickbar für Orte
- {{Quickbar Region}} – Quickbar für Regionen
Benötigte weitere Module
Dieses Modul benötigt folgende weitere Module: URLutil • UrlCheck • Languages
- Modul:URLutil – Handling von Webadressen.
- Modul:UrlCheck – Prüfung von Webadressen.
- Modul:Languages – Lieferung von Sprachcodes.
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:
- Quickbar Fluggesellschaft • Quickbar Flughafen • Quickbar Ort • Quickbar Region
- Modul benötigt das Modul GetP856 – Wartungskategorie, in der nochmals alle Module gelistet sind, die von diesem Modul abhängig sind.
Verwandte Module
Bearbeiten- 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.
- GetProvince – Ermittelt rekursiv die erste Verwaltungsstufe eines Ortes (Bundesland, Provinz usw.).
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.