Notion-Backup: wie es abläuft

Ein Backup ist eine lange Folge von Anfragen an eine API, die nie für Backups entworfen wurde. Eine Kopie, der Sie trauen können, bekommen Sie erst, wenn Sie genau wissen, was diese API liefert und was nicht.

Am Anfang steht ein Token

Notion entscheidet über Integrationen, wer was lesen darf. Sie legen eine interne Integration an, und sie kann nur die Seiten und Datenbanken lesen, die Sie mit ihr teilen. Sonst liest sie im Workspace nichts, und sie liest überhaupt nichts, solange Sie nichts teilen. Das Token identifiziert diese Integration.

Mehr steckt nicht hinter dem Zugriffsmodell von NotionManager. Es gibt kein Notion-Passwort, keinen Workspace-weiten Schlüssel, der alles lesen könnte, und keinen Zugriff auf Seiten, die Sie nicht geteilt haben. Die Freigabeliste entscheidet, was die Integration lesen kann, und Notion wendet dieselbe Regel auf jedes andere Werkzeug an. Widerrufen Sie die Integration in Notion, scheitert jeder weitere Lauf sofort.

Dann entscheidet die API, was möglich ist

Die Notion-API ist eine leseorientierte, seitenweise Schnittstelle zu Blöcken und Seiten. Sie liefert Ergebnisse in Seiten von höchstens hundert Einträgen und begrenzt, wie viele Anfragen Sie pro Sekunde senden dürfen. Was sie abbilden kann, gibt sie vollständig zurück. Was sie nicht abbilden kann, meldet sie ohne Inhalt, statt zu raten.

Seitenweise Auslieferung, Ratenlimits und fehlende Inhalte prägen den Entwurf jedes Notion-Backups. Ein Backup ist deshalb keine einzelne Anfrage, sondern ein Durchlauf im gleichmäßigen Takt. In einem großen Workspace dauert er Minuten, zehn Minuten oder länger. NotionManager zeigt den Fortschritt live, damit Sie sehen, wo die Kopie gerade steht.

Notion aktualisiert die API außerdem laufend, um Fehler zu beheben, Fähigkeiten zu ergänzen und die Datenorganisation zu verbessern. NotionManager baut auf der neuesten Version der API auf, damit ein Backup so viel Information mitnimmt, wie es kann.

Das Datenmodell, das ein Backup kopiert

Alles in Notion besteht aus Blöcken. Ein Absatz, eine Überschrift, eine To-do, ein Toggle und eine Tabellenzeile sind Blöcke. Eine Seite ist ein Block, der andere Blöcke enthält, also ist alles, was Sie in Notion lesen, ein Baum aus Blöcken. Ein Backup liest diesen Baum genauso: an einem Knoten beginnen, seine Kinder lesen, wiederholen.

Eine Datenbank ist ein Behälter für Seiten. Ihr Inhalt liegt in einer oder mehreren Datenquellen, und jede Zeile einer Datenquelle ist eine Seite, deren Eigenschaften diese Datenquelle definiert. Eine Ansicht speichert keine eigenen Daten. Sie legt fest, wie Sie auf die Daten schauen: welche Datenquelle, welche Filter und Sortierung, und ob sie als Tabelle, Board, Kalender oder Galerie erscheint. Die Notion-API liefert die tragende Struktur einer Ansicht und kein Styling.

Wie NotionManager einen Workspace liest

Ein Durchlauf von oben nach unten, der so lange weitergeht, bis die API keine Ergebnisse mehr liefert.

  1. 1

    Bei dem beginnen, was Sie geteilt haben

    Das Integration-Token gibt die obersten Seiten und Datenbanken frei, die Sie mit ihm geteilt haben. Das sind die Wurzeln des Durchlaufs.

  2. 2

    Jede davon vollständig lesen

    NotionManager holt jede Wurzel mit ihren Eigenschaften und ihren Blöcken, Seite für Seite, bis die seitenweise Auslieferung endet, damit nichts fehlt.

  3. 3

    Den Kindern nach unten folgen

    Jede unterwegs gefundene Unterseite wird der Reihe nach rekursiv geholt, bis es keine Unterseiten mehr gibt.

  4. 4

    Die Struktur neu aufbauen und dann lesen

    NotionManager setzt das Gelesene wieder zu Seiten, Datenbanken und Beziehungen zusammen. Das Ergebnis ist eine schreibgeschützte Kopie, die Sie offline durchsehen können, vom Gefühl her nah an Notion selbst, statt eines Haufens JSON.

