ForgeCMS
fr

CMS

Réglages, articles, fichiers et visiteurs du CMS de Total.js et où tout est stocké

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Réglages

Le plugin Settings (settings_read, settings_save ; permission settings) modifie la configuration que le CMS conserve dans les métadonnées du site et charge dans CONF à chaque démarrage :

CléSignification
namele nom du site, utilisé dans le <title> de toutes les pages sauf / et dans le nom du fichier de sauvegarde
urll’adresse publique du site ; le CMS la met aussi à jour à partir de l’hôte des requêtes de l’admin
smtples réglages SMTP sous forme de texte JSON (server, from, user, password, port) ; settings_test les essaie
iconune icône pour le site
$tms, secret_tmspublie les événements par TMS, et le secret de cette connexion
op_reqtoken, op_restokenles jetons d’une application OpenPlatform ; quand les deux sont définis, la connexion à l’admin est remplacée par celle d’OpenPlatform
totalapiune clé pour les services de l’API Total.js

Les plugins peuvent ajouter d’autres clés, qui apparaissent dans le même formulaire. Les valeurs du fichier config ($api, cdn, salt et, si vous l’ajoutez, token) ne se modifient pas ici.

Articles

Le plugin Posts est un petit gestionnaire d’articles, conservés dans leur propre fichier NoSQL dans le stockage. Un article a name, category, picture, summary, body, reference, icon, color, hidden et date ; l’admin les liste du plus récent au plus ancien (100 par page) et posts_categories renvoie les catégories utilisées. Les articles sont des données pour votre propre code : le moteur de rendu public du CMS (controllers/default.js) ne les affiche pas, c’est donc à un widget ou à une route de votre cru de les lire et de les dessiner.

Fichiers

Le plugin Files stocke les envois dans le stockage de fichiers et les marque comme publics. GET /download/<id>.<ext> sert un fichier public (seulement les publics ; les autres répondent 404). Pour les images, ?s=<percent> renvoie un JPEG plus petit (la valeur doit être comprise entre 10 et 80, avec une qualité de 80), et ?download=1 force le téléchargement. Les routes d’envoi et leurs limites sont décrites dans l’API de l’admin.

Visiteurs et tableau de bord

Le module modules/visitors.js compte les visites des pages publiques grâce au script /visitors.js que chaque page inclut : visiteurs uniques, pages vues, navigateurs, référents, trafic de recherche, social et direct, mobile et ordinateur, heures du jour et personnes en ligne (un visiteur reste en ligne 20 minutes sans activité). Le plugin Dashboard dessine ces chiffres à partir de dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers et dashboard_pages.

OpenPlatform

Quand op_reqtoken et op_restoken sont définis, le CMS connecte les gens via OpenPlatform (module modules/openplatform.js) et chaque plugin ajoute sa permission à la liste qu’OpenPlatform montre quand vous attribuez des groupes : pages, layouts, widgets, navigation, posts, files, redirects, variables, settings et admin. Rappelez-vous la règle d’OpenPlatform : une application n’est visible que des groupes que vous lui attribuez.

Le modèle de données

MAIN.db contient les métadonnées du site (pages, layouts, widgets, redirects, vars, nav, config et storage) et est enregistré sous la forme d’un seul document JSON appelé meta dans le stockage de fichiers. Le HTML de chaque page et de chaque layout est un fichier de ce stockage dont le nom est l’id de la page ou du layout. FUNC.load() lit les métadonnées au démarrage, compile les widgets (en exécutant leur fonction install) et reconstruit les caches ; FUNC.save() les réécrit. C’est pourquoi une sauvegarde du stockage est une sauvegarde du site.