Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Vorlage:OxfordDNB – Support for Template:OxfordDNB.

Functions for templates

Bearbeiten
www
Create external link
Parameters (optional):
id
Identifier
  • 109876
  • 101012345
  • 12/101012345
err
Error message text
cat
Title of a maintenance category
Result
  • External link, or error message on invalid ID
  • empty else
failsafe
Version management

The Failsafe interface is heading for version management of globally distributed Lua modules. It enables modules equipped with this interface to

  • ensure, that a library module required by a template or another module available as local copy does support certain functionality, or complain if not.
  • administrate global updating and linking of module codes via Wikidata.

The Failsafe interface is present both at template level and for direct Lua access.

The functions in detail are (not all supported yet completely by every library):

Parameter
Value Result current
nothing
false
local version ID »2024-03-08«
Minimal version version ID required at least
date in ISO format

It will be compared whether the current local implementation matches this version or later.

  • empty, if minimal version not achieved
  • 2001-01-01 → »2024-03-08«
  • 2099-01-01 → »«
wikidata version ID of global upstream
  • version ID at Wikidata
  • local, if not found there
»2024-03-08«
item ID of the Wikidata item
  • empty if not defined
Q124723080
~ Corresponding version ID locally and registered at Wikidata
  • empty, if up to date
  • version ID at Wikidata, if not equal
»«
@ Is the current (module) page linked correctly with Wikidata item?
  • empty, if linked to the item which is supposed
  • Iitem ID, if not
The return value is in template programming empty or under Lua false, otherwis a non-empty string as described.

Functions for Lua modules (API)

Bearbeiten

The functions described above can be used by other modules per require() :

local lucky, OxfordDNB = pcall( require, "Module:Vorlage:OxfordDNB" )
if type( OxfordDNB ) == "table" then
    OxfordDNB = OxfordDNB()
else
    -- failure; OxfordDNB is the error message
    return "<span class=\"error\">" .. OxfordDNB .. "</span>"
end

Then there is available:

OxfordDNB.www( at, alert, assign )
Parameters like for Template
  1. at – id
    string
  2. alert – err
    may bestring or mw.html table
  3. assign – cat
    string
Returns: string with external link, or error message, else false
  1. atleast
    optional
    nil oder Mindestversion
Rückgabewert: string oder false
OxfordDNB.failsafe( atleast )
Version management
Returns: string oder false

Dependencies

Bearbeiten

None.