Some checks failed
CD / Build and push images (push) Successful in 3m57s
CD / Deploy to Test (push) Successful in 11s
CI / Lint, typecheck, test (push) Successful in 4m32s
CI / Build container images (push) Has been skipped
CD / Smoke tests against Test (push) Successful in 1m14s
CD / Promote to Int (push) Successful in 11s
CI / Auth e2e pack (push) Failing after 2m51s
CI / Import/export fidelity gate (push) Has been skipped
Semantics changed from the issue during planning (documented there, comment 1192): favorites are PERSONAL per user, not pond-wide — the sys-fav label approach is dropped entirely. Storage is a page_favorites table (userId+pageId, FK cascade); PUT/DELETE /pages/:id/favorite toggles idempotently and needs read access only (#60 404 semantics — a star is a note-to-self, not a page modification), GET /ponds/:id/favorites lists the account's stars sliced to still-readable pages. Trashed pages keep their rows, so restore keeps the star; purge cascades it away. Web: one shared ['favorites', pondId] query feeds the TopBar star (between labels and history, golden when set), the golden tree icons in the sidebar, and a latching "Favorites" filter button next to the view switch that narrows either view (combinable with the label filter). No public-API/MCP exposure — with the label approach gone, that parity is no longer free; favorites stay UI-only for now. New favorites e2e pack (star toggle, golden icon, filter, per-user isolation) wired into CI; DB suite covers the round-trip, read gating, and the trash/restore/purge lifecycle. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fb2VzvcoBPHkjh8bZ6PzQn
7.1 KiB
7.1 KiB
Dorfteich — was es ist und warum du es haben willst
Englisches Original: docs/features.md
Dorfteich ist ein Open-Source-Wiki für Menschen, die gemeinsam denken und schreiben wollen — in Echtzeit, auf dem eigenen Server, ohne ihr Wissen einem Cloud-Konzern zu überlassen.
Der Name kommt vom Dorfteich: dem Ort, an dem das ganze Dorf zusammenkommt. Dein Wiki ist in Teiche gegliedert — ein persönlicher Teich für jedes Mitglied, dazu gemeinsame Teiche für Teams, Vereine, Familien oder Projekte.
Gemeinsam schreiben, live
- Echtzeit-Zusammenarbeit. Öffne dieselbe Seite wie deine Kollegin und seht euch gegenseitig tippen — mit benannten Cursorn und einer Anwesenheitsleiste, die zeigt, wer auf der Seite ist. Kein Sperren, keine „Jemand anderes bearbeitet gerade"-Dialoge, keine verlorenen Änderungen.
- Funktioniert offline. Tippe weiter, wenn die Verbindung abreißt; deine Änderungen fließen automatisch wieder ein, sobald du online bist.
- Ein freundlicher Editor. Überschriften, Listen, Aufgabenlisten, Tabellen, Zitate, Code-Blöcke und Bilder — mit vollem Markdown-Roundtrip: Was du schreibst, kann das System jederzeit wieder als sauberes Markdown verlassen.
- Wikilinks. Tippe
[[seiten-name]], um Seiten zu verlinken. Links auf Seiten, die es noch nicht gibt, werden für dich gesammelt — ein Klick legt sie an. „Verlinkt von" zeigt dir, wo jede Seite referenziert wird.
Nie wieder etwas verlieren
- Versionsverlauf. Jede Seite behält automatische Schnappschüsse und zusätzlich benannte Versionen, die du selbst speicherst. Vergleiche, sieh, wer beigetragen hat, und stelle jeden früheren Stand wieder her — Wiederherstellungen erscheinen live in jedem offenen Editor.
- Papierkorb mit Schonfrist. Gelöschte Seiten liegen in einem Papierkorb pro Teich und lassen sich wochenlang wiederherstellen, bevor sie endgültig entfernt werden — einzeln oder als Checkbox-Mehrfachauswahl mit Sammel-Wiederherstellen/-Löschen.
- Echte Backups. Nächtliche Datenbank- und Datei-Backups, optional externe Kopien auf eine Nextcloud deiner Wahl und eine getestete Ein-Klick-Wiederherstellung — inklusive dokumentiertem Weg, eine Instanz aus dem Nichts wieder aufzubauen.
Organisieren, wie du denkst
- Seitenbaum: Seiten unter Seiten verschachteln (bis zu 6 Ebenen) — Slugs und Links bleiben flach, Verschieben bricht also nie etwas; der ZIP-Export bleibt ebenfalls flach (die Hierarchie ist rein organisatorisch).
- Obsidian-Vault-Import: Eine Teich-Administration lädt einen ganzen
Vault als ZIP hoch — Ordner werden zum Seitenbaum, Tags zu Labels,
[[Wikilinks]]werden so umgeschrieben, dass sie weiter funktionieren, und Bilder kommen als Teich-Dateien mit - Tote Links sind einen Klick von einer Seite entfernt: Wer einen Link auf eine noch nicht existierende Seite öffnet, bekommt sie direkt zum Anlegen angeboten
- Wissensgraph: eine interaktive Karte jedes Teichs — Seiten als Knoten, Wikilinks als Kanten, fehlende Ziele als gestrichelte Phantome, die ein Klick anlegt; jede Seite hat zusätzlich einen lokalen Nachbarschafts-Graphen.
- Labels, auf Wunsch hierarchisch, um einen Teich beliebig zu gliedern — und um Zugriffsregeln zu begrenzen (siehe unten).
- Persönliche Favoriten: Markiere jede Seite mit einem Stern — goldene Icons zeigen deine Favoriten im Seitenbaum, ein Filter verengt die Liste darauf. Sterne gelten pro Nutzer und sind für andere unsichtbar.
- Schnelle Volltextsuche über alles, was du lesen darfst — unempfindlich gegen Akzente und Umlaute, mit Teilwort-Treffern.
- Inhaltsverzeichnis, Seitenindizes, Diagramme und mehr über mitgelieferte Plugins (siehe „Erweiterbar" unten).
Teile genau so viel, wie du willst
- Feingranulare Berechtigungen. Vergib Lese- oder Schreibrechte pro Teich, pro Label oder pro Seite — an einzelne Personen, an alle angemeldeten Mitglieder oder ans öffentliche Internet. Deny-Regeln schneiden Ausnahmen heraus. Ein eingebauter Inspektor („Effektive Rechte") erklärt, warum jemand eine Seite sehen kann oder nicht.
- Öffentliche Seiten. Veröffentliche ausgewählte Seiten schreibgeschützt für die Welt, mit sauberen URLs — der Rest des Teichs bleibt privat.
- Kommentare. Diskutiere in Threads direkt neben dem Inhalt, erledige, was geklärt ist, und entscheide pro Teich, ob alle Lesenden oder nur Bearbeitende kommentieren dürfen.
- Benachrichtigungen unter deiner Kontrolle. Beobachte Seiten oder ganze Teiche, nutze den In-App-Posteingang und wähle E-Mail-Digests (stündlich, täglich oder aus) — mit funktionierendem Abmeldelink.
Deine Dokumente kommen und gehen frei
- Import von Word- (
.docx), LibreOffice- (.odt) und Markdown-Dateien — eingebettete Bilder inklusive. - Export jeder Seite als Markdown, Word, LibreOffice oder PDF (mit der Typografie deines Teichs) und jedes Teichs als ZIP aus Markdown-Dateien. Kein Lock-in, niemals.
Maschinen sind auch willkommen — zu deinen Bedingungen
- REST-API. Eine saubere, token-authentifizierte öffentliche API zum Lesen, Schreiben, Suchen, Labeln und Kommentieren — mit OpenAPI-Beschreibung. Tokens tragen exakt die Berechtigungen ihrer Besitzerin, nie mehr.
- Eingebauter MCP-Endpoint. Verbinde Claude Code oder einen anderen MCP-fähigen KI-Assistenten direkt mit deinem Wiki — er kann suchen, lesen und (wenn du es erlaubst) Seiten schreiben. Beide Schnittstellen sind standardmäßig aus, und jeder Teich stimmt separat zu.
Erweiterbar, aber sicher
- Plugins ergänzen Block-Typen (Mermaid-Diagramme, vollwertiges draw.io-Bearbeiten), Seiten-Werkzeuge (Inhaltsverzeichnis, Seitenindex) und Abschnitts-Stile. Jedes Plugin läuft in einer strikten Sandbox: keine Cookies, kein Storage, kein Netzwerk — es kann nie mehr lesen als die Person, die es gerade ansieht.
- Referenz-Plugins werden mitgeliefert und dienen zugleich als dokumentierte Vorlagen für eigene Plugins.
Privat by design
- Selbst gehostet. Ein
docker compose up, ein freundlicher Einrichtungsassistent beim ersten Start — und es gehört dir. Alles, Schriften eingeschlossen, wird von deiner eigenen Domain ausgeliefert: Seiten stellen null Anfragen an Dritte. - DSGVO-freundlich. Impressums- und Datenschutzseiten sind eingebaut (mit Vorlagen), persönliche Daten als ZIP exportierbar, Konto-Löschung mit inhaltserhaltender Pseudonymisierung und ein Audit-Log der administrativen Aktionen.
- Zweisprachig. Die gesamte Oberfläche spricht Deutsch und Englisch; jede Person wählt ihre Sprache selbst.
Ehrlicher Betrieb
- Health-Endpoints, die „down" von „degraded" unterscheiden, ein Admin-System-Panel mit Job-Status, Backup-Zustand, Audit-Log und Speicherübersicht, monatliche automatisierte Restore-Übungen — der Betreiber kann beweisen, dass die Backups funktionieren, statt nur zu hoffen.
Dorfteich ist MIT-lizenzierte Open-Source-Software. Wer Docker betreiben kann, kann Dorfteich betreiben — siehe Self-Hosting (englisch).