Handbuch · 11

Changelog

1.3.0 (2026-10-16)

  • Schlanker: Feldtypen und Ansichten fest eingebaut. IllusionDB lädt keine WASM-Module mehr – Feldtypen, Ansichten und der Dokument-Download sind fest im Programm. Das Release-Archiv enthält nur noch das Programm selbst (bisher kamen rund 60 MB Module dazu), und der Start dauert nur noch wenige Sekunden statt rund 15. Funktionen und gespeicherte Daten bleiben unverändert. Es entfallen die Umgebungsvariablen MODULES_DIR, VIEW_MODULES_DIR und ENDPOINT_MODULES_DIR, der Endpunkt GET /api/v1/modules und der Beispiel-Endpunkt table-summary. Der Dokument-Download behält seine Adresse (/api/v1/endpoint-modules/documents/…).
  • Behoben: Ansicht bleibt nach Schemaänderung erhalten. Wer in einer Ansicht (z. B. „Open tasks“) eine Spalte hinzufügt oder löscht, bleibt danach in dieser Ansicht, statt in der Standardansicht der Tabelle zu landen.
  • Behoben: Auswahl beim Verknüpfen hinter dem Fenster. Im Fenster einer n:m-Verknüpfung (z. B. team in projects) erschien die Liste zum Hinzufügen hinter dem Fenster und ließ sich nicht anklicken.
  • Behoben: Lösch-Knopf an Bild-Anhängen abgeschnitten. Das „ד zum Entfernen eines Bildes sitzt jetzt in der Ecke des Vorschaubilds und wird nicht mehr vom Zellenrand abgeschnitten.
  • JSON-Felder mit Code-Editor: JSON-Werte werden jetzt in einem mehrzeiligen Editor mit Syntax-Hervorhebung bearbeitet – mit Prüfung beim Tippen, Formatieren und Speichern nur bei gültigem JSON (Grid, Datensatz-Formular und „Neue Zeile“). Siehe JSON.
  • Behoben: Kind-Datensätze im Datensatz-Formular. Statt des rohen JSON zeigt das Formular jetzt ein Badge mit der Anzahl; es öffnet die Tabelle der Kind-Datensätze, ein Klick auf eine Zeile öffnet den Datensatz.
  • Behoben: Auswahllisten unten abgeschnitten. Auswahllisten (Fremdschlüssel, Labels, Verknüpfungen) klappen nach oben auf, wenn unter ihnen zu wenig Platz ist – etwa in der Zeile „Neue Zeile“ am unteren Rand – und passen ihre Höhe dem verfügbaren Platz an.
  • Behoben: Gruppenname scrollt aus dem Bild. In gruppierten Tabellen bleibt der Name der Gruppe beim Scrollen nach rechts am linken Rand stehen.
  • Behoben: „Neue Zeile“ scrollt aus dem Bild. Auch „+ Neue Zeile“ sowie die Hinweise „Ende der Liste“ und „Lädt weitere Zeilen“ unter der Tabelle bleiben beim Scrollen nach rechts am linken Rand stehen.
  • Behoben: Inhalte scheinen durch die fixierte erste Spalte. Beim Überfahren einer Zeile mit der Maus und gleichzeitigem Scrollen nach rechts schienen die Zellen darunter durch die festgehaltene erste Spalte (auch in „Neue Zeile“). Die Hervorhebung liegt jetzt über einem deckenden Hintergrund.
  • Wartung und Härtung: Gebaut wird jetzt mit Go 1.26.9 (aktuelle Korrekturen der Standardbibliothek, u. a. im HTTP-Server); Abhängigkeiten aktualisiert. Hinter einem Reverse Proxy (TRUST_PROXY_HEADERS=true) zählt für die Anmeldebegrenzung der letzte Eintrag von X-Forwarded-For – der, den der Proxy selbst anhängt. Fehlende Dateien unter /_app/ liefern 404.
  • Felder aus anderen Tabellen folgen den Leserechten: Lookup-, Rollup-, Links- und Kind-Datensätze-Felder (und Formeln darauf) werden ausgeblendet, wenn der Aufrufer die Zieltabelle nicht lesen darf – auch ohne Anmeldung bei öffentlichen Tabellen. Fremdschlüssel in solche Tabellen zeigen die rohe ID. Siehe Tabellen-Berechtigungen.
  • Einrichtung absichern: Neue optionale Umgebungsvariable SETUP_TOKEN – ist sie gesetzt, verlangt die Einrichtung des ersten Admin-Kontos dieses Token. Siehe Einrichtung.
  • API-Antworten nicht im Browser-Cache: Antworten der API tragen Cache-Control: no-store; Dateianhänge und Vorschaubilder sind ausgenommen.

