# Flow-instellingen, het bestand config en de mappen

> De instellingen van Flow (naam, catalogi van componenten en sjablonen, omgeving, back-up, tokens), de regels van het bestand config, de omgeving van de streams en de mappen voor extensies en lokale componenten.

Framework: flow
Product: Flow (flow@11.1)
Language: nl
Content-SHA256: 130d6261c05bb06b6651f041e7152ff29e89b3630bc221b8d8c7c72a63dc816f
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Het bestand `config`

Het bestand `config` in de hoofdmap van Flow bevat de opties van de toepassing. De belangrijkste:

| Regel | Betekenis |
|---|---|
| `name` | de naam die de toepassing toont (te wijzigen in de instellingen) |
| `$api : /fapi/` | het adres van de JSON-API |
| `flowstream_worker : fork` | elke FlowStream draait in een eigen proces |
| `$proxytimeout : 120` | seconden die een stream mag nemen om een HTTP-verzoek te beantwoorden |
| `cookie`, `cookie_secret` | gegenereerd bij de eerste start en bewaard in `databases/config.json` |

Andere opties worden gelezen als ze bestaan: `directory` (de map van de streams; standaard `flowstream/` naast de toepassing), `flowstream_memory` (een standaard geheugenlimiet voor nieuwe streams), `flowstream_sandbox` en `flowstream_asfiles` (worden aan elke stream doorgegeven), `components` en `templates` (de eerste waarden van de catalogi) en `backup`.

## Instellingen in de toepassing

De superbeheerder opent de instellingen en vindt:

- **name** van de installatie;
- **components** en **components2**: het adres van de catalogus van componenten (een bestand `db.json`, standaard `https://cdn.totaljs.com/flowstream/webcomponents/db.json`) en een optionele tweede catalogus, zodat je je eigen componenten naast de officiële kunt aanbieden;
- **templates**: de catalogus van sjablonen voor streams (standaard `https://cdn.totaljs.com/flowstream/templates/db.json`);
- **env**: `dev`, `test` of `prod`. De streams lezen het en wijzigen herstart ze allemaal een voor een;
- **backup**: elke keer dat de streams worden opgeslagen, wordt de vorige `database.json` hernoemd naar een bestand met datum en minuut, `database_yyyyMMddHHmm.bk`;
- **token**: het willekeurige token voor `/private/` (zie [de API](/en/flow/manage-flowstreams-with-the-api/));
- **darkmode** en **notify**;
- **op_reqtoken** en **op_restoken**: de tokens van een [OpenPlatform](/en/openplatform/how-an-app-connects/); als beide zijn ingesteld, melden mensen zich aan met dat OpenPlatform.

Plugins kunnen eigen instellingen aan hetzelfde formulier toevoegen. De repository bevat er een, *Bookmarks*, een lijst met opgeslagen componenten die mensen met het recht `bookmarks` kunnen gebruiken.

## Variabelen

Elke stream heeft zijn eigen **variabelen** en er is een set **globale variabelen**; beide worden bewerkt in de editor of met `Variables|read` en `Variables|save`. Een component leest ze om geen adressen en sleutels in het ontwerp te hoeven zetten, en een wijziging bereikt de draaiende streams meteen.

## Lokale componenten: `--components--`

De map `--components--` van de repository bevat een paar componenten die met de toepassing meekomen: `checkfreespace`, `checklog`, `checkpg`, `checkurl`, `console` en `print`. De officiële catalogus is veel groter, zie [de componentenrepository](/en/flow/the-components-repository/).

## Extensies

Een extensie voegt iets toe aan de editor van elke stream. Kopieer een `.html`-bestand naar de map `extensions/` (de repository documenteert dit in `--extensions--/` met een voorbeeld `test.html`) en Flow laadt het voor elke stream: het deel tussen `<script total>` en `</script>` draait met de stream en de rest van het bestand wordt aan de editor toegevoegd.

## De omgeving van een stream

Bij de start van elke stream geeft Flow hem de map waarin hij zijn bestanden bewaart (`directory`), de globale variabelen, de `env` van de installatie, zijn geheugenlimiet en de lader van extensies (`extensions.js`). Een stream die crasht, wordt door Flow herstart, en zijn statistieken (berichten, wachtend, fouten, geheugen en proces-id) worden teruggegeven door `Streams`.
