Ton: Fehlerabschnitte von Fuersorge-Sprache auf Handbuch-Sprache umgestellt
- AGENTS.md: neue Pflichtregel 'Ton in Fehlerabschnitten' (Tabelle Meldung|Bedeutung|Vorgehen; verbotene Muster + Ersatzformen) - anwender/*: 12 Seiten umgeschrieben - 'Wenn etwas schiefgeht'/'Wenn nicht alles klappt' -> 'Fehler'-Tabellen; 'bitte deine Betreuung/Teamleitung' -> konkrete Instanz mit Link; 'Zeichen fuer Zeichen', 'hoechstens drei Versuche', 'statt weiter zu raten' entfernt - hilfe.md komplett neu: Fehleruebersicht + Zustaendigkeiten als Tabellen (Titel 'Hilfe bei Stoerungen') - admin/ki-funktionen: Produkt-Zitat als solches belassen; projekt/audit-backup, sammlungen-anlegen, llm-nutzen entbelehrt - Belege nachgezogen: upload.maxBodySize/allowedMimeTypes, Konflikt = Unique-Index (409/500), Passwort-Reset in der Benutzerverwaltung - Build 71 Seiten gruen, 0 tote Links/Tabellen
This commit is contained in:
1 parent
761466dd63
commit
6aabd842e9
20 files changed
+83
-114
No files matched your search
@@ -18,6 +18,8 @@ Regeln für alle Agenten, die an dieser Doku, am Tibi-Server / tibi-admin oder a
|
||||
`../tibi-admin-nova/frontend/src/lib/i18n/locales/de.json` stehen. Findet man keinen String, beschreibt
|
||||
man die Wirkung („der Knopf oben rechts") statt einen Namen zu erfinden.
|
||||
- **Sprache:** Deutsch, saubere Umlaute (ä ö ü ß), Du-Form, kurze Sätze. Ton: **per Du, aber professionell** — sachlich wie ein gutes Handbuch, niemals Babysprache. Keine belehrenden Binsen („wenn du nichts findest, verändere die Suche"), keine Verniedlichung („keine Angst"), keine erfundenen Floskeln. UI-Namen immer wörtlich aus `de.json` bzw. Screenshot. Anweisungen nennen den exakten Klickpfad; „Was-tun-wenn" nur für echte, am Code belegte Fälle.
|
||||
- **Ton in Fehlerabschnitten (verbindlich):** Der Leser ist erwachsen und fachlich. Störungen werden als **Tabelle** beschrieben: `Meldung | Bedeutung (Ursache) | Vorgehen`. Verboten sind: „Wenn etwas schiefgeht", „Wenn nicht alles klappt", Arbeit für den Leser erfinden („notiere Aktion, Uhrzeit und Fehlermeldung"), Erziehungsfloskeln („prüfe Zeichen für Zeichen", „Feststelltaste beachten", „statt weiter zu raten", „höchstens drei Versuche"), Warnungen an die Vernunft („nicht blind", „doppelt anlegen vermeiden") und Verweise auf Betreuungspersonen („bitte deine Betreuung/Teamleitung um Prüfung/Freischaltung").
|
||||
Stattdessen: **Ursache benennen und die Instanz, die es löst** — z. B. „Dafür ist das Recht `allowSnapshots` nötig; es wird am Projekt-Admin-Token gesetzt ([Benutzer und Rechte](/admin/benutzer-rechte/))". Nebenwirkungen sachlich benennen: „Der Lauf ist nicht abbrechbar; ein zweiter Lauf löst Versand und Berechnung erneut aus."
|
||||
|
||||
## 2. Wo was hingehört — Stand: ausgebaut (keine Hüllen mehr)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generatedAt": "2026-10-17T11:51:09.612Z",
|
||||
"generatedAt": "2026-10-17T13:19:19.983Z",
|
||||
"stats": {
|
||||
"files": 70,
|
||||
"byDir": {
|
||||
@@ -13,9 +13,9 @@
|
||||
"server": 5
|
||||
},
|
||||
"components": {
|
||||
"Aside": 111,
|
||||
"Aside": 108,
|
||||
"Badge": 30,
|
||||
"Steps": 92,
|
||||
"Steps": 87,
|
||||
"TabItem": 64,
|
||||
"Tabs": 28,
|
||||
"Card": 11,
|
||||
|
||||
@@ -23,7 +23,7 @@ import { Aside, Steps } from '@astrojs/starlight/components';
|
||||
</Steps>
|
||||
|
||||
<Aside type="note">
|
||||
Steht statt **Ausführen** der Knopf **Gesperrt**, fehlt dir die Berechtigung: **Du hast aktuell keine erlaubte ausfuehrbare Methode fuer diese Aktion.** Bitte deine Teamleitung um Freischaltung.
|
||||
Steht statt **Ausführen** der Knopf **Gesperrt**, fehlt dem Konto die Berechtigung: **Du hast aktuell keine erlaubte ausfuehrbare Methode fuer diese Aktion.** Die erlaubten Methoden stehen in der Aktionskonfiguration des Projekts; die Freischaltung erfolgt über die Administration ([Benutzer und Teams](/anwender/benutzer-teams/)).
|
||||
</Aside>
|
||||
|
||||

|
||||
@@ -41,21 +41,17 @@ Während der **Ausführung** zeigt der Bereich **Fortschritt** einen Balken mit
|
||||
|
||||
</Steps>
|
||||
|
||||
Ein gestarteter Lauf lässt sich nicht abbrechen — plane die **Eingaben** daher vorher und starte erst, wenn alle Felder stimmen.
|
||||
Ein gestarteter Lauf lässt sich nicht abbrechen.
|
||||
|
||||
## Wenn etwas schiefgeht
|
||||
## Fehler
|
||||
|
||||
<Steps>
|
||||
|
||||
1. Bei **Aktion konnte nicht ausgeführt werden.** lies zuerst die Meldung unter **Letztes Ergebnis**.
|
||||
2. Prüfe deine **Eingaben** auf Tippfehler und unvollständige Felder.
|
||||
3. Korrigiere sie und klicke erneut auf **Ausführen**.
|
||||
4. Bleibt der Fehler bestehen, notiere Aktion, Uhrzeit und Fehlermeldung und bitte deine Betreuung um Prüfung.
|
||||
|
||||
</Steps>
|
||||
| Meldung | Bedeutung (Ursache) | Vorgehen |
|
||||
| ------- | ------------------- | -------- |
|
||||
| **Aktion konnte nicht ausgeführt werden.** | Der Lauf ist fehlgeschlagen; die Ursache steht unter **Letztes Ergebnis**. | Meldung unter **Letztes Ergebnis** auswerten, **Eingaben** korrigieren, erneut **Ausführen** |
|
||||
| Fehler bleibt nach korrigierten **Eingaben** bestehen | Ursache außerhalb der Eingaben (Konfiguration oder Berechtigung) | Aktionsnamen und Meldung aus **Letztes Ergebnis** an die Administration geben — sie sieht Berechtigungen und Server-Log |
|
||||
|
||||
<Aside type="caution">
|
||||
Starte eine Aktion bei unklarer Fehlermeldung nicht wiederholt neu — manche Aktionen versenden oder berechnen bei jedem Lauf erneut. Kläre erst die Ursache.
|
||||
Ein gestarteter Lauf lässt sich nicht abbrechen; ein zweiter Lauf löst Versand und Berechnung erneut aus.
|
||||
</Aside>
|
||||
|
||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
||||
@@ -21,24 +21,15 @@ Du arbeitest im **tibi-admin**, dem Verwaltungs-Backend für deine Inhalte (Rele
|
||||

|
||||
|
||||
<Aside type="tip">
|
||||
Frage deine Betreuung nach der korrekten Adresse, falls du sie nicht kennst. Speichere sie anschließend als Lesezeichen.
|
||||
Die Anmeldeadresse erhältst du von der Administration; speichere sie anschließend als Lesezeichen.
|
||||
</Aside>
|
||||
|
||||
## Wenn die Anmeldung fehlschlägt
|
||||
## Fehler bei der Anmeldung
|
||||
|
||||
Bleibst du auf der Anmeldeseite oder erscheint die Meldung „Ungültiger Benutzername oder Passwort", gehe wie folgt vor:
|
||||
|
||||
<Steps>
|
||||
|
||||
1. Prüfe Benutzername und Passwort Zeichen für Zeichen.
|
||||
2. Deaktiviere die Feststelltaste und gib das Passwort erneut ein.
|
||||
3. Klicke erneut auf **Anmelden**.
|
||||
|
||||
</Steps>
|
||||
|
||||
<Aside type="caution">
|
||||
Führe höchstens drei Versuche durch und bitte danach deine Betreuung um ein neues Passwort, statt weiter zu raten.
|
||||
</Aside>
|
||||
| Meldung | Bedeutung (Ursache) | Vorgehen |
|
||||
| ------- | ------------------- | -------- |
|
||||
| „Ungültiger Benutzername oder Passwort" | Benutzername oder Passwort stimmen nicht (häufig: vertippte Zeichen oder aktive Feststelltaste). | Korrigiere die Schreibweise — Groß- und Kleinschreibung zählen — und klicke erneut auf **Anmelden**. |
|
||||
| Die Anmeldung schlägt wiederholt fehl. | Das Passwort ist unbekannt oder das Konto ist gesperrt. | Wende dich an die Administration; sie setzt das Passwort in der **Benutzerverwaltung** zurück (**Passwort zurücksetzen**). |
|
||||
|
||||
## Abmelden und Profil
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ Du legst keine Benutzer an und änderst keine Rechte — du stellst eine Anfrage
|
||||
|
||||
1. Halte fest, was du benötigst (beispielsweise Zugang für eine Kollegin).
|
||||
2. Notiere Team und gewünschte Rolle.
|
||||
3. Sende diese Bitte an deine Teamleitung.
|
||||
3. Sende diese Anfrage an die Administration.
|
||||
4. Warte auf die Bestätigung.
|
||||
5. Prüfe danach, ob die Freischaltung vorliegt.
|
||||
|
||||
@@ -61,7 +61,7 @@ Gib keine Zugänge auf Zuruf frei und ändere keine Rechte eigenmächtig. Falsch
|
||||
|
||||
## Hinweis zur Stellvertretung
|
||||
|
||||
Meldet sich der Support mit deinem Konto an, um dir zu helfen (Stellvertretung über **Als dieser Benutzer einloggen**), geschieht das ausschließlich nach Absprache mit dir oder deiner Teamleitung. Sprich ihn an, wenn du unsicher bist. Du musst dafür nichts einrichten.
|
||||
Meldet sich der Support mit deinem Konto an, um dir zu helfen (Stellvertretung über **Als dieser Benutzer einloggen**), geschieht das ausschließlich nach Absprache mit dir. Sprich ihn an, wenn du unsicher bist. Du musst dafür nichts einrichten.
|
||||
|
||||
Während der Stellvertretung zeigt ein Banner über der Seite **Eingeloggt als @Benutzername** mit dem Hinweis **Impersonation** und rechts die Schaltfläche **Zurück zur Administration**. Alles, was du in dieser Zeit tust, geschieht im Namen des vertretenen Kontos. Zum Beenden klickst du auf **Zurück zur Administration** (**Beenden**) und landest wieder in deiner eigenen Sitzung.
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ Das Fenster **Einträge durchsuchen** listet alle Einträge der verknüpften Sam
|
||||
|
||||
## Sprachen und Übersetzungen
|
||||
|
||||
Arbeitet deine Sammlung mehrsprachig, wechselst du oben im Editor mit **DE** und **EN** (Tastenkürzel Strg + L) die Bearbeitungssprache. Jedes übersetzbare Feld zeigt daneben seinen Sprachstand an; über **Übersetzen** am Feld überträgst du den Text in die andere Sprache und prüfst ihn danach Zeichen für Zeichen.
|
||||
Arbeitet deine Sammlung mehrsprachig, wechselst du oben im Editor mit **DE** und **EN** (Tastenkürzel Strg + L) die Bearbeitungssprache. Jedes übersetzbare Feld zeigt daneben seinen Sprachstand an; über **Übersetzen** am Feld überträgst du den Text in die andere Sprache und prüfst ihn danach.
|
||||
|
||||

|
||||
|
||||
@@ -83,22 +83,19 @@ In langen Formularen drückst du Strg + F (am Mac Cmd + F) und suchst im Fenster
|
||||
Verlässt du die Seite mit ungespeicherten Änderungen, erscheint die Rückfrage **Änderungen verwerfen?** Brich ab und speichere zuerst, sonst gehen die Eingaben verloren.
|
||||
</Aside>
|
||||
|
||||
## Wenn das Speichern blockiert ist
|
||||
## Fehler beim Speichern
|
||||
|
||||
Rot markierte Felder bedeuten: Hier fehlt eine Angabe oder sie ist ungültig.
|
||||
Rot markierte Felder bedeuten: eine Angabe fehlt oder verletzt eine der Regeln aus dem Schema.
|
||||
|
||||
<Steps>
|
||||
|
||||
1. Lies den Hinweis an der Speichern-Schaltfläche (Anzahl der Fehler).
|
||||
2. Klicke auf das erste rot markierte Feld.
|
||||
3. Fülle Pflichtfelder aus, sie sind mit Stern markiert.
|
||||
4. Beachte bei besonderen Feldern das Format, beispielsweise Datum oder Zahl.
|
||||
5. Klicke erneut auf **Speichern**.
|
||||
|
||||
</Steps>
|
||||
| Meldung | Bedeutung (Ursache) | Vorgehen |
|
||||
|---|---|---|
|
||||
| Hinweis an der Speichern-Schaltfläche zählt Fehler | Der Server hat die Validierung des Formulars abgelehnt; jedes rot markierte Feld nennt seinen Grund | Feld korrigieren, dann erneut **Speichern** |
|
||||
| Pflichtfeld (Stern) leer | Das Schema verlangt einen Wert (`validator.required`) | Wert eintragen |
|
||||
| „ungültiges Format" o. ä. am Feld | Das Schema prüft Format (Datum, Zahl, E-Mail, Muster) | Wert an das erwartete Format anpassen — die Regel steht als Hilfetext am Feld |
|
||||
| Konflikt beim Speichern (Status 409, mit `legacy.httpCodes` 500) | Ein Unique-Index der Sammlung ist verletzt — typisch: `translationKey`, `slug` oder ein anderer als eindeutig markierter Wert existiert schon (`internal/controller/http_status.go:45-52`) | Wert ändern oder den bestehenden Eintrag bearbeiten |
|
||||
|
||||
<Aside type="note">
|
||||
Schlägt ein Verweis fehl, ist häufig der Filter im Fenster **Durchsuchen** zu eng. Lösche dort die Suche und wähle erneut. Bleibt das Problem bestehen, bitte deine Betreuung um die erforderlichen Rechte für den verknüpften Inhalt.
|
||||
Schlägt ein Verweis fehl, ist häufig der Filter im Fenster **Durchsuchen** zu eng. Lösche dort die Suche und wähle erneut. Bleibt das Problem bestehen, fehlt dem Konto das Recht für den verknüpften Inhalt — die Freischaltung erfolgt über die Administration ([Benutzer und Teams](/anwender/benutzer-teams/)).
|
||||
</Aside>
|
||||
|
||||
Mehr Details zur Technik stehen unter [Mehr Details](/admin/konzept/).
|
||||
|
||||
@@ -1,52 +1,34 @@
|
||||
---
|
||||
title: 'Hilfe, wenn es klemmt'
|
||||
description: 'Häufige Fragen und was du dann tust.'
|
||||
title: 'Hilfe bei Störungen'
|
||||
description: 'Meldungen, ihre Ursachen und die zuständige Stelle — von der Anmeldung bis zum fehlenden Bild.'
|
||||
---
|
||||
|
||||
import { Aside, Steps } from '@astrojs/starlight/components';
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
Diese Seite hilft dir einzuordnen, wo ein Problem liegt — die ausführliche Anleitung steht jeweils auf der verlinkten Seite.
|
||||
Störungen lassen sich meist über die Meldung einordnen. Die ausführliche Anleitung steht auf der jeweils verlinkten Seite.
|
||||
|
||||
## Anmeldung schlägt fehl
|
||||
## Fehlerübersicht
|
||||
|
||||
Prüfe Benutzername und Passwort Zeichen für Zeichen (Feststelltaste beachten) und klicke erneut auf **Anmelden**. Nach höchstens drei Versuchen bitte deine Betreuung um ein neues Passwort, statt weiter zu raten. Die genaue Abfolge steht unter [Anmelden](/anwender/anmelden/).
|
||||
|
||||
<Aside type="caution">
|
||||
Lautet die Meldung „Keine Berechtigung für diese Aktion", fehlt dir das Recht für dieses Projekt. Bitte deine Teamleitung um Freischaltung.
|
||||
</Aside>
|
||||
|
||||
## Eintrag wird nicht gefunden
|
||||
|
||||
Häufige Ursachen: falsche Sammlung, aktiver Filter oder Tippfehler. Setze alle Filter zurück (**Alle zurücksetzen**) und prüfe die Sammlung in der linken Liste. Wie Suche, Filter und Sortierung zusammenspielen, steht unter [Lesen, Suchen, Filtern](/anwender/lesen-suchen-filtern/).
|
||||
|
||||
## Speichern ist blockiert
|
||||
|
||||
Rot markierte Felder bedeuten: Eine Pflichtangabe (Feld mit Stern) fehlt oder ist ungültig — fülle sie und klicke erneut auf **Speichern**. Klickst du mit leeren Pflichtfeldern auf **Speichern**, zählt ein Hinweis oben rechts die Fehler und die betroffenen Felder werden rot markiert, wie das Bild zeigt. Fülle zuerst alle rot markierten Felder aus und klicke danach erneut auf **Speichern**. Details zu Pflichtfeldern und Formaten stehen unter [Einträge anlegen und bearbeiten](/anwender/eintrag-bearbeiten/).
|
||||
| Meldung | Bedeutung (Ursache) | Vorgehen |
|
||||
|---|---|---|
|
||||
| „Ungültiger Benutzername oder Passwort" | Zugangsdaten stimmen nicht (Schreibweise und Groß-/Kleinschreibung zählen) oder die Sitzung ist abgelaufen | Anmeldung erneut versuchen; nach wiederholtem Fehlschlag setzt die Administration das Passwort in der **Benutzerverwaltung** zurück (**Passwort zurücksetzen**) — [Anmelden](/anwender/anmelden/) |
|
||||
| „Keine Berechtigung für diese Aktion" | Dem Konto fehlt das Recht für dieses Projekt oder diese Sammlung | Rechte vergibt die Administration ([Benutzer und Teams](/anwender/benutzer-teams/)) |
|
||||
| „Eintrag nicht gefunden" | Der Eintrag wurde gelöscht oder liegt in einer anderen Sammlung | Filter zurücksetzen (**Alle zurücksetzen**) und die Sammlung in der linken Liste prüfen; die inhaltliche Zuständigkeit steht in der Teamansicht |
|
||||
| Pflichtfeld-Hinweis, rot markierte Felder | Ein Feld mit Stern ist leer oder ungültig — der Server prüft die Regeln aus dem Schema | Rot markierte Felder ausfüllen, dann erneut **Speichern** — [Einträge anlegen und bearbeiten](/anwender/eintrag-bearbeiten/) |
|
||||
| Bild bleibt nach dem Speichern leer | Die Referenz zeigt auf eine Datei, die nicht zum Eintrag passt oder für das Konto nicht freigegeben ist | Bild im Bildfeld erneut aus der Mediathek wählen und **Speichern**; bleibt es leer, Freigabe über die Administration — [Medien](/anwender/medien/) |
|
||||
|
||||

|
||||
|
||||
<Aside type="note">
|
||||
„Eintrag nicht gefunden" bedeutet: Der Eintrag wurde gelöscht oder du bist in der falschen Sammlung — lege ihn nicht doppelt an, sondern bitte deine Teamleitung um Prüfung.
|
||||
</Aside>
|
||||
## Zuständigkeiten
|
||||
|
||||
## Bild fehlt
|
||||
|
||||
Öffne den Eintrag, wähle das Bild im Bildfeld erneut aus der Mediathek und klicke auf **Speichern**. Bleibt es danach leer, bitte deine Betreuung um Prüfung der Freigabe. Hochladen und Bildeditor stehen unter [Medien](/anwender/medien/).
|
||||
|
||||
## An wen du dich wendest
|
||||
|
||||
<Steps>
|
||||
|
||||
1. Lies die Meldung auf dem Bildschirm wörtlich ab.
|
||||
2. Halte fest, was du unmittelbar zuvor angeklickt hast.
|
||||
3. Wende dich bei Inhalten (Texte, Bilder, Seiten) an deine Teamleitung.
|
||||
4. Wende dich bei Technik (Fehler, Tempo, Ausfall) an den Betreiber.
|
||||
5. Wende dich bei Zugängen (Passwort, Rolle, Team) an deine Teamleitung.
|
||||
|
||||
</Steps>
|
||||
| Thema | Stelle |
|
||||
|---|---|
|
||||
| Inhalte: Texte, Bilder, Seiten, Zuständigkeit für eine Sammlung | das zuständige Team — Mitgliederliste in der Teamansicht ([Benutzer und Teams](/anwender/benutzer-teams/)) |
|
||||
| Zugänge: Passwort, Rolle, Team, Projektzugang | Administration (**Benutzerverwaltung**) |
|
||||
| Technik: Server-Fehler, Laufzeit, Ausfälle, Projekt-Token-Rechte | Betreiber des tibi-server |
|
||||
|
||||
<Aside type="note">
|
||||
Ist niemand erreichbar, fertige einen Screenshot der Meldung an, notiere Uhrzeit und Projekt und sende alles per Nachricht weiter.
|
||||
Meldungstext und Zeitpunkt stehen im Verlauf des Eintrags, der Projektname im Navigationspfad — beides gehört in eine Meldung an die zuständige Stelle ([Verlauf und Wiederherstellen](/anwender/verlauf-wiederherstellen/)).
|
||||
</Aside>
|
||||
|
||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
||||
@@ -104,10 +104,10 @@ Deine Unterhaltung bleibt lokal in diesem Browser gespeichert. Die Sprachaufnahm
|
||||
</Steps>
|
||||
|
||||
<Aside type="caution">
|
||||
Nova kennt nur, was im Admin geöffnet ist, und kann irren. Prüfe wichtige Angaben in der Liste oder im Eintrag, bevor du speicherst oder weiterleitest. Die Nutzung ist mengenmäßig begrenzt — stelle Fragen gezielt, statt denselben Auftrag mehrfach zu wiederholen.
|
||||
Nova sieht nur, was im Admin geöffnet ist, und kann irren — Angaben aus dem Chat gehören vor dem Speichern gegen Liste oder Eintrag geprüft. Die Nutzung ist mengenmäßig begrenzt (Budgets je Benutzer): jede Anfrage zählt, auch Wiederholungen.
|
||||
</Aside>
|
||||
|
||||
Mehr Details zur Technik stehen unter [Mehr Details](/admin/konzept/). Kommt die KI nicht weiter, hilft [Hilfe, wenn es klemmt](/anwender/hilfe/).
|
||||
Mehr Details zur Technik stehen unter [Mehr Details](/admin/konzept/). Für Störungen siehe [Hilfe bei Störungen](/anwender/hilfe/).
|
||||
|
||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ Deine gewählte Ansicht bleibt erhalten. Nach einem Neuladen siehst du dieselbe
|
||||
</Steps>
|
||||
|
||||
<Aside type="note">
|
||||
Am Suchfeld befindet sich ggf. ein Schalter für den Suchmodus. Belasse ihn unverändert, sofern deine Betreuung keine andere Vorgabe macht.
|
||||
Am Suchfeld befindet sich ggf. ein Schalter für den Suchmodus. Belasse ihn in der Voreinstellung; eine abweichende Vorgabe kommt von der Administration.
|
||||
</Aside>
|
||||
|
||||
Liefert die Suche keine Treffer, gehe wie folgt vor:
|
||||
@@ -46,7 +46,7 @@ Liefert die Suche keine Treffer, gehe wie folgt vor:
|
||||
<Steps>
|
||||
|
||||
1. Kürze den Suchbegriff und suche erneut.
|
||||
2. Prüfe die Schreibweise Zeichen für Zeichen.
|
||||
2. Prüfe die Schreibweise und suche erneut.
|
||||
3. Leere das Suchfeld vollständig, um wieder alle Einträge zu sehen.
|
||||
|
||||
</Steps>
|
||||
|
||||
@@ -58,10 +58,13 @@ Steht ein Feld nicht unter **Feld wählen…**, bearbeite die betroffenen Eintr
|
||||
Die Massenbearbeitung lässt sich nicht rückgängig machen. Prüfe die **Vorschau** und teste neue Operationen zuerst an wenigen Einträgen.
|
||||
</Aside>
|
||||
|
||||
## Wenn nicht alles klappt
|
||||
## Fehler
|
||||
|
||||
- Einzelne Einträge können scheitern (z. B. Pflichtfeld leer, keine Berechtigung). Dann meldet die Anzeige sinngemäß „{done} von {total} aktualisiert, {failed} fehlgeschlagen“ — notiere die Zahl und prüfe die übrigen Einträge einzeln.
|
||||
- Steht dort **Füge mindestens eine Operation hinzu.**, hast du noch keine **Operation** angelegt.
|
||||
- Zum Löschen vieler Einträge wechsele oben auf **Löschen** — dort heißt der Knopf **Löschen** statt **Änderungen anwenden**, und die Nachfrage lautet **Möchtest du {count} Einträge wirklich unwiderruflich löschen?**.
|
||||
| Meldung | Bedeutung (Ursache) | Vorgehen |
|
||||
| ------- | ------------------- | -------- |
|
||||
| „{done} von {total} aktualisiert, {failed} fehlgeschlagen" | Einzelne Einträge sind gescheitert (z. B. Pflichtfeld leer, fehlende Berechtigung). | Prüfe die gescheiterten Einträge einzeln. |
|
||||
| **Füge mindestens eine Operation hinzu.** | Es ist noch keine **Operation** angelegt. | Lege unter **Operationen** mindestens eine Operation an. |
|
||||
|
||||
Zum Löschen vieler Einträge wechsele oben auf **Löschen** — dort heißt der Knopf **Löschen** statt **Änderungen anwenden**, und die Nachfrage lautet **Möchtest du {count} Einträge wirklich unwiderruflich löschen?**.
|
||||
|
||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
||||
@@ -48,18 +48,16 @@ Sobald du Dateien ablegst, gleitet unten die Warteschlange ein („0 von 1 hochg
|
||||
|
||||

|
||||
|
||||
Wird ein Upload abgelehnt, gehe wie folgt vor:
|
||||
Abgelehnte Uploads nennen den Grund in der Warteschlange:
|
||||
|
||||
<Steps>
|
||||
|
||||
1. Prüfe, ob die Datei die zulässige Größe überschreitet („Datei ist zu groß"), und wähle eine kleinere Datei.
|
||||
2. Prüfe das Format („Dateityp ist nicht erlaubt") und verwende beispielsweise JPG.
|
||||
3. Wiederhole den Versuch mit einer Datei pro Durchgang.
|
||||
|
||||
</Steps>
|
||||
| Meldung | Bedeutung (Ursache) | Vorgehen |
|
||||
|---|---|---|
|
||||
| „Datei ist zu groß" | Die Datei überschreitet das Limit `upload.maxBodySize` der Sammlung bzw. des Servers (`internal/config/server.go:45`) | Kleinere Datei wählen oder das Bild vorher verkleinern (Bildeditor) |
|
||||
| „Dateityp ist nicht erlaubt" | Der MIME-Typ steht nicht in der Erlaubnisliste (`upload.allowedMimeTypes`) | Zulässiges Format verwenden (meist JPG, PNG, WebP, PDF) |
|
||||
| Upload bricht ab | Verbindung oder Sitzung beendet, während die Datei übertragen wird | Datei erneut in die Warteschlange legen |
|
||||
|
||||
<Aside type="caution">
|
||||
Besteht die Ablehnung fort, bitte deine Betreuung um Prüfung. Nenne Dateiname, Größe und Format.
|
||||
Bleibt eine Ablehnung bestehen, obwohl die Datei den genannten Regeln entspricht, liegt es an den Upload-Regeln der Sammlung oder des Servers (`upload.maxBodySize`, `upload.allowedMimeTypes`, `internal/config/server.go:45-46`). Diese Werte stehen in der Projekt-Config bzw. `config.yml`.
|
||||
</Aside>
|
||||
|
||||
## Bild anpassen
|
||||
|
||||
@@ -36,7 +36,7 @@ Ein Projekt ist beispielsweise eine Website oder ein Shop.
|
||||
</Steps>
|
||||
|
||||
<Aside type="caution">
|
||||
Erscheint ein Projekt nicht in der Liste, fehlt dir dafür die Berechtigung. Bitte deine Betreuung um Zugang.
|
||||
Erscheint ein Projekt nicht in der Liste, fehlt dem Konto die Berechtigung dafür. Den Zugang vergibt die Administration ([Benutzer und Teams](/anwender/benutzer-teams/)).
|
||||
</Aside>
|
||||
|
||||

|
||||
|
||||
@@ -24,7 +24,7 @@ Ein Block ist ein Baustein. Eine Seite besteht aus mehreren Bausteinen untereina
|
||||
</Aside>
|
||||
|
||||
<Aside type="caution">
|
||||
Fehlt die Schaltfläche **Block hinzufügen**, verfügst du über Lese-Recht. Bitte deine Teamleitung um Schreib-Recht. Mehr dazu unter [Benutzer und Teams](/anwender/benutzer-teams/).
|
||||
Fehlt die Schaltfläche **Block hinzufügen**, besitzt das Konto nur Lese-Recht. Das Schreib-Recht vergibt die Administration ([Benutzer und Teams](/anwender/benutzer-teams/)).
|
||||
</Aside>
|
||||
|
||||

|
||||
|
||||
@@ -19,7 +19,7 @@ Der **tibi-admin** (Verwaltungs-Backend, Release **Nova**) kennt zwei Sicherunge
|
||||
</Steps>
|
||||
|
||||
<Aside type="note">
|
||||
Ein Snapshot liegt auf dem Server; ein Backup lädst du als Datei herunter. Siehst du den Menüpunkt nicht, fehlt dir das Recht dafür — bitte deine Teamleitung oder den Betreiber um Einsicht.
|
||||
Ein Snapshot liegt auf dem Server; ein Backup lädst du als Datei herunter. Siehst du den Menüpunkt nicht, fehlt dem Konto das Recht dafür — wende dich an den Betreiber.
|
||||
</Aside>
|
||||
|
||||

|
||||
|
||||
@@ -26,7 +26,7 @@ Jeder gespeicherte Eintrag bekommt automatisch einen **Verlauf**: wer was wann g
|
||||
Steht dort **Kein Verlauf für diesen Datensatz**, wurde der Eintrag noch nie geändert — dann gibt es nichts zurückzuspielen.
|
||||
|
||||
<Aside type="note">
|
||||
Der Verlauf zeigt nur Einträge dieser Sammlung, die du lesen darfst. Fehlt der Bereich ganz, frage deine Teamleitung nach dem Leserecht.
|
||||
Der Verlauf zeigt nur Einträge dieser Sammlung, die du lesen darfst. Fehlt der Bereich ganz, fehlt dem Konto das Leserecht für die Sammlung — die Freischaltung erfolgt über die Administration.
|
||||
</Aside>
|
||||
|
||||
## Unterschiede (Diff) lesen
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 'Änderungen und Sicherung'
|
||||
description: 'Audit-Log lesen, Snapshots nutzen, Backup und Restore mit dem Betreiber abstimmen.'
|
||||
description: 'Audit-Log lesen, Snapshots nutzen, Backup und Restore ausführen.'
|
||||
---
|
||||
|
||||
import { Aside, Steps, Card, CardGrid } from '@astrojs/starlight/components';
|
||||
@@ -198,7 +198,7 @@ Der Check läuft in `admin_auth.go:20-74` **immer in dieser Reihenfolge**:
|
||||
Fehlt am Token das richtige Flag, antwortet der Endpunkt mit `403` — auch wenn du Projekt-Admin bist. `permissions: []` im Snapshot-Profil hilft dir heute nicht weiter (Phase 2); maßgeblich ist `allowSnapshots` am Token.
|
||||
</Aside>
|
||||
|
||||
## Backup und Restore (mit Betreiber)
|
||||
## Backup und Restore
|
||||
|
||||
Backups sind der Voll-Export für Umzug und Desaster-Fall — im Admin unter `/projects/:id/backup`:
|
||||
|
||||
@@ -219,8 +219,8 @@ Backups sind der Voll-Export für Umzug und Desaster-Fall — im Admin unter `/p
|
||||
| Fortschritt | Ja (Stream) | Ja (SSE-Stream) |
|
||||
|
||||
<Aside type="caution">
|
||||
Backup und Restore immer mit dem Betreiber abstimmen: Restore überschreibt Daten, große Medien brauchen Zeit und Platz.
|
||||
Fortschritt läuft als Stream (`text/event-stream`) — bei Abbrüchen nichts doppelt starten, sondern Analyse neu holen.
|
||||
Restore überschreibt Daten; große Medien brauchen Zeit und Platz.
|
||||
Fortschritt läuft als Stream (`text/event-stream`) — nach einem Abbruch die Analyse erneut hochladen und ein neues Token holen (Tokens sind einmalig, siehe Fehlertabelle unten).
|
||||
</Aside>
|
||||
|
||||
## Fehler
|
||||
@@ -229,8 +229,8 @@ Fortschritt läuft als Stream (`text/event-stream`) — bei Abbrüchen nichts do
|
||||
|---|---|---|
|
||||
| Audit bleibt leer | `audit.enabled` im Projekt fehlt oder Server-Flag aus | Beide Schalter prüfen, Änderung erneut auslösen |
|
||||
| Alte Einträge verschwinden | TTL (`720h`) abgelaufen | Wichtige Stände als Snapshot sichern, TTL ggf. auf `"0"` |
|
||||
| Snapshot-Button fehlt | Token ohne `allowSnapshots` | Betreiber um Recht bitten |
|
||||
| Backup-Button fehlt | Kein Projekt-Admin oder `AllowBackup` fehlt | Betreiber um Recht bitten |
|
||||
| Snapshot-Button fehlt | Token ohne `allowSnapshots` | Flag `allowSnapshots` am Projekt-Token setzen (siehe [Rechte und Auth-Reihenfolge](#rechte-und-auth-reihenfolge)) |
|
||||
| Backup-Button fehlt | Kein Projekt-Admin oder `AllowBackup` fehlt | Projekt-Admin-Rolle bzw. Flag `AllowBackup` am Projekt-Token prüfen (siehe [Rechte und Auth-Reihenfolge](#rechte-und-auth-reihenfolge)) |
|
||||
| `400 missing restoreToken` | Restore ohne Token aufgerufen | Erst `POST /backup` (Analyse), Token aus der Antwort nehmen |
|
||||
| `404 restore token not found or expired` | Token verbraucht, aufgeräumt oder TTL abgelaufen | Analyse erneut hochladen, neues Token holen |
|
||||
| `403 invalid entry id` / `404 snapshot not found` | Snapshot-Restore mit falscher/gelöschter ID | ID aus `GET /snapshots` neu lesen |
|
||||
|
||||
@@ -167,6 +167,6 @@ Dazu die zweite Fehlerlage: Scheitert schon der Stream-Aufbau (Provider down, Mo
|
||||
| `502` | Provider antwortet nicht oder Stream bricht ab | Später erneut versuchen, `maxTokens` senken |
|
||||
| `413` | Body zu groß | Nachrichten kürzen |
|
||||
|
||||
Budget-Verwaltung (wer darf was): `llmBudgets` stehen am Benutzer (`models/user.go`) und an der Org. Nur System-Admins ändern sie frei — Org-Admins verlieren das Feld still (`llmBudgets` wird auf `nil` gesetzt bzw. aus Änderungen gestrichen), Team-Admins und Mitglieder bekommen beim Schreibversuch `updating llmBudgets only allowed for admins`. Wende dich also für Budget-Erhöhungen an den Betrieb.
|
||||
Budget-Verwaltung (wer darf was): `llmBudgets` stehen am Benutzer (`models/user.go`) und an der Org. Nur System-Admins ändern sie frei — Org-Admins verlieren das Feld still (`llmBudgets` wird auf `nil` gesetzt bzw. aus Änderungen gestrichen), Team-Admins und Mitglieder bekommen beim Schreibversuch `updating llmBudgets only allowed for admins`. Budget-Erhöhungen setzen System-Admins (`llmBudgets` am Benutzer oder an der Org).
|
||||
|
||||
Verifiziert am 68b4278 2026-10-17 (tibi-server: setup.go LLM-Routen + Providers-Antwort ohne Secrets, llm_chat.go inkl. 429/502/413-Mapping und RecordUsage, registry.go Typ-Filter, provider.go, models.go EstimateUsage, openai.go resolveModel + buildRequest-Clamp + include_usage, quota.go CheckBudget/CheckBudgetIfSet/RecordUsage, usage_model.go llm_usage, user.go LLMBudget + Feldschutz, config/scope.go llm.chat, server.go ConfigLLMProvider)
|
||||
@@ -174,8 +174,8 @@ Details stehen unter [Lesen und suchen](/projekt/abfragen-lesen/).
|
||||
| Datei-Upload landet falsch | `uploadPath` fehlt oder zeigt ins falsche Verzeichnis | `../media/<name>` wie in allen Starter-Sammlungen setzen |
|
||||
|
||||
<Aside type="tip">
|
||||
Lege neue Felder zuerst in einer Test-Sammlung an, nicht in `content`.
|
||||
`content` hat Pagebuilder-Blöcke und drei Such-Indizes — Fehler dort tun mehr weh.
|
||||
Lege neue Felder zuerst in einer Test-Sammlung an, nicht in `content`:
|
||||
`content` trägt Pagebuilder-Blöcke und drei Such-Indizes.
|
||||
</Aside>
|
||||
|
||||
Verifiziert am e3f92eb 2026-10-17 (tibi-svelte-starter), am 4c55f82 2026-10-17 (tibi-types); Meta-Ergänzungen verifiziert am 1897bb5 2026-10-17 (tibi-docs), am 2b091d8 2026-10-17 (tibi-admin-nova: NavigationTreeField), am 4c55f82 2026-10-17 (tibi-types: collection-meta.schema.json)
|
||||
@@ -7,7 +7,7 @@ import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
Jede Antwort folgt dem Muster `{"error": "<text>"}`. Status plus Text verraten dir Ursache und Fix. Alle Texte unten stehen wörtlich so im Code (`internal/controller/*.go`, `validator.go`). Das gilt für API-Antworten — wirfst du selbst im Hook, steuert `msg` den Fehlertext und `json` den Körper (ohne `json` echot der Server dein geworfenes Objekt; siehe [Hooks schreiben](/projekt/hooks-schreiben/)).
|
||||
|
||||
## Tabelle: Fehler zu Ursache zu Fix
|
||||
## Fehlerübersicht
|
||||
|
||||
| Status | Antwort | Ursache | Fix |
|
||||
| --- | --- | --- | --- |
|
||||
|
||||
@@ -60,6 +60,6 @@ Jeder Eintrag beschreibt ein Struct-Feld — erzeugt aus den Go-Tags (`getModelM
|
||||
| `validator` | Validierungsregeln, falls gesetzt | `["required", "min=1", "max=100"]` bei `name` |
|
||||
| `sliceOf` / `structOf` | Elementtyp bei Listen bzw. Unterfelder bei Objekten | `scopes`: `sliceOf: string` |
|
||||
|
||||
Nützlich für Generatoren und Agents: Statt Raten fragst du `GET /api/v1/_meta/token` und weißt, welche Felder `POST /api/v1/token` akzeptiert — etwa dass `scopes` eine String-Liste ist.
|
||||
Für Generatoren und Agents: `GET /api/v1/_meta/token` nennt die Felder, die `POST /api/v1/token` akzeptiert — etwa dass `scopes` eine String-Liste ist.
|
||||
|
||||
Verifiziert am 68b4278 2026-10-17 (tibi-server)
|
||||
Reference in new issue
Block a user