1.2.1 (2026-10-15)

  • Deutsche Oberfläche sagt „Datenquelle“: Seitenleiste, Einstellungen, Dateiverwaltung, Schema-Protokoll und API-Dokumentation verwenden jetzt durchgehend „Datenquelle“ statt „Data Source“ – wie das Handbuch.
  • API-Dokumentation: Die Beispiele zu Anmeldung und eigenem Konto nutzen die neutrale Adresse user@example.com.

1.2.0 (2026-10-13)

  • Erste stabile Version: Die Beta-Phase ist beendet – ab dieser Version trägt IllusionDB keinen Zusatz „-beta“ mehr. Funktionell entspricht 1.2.0 der Version 1.1.9-beta plus der folgenden Korrektur.
  • Behoben: Textfeld in einer neuen, noch nicht gespeicherten Zeile: In der Zeile unter „+ Neue Zeile“ ließ sich in Textspalten nichts eingeben – jede Eingabe wurde sofort wieder gelöscht (Datum und Zahl gingen). Ursache: Das native Eingabeereignis des Textfelds erreichte die Zeile zusätzlich zum eigenen Ereignis des Feldtyps und leerte den Entwurfswert. Jetzt zählt nur noch das eigene Ereignis.

1.1.9-beta (2026-10-10)

  • Einrichtung mit zwei Haken: Der Einrichtungsdialog fragt jetzt, ob das Handbuch (Standard: an) und Demo-Daten (Standard: aus) installiert werden sollen. Die Demo ist eine Beispiel-Agentur „Brightline Studio“ als eigene SQLite-Datenquelle „Demo“ mit allen Feldtypen, allen Ansichten, Mediathek, Dokumenten-Vorlage, Skripten und Gruppen – später einfach löschbar. Schlägt eine Option fehl, bleibt der Account bestehen („Ohne weiter“). Für die Ersteinrichtung per ADMIN_EMAIL/ADMIN_PASSWORD gibt es dazu INSTALL_MANUAL (Standard true) und INSTALL_DEMO (Standard false); neue Instanzen legen das Handbuch nicht mehr ungefragt beim Start an, bestehende bleiben unverändert. Siehe Einrichtung.
  • Test-Seed idbseed: Neues Kommandozeilenwerkzeug (backend/cmd/idbseed), das eine laufende Instanz ausschließlich über die REST-API mit dem Demo-Bestand plus Testkonten, API-Token, Webhook und öffentlicher Tabelle füllt – idempotent, mit Stichproben am Ende.
  • Neues Erscheinungsbild: IllusionDB nutzt jetzt das gemeinsame Designsystem der IllusionForge-Apps (IllusionUI) und sieht aus wie IllusionCMS – gleiche Farben in Hell und Dunkel (Kontrast nach WCAG AA geprüft), die Seitenleiste folgt der gewählten Darstellung, Code-Felder bleiben immer dunkel. Eine gespeicherte Hell/Dunkel-Wahl bleibt erhalten.
  • Dialoge und Bedienelemente wie in IllusionCMS: Fenster, Knöpfe, Eingabefelder, Menüs und Tabellen haben dieselbe Form wie im CMS. Sicherheitsabfragen (z. B. vor dem Löschen) und Namensabfragen erscheinen als eigener Dialog statt als Browser-Popup, Hinweise unten rechts; in einem offenen Dialog bleibt die Tab-Taste im Dialog, Esc schließt ihn. Der Umschalter für die Darstellung sitzt mit der Sprache in einer Zeile unten in der Seitenleiste.
  • Oberflächensprachen über IllusionUI: Übersetzungen, Fehlermeldungen des Servers sowie Datums- und Zahlenformate laufen über das gemeinsame Sprachsystem der IllusionForge-Apps; gemeinsame Begriffe (Speichern, Abbrechen …) stammen von dort. Das Sprachmenü mit Flaggen hat einen Eintrag Projektstandard, der die persönliche Wahl wieder löscht. Ansichts-Module wechseln die Sprache sofort mit. Gespeicherte Sprachwahlen bleiben erhalten.
  • Behoben: Eine Auto-Nummer-Spalte erschien nach jeder weiteren Schemaänderung derselben Datenquelle ein zweites Mal als normale Zahlenspalte.
  • Behoben: Unter Windows gebaute Versionen blockierten wegen der Zeilenenden ihr eigenes Start-Skript (Content-Security-Policy), die Oberfläche blieb leer.
  • Behoben: Anhang-Zellen fragten beim Aufbau kurz Vorschaubilder unter einer unvollständigen Adresse an (Fehler 400/404 in der Browser-Konsole).

