Wikipedia:Lua/Modul/UserGroups
Wikipedia:Lua Modul UserGroups
| Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
| Modul | Deutsch | English
|
Modul: | Dokumentation | ||
UserGroups – Modul zur Verwaltung und Darstellung von Gruppenzugehörigkeiten (auch außerhalb der Software-definierten) und Mandaten.
Funktionen für Vorlagen
- f
- Arbeitsfunktion
- Der Rückgabewert ist leer, wenn sich keine Treffer ergeben, ansonsten eine Zahl oder Zeichenkette oder ein HTML-Element.
- Die nachstehenden Parameter beeinflussen das Ergebnis:
- source
- Seite mit JSON-Quelltext gemäß Datenstruktur
- Beispiel: MediaWiki:Gadget-markAdmins/userGroups.json
- Vorgabe: gemäß Projekt-Konfiguration
- JSON
- JSON-Quelltext gemäß Datenstruktur; Vorrang vor
source - account
- Filterbedingung; Benutzerkonto
- Vorgabe: alle
- pattern
- Filterbedingung; Lua-Muster für Benutzerkonten
- Vorgabe: alle
- codes
- Filterbedingung; Leerzeichen-getrennte Liste der Gruppen-Kürzel
- Vorgabe: alle
- active.state
0– nur ehemalige Zugehörigkeit1– nur aktive Mandate- Vorgabe: alle
- type
- Art der Ausgabe
- gender – Gender-Abfrage
graph– zurzeit keine Implementierungnumber– Anzahl der Treffer als Zahlol– nummerierte Liste verlinkter Nicksping– Sammel-Pingplain– HTML-Darstellung als unformatierte Listeraw– reiner Texttable– Tabelletarget– Versandliste für Massennachrichttimeline– Zeitleisteul– unnummerierte Liste verlinkter NicksLua– kein Zugang aus Vorlagenprogrammierung
- Vorgabe:
table - class
classfür äußeres HTML-Element- style
stylefür äußeres HTML-Element- id
idfür äußeres HTML-Element- caption
- Überschrift für Tabelle oder Zeitleiste
- table.columns
- Spaltendefinition für
type=table - Vorgabe: eine Spalte mit Nick
- table.number
1– beitype=tabledie Anzahl der Nicks anzeigen- table.THclass
classfür Kopfzeile beitype=table- table.THstyle
stylefür Kopfzeile beitype=table- timeline.template
- Seite mit Musterumgebung für Zeitleiste
- Beispiel und Vorgabe: Wikipedia:Lua/Modul/UserGroups/Timeline
- timeline.elected
- Beschriftung für aktive Mandate der Zeitleiste
- timeline.previous
- Beschriftung für ehemalige Zugehörigkeit in der Zeitleiste
- failsafe
- Versionsbezeichnung:
2022-12-12
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):
| Wert | Ergebnis | aktuell |
|---|---|---|
nichtsfalse
|
lokale Version | »2022-12-12« |
| Mindestversion | Mindestversionsbezeichnung Datum im ISO-Format Es wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
|
|
wikidata
|
Versionsbezeichnung der globalen Mutter (d:Q115663308)
|
»2022-12-12« |
item
|
ID des Wikidata-Items
|
»Q115663308« |
~
|
Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung
|
»« |
@
|
Ist die aktuelle (Modul-)Seite richtig mit Wikidata verknüpft?
|
|
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.
| ||
Datenstruktur
Siehe hier.
Filtern nach Gruppenzugehörigkeit
Es kann eine Liste von Gruppen-Bezeichnern und Operatoren angegeben werden.
- Mehrere Gruppen-Bezeichner werden durch ODER verknüpft.
Wenn der Status active.state auf „aktiv“ gesetzt ist, gibt es weitere Möglichkeiten:
- Ein (oder mehrere) Elemente
&bewirken eine Verknüpfung mit UND. - Ein dem Kürzel vorangestelltes
-bewirkt einen Ausschluss, wenn diese Funktion zurzeit aktiv ausgeübt wird.
Gender-Abfrage
Ein account ist Pflichtparameter. Dann wird zu diesem Konto eines der folgenden angezeigt:
f– explizit weiblichm– explizit männlich-– Konto bekannt, nichts hinterlegt- leer – Konto unbekannt
Tabelle
Die Darstellung einer Tabelle ergibt sich aus der Spaltendefinition.
Die Spaltendefinition ist eine durch Leerzeichen und/oder Zeilenumbrüche getrennte Aufzählung von Schlüsselwörtern im Parameter table.columns, deren Reihenfolge auch den dargestellten Spalten entspricht.
Innerhalb einiger Grundregeln können die gewünschten Spalten für die ausgewählten (gefilterten) Einträge frei zusammengestellt werden.
Spaltendefinition
Es gibt zwei Typen von Spalten-Schlüsselwörtern:
#als erstes Zeichen des Schlüsselworts: Festgelegtes Kennwort (bis zu einem ggf. innerhalb folgenden weiteren#)- Sonst: Kürzel für eine Gruppe, gemäß individueller Definitionen.
An das Basis-Kennwort oder Kürzel können mit # weitere Deskriptoren angehängt werden.
Die festgelegten Basis-Kennwörter sind:
#account– Konto-Spalte#codes– Aufzählung der Kürzel zu diesem Konto#gender– Geschlechtszugehörigkeit zu diesem Konto#details– Anmerkungen zu diesem Konto#groups– Sammel-Kennwort für einzelne Mandate (nicht direkt anzugeben):#groups#code– Kennwort für Kürzel (Gruppe) des Mandats#groups#from– Kennwort für Mandats-Beginn#groups#to– Kennwort für Mandats-Ende#groups#info– Kennwort für Mandats-Anmerkung#groups#since– Kennwort für „seit“ (wie#groups#from, jedoch mit anderer Spalten-Überschrift)
Konto-Spalte
Sofern nicht per account= genau ein Benutzerkonto spezifiziert
wurde, enthält die erste Spalte immer das Benutzerkonto; und würde
erforderlichenfalls automatisch vorangestellt werden.
Zusätzliche Deskriptoren sind in beliebiger Reihenfolge und mehrfach kombiniert möglich:
#account#gender– Geschlechtszugehörigkeit kennzeichnen#account#died– Verstorbene kennzeichnen#account#alias– Frühere und spätere Nicks auflisten#account#process:ID – Statt einfach verlinktem Konto die über ID deklarierte Vorlage verwenden.
Gender-Spalte
Sie kann dazu genutzt werden, um den bekannt mageren Frauenanteil zu ermitteln, und um einen Abgleich mit den Einstellungen vorzunehmen.
#gender– Geschlechtszugehörigkeit zu diesem Konto#gender#preference– zusätzlich Konto-Einstellung
Einzelmandat-Spalten
Die Aufzählung mehrfacher Mandate kann nicht kombiniert werden mit:
#codes– Aufzählung der Kürzel zu diesem Konto#gender– Geschlechtszugehörigkeit zu diesem Konto#details– Anmerkungen zu diesem Konto- Kürzel-Spalten
Eine oder mehrere Spalten können angegeben werden für:
#groups#code– Kürzel (Gruppe) des Mandats#groups#code#see– Kürzel verlinken, falls möglich
#groups#from– Mandats-Beginn#groups#to– Mandats-Ende#groups#info– Mandats-Anmerkung#groups#since– Mandats-Beginn (wie#groups#from, jedoch mit anderer Spalten-Überschrift „seit“)
Kürzel-Spalten
Jede Spalte, die über ein nicht-standardisiertes Kennwort deklariert wird, erhält genau diesen Bezeichner als Spalten-Überschrift.
Der Inhalt der Zellen ist eine Markierung, falls diesem Konto dieses Kürzel zugeordnet ist.
Einzelmandat-Spalten können nicht mit Kürzel-Spalten kombiniert werden.
Zeitleiste
Die Seite Wikipedia:Lua/Modul/UserGroups/Timeline erläutert näher, wie sich Zeitleisten konfigurieren lassen.
- Diese oder eine andere mit Definition des allgemeinem Schemas ist als Parameter
timeline.templateanzugeben. - Ein aktuelles Diagramm lässt sich ausstatten mit den drei Parametern:
caption– Überschrifttimeline.elected– Beschriftung für aktive Mandatetimeline.previous– Beschriftung für ehemalige Zugehörigkeit
Projekt-Konfiguration
Auf der Seite Modul:UserGroups.json kann optional das aktuelle Wiki konfiguriert werden.
Das Objekt hat die folgenden Komponenten (alles optional):
- source
- Seite mit JSON-Quelltext gemäß Datenstruktur als Projekt-Vorgabe
- date
- Formatierungsschema für Modul:DateTime (string)
- class
- Attribut
classdes umschließenden HTML-Elements (string oder Objekt) - style
- Attribut
styledes umschließenden HTML-Elements (string oder Objekt) - table
- Objekt mit Eigenschaften einer Tabelle (die in einem HTML-Element eingebettet sein kann)
- class
class(string oder Objekt)- style
style(string oder Objekt)
- died
- Gestaltung eines „Verstorben“-Symbols (string)
- process
- Objekt mit Definitionen für externe Weiterverarbeitung
- In
#account#process:ID wird die Komponente ID dieses Objekts angegeben. - Das Objekt hat folgende Komponenten:
- transclude
- Name einer einzubindenden Seite (string)
- nick
- Name des Parameters, der das Benutzerkonto aufnimmt (string)
- groups
true– alle Gruppen-Bezeichner des aktuellen Benutzerkontos mit dem Wert1angeben
- i18n
- Objekt mit Lokalisierungen
- Die Bezeichner der Komponenten sind Schlüsselwörter für Textfragmente.
- Zugewiesen wird jedem Bezeichner ein Lokalisierungs-Objekt.
- Ein Lokalisierungs-Objekt weist einem oder mehreren Sprachcodes das jeweilige Textfragment (string) zu.
Statt einer Zeichenkette string kann jeweils auch false zugewiesen werden – der Bezeichner der Komponente bleibt als Merkhilfe stehen.
Verwendung
Allgemeine Hinweise zur Einbindung von Modulen
Eine Einbindung erfolgt jeweils im Format
{{#invoke: UserGroups | 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.
- Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
- Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
- 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.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.