# Impostazioni di Flow, file config e cartelle

> Le impostazioni di Flow (nome, cataloghi di componenti e modelli, ambiente, backup, token), le righe del file config, l’ambiente dei flussi e le cartelle per estensioni e componenti locali.

Framework: flow
Product: Flow (flow@11.1)
Language: it
Content-SHA256: 752d81a11db0024d38f8f10e40007e1d2c9bb46a01a5401d03f9479fb4883bc2
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Il file `config`

Il file `config` nella radice di Flow contiene le opzioni dell’applicazione. Quelle che contano:

| Riga | Significato |
|---|---|
| `name` | il nome mostrato dall’applicazione (si può cambiare nelle impostazioni) |
| `$api : /fapi/` | l’indirizzo dell’API JSON |
| `flowstream_worker : fork` | ogni FlowStream gira nel proprio processo |
| `$proxytimeout : 120` | secondi che un flusso può impiegare per rispondere a una richiesta HTTP |
| `cookie`, `cookie_secret` | generati al primo avvio e conservati in `databases/config.json` |

Altre opzioni vengono lette quando esistono: `directory` (la cartella dei flussi; il valore predefinito è `flowstream/` accanto all’applicazione), `flowstream_memory` (un limite di memoria predefinito per i nuovi flussi), `flowstream_sandbox` e `flowstream_asfiles` (passati a ogni flusso), `components` e `templates` (i primi valori dei cataloghi) e `backup`.

## Impostazioni nell’applicazione

Il super amministratore apre le impostazioni e trova:

- **name** dell’installazione;
- **components** e **components2**: l’indirizzo del catalogo dei componenti (un file `db.json`, per impostazione predefinita `https://cdn.totaljs.com/flowstream/webcomponents/db.json`) e un secondo catalogo facoltativo, così puoi offrire i tuoi componenti accanto a quelli ufficiali;
- **templates**: il catalogo dei modelli di flusso (per impostazione predefinita `https://cdn.totaljs.com/flowstream/templates/db.json`);
- **env**: `dev`, `test` o `prod`. I flussi lo leggono e cambiarlo li riavvia tutti uno a uno;
- **backup**: ogni salvataggio dei flussi rinomina il precedente `database.json` in un file con data e minuto, `database_yyyyMMddHHmm.bk`;
- **token**: il token casuale per `/private/` (vedi [l’API](/en/flow/manage-flowstreams-with-the-api/));
- **darkmode** e **notify**;
- **op_reqtoken** e **op_restoken**: i token di un [OpenPlatform](/en/openplatform/how-an-app-connects/); quando sono impostati entrambi, le persone accedono con quell’OpenPlatform.

I plugin possono aggiungere proprie impostazioni allo stesso modulo. Il repository ne include uno, *Bookmarks*, un elenco di componenti salvati che possono usare le persone con il permesso `bookmarks`.

## Variabili

Ogni flusso ha le proprie **variabili** ed esiste un insieme di **variabili globali**, entrambi modificati nell’editor o con `Variables|read` e `Variables|save`. Un componente le legge per evitare di mettere indirizzi e chiavi nel design, e una modifica raggiunge subito i flussi in esecuzione.

## Componenti locali: `--components--`

La cartella `--components--` del repository contiene alcuni componenti che viaggiano con l’applicazione: `checkfreespace`, `checklog`, `checkpg`, `checkurl`, `console` e `print`. Il catalogo ufficiale è molto più grande, vedi [il repository dei componenti](/en/flow/the-components-repository/).

## Estensioni

Un’estensione aggiunge qualcosa all’editor di ogni flusso. Copia un file `.html` nella cartella `extensions/` (il repository lo documenta in `--extensions--/` con un esempio `test.html`) e Flow lo carica per ogni flusso: la parte tra `<script total>` e `</script>` viene eseguita con il flusso e il resto del file viene aggiunto all’editor.

## L’ambiente di un flusso

All’avvio di ogni flusso Flow gli dà la cartella in cui conserva i suoi file (`directory`), le variabili globali, l’`env` dell’installazione, il limite di memoria e il caricatore delle estensioni (`extensions.js`). Un flusso che si blocca viene riavviato da Flow e le sue statistiche (messaggi, in attesa, errori, memoria e id del processo) sono restituite da `Streams`.
