ForgeCMS
hu

CMS

A Total.js CMS beállításai, bejegyzései, fájljai és látogatói, és hol tárolódik minden

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

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:

KulcsJelentés
namea webhely neve, minden oldal <title> elemében használatos a / kivételével, valamint a mentés fájlnevében
urla webhely nyilvános címe; a CMS az admin kérések hostjából is frissíti
smtpaz SMTP-beállítások JSON-szövegként (server, from, user, password, port); a settings_test kipróbálja őket
icona webhely ikonja
$tms, secret_tmsTMS-en keresztül közzéteszi az eseményeket, és ennek a kapcsolatnak a titkát
op_reqtoken, op_restokenegy OpenPlatform-alkalmazás tokenjei; ha mindkettő be van állítva, az admin bejelentkezést az OpenPlatformé váltja fel
totalapiegy 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.