ForgeCMS
cs

CMS

Nastavení, příspěvky, soubory a návštěvníci CMS Total.js a kde je vše uloženo

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Nastavení

Plugin Settings (settings_read, settings_save; oprávnění settings) upravuje konfiguraci, kterou CMS drží v metadatech webu a při každém startu ji načítá do CONF:

KlíčVýznam
namenázev webu, používá se v <title> každé stránky kromě / a v názvu souboru zálohy
urlveřejná adresa webu; CMS ji aktualizuje i z hostu požadavků administrace
smtpnastavení SMTP jako text JSON (server, from, user, password, port); settings_test je vyzkouší
iconikona webu
$tms, secret_tmspublikuje události přes TMS a tajemství tohoto spojení
op_reqtoken, op_restokentokeny aplikace OpenPlatform; když jsou nastaveny oba, přihlášení do administrace nahradí přihlášení přes OpenPlatform
totalapiklíč pro služby Total.js API

Pluginy mohou přidat další klíče, které se zobrazí ve stejném formuláři. Hodnoty ze souboru config ($api, cdn, salt a, pokud jej přidáte, token) se zde neupravují.

Příspěvky

Plugin Posts je malý správce článků uložených ve vlastním souboru NoSQL v úložišti. Příspěvek má name, category, picture, summary, body, reference, icon, color, hidden a date; administrace je vypisuje od nejnovějších (100 na stránku) a posts_categories vrací používané kategorie. Příspěvky jsou data pro váš vlastní kód: veřejný renderer CMS (controllers/default.js) je nevypisuje, takže je musí přečíst a vykreslit váš widget nebo cesta.

Soubory

Plugin Files ukládá nahrané soubory do úložiště souborů a označuje je jako veřejné. GET /download/<id>.<ext> obslouží veřejný soubor (jen veřejné; ostatní odpovídají 404). U obrázků ?s=<percent> vrátí menší JPEG (hodnota musí být od 10 do 80, s kvalitou 80) a ?download=1 vynutí stažení. Cesty nahrávání a jejich limity jsou v API administrace.

Modul modules/visitors.js počítá návštěvy veřejných stránek přes skript /visitors.js, který obsahuje každá stránka: unikátní návštěvníky, zobrazení, prohlížeče, odkazující weby, vyhledávání, sociální sítě a přímý přístup, mobil a desktop, hodiny dne a lidi online (návštěvník je online 20 minut bez aktivity). Plugin Dashboard kreslí tato čísla z dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers a dashboard_pages.

OpenPlatform

Když jsou nastaveny op_reqtoken a op_restoken, CMS přihlašuje lidi přes OpenPlatform (modul modules/openplatform.js) a každý plugin přidá své oprávnění do seznamu, který OpenPlatform ukazuje při přiřazování skupin: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings a admin. Pamatujte na pravidlo OpenPlatform: aplikace je viditelná jen pro skupiny, které jí přiřadíte.

Datový model

MAIN.db drží metadata webu (pages, layouts, widgets, redirects, vars, nav, config a storage) a ukládá se jako jeden dokument JSON s názvem meta v úložišti souborů. HTML každé stránky a layoutu je soubor v tomto úložišti, jehož název je id stránky nebo layoutu. FUNC.load() při startu načte metadata, zkompiluje widgety (spustí jejich funkci install) a znovu sestaví cache; FUNC.save() je zapíše zpět. Proto je záloha úložiště zálohou webu.