Admin anpassen
Du passt das tibi-admin (Verwaltungs-Backend, Release Nova) an dein Projekt an: Was Listen zeigen, welche Eingabeelemente Formulare nutzen, wie Datensätze verknüpft und gesucht werden. Das meiste steuerst du über die Sammlungs-Config — Schema-Details stehen unter Sammlungen anlegen und Felder und Widgets.
Ansichten und Spalten
Abschnitt betitelt „Ansichten und Spalten“| Mittel | Wirkung |
|---|---|
meta.viewHint (Tabelle, Karten, Medien, Navigation) |
Startansicht der Ansichten für die Sammlung |
meta.subNavigation (Reiter-Filter) |
Filter-Reiter über der Liste (z. B. nach Status oder Gruppe) |
| Sichtbare Spalten | Per Checkbox im Listen-Kopf; Exporte übernehmen sie als Vorauswahl |
| URL-Parameter | Ansicht ist teilbar: ?view=cards&q=hero&qm=combined&sort=name&order=asc&page=2&size=25 — qm ist der Suchmodus aus dem search-Block |
| Sortierung | Klick auf Spaltenkopf; manuelle Reihenfolge per Drag, wo freigegeben |
Widgets und Felder
Abschnitt betitelt „Widgets und Felder“Der WidgetDispatcher wählt das Eingabeelement: zuerst meta.widget, sonst der Feldtyp (pagebuilder und pageBuilder meinen dasselbe). Die vollständige Liste aller Schema-Widgets mit Beispielen steht unter Felder und Widgets — hier nur die Bedienung: Pflicht, Formate und dependsOn-Sichtbarkeit kommen aus dem Feld-Schema (siehe Eintrags-Editor), mehrsprachige Felder bekommen automatisch Sprachtabs (I18nLanguageTabs).
Fremdschlüssel und Vorschau
Abschnitt betitelt „Fremdschlüssel und Vorschau“| Baustein | Datei | Nutzen |
|---|---|---|
| Auswahl-Dialog | entry/ForeignKeyDrawer.svelte |
Einträge anderer Sammlung suchen und verknüpfen |
| Inline anlegen | entry/InlineEntryForm.svelte |
Verknüpften Eintrag erzeugen, ohne die Ansicht zu verlassen |
| Rückverweise | entry/ReferencedBy.svelte |
Zeigt, wo der Eintrag verwendet wird |
| Feldsuche | entry/FieldSearch.svelte |
Springt zu Feldern in langen Formularen |
| Vorschau | entry/PreviewElement.svelte + preview-resolver |
Löst Pfade (deepGet, _lookup) für Medien und gemappte Actions auf |
Aktionen und Suche
Abschnitt betitelt „Aktionen und Suche“- Actions pro Sammlung/projektweit hängst du als Methoden-Meta an (
query-/data-Felder, Ausgabe-Mapping, Fortschritt) — ausführen wie unter Aktionen beschrieben. - Suche:
search-Block der Sammlung definiert Modi (qm-Parameter in der URL, z. B.qm=combined); Feld-Filter, Reiter-Filter (sub) und Freitext kombinieren sich — Exporte übernehmen den Filter eins zu eins. - Stapel:
BulkEditPanelfür Mehrfach-Änderungen direkt aus der Liste.
Eigene Bausteine und Exporte
Abschnitt betitelt „Eigene Bausteine und Exporte“Projekt-Entwickler hinterlegen Berichte in collection.meta.exports (name + file Pflicht, z. B. _/assets/exports/reports.mjs). Das Modul exportiert eine Standard-Funktion:
export default async function (ctx) { const rows = await ctx.db.loadAll("orders", { select: ["orderNo"] }); const wb = ctx.xlsx.utils.aoa_to_sheet([["Order"], ...rows.map((r) => [r.orderNo])]); return { workbook: { SheetNames: ["R"], Sheets: { R: wb } }, filename: "report-{date}.xlsx", contentType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" };}| Pflicht | Details |
|---|---|
ctx.db.loadAll |
Lädt in 500er-Paketen mit Fortschritt (ctx.progress) und Abbruch (ctx.signal) |
ctx.xlsx |
Gebündelte xlsx-js-style-Lib — kein Eigen-Import nötig |
filename + contentType |
Pflicht — ohne contentType wirft der Admin einen Fehler |
| Genau ein Payload | workbook, blob, text oder bytes |
Volle Kontext-Tabelle in der Repo-Doku custom-export-script.md; Bedienung unter Exporte.
- Eigene Eingabeelemente registrierst du am
WidgetDispatcher(Feldtyp +meta.widget-Name) — erst Schema in Felder und Widgets prüfen. - Neue Admin-Bereiche folgen dem Muster
components/admin/*Tab + *CreateDrawer + *DetailDrawermit Suche, Filter, Sortierung und Paginierung. - KI-Kontext (
aiController) bleibt automatisch konsistent, solange dudata-ai-id-Attribute setzt.

Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); Screenshot-Mock verifiziert am bff84be6 2026-10-17 (tibi-admin-nova: corporate/collections/pages.yml); Widerspruchsprüfung am 2026-10-17: veraltete meta.views-Zeile parallel zu meta.viewHint korrigiert, kein Custom-Views-Widerspruch mehr.