Übersicht
Die TagType API dient zur Verwaltung der Tags der Benutzer in Fess, also der benutzereigenen Tags, die angemeldete Benutzer an Dokumente vergeben (siehe Tag). Sie verwaltet die Tags aller Benutzer, unabhängig davon, ob user.tag.enabled den Wert true hat.
Informationen zur Authentifizierung sowie zu den gemeinsamen Spezifikationen von Antworten (status-Code, version-Feld, Fehlerformat, HTTP-Statuscodes usw.) finden Sie unter Admin API Übersicht. Für den Zugriff auf diese API ist ein Access Token mit Admin-API-Berechtigung (admin-api) im Header Authorization: Bearer <access_token> erforderlich.
Die JSON-Feldnamen dieser API sind in snake_case (sort_order, virtual_host, seq_no, primary_term usw.).
Basis-URL
Endpunktliste
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /settings | Tags auflisten |
| GET | /setting/{id} | Tag abrufen |
| POST | /setting | Tag erstellen |
| PUT | /setting | Tag aktualisieren |
| DELETE | /setting/{id} | Tag löschen |
Tag abrufen
Anfrage
Antwort
seq_no und primary_term kennzeichnen die gelesene Version des Tags. paths und permissions enthalten einen Eintrag pro Zeile.
Tag erstellen
Anfrage
Anfragetext
Feldbeschreibung
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | String | Ja | Tag-Name. Er wird NFKC-normalisiert, Leerzeichenfolgen werden zusammengefasst und Anfang und Ende getrimmt; das Ergebnis muss 1 bis |
owner | String | Ja | Benutzer-ID der Anmeldung des Besitzers (max. 1000 Zeichen). |
paths | String | Nein | URLs der Dokumente, an die das Tag vergeben wird, getrennt durch einen Zeilenumbruch ( |
permissions | String | Nein | Benutzer/Gruppen/Rollen, die das Tag sehen können (z. B. |
virtual_host | String | Nein | Virtueller Host (max. 1000 Zeichen). |
sort_order | Integer | Nein | Anzeigereihenfolge (nicht negative Ganzzahl). Ohne Angabe 0. |
Die ID eines Tags ist der SHA-256 seines aus Name und Besitzer gebildeten Werts und wird daher vom Server bestimmt. Besitzer und Name kennzeichnen ein Tag gemeinsam: Hat der Besitzer bereits ein Tag dieses Namens, schlägt das Erstellen mit einem Validierungsfehler fehl (status: 1, „A tag with the same name and owner already exists.“).
Antwort
Bei erfolgreicher Erstellung ist created true.
Tag aktualisieren
Anfrage
Anfragetext
Der Text enthält alle Felder der Erstellung und zusätzlich die folgenden Felder. Das Tag wird als Ganzes ersetzt; senden Sie also auch die paths, die erhalten bleiben sollen.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id | String | Ja | Die ID des zu aktualisierenden Tags. |
seq_no | Integer | Ja | Der von GET /setting/{id} zurückgegebene seq_no des Tags. |
primary_term | Integer | Ja | Der von GET /setting/{id} zurückgegebene primary_term des Tags. |
Wurde das Tag nach dem Lesen geändert, sodass
seq_noundprimary_termnicht mehr passen, schlägt die Aktualisierung mit einem Validierungsfehler fehl (status: 1, „The tag was changed by someone else. Reload it and try again.“). Rufen Sie das Tag erneut ab und wiederholen Sie den Vorgang.Eine Änderung von
nameoderownergibt dem Tag eine neue ID; dieidder Antwort ist die neue. Hat der Besitzer bereits ein Tag des neuen Namens, schlägt die Aktualisierung mit „A tag with the same name and owner already exists.“ fehl.Ändert sich der Besitzer, wird die Benutzerberechtigung des alten Besitzers in
permissionsdurch die des neuen Besitzers ersetzt.
Antwort
Bei der Aktualisierung ist created false.
Tag löschen
Anfrage
Antwort
Wird das Tag während des Löschens geändert, schlägt das Löschen mit „The tag was changed by someone else. Reload it and try again.“ fehl.
Wie Änderungen die Dokumente erreichen
Das Erstellen, Aktualisieren und Löschen eines Tags über diese API wird sofort in den Tags gespeichert. Solange user.tag.enabled den Wert true hat, wird die Änderung für die Dokumente (hinzugefügte und entfernte Pfade, eine Umbenennung oder eine Löschung) in die Warteschlange gestellt und vom minütlichen Job „Log Aggregator“ (log_aggregator) angewendet. Bei false wird nichts eingereiht; führen Sie nach dem Aktivieren der Tags den Job „Tag Updater“ (tag_updater) aus. Siehe Tag.
Anwendungsbeispiele
Ein Tag für alle angemeldeten Benutzer freigeben
Siehe auch
Admin API Übersicht - Admin API Übersicht
Tags-API - Tags-API
Tag - Tag-Verwaltungsanleitung