ForgeCMS
it

CMS

Impostazioni, post, file e visitatori del CMS di Total.js e dove si salva tutto

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Impostazioni

Il plugin Settings (settings_read, settings_save; permesso settings) modifica la configurazione che il CMS conserva nei metadati del sito e carica in CONF a ogni avvio:

ChiaveSignificato
nameil nome del sito, usato nel <title> di ogni pagina tranne / e nel nome del file del backup
urll’indirizzo pubblico del sito; il CMS lo aggiorna anche dall’host delle richieste dell’admin
smtple impostazioni SMTP come testo JSON (server, from, user, password, port); settings_test le prova
iconun’icona per il sito
$tms, secret_tmspubblica gli eventi tramite TMS, e il segreto di quella connessione
op_reqtoken, op_restokeni token di un’applicazione OpenPlatform; quando sono impostati entrambi, l’accesso all’admin è sostituito da quello di OpenPlatform
totalapiuna chiave per i servizi dell’API di Total.js

I plugin possono aggiungere altre chiavi, che compaiono nello stesso modulo. I valori che vivono nel file config ($api, cdn, salt e, se lo aggiungi, token) non si modificano qui.

Post

Il plugin Posts è un piccolo gestore di articoli, conservati in un proprio file NoSQL nell’archivio. Un post ha name, category, picture, summary, body, reference, icon, color, hidden e date; l’admin li elenca dal più recente (100 per pagina) e posts_categories restituisce le categorie in uso. I post sono dati per il tuo codice: il renderer pubblico del CMS (controllers/default.js) non li stampa, quindi un tuo widget o una tua route deve leggerli e disegnarli.

File

Il plugin Files salva i caricamenti nell’archivio di file e li segna come pubblici. GET /download/<id>.<ext> serve un file pubblico (solo quelli pubblici; gli altri rispondono 404). Per le immagini, ?s=<percent> restituisce un JPEG più piccolo (il valore deve essere tra 10 e 80, con qualità 80), e ?download=1 forza il download. Le route di caricamento e i loro limiti sono in l’API dell’admin.

Visitatori e dashboard

Il modulo modules/visitors.js conta le visite delle pagine pubbliche tramite lo script /visitors.js incluso da ogni pagina: visitatori unici, visualizzazioni, browser, referrer, traffico da ricerca, social e diretto, mobile e desktop, ore del giorno e persone online (un visitatore è online per 20 minuti senza attività). Il plugin Dashboard disegna questi numeri da dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers e dashboard_pages.

OpenPlatform

Quando op_reqtoken e op_restoken sono impostati, il CMS fa accedere le persone tramite OpenPlatform (modulo modules/openplatform.js) e ogni plugin aggiunge il suo permesso all’elenco che OpenPlatform mostra quando assegni i gruppi: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings e admin. Ricorda la regola di OpenPlatform: un’applicazione è visibile solo ai gruppi che le assegni.

Il modello dei dati

MAIN.db contiene i metadati del sito (pages, layouts, widgets, redirects, vars, nav, config e storage) e viene salvato come un unico documento JSON chiamato meta nell’archivio di file. L’HTML di ogni pagina e layout è un file di quell’archivio il cui nome è l’id della pagina o del layout. FUNC.load() legge i metadati all’avvio, compila i widget (eseguendo la loro funzione install) e ricostruisce le cache; FUNC.save() li riscrive. Per questo un backup dell’archivio è un backup del sito.