# Inställningar, inlägg, filer och besökare i Total.js CMS och var allt lagras

> Inställningarna i Total.js CMS, inläggshanteraren, hur uppladdade filer serveras och ändras i storlek, besöksstatistiken och instrumentpanelen, integrationen med OpenPlatform och webbplatsens datamodell.

Framework: cms
Product: CMS (cms@8071e48)
Language: sv
Content-SHA256: 358cdc4fc362640035a7bc0bdb4b8b975c0fa58eeb90e7dd735e938cfda82dea
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Inställningar

Pluginet *Settings* (`settings_read`, `settings_save`; behörighet `settings`) redigerar konfigurationen som CMS håller i webbplatsens metadata och läser in i `CONF` vid varje start:

| Nyckel | Betydelse |
|---|---|
| `name` | webbplatsens namn, används i `<title>` på varje sida utom `/` och i filnamnet på säkerhetskopian |
| `url` | webbplatsens publika adress; CMS uppdaterar den också från värden i administrationsanropen |
| `smtp` | SMTP-inställningarna som JSON-text (`server`, `from`, `user`, `password`, `port`); `settings_test` provar dem |
| `icon` | en ikon för webbplatsen |
| `$tms`, `secret_tms` | publicerar händelserna via TMS, och hemligheten för den anslutningen |
| `op_reqtoken`, `op_restoken` | tokens för en [OpenPlatform](/en/openplatform/how-an-app-connects/)-applikation; när båda är satta ersätts administratörsinloggningen av OpenPlatforms |
| `totalapi` | en nyckel för Total.js API-tjänsterna |

Plugin kan lägga till fler nycklar, som visas i samma formulär. Värden som finns i filen `config` (`$api`, `cdn`, `salt` och, om du lägger till den, `token`) redigeras inte här.

## Inlägg

Pluginet *Posts* är en liten artikelhanterare, lagrad i en egen NoSQL-fil i lagringen. Ett inlägg har `name`, `category`, `picture`, `summary`, `body`, `reference`, `icon`, `color`, `hidden` och `date`; administrationen listar dem nyast först (100 per sida) och `posts_categories` returnerar kategorierna som används. Inläggen är data för din egen kod: CMS publika renderare (`controllers/default.js`) skriver inte ut dem, så en widget eller rutt av dig måste läsa och rita dem.

## Filer

Pluginet *Files* lagrar uppladdningar i fillagringen och markerar dem som publika. `GET /download/<id>.<ext>` serverar en publik fil (bara de publika; resten svarar 404). För bilder returnerar `?s=<percent>` en mindre JPEG (värdet måste vara mellan 10 och 80, med kvalitet 80), och `?download=1` tvingar fram en nedladdning. Uppladdningsrutterna och deras gränser finns i [administrations-API:et](/en/cms/the-admin-api/).

## Besökare och instrumentpanelen

Modulen `modules/visitors.js` räknar besöken på de publika sidorna via skriptet `/visitors.js` som varje sida inkluderar: unika besökare, sidvisningar, webbläsare, hänvisare, sök-, social och direkttrafik, mobil och dator, timmar på dygnet och personerna online (en besökare är online i 20 minuter utan aktivitet). Pluginet *Dashboard* ritar dessa siffror från `dashboard_stats`, `dashboard_online`, `dashboard_browsers`, `dashboard_referers` och `dashboard_pages`.

## OpenPlatform

När `op_reqtoken` och `op_restoken` är satta loggar CMS in folk via [OpenPlatform](/en/openplatform/what-is-openplatform/) (modulen `modules/openplatform.js`) och varje plugin bidrar med sin behörighet till listan som OpenPlatform visar när du tilldelar grupper: `pages`, `layouts`, `widgets`, `navigation`, `posts`, `files`, `redirects`, `variables`, `settings` och `admin`. Kom ihåg OpenPlatforms regel: en applikation är bara synlig för de grupper du tilldelar den.

## Datamodellen

`MAIN.db` håller webbplatsens metadata (`pages`, `layouts`, `widgets`, `redirects`, `vars`, `nav`, `config` och `storage`) och sparas som ett JSON-dokument kallat `meta` i fillagringen. HTML för varje sida och layout är en fil i den lagringen vars namn är sidans eller layoutens id. `FUNC.load()` läser metadata vid start, kompilerar widgetarna (och kör deras funktion `install`) och bygger om cacharna; `FUNC.save()` skriver tillbaka dem. Därför är en säkerhetskopia av lagringen en säkerhetskopia av webbplatsen.
