Zum Inhalt springen

Projekte und .restorm-Dateien

Ein Restorm-Projekt lebt auf Ihrer Festplatte. Es gibt keinen entfernten Arbeitsbereich, keine proprietäre Synchronisierung: Sie öffnen eine Datei, speichern sie, committen sie.

Der Standardmodus (Datei ▸ Neu, dann Speichern unter). Das gesamte Projekt passt in eine einzige Datei, standardmäßig im YAML-Format. Zwei weitere Serialisierungsformate sind verfügbar: json und json5.

Datei ▸ Ordner öffnen. Das Projekt wird als Verzeichnisbaum auf der Festplatte aufgeteilt, was bei großen Projekten deutlich feinere Diffs ergibt:

  • eine Konfigurationsdatei restorm.conf im Wurzelverzeichnis, die nur das Format enthält (format: yaml | json | json5);
  • eine Indexdatei pro Verzeichnis (index.yaml, index.json …);
  • Ordner und Dateien mit dem Namen <index> - <name>, wobei der Index mit Nullen auf die Breite der Geschwisterelemente aufgefüllt wird, damit die Reihenfolge auf dem Bildschirm der Reihenfolge auf der Festplatte entspricht. Unzulässige Zeichen (<>:"/\|?*) werden durch _ ersetzt und der Name wird auf 100 Zeichen gekürzt.

Im Ordnermodus schreibt Ctrl+S nur den Unterbaum des aktiven Tabs; Ctrl+Shift+S (Alles speichern) schreibt den gesamten Baum.

Ein im Ordnermodus geöffnetes Projekt: Der Baum links spiegelt die Ordnerhierarchie wider, und die Statusleiste zeigt auf einen Ordner – nicht auf eine .restorm-Datei.

  • den Baum: Ordner, Variablenordner, Anfragen aller Protokolle, Szenarien;
  • die Umgebungen und ihre Variablen, einschließlich der Unterumgebungen;
  • die benutzerdefinierten Wertelisten und importierte Enumerationen;
  • die Tags und ihre Farben;
  • die API-Dokumentation, die an Variablenordner angehängt ist;
  • die als „im Projekt“ gespeicherten Schnelleinstellungen;
  • eine Projektkennung (_projectUuid) und eine Formatversion.

Absichtlich, damit die Datei teilbar bleibt:

DatenWo sie leben
SecretsEine Secrets-Datei .env neben dem Projekt – siehe Secrets
AntwortverlaufEin Archiv <project>.responses.zip, das neben dem Projekt abgelegt wird
„Benutzerbezogene“ SchnelleinstellungenIhre lokalen Einstellungen
FavoritenDer lokale Speicher der Anwendung, indiziert nach Projektkennung
Anordnung des ArbeitsbereichsIhre lokalen Einstellungen, indiziert nach Projekt
Arbeitsbereichseinstellungen<project-folder>/.restorm/settings.json

Praktische Konsequenz: Sie können eine .restorm-Datei committen, ohne ein Token preiszugeben, und Ihr Kollege bekommt nicht Ihre Tab-Anordnung mitgeliefert.

Zwei Garantien, die einzig und allein dafür sorgen, dass die Versionierung nutzbar ist:

  1. Kanonische Schlüsselreihenfolge. Die Identitätsschlüssel stehen vorne (id, name, key, type, folderType, method, url), der Rest ist sortiert. Die Reihenfolge der Arrays hingegen wird nie verändert: Das ist Ihre Reihenfolge.
  2. Stabil abgeleitete Kennungen. Die Kennung einer Entität wird aus ihrem semantischen Pfad berechnet, nicht zufällig vergeben. Zwei Personen, die dieselbe Anfrage an derselben Stelle hinzufügen, erzeugen dieselbe Kennung, was es dem Merge erlaubt, die Entitäten korrekt einander zuzuordnen.

Ergebnis: Ein Projekt zu öffnen und ohne Änderung erneut zu speichern erzeugt keinerlei Diff. Siehe Integriertes Git.

Datei ▸ Zuletzt geöffnete Dateien listet die letzten zehn geöffneten Projekte auf; ungültig gewordene Pfade werden automatisch entfernt. Dieselbe Liste speist auch den Startbildschirm.