Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Das Objekt (etwa als JSON-Seite) hat die auf dieser Seite beschriebene Struktur.

JSON-Syntax

Bearbeiten

Es 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).
  • 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.
    • Zahl, aus Ziffern (usw.)
    • Array, geordnete Aufzählung in [ ].
      • Elemente werden durch Kommata voneinander getrennt.
    • Boolescher Wert, true oder false.
  • 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

Bearbeiten

Siehe Quelltext von MediaWiki:Gadget-markAdmins/userGroups.json.

Das 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.

Dieses Objekt hat zwei Komponenten:

  1. Benutzerkonten-Objekt
  2. Kürzel-Objekt

Benutzerkonten-Objekt

Bearbeiten

Es 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 und nicky 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: ÄÖÜäöüß und AOUaouss usw.
    • Ansonsten gilt die ASCII-Reihenfolge.

Benutzerkonto-Element

Bearbeiten

Dieses 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

Bearbeiten

Dieses 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
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 oder true
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

Bearbeiten

Dieses 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
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
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

Bearbeiten

Das 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 vsnlogpage 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

Bearbeiten

Dieses 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

Bearbeiten

Dieses Objekt gibt optionale Zusatzinformationen für die Darstellung. Es ist die Komponente "codes" des Haupt-Objekts.

Es hat zwei optionale Komponenten:

Gruppe-Objekt

Bearbeiten

Jede 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

Bearbeiten

Mit dem Array order können die Kürzel der Gruppen in eine logische Reihenfolge gebracht werden. Andernfalls würde alphabetische Sortierung erfolgen.