Modul:Failsafe/Doku
Dies ist eine nachgeordnete Seite der Dokumentation von Modul:Failsafe. 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 Failsafe/Test und die Anwendung auf der Spielwiese getestet werden, da wiederholte Trial-and-Error-Edits die Resourcen stark belasten können. |
Verwendungszweck
BearbeitenDas Modul stellt eine Funktion zur Einbindung in andere Module zur Versionsprüfung bereit. Üblicherweise gelangt diese Funktion bei Modulimporten zum Einsatz, wird aber auch für Wikivoyage-Module bereitgestellt.
Funktionen
Bearbeitenfunction fs._failsafe( version, moduleInterface )
- Vorgaben:
version
nil
,false
: keine Versionsprüfung notwendig. Versionsnummer wird aus dem Modul selbst bezogen.string
: Zeichenkette der geforderten Version. Wennversion = 'wikidata'
ist, wird die Versionsnummer aus Wikidata bezogen, wenn sie dort vorhanden ist. Ansonsten aus dem Modul selbst. Wennversion
eine Versionsnummer enthält, wird sie mit der Version im Modul verglichen. Wenn die angeforderte Version kleiner oder gleich der Modulversion ist, wird die aktuelle Modulversion zurückgeliefert, ansonstenfalse
.table
:frame
-Tabelle (template, #invoke)
moduleInterface
- Tabelle mit Angaben zum Modul.
- Zurückgelieferter Wert:
- Version oder
false
- Version oder
function fs.getModuleVersion( frame )
- Liefert das Versionsdatum aus Wikidata bzw. dem Modul selbst und markiert, ob beide Angaben identisch sind, wenn sie vorhanden sind.
- Vorgaben:
- Keine
Aufbau der moduleInterface-Tabelle
Bearbeitenlocal Modulname = {
suite = 'Modulname',
sub = 'Untermodul',
serial = '2019-07-09',
item = 12345678, -- Wikidata id
-- nachfolgende kommen vor, aber nicht bekannt, was sie bewirken sollen
frame = false,
ns = -9999, -- number; current namespace number
nsDocs = -99999, -- number; central documentation namespace number
title = false, -- current page Title object
transl = false,
subpages = ?,
suffix = ?,
swift = ?,
start = ?, -- string; defined pageDocRoot argument
script = ?, -- string; module name (main)
say = ?, -- string; message key
specific = ?, -- string, optional; additional information
collect = ?,
lazy = ?,
lead = ?,
}
Mehr evtl. in Modul:Vorlage:LuaModuleDoc auf der deutschen Wikipedia.
Beispiele
Bearbeitenfunction fs._failsafe( nil, moduleInterface )
{{#invoke: {{BASEPAGENAME}} | failsafe }}
Liefern die Version aus dem Modul selbst.
function fs._failsafe( 'wikidata', moduleInterface )
{{#invoke: {{BASEPAGENAME}} | failsafe | wikidata }}
Liefern die Version aus Wikidata.
function fs._failsafe( '2019-07-09', moduleInterface )
{{#invoke: {{BASEPAGENAME}} | failsafe | 2019-07-09 }}
Vergleichen die angeforderte Version mit der Modulversion.
{{#ifeq: {{#invoke:{{BASEPAGENAME}} | failsafe}} | {{#invoke:{{BASEPAGENAME}} | failsafe | wikidata }}
| {{ombox | type = notice | image = [[Image:Blue check.svg|30px]] | text = Das Modul ist auf dem aktuellen Stand. }}
}}
Prüft, ob die Version auf Wikidata mit der Modulversion identisch ist.