Wikipedia:Lua/Modul/UserGroups/Datenstruktur/de
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Das Objekt (etwa als JSON-Seite) hat die auf dieser Seite beschriebene Struktur.
JSON-Syntax
BearbeitenEs gelten die allgemeinen Regeln der JavaScript Object Notation:
- Zeichenketten werden in
"
eingeschlossen.- Sie dürfen keine anderen
"
enthalten. Besser wären typografische Anführungszeichen, in HTML-Syntax Apostrophe'
. - Ansonsten gäbe es Escaping mittels
\"
oder ggf.&qout;
. - Zeilenumbrüche sind unzulässig (ohne besondere Maßnahmen).
- Sie dürfen keine anderen
- Zuweisungen bestehen aus einem Bezeichner, der in
"
einzuschließen ist, einem Doppelpunkt:
und dann dem Wert. - Zugewiesene Werte können die folgenden Datentypen haben:
- Zeichenkette
- Anderes Objekt in
{ }
.- Benannte Komponenten
"X": "sowas"
werden durch Kommata voneinander getrennt.
- Benannte Komponenten
- Zahl, aus Ziffern (usw.)
- Array, geordnete Aufzählung in
[ ]
.- Elemente werden durch Kommata voneinander getrennt.
- Boolescher Wert,
true
oderfalse
.
- Kommentare wie in JavaScript sind nicht möglich.
- Objekte können jedoch eine Komponente "comment" aufnehmen.
Für JSON im Wiki gilt:
- Der Quelltext wird nach Abspeicherung automatisch formatiert; es lohnen sich keine Mühen zum Layout.
Über die allgemeinen Regeln hinaus gilt für diese Anwendung:
- Eine leere Zeichenkette
""
wird in der Regel als nicht vorhandene Zuweisung betrachtet.- Sie kann also „geparkt“ werden.
- In jedem Objekt ist einmalig eine Komponente
"comment": "Memo"
möglich. Sie wird nirgends ausgewertet und kann Hinweise für die spätere Quelltextbearbeitung aufnehmen. - Bis auf den Typ Array ist die Reihenfolge der Elemente in einem Objekt bedeutungslos.
- Es empfiehlt sich jedoch, sie in immer gleicher Weise im Quelltext anzuordnen, damit sich alle durchfinden und nichts doppelt versucht wird. Diese Reihenfolge ergibt sich aus der Sortierung der Nicks, der Dokumentation auf dieser Seite hier sowie aus der Reihenfolge der Kürzel und der Chronologie.
- Ein Objekt kann eine Pflichtkomponente haben; das ist dann eine Zeichenkette. In einer Kurzfassung kann das Objekt durch allein diese Zeichenkette ersetzt werden, was inhaltlich gleichwertig ist.
Fehlersuche
Bearbeiten- Wird vor dem Speichern eines geänderten Quelltextes die Vorschau genutzt, ergibt sich entweder eine tabellarische Struktur oder es erscheint eine unspezifische Fehlermeldung.
- Die Webseite jsonlint.com und weitere erlauben eine genauere Online-Analyse.
Beispiele
BearbeitenSiehe Quelltext von MediaWiki:Gadget-markAdmins/userGroups.json.
Kürzel
BearbeitenDas Kürzel ist Bezeichner für eine Gruppe, etwa "A"
oder "SG"
.
Kürzel dürfen recht frei gewählt werden, unter einigen Bedingungen:
- Die Zeichen
#
.
und Leerzeichen dürfen nicht enthalten sein. - Erstes Zeichen darf nicht
-
sein.
Bei den Kürzeln sind Groß- und Kleinschreibung signifikant.
- Jedoch dürfen keine zwei Kürzel sich gleichen, wenn Groß- und Kleinschreibung ignoriert werden.
Objekt
BearbeitenDieses Objekt hat zwei Komponenten:
Benutzerkonten-Objekt
BearbeitenEs ist die Komponente "accounts"
des Haupt-Objekts.
- Es ist ein Objekt.
- Es weist jedem Bezeichner eines Benutzerkontos (Nick) Eigenschaften zu.
- Die Groß- und Kleinschreibung des ersten Buchstabens ist signifikant,
Nicky
undnicky
gelten als unterschiedliche Konten.- Für die Darstellung wird exakt diese Schreibung benutzt.
- Die Reihenfolge im Quelltext sollte immer die lexikalische Reihenfolge sein, wie sie auch in Gesamtauflistungen erscheint, damit niemand verwirrt wird.
- Es sind gleichwertig:
ÄÖÜäöüß
undAOUaouss
usw. - Ansonsten gilt die ASCII-Reihenfolge.
- Es sind gleichwertig:
Benutzerkonto-Element
BearbeitenDieses wird einem Benutzerkonto zugewiesen.
Es kann sein:
- Zeichenkette
- Kürzel der Gruppe
"A"
- Array
- Auflistung mehrerer Gruppenzugehörigkeiten in Amtsperioden
- Objekt
- Benutzerkonto-Objekt
Benutzerkonto-Objekt
BearbeitenDieses Objekt ist die vollständige Struktur für ein Benutzerkonto. Kurzformen als vereinfachtes Benutzerkonto-Element sind gleichrangig.
Die Komponenten können sein:
- gender
- Zeichenkette, mit
"f"
oder Frau oder female; erster Buchstabe ohne Groß- und Kleinschreibung ist maßgeblich- Sollte insbesondere bei noch aktiven Benutzerkonten immer kongruent sein.
- Bei historischen Benutzerkonten kann es nach persönlicher Kenntnis zugeordnet werden.
"m"
oder Mann oder male; erster Buchstabe ohne Groß- und Kleinschreibung ist maßgeblich – explizit männlich- Keine Angabe oder alles andere ist undefinierte Geschlechtszuordnung.
In den frühen Jahren der Wiki-Software gab es gar keine Geschlechtszuordnung, später weiblich und nicht-weiblich.
- groups
- Pflichtangabe
- Gruppenzugehörigkeiten
- Wert kann sein:
- Array mit Liste von Gruppenzugehörigkeiten (Kürzel oder Gruppen-Objekt)
- Die Reihenfolge ist für die Darstellung signifikant.
- Dieselbe Gruppe kann in mehreren Mandatsperioden erscheinen.
- Zeichenkette: Kürzel der Gruppe –
"A"
- Gruppen-Objekt
- Array mit Liste von Gruppenzugehörigkeiten (Kürzel oder Gruppen-Objekt)
- alias
- ehemals / späterer Nick der Person; auch Zweitkonten
- Zeichenkette: früherer Nick
- Alias-Objekt; dort auch weitere Hinweise
- Array mit mehreren Alias-Angaben
- real
- Klarname
- died
- Zeichenkette, mit
"+"
oder Datum odertrue
- details
- Zeichenkette, ausführliche Zusatzinformationen als Wikitext
- page
- Benutzerseite abweichend von Standardseite, etwa in anderem Wiki
Alternativ dazu ist möglich:
- renamed
- Zeichenkette, mit neuem, aktuellen Konto, für das ein Eintrag definiert wurde
Gruppen-Objekt
BearbeitenDieses Objekt ist die vollständige Struktur für eine Mandatsperiode in einer Funktion. Die Kurzform als reines Kürzel ist gleichrangig.
Die Komponenten können sein:
- code
- Pflichtangabe
- Gruppen-Kürzel
- from
- Wahl oder Ernennung
- Wert kann sein:
- Zeichenkette mit Datum (
JJJJ-MM-TT
bevorzugt und sicherer) - Datumsobjekt; dort auch mehr zu den Formaten
- Zeichenkette mit Datum (
- to
- Ende, wie bei
from
- Wert kann sein:
- Zeichenkette mit Datum (
JJJJ-MM-TT
bevorzugt und sicherer)"-"
ist ein unbekanntes aber vorgefallenes Datum; wird nicht dargestellt"?"
oder"???"
ist ein unbekanntes aber vorgefallenes Datum; wird sichtbar dargestellt
- Datumsobjekt
true
ist ein unbekanntes aber vorgefallenes Datum; wird nicht dargestellt
- Zeichenkette mit Datum (
- Wenn kein Ende vermerkt wurde, oder das Ende in der Zukunft liegt, gilt die Funktionsausübung als noch aktiv.
- on
- Beginn einer Wahlperiode, die nicht mit der wahrgenommenen Amtszeit zusammenfällt
- Werte wie vor; etwa Zeichenkette
- off
- Ende einer Wahlperiode, die nicht mit der wahrgenommenen Amtszeit zusammenfällt
- Werte wie vor; etwa Zeichenkette
- state
- Status
"member"
(Vorgabe) – Gruppenmitglied"ping"
– nur nachrichtlich
- info
- Kurze Standard-Info als Wikitext
- suffix
- Fußnote zur
info
als Wikitext
Datumsobjekt
BearbeitenDas Datumsobjekt kann verschiedenen Zeitpunkten zugeordnet werden. Die Kurzform ist die einfache Zeichenkette.
Als Format sollte immer JJJJ-MM-TT
benutzt werden („ISO“), auch nur JJJJ
oder JJJJ-MM
. Andere Datumsnotationen werden in Tabellen auch gleichberechtigt dargestellt, jedoch in verschiedenen Software-Auswertungen nicht interpretiert.
Die Komponenten können sein:
- date
- Pflichtangabe
- Zeichenkette, mit Datumsangabe
- sort
- Falls
date
nicht als konkretes Datum dargestellt werden kann („Herbst 2003“), kann hier ein ISO-Tag für die softwareseitige Auswertung angegeben werden. - vsn
- Versionsnummer einer Seite, zur Bildung einer Verlinkung
- ganze Zahl
- Zeichenkette, auch mit
#fragment
- log
- Logbuch-ID, zur Bildung einer Verlinkung (ganze Zahl)
- prefix
- fremdes Projekt, zur Bildung einer Verlinkung mit
vsn
usw. (Zeichenkette) - page
- Wikilink-Zielseite, zur Bildung einer Verlinkung (Zeichenkette)
In der Reihenfolge vsn
→ log
→ page
werden die Angaben für die Darstellung ausgewertet.
- Mehrfachangaben sind jedoch möglich.
Die Verlinkungen sind für Kandidatur-Wahl-Seiten, Erklärung der Rückgabe der Rechte, Kondolenzlisten usw. vorgesehen.
Alias-Objekt
BearbeitenDieses Objekt ist die vollständige Struktur für einen alternativen Nick. Die Kurzform als reine Zeichenkette für ehemalige Konten ist gleichrangig.
Die Komponenten können sein:
- account
- Pflichtangabe
- Zeichenkette, mit Nick
- later
true
– später- link
true
– Verlinkung generieren- suffix
- Fußnote; als Wikitext
Kürzel-Objekt
BearbeitenDieses Objekt gibt optionale Zusatzinformationen für die Darstellung. Es ist die Komponente "codes"
des Haupt-Objekts.
Es hat zwei optionale Komponenten:
"groups"
– Objekt, das den Gruppen-Kürzeln jeweils ein Gruppe-Objekt zuordnet"order"
– Reihenfolge der Gruppen
Gruppe-Objekt
BearbeitenJede Gruppen-Komponente ist ein Gruppe-Objekt zum Kürzel und kann die folgenden Komponenten enthalten:
- support
- Zeichenkette, mit Kurzmemo/Tooltipp
- see
- Zeichenkette, mit Projektseite zur Verlinkung
Reihenfolge
BearbeitenMit dem Array order
können die Kürzel der Gruppen in eine logische Reihenfolge gebracht werden. Andernfalls würde alphabetische Sortierung erfolgen.