# Nastavenia, príspevky, súbory a návštevníci CMS Total.js a kde je všetko uložené

> Nastavenia CMS Total.js, správca príspevkov, ako sa nahrané súbory servírujú a menia ich veľkosť, štatistiky návštevníkov a dashboard, integrácia s OpenPlatform a dátový model webu.

Framework: cms
Product: CMS (cms@8071e48)
Language: sk
Content-SHA256: 0dbe90ab63cdc3c8fb744884397cc908c80aeaa09045af96a375e47f642b5b02
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Nastavenia

Plugin *Settings* (`settings_read`, `settings_save`; oprávnenie `settings`) upravuje konfiguráciu, ktorú CMS drží v metadátach webu a pri každom štarte ju načíta do `CONF`:

| Kľúč | Význam |
|---|---|
| `name` | názov webu, používa sa v `<title>` každej stránky okrem `/` a v názve súboru zálohy |
| `url` | verejná adresa webu; CMS ju aktualizuje aj z hostu požiadaviek administrácie |
| `smtp` | nastavenia SMTP ako text JSON (`server`, `from`, `user`, `password`, `port`); `settings_test` ich vyskúša |
| `icon` | ikona webu |
| `$tms`, `secret_tms` | publikuje udalosti cez TMS a tajomstvo tohto spojenia |
| `op_reqtoken`, `op_restoken` | tokeny aplikácie [OpenPlatform](/en/openplatform/how-an-app-connects/); keď sú nastavené oba, prihlásenie do administrácie nahradí prihlásenie cez OpenPlatform |
| `totalapi` | kľúč pre služby Total.js API |

Pluginy môžu pridať ďalšie kľúče, ktoré sa zobrazia v tom istom formulári. Hodnoty zo súboru `config` (`$api`, `cdn`, `salt` a, ak ho pridáte, `token`) sa tu neupravujú.

## Príspevky

Plugin *Posts* je malý správca článkov uložených vo vlastnom súbore NoSQL v úložisku. Príspevok má `name`, `category`, `picture`, `summary`, `body`, `reference`, `icon`, `color`, `hidden` a `date`; administrácia ich vypíše od najnovších (100 na stránku) a `posts_categories` vráti používané kategórie. Príspevky sú dáta pre váš vlastný kód: verejný renderer CMS (`controllers/default.js`) ich nevypisuje, takže ich musí prečítať a vykresliť váš widget alebo cesta.

## Súbory

Plugin *Files* ukladá nahrané súbory do úložiska súborov a označuje ich ako verejné. `GET /download/<id>.<ext>` obslúži verejný súbor (iba verejné; ostatné odpovedia 404). Pri obrázkoch `?s=<percent>` vráti menší JPEG (hodnota musí byť od 10 do 80, s kvalitou 80) a `?download=1` vynúti stiahnutie. Cesty nahrávania a ich limity sú v [API administrácie](/en/cms/the-admin-api/).

## Návštevníci a dashboard

Modul `modules/visitors.js` počíta návštevy verejných stránok cez skript `/visitors.js`, ktorý obsahuje každá stránka: unikátni návštevníci, zobrazenia, prehliadače, referrery, vyhľadávanie, sociálne siete a priamy prístup, mobil a desktop, hodiny dňa a ľudia online (návštevník je online 20 minút bez aktivity). Plugin *Dashboard* kreslí tieto čísla z `dashboard_stats`, `dashboard_online`, `dashboard_browsers`, `dashboard_referers` a `dashboard_pages`.

## OpenPlatform

Keď sú nastavené `op_reqtoken` a `op_restoken`, CMS prihlasuje ľudí cez [OpenPlatform](/en/openplatform/what-is-openplatform/) (modul `modules/openplatform.js`) a každý plugin pridá svoje oprávnenie do zoznamu, ktorý OpenPlatform ukazuje pri priraďovaní skupín: `pages`, `layouts`, `widgets`, `navigation`, `posts`, `files`, `redirects`, `variables`, `settings` a `admin`. Pamätajte na pravidlo OpenPlatform: aplikácia je viditeľná iba pre skupiny, ktoré jej priradíte.

## Dátový model

`MAIN.db` drží metadáta webu (`pages`, `layouts`, `widgets`, `redirects`, `vars`, `nav`, `config` a `storage`) a ukladá sa ako jeden dokument JSON s názvom `meta` v úložisku súborov. HTML každej stránky a layoutu je súbor v tomto úložisku, ktorého názov je id stránky alebo layoutu. `FUNC.load()` načíta metadáta pri štarte, skompiluje widgety (spustí ich funkciu `install`) a znovu postaví cache; `FUNC.save()` ich zapíše späť. Preto je záloha úložiska zálohou webu.
