# Setările Flow, fișierul config și folderele

> Setările Flow (nume, cataloage de componente și șabloane, mediu, copie de siguranță, token-uri), liniile fișierului config, mediul fluxurilor și folderele pentru extensii și componente locale.

Framework: flow
Product: Flow (flow@11.1)
Language: ro
Content-SHA256: f8ffb5687f91ba40e984baddc2bfbf63cee825b5ed4000defa5c7304407ef8e4
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Fișierul `config`

Fișierul `config` din rădăcina Flow conține opțiunile aplicației. Cele care contează:

| Linia | Semnificația |
|---|---|
| `name` | numele afișat de aplicație (poate fi schimbat în setări) |
| `$api : /fapi/` | adresa API-ului JSON |
| `flowstream_worker : fork` | fiecare FlowStream rulează în propriul proces |
| `$proxytimeout : 120` | secundele pe care le poate lua un flux pentru a răspunde la o cerere HTTP |
| `cookie`, `cookie_secret` | generate la prima pornire și păstrate în `databases/config.json` |

Alte opțiuni sunt citite când există: `directory` (folderul fluxurilor; implicit este `flowstream/` lângă aplicație), `flowstream_memory` (o limită implicită de memorie pentru fluxurile noi), `flowstream_sandbox` și `flowstream_asfiles` (sunt transmise fiecărui flux), `components` și `templates` (primele valori ale cataloagelor) și `backup`.

## Setările din aplicație

Super-administratorul deschide setările și găsește:

- **name** al instalației;
- **components** și **components2**: adresa catalogului de componente (un fișier `db.json`, implicit `https://cdn.totaljs.com/flowstream/webcomponents/db.json`) și un al doilea catalog opțional, ca să poți oferi propriile componente alături de cele oficiale;
- **templates**: catalogul de șabloane de fluxuri (implicit `https://cdn.totaljs.com/flowstream/templates/db.json`);
- **env**: `dev`, `test` sau `prod`. Fluxurile îl citesc, iar schimbarea lui le repornește pe toate, unul câte unul;
- **backup**: fiecare salvare a fluxurilor redenumește `database.json` anterior într-un fișier cu data și minutul, `database_yyyyMMddHHmm.bk`;
- **token**: token-ul aleatoriu pentru `/private/` (vezi [API-ul](/en/flow/manage-flowstreams-with-the-api/));
- **darkmode** și **notify**;
- **op_reqtoken** și **op_restoken**: token-urile unui [OpenPlatform](/en/openplatform/how-an-app-connects/); când ambele sunt setate, oamenii se autentifică cu acel OpenPlatform.

Pluginurile pot adăuga propriile setări în același formular. Depozitul include unul, *Bookmarks*, o listă de componente salvate pe care o pot folosi persoanele cu permisiunea `bookmarks`.

## Variabile

Fiecare flux are propriile **variabile** și există un set de **variabile globale**; ambele se editează în editor sau cu `Variables|read` și `Variables|save`. O componentă le citește ca să nu pună adrese și chei în design, iar o schimbare ajunge imediat la fluxurile care rulează.

## Componente locale: `--components--`

Folderul `--components--` din depozit conține câteva componente care vin odată cu aplicația: `checkfreespace`, `checklog`, `checkpg`, `checkurl`, `console` și `print`. Catalogul oficial este mult mai mare, vezi [depozitul de componente](/en/flow/the-components-repository/).

## Extensii

O extensie adaugă ceva în editorul fiecărui flux. Copiază un fișier `.html` în folderul `extensions/` (depozitul îl documentează în `--extensions--/` cu un exemplu `test.html`), iar Flow îl încarcă pentru fiecare flux: partea dintre `<script total>` și `</script>` rulează cu fluxul, iar restul fișierului este adăugat în editor.

## Mediul unui flux

La pornirea fiecărui flux, Flow îi dă folderul în care își păstrează fișierele (`directory`), variabilele globale, `env` al instalației, limita de memorie și încărcătorul de extensii (`extensions.js`). Un flux care cade este repornit de Flow, iar statisticile sale (mesaje, în așteptare, erori, memorie și id-ul procesului) sunt returnate de `Streams`.
