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üssel | Beschreibung |
---|---|
name | Eindeutige 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 |
default | Soll 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:
|
link | Um einen Wert zu verlinken, wird ein URL-Objekt angegeben. Platzhalter in geschweiften Klammern werden durch die Inhalte des Datensatzes ersetzt. Beispiel:
|
icon | Ein Unicode-Zeichen, das in Vorschaukacheln als Icon vor den Inhalten der Summary angezeigt wird. |
width | Breite 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"
}