1.1.8-beta (2026-10-09)

  • Remote-Instanzen: Eine lokale IllusionDB kann sich mit einer anderen Instanz (z. B. dem Online-Server) verbinden und direkt darauf arbeiten – umgeschaltet wird oben in der Seitenleiste, ein gelbes LIVE-Banner zeigt an, dass jede Änderung sofort auf dem Server landet. Der API-Token der Verbindung wird verschlüsselt gespeichert.
  • Headless-Modus: Die Admin-Oberfläche einer Instanz lässt sich abschalten (auch aus der Ferne über eine Remote-Verbindung), sodass dort nur noch die REST-API läuft – ohne Weboberfläche und ohne Login. Dazu die Umgebungsvariablen HEADLESS und MASTER_TOKEN sowie illusiondb -enable-admin als Notfall-Weg.
  • Gantt-Ansicht: Neue Ansicht (als View-Modul) für Projekt- und Meilenstein-Zeitleisten – Balken und Meilensteine per Maus verschieben und in der Länge ändern, Zeitraum aufziehen zum Anlegen, Untereinträge (Eltern-Spalte), Abhängigkeitspfeile mit Warnung bei Verletzung, Farben aus Farb-/Label-Feld, Zusatzspalten und Dauer links, Zoom Woche bis Jahr, Drucken/PDF und PNG-Export, schreibgeschützt schaltbar pro Ansicht.
  • Ansichtseinstellungen: View-Module können jetzt auch Ja/Nein-Schalter, Auswahllisten und Mehrfach-Spaltenauswahl anbieten; der Einstellungsdialog scrollt bei vielen Feldern.
  • Sicherheit: Neuer Einstellungs-Reiter „Sicherheit“ (nur Admins) mit sicheren Standardwerten: Sicherheits-Header (Content-Security-Policy, Schutz vor Einbetten/Clickjacking, HSTS, Referrer-Policy), CSRF-Schutz, Anfragegrößen-Limit, Login-Limit nur für Fehlversuche, Sitzungsdauer, Passwort-Mindestlänge, Ablauf von API-Tokens, Version und interne Fehlerdetails nicht mehr öffentlich, Webhook- und Remote-Netzwerkregeln. Nicht-Admins sehen keine Verbindungsdaten und Webhooks mehr; Server-Timeouts gegen langsame Verbindungen.
  • REST-API: fields-Parameter: GET /tables/{id}/records?fields=slug,geaendert (und /records/{pk}) liefert nur die genannten Spalten; bei reinen Tabellenspalten liest die Datenbank nur diese und berechnete Felder werden übersprungen.

1.1.7-beta (2026-09-15)

  • Markdown-Editor mit Live-Vorschau: Ein einziges Eingabefeld ersetzt die alte Textarea mit umschaltbarer Vorschau – nur der Absatz, in dem der Cursor gerade steht, zeigt rohen, editierbaren Markdown-Text, alle anderen zeigen sofort das gerenderte Ergebnis (Obsidian/Typora-Stil). Aktiviert wird ein Absatz per Klick, beim Klick nach außen wird er wieder abgewählt; ein leer gebliebener Absatz wird beim Verlassen automatisch entfernt.
  • Virtuelle Ordner in der Dateiverwaltung: Dateien lassen sich jetzt per Drag & Drop in einen Ordnerbaum einsortieren, analog zum Wiki-Seitenbaum – rein organisatorisch, ohne dass sich an der eigentlichen Speicherung etwas ändert. Ein Ordner lässt sich erst löschen, wenn er leer ist.
  • Anhänge tabellen-/spaltenübergreifend wiederverwenden: Beim Bearbeiten eines Anhang-Felds öffnet + ein Fenster mit Upload und einer Auswahl bereits hochgeladener Dateien, gefiltert auf die Tabellen, für die der jeweilige Nutzer mindestens Leserecht hat – dieselbe Datei muss so nicht mehrfach hochgeladen werden. Die Dateiverwaltung zeigt eine geteilte Datei entsprechend nur noch einmal, mit aufklappbarer Liste aller Fundstellen, und hat selbst eine Upload-Funktion, um eine Datei vorab bereitzustellen, bevor sie irgendwo angehängt wird.
  • Anhang-Dateien verschwinden nicht mehr automatisch: Eine Datei aus einer Zelle zu entfernen (oder eine Spalte/Datenquelle mit Anhängen zu löschen) löscht die Datei selbst nicht mehr – sie bleibt unverknüpft in der Dateiverwaltung erhalten und kann jederzeit wieder angehängt werden. Endgültig entfernt wird eine Datei nur noch über die Dateiverwaltung selbst.
  • Wiki-Ansicht: Anhänge als Galerie im Seitenfuß: Ein Anhang-Feld lässt sich optional als sticky Galerie unten auf der Wiki-Seite anzeigen, nur wenn konfiguriert und die Seite tatsächlich Dateien hat; die Lightbox hat jetzt außerdem einen Download-Button.
  • SQL-Terminal mit Snippets: Häufig genutzte SQL-Abfragen als Snippet speichern, in mehreren Tabs gleichzeitig offen halten (wie in VS Code), Snippets über die Seitenleiste öffnen, überschreiben oder löschen. Die Snippet-Liste ist ein-/ausklappbar.
  • Fünf Sprachen: Die Oberfläche ist jetzt vollständig auf Deutsch, Englisch, Spanisch, Französisch und Italienisch verfügbar, inklusive einer projektweiten Standardsprache in den Projekteinstellungen.
  • Docker im Linux-Paket: Der Docker-Compose-Stack steckt jetzt direkt im Linux-Release-Archiv — kein separater Download mehr nötig.
  • Docker-Stack ganz ohne .env-Datei nutzbar: docker compose up -d --build reicht jetzt allein – der Verschlüsselungsschlüssel wird beim ersten Start automatisch erzeugt und direkt im persistenten Datenvolume gespeichert (übersteht damit auch ein späteres Rebuild), der erste Admin-Account lässt sich im Browser über den Einrichtungsassistenten anlegen. Wer Key/Admin-Zugangsdaten dennoch fest vorgeben möchte, kann weiterhin .env.example nach .env kopieren und ausfüllen.