Was die API nicht tut, und was stattdessen passiert

Grenze der Notion-APIWas NotionManager dagegen tut
Die API begrenzt Anfragen, deshalb dauert ein Backup längerNotionManager hält die Anfragen im Takt und wartet, wenn er ein Limit erreicht, damit die Kopie vollständig bleibt
Manche Blocktypen meldet die API ohne ihren InhaltDie Kopie behält alle Rohdaten, die sie lesen kann, und die Darstellung kennzeichnet das Fehlende, damit die Lücke sichtbar wird statt still zu bleiben
Aufwendiges Ansicht-Styling: Farben, Layout, Gruppierung, das Board oder die Galerie, die Sie tatsächlich ansehenNotionManager kopiert die Daten hinter der Ansicht und baut die Ansicht aus ihren Eigenschaften neu auf, so nah an Notion wie möglich
Kein Änderungs-Feed: Die API kann nicht sagen "diese drei Seiten haben sich seit Dienstag geändert"Inkrementelle und differenzielle Backups gibt es noch nicht, also läuft jeder Lauf über jede Seite und jeden Block. Ein Block, der sich nicht geändert hat, braucht keinen zusätzlichen Speicherplatz, und externe Mediendateien hält NotionManager ohne Duplikate, damit der Speicherbedarf beherrschbar bleibt
Kein Zurückschreiben: Die API kann einen Workspace nicht für Sie wiederherstellenEine Wiederherstellung aus dem Backup wird nicht direkt unterstützt. Jedes Backup-Werkzeug, das Wiederherstellung verspricht, baut den Workspace vollständig neu auf und trägt schwere Einschränkungen mit sich: neue IDs, verlorene Beziehungen. NotionManager unterstützt Wiederherstellung bewusst nicht
Alles, was nicht mit der Integration geteilt wurdeNichts. Die Kopie enthält genau die Seiten, die Sie geteilt haben. NotionManager kann das weiter eingrenzen, auf einen Teil dieser Seiten, aber nicht darüber hinausgehen

Mit NotionManager sichern

Legen Sie eine Integration an, teilen Sie eine Seite oder eine Datenbank mit ihr, und sehen Sie zu, wie die erste Kopie entsteht.

Wie es weitergeht

Häufige Fragen

Braucht NotionManager mein Notion-Passwort?

Nein. Es nutzt ein Integration-Token, und diese Integration kann nur lesen, was Sie ausdrücklich mit ihr geteilt haben. Ein Workspace-weites Zugangsdatum ist nicht im Spiel.

Warum dauert ein Backup Minuten oder länger?

Erstens begrenzt die Notion-API Aufrufe streng, und jeder Versuch, ein Backup zu beschleunigen, endet in gleichzeitigen Aufrufen, die gedrosselt werden. Zweitens ist jedes Backup ein vollständiges Lesen: Die Daten müssen vielleicht nicht erneut geladen werden, aber NotionManager muss jede Seite und jeden Block durchlaufen, um sicher zu sein, dass die Kopie vollständig ist.

Kann es nur die Änderungen sichern?

Die Notion-API liefert keine verlässliche Liste alles dessen, was sich seit dem letzten Backup geändert hat. Also ist jeder Lauf ein vollständiges Backup, und NotionManager sorgt dafür, dass wiederholte Daten nur einmal gespeichert werden.

Was passiert mit Blöcken, die die API nicht beschreibt?

NotionManager hält den angegebenen Typ des Blocks und seine Position im Baum fest, damit die Lücke in der durchsuchbaren Kopie sichtbar ist und nicht als stilles Loch mitten auf einer Seite bleibt.