Wikipedia:Lua/Modul/PageAttributes

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

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
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.

Unter-Module für Gruppen

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


Allgemeine Hinweise zur Einbindung von Modulen

Eine Einbindung erfolgt jeweils im Format

{{#invoke: PageAttributes | Funktionsname | Wert1 | Wert2 | NameX=Wert … }}

Die Parameter können wie bei Vorlagen benannt oder unbenannt sein; deren Regeln gelten analog.

Wenn unbekannte Zeichenketten von außen kommen (als Vorlagenparameter), sollte immer mit der Form 1=Wert gearbeitet werden.

Zu allgemeinen Problemen beachte die Abhilfen wie bei Vorlagen.

Wenn in einer Vorlage ein Modul verwendet wird, sollte auch immer die Vorlage:Dokumentation/Lua in der Dokumentationsseite eingebunden werden.

  1. Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
  2. Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
  3. Die Vorlage wird zur Übersicht kategorisiert in Kategorie:Vorlage:mit Lua-Programmierung.

Zu weiteren Informationen siehe Hilfe:Lua.

Bei Problemen wende dich bitte an die Vorlagen-Werkstatt, in schweren Fällen hilft auch die Lua-Werkstatt.