1.1.6-beta (2026-09-06)

  • Neuer Feldtyp „Kind-Datensätze“: Verknüpfte Datensätze einer anderen Tabelle direkt in der übergeordneten Zeile anzeigen, inklusive Summen-Aggregation und CSV-Export.
  • Lookup-/Rollup-/Kind-Datensätze-Verbindungen nachträglich bearbeiten: Die Zielspalte einer bestehenden Verknüpfung lässt sich jetzt ändern, ohne die Spalte neu anzulegen.
  • Docker-Release-Paket: Fertiges Dockerfile + docker-compose.yml als eigenes Release-Artefakt für den Self-Host-Betrieb.

1.1.5-beta (2026-08-31)

  • Eingebautes Handbuch: Dieses Handbuch läuft direkt in der App, durchsuchbar, ohne Internetzugriff.
  • Vier neue Ansichten: Wiki (Seitenbaum mit Drag & Drop), Kalender, Dokumentenansicht und Kanban (mit frei konfigurierbaren Spalten und manueller Kartenreihenfolge) — zusätzlich zur klassischen Tabellenansicht.
  • Dokumenten-Generator: Vorlagen direkt aus der App heraus als PDF, PNG oder JPG erzeugen.
  • SQL-Import-Assistent: Bestehende .sql-Dateien per geführtem Dialog importieren.
  • Öffentlich lesbare Tabellen: Einzelne Tabellen per Schalter öffentlich zugänglich machen, wahlweise mit Token-Zugriff über einen URL-Parameter.
  • Eigene REST-Endpunkte per Skript: Custom-Endpoints und Automatisierungs-Hooks als selbst geschriebenes JavaScript, direkt in der App bearbeitbar und testbar.
  • Ansichten sind jetzt Module: Grid, Kanban, CMS und die anderen Ansichten laufen als austauschbare View-Module — die Grundlage für alle vier neuen Ansichten oben.
  • Ein-/ausklappbare Seitenleiste in der Hauptnavigation.
  • Filter mit Auto-Vervollständigung für Fremdschlüssel- und Links-Spalten.

1.0.0 (2026-08-20)

  • Neue Plugin-Architektur für Feldtypen: Jeder Feldtyp läuft als eigenständiges WASM-Modul — die Grundlage für alle seither dazugekommenen Feldtypen und Ansichten.
  • Skript-Engine: Eigene JavaScript-Skripte für Custom-Endpoints und Datensatz-Hooks (created/updated/deleted), direkt in der App verwaltet.
  • 1:n-Verknüpfungen ganz ohne SQL über den Spalten-Assistenten anlegen.
  • Datenquellen-Schema exportieren/importieren als JSON.
  • SQLite-Datenquellen direkt herunterladen.
  • Eingebauter SQL-Schema-Viewer im Grid-Werkzeugkasten.
  • Formel-Editor mit Referenz: Popover mit allen verfügbaren Operatoren und Funktionen.