Salta ai contenuti

Progetti e file .restorm

Un progetto Restorm vive sul proprio disco. Non esiste uno spazio di lavoro remoto né una sincronizzazione proprietaria: si apre un file, lo si salva, lo si mette sotto commit.

La modalità predefinita (File ▸ Nuovo, poi Salva con nome). L’intero progetto sta in un solo file, in YAML per impostazione predefinita. Sono disponibili altri due formati di serializzazione: json e json5.

File ▸ Apri cartella. Il progetto viene distribuito in un albero sul disco, cosa che produce diff molto più granulari sui progetti di grandi dimensioni:

  • un file di configurazione restorm.conf nella radice, che contiene soltanto il formato (format: yaml | json | json5);
  • un file di indice per ogni directory (index.yaml, index.json…);
  • cartelle e file denominati <index> - <name>, con l’indice completato da zeri sulla larghezza dei pari livello, in modo che l’ordine a schermo sia l’ordine sul disco. I caratteri non ammessi (<>:"/\|?*) vengono sostituiti da _ e il nome viene troncato a 100 caratteri.

In modalità cartella, Ctrl+S scrive soltanto il sottoalbero della scheda attiva; Ctrl+Shift+S (Salva tutto) scrive l’insieme.

Un progetto aperto in modalità cartella: l’albero a sinistra riprende la gerarchia della cartella e la barra di stato punta a una cartella — non a un file .restorm.

  • l’albero: cartelle, cartelle di variabili, richieste di tutti i protocolli, scenari;
  • gli ambienti e le loro variabili, compresi i sotto-ambienti;
  • gli elenchi di valori personalizzati e le enumerazioni importate;
  • i tag e i loro colori;
  • la documentazione di API allegata alle cartelle di variabili;
  • le impostazioni rapide salvate «nel progetto»;
  • un identificatore di progetto (_projectUuid) e una versione di formato.

Deliberatamente, perché il file sia condivisibile:

DatoDove risiede
SegretiUn file .env di segreti accanto al progetto — si veda Segreti
Cronologia delle risposteUn archivio <project>.responses.zip collocato accanto al progetto
Impostazioni rapide «utente»Le impostazioni locali della macchina
PreferitiL’archiviazione locale dell’applicazione, indicizzata per identificatore di progetto
Disposizione del workbenchLe impostazioni locali, indicizzate per progetto
Impostazioni dell’area di lavoro<project-folder>/.restorm/settings.json

Conseguenza pratica: si può mettere sotto commit un .restorm senza esfiltrare un token, e il collega non riceve la disposizione delle schede di chi lo ha creato.

Due garanzie, che esistono unicamente perché il versionamento sia utilizzabile:

  1. Ordine canonico delle chiavi. Le chiavi di identità vengono per prime (id, name, key, type, folderType, method, url), il resto è ordinato. L’ordine degli array, invece, non viene mai modificato: è l’ordine scelto dall’autore.
  2. Identificatori derivati in modo stabile. L’identificatore di un’entità è calcolato a partire dal suo percorso semantico, non estratto a caso. Due persone che aggiungono la stessa richiesta nello stesso punto producono lo stesso identificatore, il che permette alla fusione di appaiare correttamente le entità.

Risultato: aprire e poi salvare di nuovo un progetto senza modificare nulla non produce nessun diff. Si veda Git integrato.

File ▸ File recenti elenca gli ultimi dieci progetti aperti; i percorsi diventati non validi vengono rimossi automaticamente. Lo stesso elenco alimenta la schermata di benvenuto.