Setările, articolele, fișierele și vizitatorii CMS-ului Total.js și unde se păstrează totul
Setări
Pluginul Settings (settings_read, settings_save; permisiunea settings) editează configurația pe care CMS-ul o păstrează în metadatele site-ului și o încarcă în CONF la fiecare pornire:
| Cheie | Semnificație |
|---|---|
name | numele site-ului, folosit în <title> al fiecărei pagini în afară de / și în numele fișierului de backup |
url | adresa publică a site-ului; CMS-ul o actualizează și din host-ul cererilor din administrare |
smtp | setările SMTP ca text JSON (server, from, user, password, port); settings_test le încearcă |
icon | o pictogramă pentru site |
$tms, secret_tms | publică evenimentele prin TMS și secretul acelei conexiuni |
op_reqtoken, op_restoken | tokenurile unei aplicații OpenPlatform; când sunt setate ambele, autentificarea în administrare este înlocuită cu cea din OpenPlatform |
totalapi | o cheie pentru serviciile API Total.js |
Pluginurile pot adăuga mai multe chei, care apar în același formular. Valorile din fișierul config ($api, cdn, salt și, dacă îl adaugi, token) nu se editează aici.
Articole
Pluginul Posts este un mic manager de articole, păstrate într-un fișier NoSQL propriu în spațiul de stocare. Un articol are name, category, picture, summary, body, reference, icon, color, hidden și date; administrarea le listează de la cel mai nou (100 pe pagină), iar posts_categories returnează categoriile folosite. Articolele sunt date pentru propriul tău cod: randatorul public al CMS-ului (controllers/default.js) nu le afișează, deci un widget sau o rută a ta trebuie să le citească și să le deseneze.
Fișiere
Pluginul Files păstrează încărcările în spațiul de stocare de fișiere și le marchează ca publice. GET /download/<id>.<ext> servește un fișier public (doar cele publice; restul răspund 404). Pentru imagini, ?s=<percent> returnează un JPEG mai mic (valoarea trebuie să fie între 10 și 80, cu calitate 80), iar ?download=1 forțează descărcarea. Rutele de încărcare și limitele lor sunt în API-ul administrării.
Vizitatori și panoul
Modulul modules/visitors.js numără vizitele paginilor publice prin scriptul /visitors.js pe care îl include fiecare pagină: vizitatori unici, afișări, browsere, referrere, trafic din căutare, social și direct, mobil și desktop, orele zilei și oamenii online (un vizitator este online 20 de minute fără activitate). Pluginul Dashboard desenează aceste cifre din dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers și dashboard_pages.
OpenPlatform
Când op_reqtoken și op_restoken sunt setate, CMS-ul autentifică oamenii prin OpenPlatform (modulul modules/openplatform.js), iar fiecare plugin adaugă permisiunea sa în lista pe care OpenPlatform o arată când atribui grupuri: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings și admin. Ține minte regula OpenPlatform: o aplicație este vizibilă doar pentru grupurile cărora le-o atribui.
Modelul de date
MAIN.db păstrează metadatele site-ului (pages, layouts, widgets, redirects, vars, nav, config și storage) și este salvat ca un singur document JSON numit meta în spațiul de stocare de fișiere. HTML-ul fiecărei pagini și al fiecărui layout este un fișier din acel spațiu, al cărui nume este id-ul paginii sau al layoutului. FUNC.load() citește metadatele la pornire, compilează widgeturile (rulând funcția lor install) și reconstruiește cache-urile; FUNC.save() le scrie la loc. De aceea un backup al spațiului de stocare este un backup al site-ului.