# Nastavení Flow, soubor config a složky

> Nastavení Flow (název, katalogy komponent a šablon, prostředí, záloha, tokeny), řádky souboru config, prostředí toků a složky pro rozšíření a lokální komponenty.

Framework: flow
Product: Flow (flow@11.1)
Language: cs
Content-SHA256: 11433bd385a57e54f108218f8b16e6845055b42532dee132eedca1655cc4d6ee
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Soubor `config`

Soubor `config` v kořenu Flow obsahuje volby aplikace. Ty důležité:

| Řádek | Význam |
|---|---|
| `name` | název zobrazený aplikací (lze jej změnit v nastavení) |
| `$api : /fapi/` | adresa API JSON |
| `flowstream_worker : fork` | každý FlowStream běží ve vlastním procesu |
| `$proxytimeout : 120` | sekundy, které může tok potřebovat k odpovědi na požadavek HTTP |
| `cookie`, `cookie_secret` | vygenerované při prvním spuštění a uložené v `databases/config.json` |

Další volby se čtou, pokud existují: `directory` (složka toků; výchozí je `flowstream/` vedle aplikace), `flowstream_memory` (výchozí limit paměti pro nové toky), `flowstream_sandbox` a `flowstream_asfiles` (předávají se každému toku), `components` a `templates` (první hodnoty katalogů) a `backup`.

## Nastavení v aplikaci

Superadministrátor otevře nastavení a najde:

- **name** instalace;
- **components** a **components2**: adresa katalogu komponent (soubor `db.json`, výchozí `https://cdn.totaljs.com/flowstream/webcomponents/db.json`) a volitelný druhý katalog, abyste mohli vedle oficiálních nabízet vlastní komponenty;
- **templates**: katalog šablon toků (výchozí `https://cdn.totaljs.com/flowstream/templates/db.json`);
- **env**: `dev`, `test` nebo `prod`. Toky jej čtou a jeho změna je všechny postupně restartuje;
- **backup**: každé uložení toků přejmenuje předchozí `database.json` na soubor s datem a minutou, `database_yyyyMMddHHmm.bk`;
- **token**: náhodný token pro `/private/` (viz [API](/en/flow/manage-flowstreams-with-the-api/));
- **darkmode** a **notify**;
- **op_reqtoken** a **op_restoken**: tokeny [OpenPlatform](/en/openplatform/how-an-app-connects/); když jsou nastaveny oba, lidé se přihlašují přes tento OpenPlatform.

Pluginy mohou do stejného formuláře přidat vlastní nastavení. Repozitář obsahuje jeden, *Bookmarks*, seznam uložených komponent, který mohou používat lidé s oprávněním `bookmarks`.

## Proměnné

Každý tok má vlastní **proměnné** a existuje sada **globálních proměnných**; obojí se upravuje v editoru nebo přes `Variables|read` a `Variables|save`. Komponenta je čte, aby se adresy a klíče nemusely dávat do návrhu, a změna se okamžitě dostane do běžících toků.

## Lokální komponenty: `--components--`

Složka `--components--` v repozitáři obsahuje několik komponent, které se dodávají s aplikací: `checkfreespace`, `checklog`, `checkpg`, `checkurl`, `console` a `print`. Oficiální katalog je mnohem větší, viz [repozitář komponent](/en/flow/the-components-repository/).

## Rozšíření

Rozšíření něco přidá do editoru každého toku. Zkopírujte soubor `.html` do složky `extensions/` (repozitář to dokumentuje v `--extensions--/` s ukázkou `test.html`) a Flow jej načte pro každý tok: část mezi `<script total>` a `</script>` běží s tokem a zbytek souboru se přidá do editoru.

## Prostředí toku

Při spuštění každého toku mu Flow dá složku, ve které uchovává jeho soubory (`directory`), globální proměnné, `env` instalace, limit paměti a zavaděč rozšíření (`extensions.js`). Tok, který spadne, Flow restartuje a jeho statistiky (zprávy, čekající, chyby, paměť a id procesu) vrací `Streams`.
