Ga naar inhoud

Projecten en .restorm-bestanden

Een Restorm-project leeft op uw eigen schijf. Er is geen externe werkruimte en geen eigen synchronisatiedienst: u opent een bestand, u slaat het op, u commit het.

De standaardmodus (Bestand ▸ Nieuw, daarna Opslaan als). Het hele project past in één bestand, standaard in YAML. Er zijn twee andere serialisatieformaten beschikbaar: json en json5.

Bestand ▸ Map openen. Het project wordt op schijf uitgesplitst in een mappenstructuur, wat bij grote projecten veel fijnmaziger diffs geeft:

  • een configuratiebestand restorm.conf in de hoofdmap, dat alleen het formaat bevat (format: yaml | json | json5);
  • een indexbestand per directory (index.yaml, index.json…);
  • mappen en bestanden met de naam <index> - <naam>, waarbij de index met nullen wordt aangevuld tot de breedte van de reeks, zodat de volgorde op het scherm gelijk is aan de volgorde op schijf. Verboden tekens (<>:"/\|?*) worden vervangen door _ en de naam wordt afgekapt op 100 tekens.

In de mapmodus schrijft Ctrl+S alleen de subboom van het actieve tabblad weg; Ctrl+Shift+S (Alles opslaan) schrijft het geheel.

Een project dat in de mapmodus is geopend: de boom links volgt de hiërarchie van de map, en de statusbalk verwijst naar een map — niet naar een .restorm-bestand.

  • de boom: mappen, omgevingsmappen, verzoeken van alle protocollen, scenario’s;
  • de omgevingen en hun variabelen, inclusief de subomgevingen;
  • de aangepaste waardelijsten en de geïmporteerde enumeraties;
  • de tags en hun kleuren;
  • de API-documentatie die aan de omgevingsmappen hangt;
  • de snelle instellingen die “in het project” zijn opgeslagen;
  • een project-identificator (_projectUuid) en een formaatversie.

Bewust niet, zodat het bestand deelbaar blijft:

GegevenWaar het leeft
GeheimenEen .env-bestand met geheimen naast het project — zie Geheimen
ResponsgeschiedenisEen archief <project>.responses.zip naast het project
Snelle instellingen op “gebruiker”-niveauUw lokale instellingen
FavorietenDe lokale opslag van de applicatie, geïndexeerd op project-identificator
Indeling van de workbenchUw lokale instellingen, geïndexeerd per project
Werkruimte-instellingen<projectmap>/.restorm/settings.json

Het praktische gevolg: u kunt een .restorm committen zonder een token te laten weglekken, en uw collega krijgt niet uw tabbladindeling mee.

Twee garanties, die uitsluitend bestaan om versiebeheer bruikbaar te maken:

  1. Canonieke sleutelvolgorde. De identiteitssleutels komen vooraan (id, name, key, type, folderType, method, url), de rest wordt gesorteerd. De volgorde van arrays wordt echter nooit gewijzigd: dat is uw volgorde.
  2. Stabiel afgeleide identificatoren. De identificator van een entiteit wordt berekend uit haar semantische pad, niet willekeurig gekozen. Twee mensen die hetzelfde verzoek op dezelfde plek toevoegen, produceren dezelfde identificator, waardoor de merge de entiteiten correct kan koppelen.

Het resultaat: een project openen en opnieuw opslaan zonder iets te wijzigen levert geen enkele diff op. Zie Geïntegreerde git.

Bestand ▸ Recente bestanden toont de tien laatst geopende projecten; paden die ongeldig zijn geworden, worden automatisch verwijderd. Dezelfde lijst voedt het welkomstscherm.