A Total.js CMS beállításai, bejegyzései, fájljai és látogatói, és hol tárolódik minden
Beállítások
A Settings bővítmény (settings_read, settings_save; settings jogosultság) azt a konfigurációt szerkeszti, amelyet a CMS a webhely metaadataiban tart, és minden indításkor betölt a CONF objektumba:
| Kulcs | Jelentés |
|---|---|
name | a webhely neve, minden oldal <title> elemében használatos a / kivételével, valamint a mentés fájlnevében |
url | a webhely nyilvános címe; a CMS az admin kérések hostjából is frissíti |
smtp | az SMTP-beállítások JSON-szövegként (server, from, user, password, port); a settings_test kipróbálja őket |
icon | a webhely ikonja |
$tms, secret_tms | TMS-en keresztül közzéteszi az eseményeket, és ennek a kapcsolatnak a titkát |
op_reqtoken, op_restoken | egy OpenPlatform-alkalmazás tokenjei; ha mindkettő be van állítva, az admin bejelentkezést az OpenPlatformé váltja fel |
totalapi | egy kulcs a Total.js API szolgáltatásaihoz |
A bővítmények további kulcsokat adhatnak hozzá, amelyek ugyanabban az űrlapban jelennek meg. A config fájlban élő értékeket ($api, cdn, salt, és ha hozzáadod, token) itt nem lehet szerkeszteni.
Bejegyzések
A Posts bővítmény egy kis cikkkezelő, amely a saját NoSQL fájljában tárol a tárolón belül. Egy bejegyzésnek van name, category, picture, summary, body, reference, icon, color, hidden és date mezője; az admin a legújabbakkal kezdve listázza őket (oldalanként 100), és a posts_categories a használatban lévő kategóriákat adja vissza. A bejegyzések a saját kódod adatai: a CMS nyilvános megjelenítője (controllers/default.js) nem írja ki őket, ezért a saját widgetednek vagy útvonaladnak kell beolvasnia és megjelenítenie őket.
Fájlok
A Files bővítmény a feltöltéseket a fájltárolóban tárolja, és nyilvánosként jelöli meg. A GET /download/<id>.<ext> kiszolgál egy nyilvános fájlt (csak a nyilvánosakat; a többi 404-gyel válaszol). Képeknél az ?s=<percent> kisebb JPEG-et ad vissza (az értéknek 10 és 80 között kell lennie, 80-as minőséggel), a ?download=1 pedig letöltést kényszerít ki. A feltöltési útvonalak és korlátaik itt vannak: az admin API.
Látogatók és az irányítópult
A modules/visitors.js modul a nyilvános oldalak látogatásait számolja a /visitors.js szkripttel, amelyet minden oldal tartalmaz: egyedi látogatók, oldalmegtekintések, böngészők, hivatkozók, keresési, közösségi és közvetlen forgalom, mobil és asztali, a nap órái és az online lévők (egy látogató tevékenység nélkül 20 percig számít online-nak). A Dashboard bővítmény ezeket a számokat a dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers és dashboard_pages hívásokból rajzolja.
OpenPlatform
Ha az op_reqtoken és az op_restoken be van állítva, a CMS az OpenPlatform segítségével jelentkeztet be (modules/openplatform.js modul), és minden bővítmény hozzáadja a saját jogosultságát ahhoz a listához, amelyet az OpenPlatform a csoportok kiosztásakor mutat: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings és admin. Emlékezz az OpenPlatform szabályára: egy alkalmazás csak azoknak a csoportoknak látható, amelyeknek kiosztod.
Az adatmodell
A MAIN.db tartalmazza a webhely metaadatait (pages, layouts, widgets, redirects, vars, nav, config és storage), és egyetlen meta nevű JSON-dokumentumként mentődik a fájltárolóban. Minden oldal és layout HTML-je ennek a tárolónak egy fájlja, amelynek neve az oldal vagy layout azonosítója. A FUNC.load() indításkor beolvassa a metaadatokat, lefordítja a widgeteket (lefuttatva az install függvényüket), és újraépíti a gyorsítótárakat; a FUNC.save() visszaírja őket. Ezért a tároló mentése a webhely mentése.