Für die Übersichtstabellen über Projekte, Artikel und Kategorien wird im columns-Schlüssel festgelegt, welche Spalten zur Verfügung stehen. Im einfachsten Fall enthält die Konfiguration eine Liste mit Spaltennamen als Schlüssel und Beschriftungen als Werten, zum Beispiel:

{
    "columns": {
       "lemma": "Lemma",
       "sortkey": "Sortierschlüssel",
       "articles_count": "Artikel",
       "norm_data": "Normdaten",
       "norm_iri": "IRI-Fragment",
       "id": "ID"
   }
}

Der Name kann außerdem einen Extraktionsschlüssel (siehe die Erläuterung zu key in der folgenden Tabelle) enthalten. Sollen weitere Eigenschaften konfiguriert werden, kann als Wert ein Objekt mit folgenden Schlüsseln angegeben werden:

SchlüsselBeschreibung
nameEindeutige Bezeichnung des Feldes. Diese Bezeichnung wird in Abfragen in den Query-Parametern verwendet.
key

Schlüssel zum Extrahieren der Daten aus dem Artikel. Als Exktraktionsschlüssel können einfache Felder des Artikelobjekts (z.B. `title`) oder auch verschachtelte Felder mit Dot-Notation angegeben werden (z.B. `project.shortname`). Um auf Listen zuzugreifen, kann ein Sternchen-Platzhalter verwendet werden (z.B. `items.*.value`). Die Listen können mit Bedingungen in eckigen Klammern gefiltert werden (z.B. `items.*[itemtype=conditions].date`). Für weitere Details siehe die CakePHP-Dokumentation zur Hash-Syntax.

Um verschachtelte Felder formatiert (z.B. als JSON-Dictionary) auszugeben, muss als Schlüssel ein Array mit  mindestens zwei Elementen angegeben werden. Die ersten Elemente enthalten den Extraktionsschlüssel, das letzte Element den Namen des zu formatierenden Feldes, zum Beispiel: `["project","description"]`. Ohne Array-Notation wird bei verschachtelten Feldern der Rohwert des Feldes (z.B. ein JSON-String) ausgegeben.

captionÜberschrift in der Tabelle
defaultSoll die Spalte standardmäßig ausgegeben werden (true|false)?
aggregate

Aggregationsfunktion, wenn mehrere Werte zusammengefasst werden müssen (min, max, count, collapse, false) oder eine Transformationsfunktion (strip). Mehrere Schritte können mit einer Pipe getrennt werden.

Beispiel: strip|collapse würde alle Tags aus den Werten entfernen und anschließend mehrere Werte (sofern vorhanden) als kommaseparierte Liste ausgeben.

sort

Standardmäßig wird die Sortierung automatisch aus dem key-Schlüssel abgeleitet. Um die Sortiermöglichkeit abzuschalten, wird sort auf false gesetzt. Ansonsten kann sort ein Objekt mit folgenden Schlüsseln sein:

  • table: Tabelle, die für die Sortierung gejoint wird
  • conditions: Ein Objekt mit zusätzlichen Filtern, zum Beispiel {"itemtype":"heraldry"} )
  • field: Sortierfeld in der Tabelle
  • aggregate: Angabe, wie mehrere Einträge in der Tabelle aggregiert werden: "min", "max" oder "count". 
  • cast: Type casting unter Angabe eines SQL-Typs, z.B. "INTEGER".
iconEin Unicode-Zeichen, das in Vorschaukacheln als Icon vor den Inhalten der Summary angezeigt wird.
widthBreite der Spalte in Pixeln

 

Beispiele

Anzahl der Annotationen

{
  "annotations": {
     "key": "links.*",
     "caption": "Annotationen",
     "aggregate": "count"
   }
}

Vereinfachte Konfiguration mit Extraktionsschlüssel

{
  "links.*|count": "Annotationen",
  "modifier.name": "Bearbeiter:in"
}