Wikipedia:Lua/Modul/PageAttributes/de

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

PageAttributes – Modul zur Hinterlegung von Attributen, bezogen auf einzelne Seiten oder ganze Namensräume.

Funktionen für Vorlagen[Quelltext bearbeiten]

f
Abfrage zu einer Seite
Parameter:
1
Kennung der Gruppe = Namenskomponente des Unter-Moduls
(Pflichtparameter)
2
Name einer Seite
Beginnend mit # und nachfolgend Ziffern: Seitenkennnummer
(optional) Vorgabe: aktuelle Seite
Rückgabewert:
Hinterlegter Attributwert
1 für true
leer für false oder nichts hinterlegt oder Gruppe unbekannt
failsafe
Versionsmanagement

Die Failsafe-Schnittstelle erlaubt den damit ausgerüsteten Modulen in globaler Verteilung

  • sicherzustellen, dass eine von einer Vorlage oder einem Modul benötigte Funktion in der lokalen Kopie eines Bibliotheksmoduls vorhanden ist, und ggf. auch in einer erforderlichen Mindestversion;
  • die globale Aktualisierung und Verknüpfung von Modulen über Wikidata zu verwalten.

Die Failsafe-Schnittstelle liegt sowohl auf Ebene der Vorlagen wie auch in direktem Lua-Zugriff vor.

Die Funktionen sind im Einzelnen (nicht alle werden bereits überall in vollem Umfang unterstützt):

Parameter
Wert Ergebnis aktuell
nichts
false
lokale Version »2022-06-06«
Mindest­version Mindestversionsbezeichnung
Datum im ISO-Format

Es wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.

  • leer, falls Mindestversion nicht erfüllt
  • 2001-01-01 → »2022-06-06«
  • 2099-01-01 → »«
wikidata Versionsbezeichnung der globalen Mutter (d:Q112249306)
  • Versionsbezeichnung auf Wikidata
  • lokal, falls dort keine gefunden
»2022-06-06«
item ID des Wikidata-Items
  • leer, falls nicht definiert
»Q112249306«
~ Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung
  • leer, falls aktuell
  • Versionsbezeichnung auf Wikidata, falls ungleich
»«
@ Ist die aktuelle (Modul-)Seite richtig mit Wikidata verknüpft?
  • leer, falls mit dem richtigen Item verknüpft
  • Item-ID, falls nicht
»Q112249306«
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.

Unter-Module für Gruppen[Quelltext bearbeiten]

Eine Gruppe von Eigenschaften kann über ein Unter-Modul definiert werden.

  • Der Name muss eine direkte Unterseite des Stamm-Moduls im Wiki sein.
    • Zukünftig kämen mit JSON auch andere Namensräume in Frage.
  • Es wird vom Typ mw.loadData erwartet (kann jedoch zukünftig auch mittels JSON spezifiziert werden).
  • Es kann folgende Komponenten zurückgeben:
    • roomstable
      • Zuweisungen an Namensraum-Nummern
    • pageidstable
      • Zuweisungen an Kennnummern einzelner Seiten
    • failsafestring
      • Versionsbezeichnung

Suche nach bekannten Gruppen

Funktionen für Lua-Module[Quelltext bearbeiten]

Einbindung in andere Module:

local lucky, PageAttributes = pcall( require, "Module:PageAttributes" )
if type( PageAttributes ) == "table" then
    PageAttributes = PageAttributes()
else
    -- Fehlerfall; PageAttributes enthält Fehlermeldung
    return "<span class=\"error\">" .. PageAttributes .. "</span>"
end

Danach stehen zur Verfügung:

PageAttributes.f(ask,another)
Abfrage zu einer Seite
ask
Kennung der Gruppe = Namenskomponente des Unter-Moduls
(Pflichtparameter)
another
Seiten-Identifikation
  • string – Seiten-Name, auch mit # beginnend und nachfolgend Ziffern als Seitenkennnummer
  • number – Seitenkennnummer
  • table – mw.title
Vorgabe: aktuelle Seite
Rückgabewert:
Hinterlegter Attributwert
string, number, boolean, nil
false wenn nichts hinterlegt
nil wenn Gruppe unbekannt
PageAttributes.failsafe(atleast)
Versionsbezeichnung

Abhängigkeiten[Quelltext bearbeiten]

Keine.