ForgeCMS
de

CMS

Einstellungen, Beiträge, Dateien und Besucher des Total.js CMS und wo alles gespeichert wird

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Einstellungen

Das Plugin Settings (settings_read, settings_save; Berechtigung settings) bearbeitet die Konfiguration, die das CMS in den Metadaten der Website hält und bei jedem Start in CONF lädt:

SchlüsselBedeutung
nameder Name der Website, verwendet im <title> jeder Seite außer / und im Dateinamen des Backups
urldie öffentliche Adresse der Website; das CMS aktualisiert sie auch aus dem Host der Admin-Anfragen
smtpdie SMTP-Einstellungen als JSON-Text (server, from, user, password, port); settings_test prüft sie
iconein Symbol für die Website
$tms, secret_tmsveröffentlicht die Ereignisse per TMS, und das Geheimnis dieser Verbindung
op_reqtoken, op_restokendie Tokens einer OpenPlatform-Anwendung; sind beide gesetzt, ersetzt die Anmeldung über OpenPlatform die Admin-Anmeldung
totalapiein Schlüssel für die Total.js-API-Dienste

Plugins können weitere Schlüssel hinzufügen, die im selben Formular erscheinen. Werte aus der Datei config ($api, cdn, salt und, wenn Sie ihn hinzufügen, token) werden hier nicht bearbeitet.

Beiträge

Das Plugin Posts ist eine kleine Artikelverwaltung, die in einer eigenen NoSQL-Datei im Speicher liegt. Ein Beitrag hat name, category, picture, summary, body, reference, icon, color, hidden und date; der Admin listet sie neueste zuerst (100 pro Seite), und posts_categories liefert die verwendeten Kategorien. Die Beiträge sind Daten für Ihren eigenen Code: Der öffentliche Renderer des CMS (controllers/default.js) gibt sie nicht aus, ein Widget oder eine Route von Ihnen muss sie also lesen und darstellen.

Dateien

Das Plugin Files speichert Uploads im Dateispeicher und markiert sie als öffentlich. GET /download/<id>.<ext> liefert eine öffentliche Datei aus (nur öffentliche; die übrigen antworten mit 404). Bei Bildern liefert ?s=<percent> ein kleineres JPEG (der Wert muss zwischen 10 und 80 liegen, mit Qualität 80), und ?download=1 erzwingt einen Download. Die Upload-Routen und ihre Grenzen stehen in die Admin-API.

Besucher und das Dashboard

Das Modul modules/visitors.js zählt die Besuche der öffentlichen Seiten über das Skript /visitors.js, das jede Seite einbindet: eindeutige Besucher, Seitenaufrufe, Browser, Verweise, Suche, soziale Netzwerke und direkter Zugriff, Mobil und Desktop, Tagesstunden und die Personen online (ein Besucher gilt 20 Minuten ohne Aktivität als online). Das Plugin Dashboard zeichnet diese Zahlen aus dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers und dashboard_pages.

OpenPlatform

Sind op_reqtoken und op_restoken gesetzt, meldet das CMS Personen über OpenPlatform an (Modul modules/openplatform.js), und jedes Plugin steuert seine Berechtigung zur Liste bei, die OpenPlatform beim Zuweisen von Gruppen zeigt: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings und admin. Denken Sie an die Regel von OpenPlatform: Eine Anwendung ist nur für die Gruppen sichtbar, die Sie ihr zuweisen.

Das Datenmodell

MAIN.db hält die Metadaten der Website (pages, layouts, widgets, redirects, vars, nav, config und storage) und wird als ein JSON-Dokument namens meta im Dateispeicher gesichert. Das HTML jeder Seite und jedes Layouts ist eine Datei dieses Speichers, deren Name die ID der Seite oder des Layouts ist. FUNC.load() liest die Metadaten beim Start, kompiliert die Widgets (und führt ihre Funktion install aus) und baut die Caches neu auf; FUNC.save() schreibt sie zurück. Deshalb ist ein Backup des Speichers ein Backup der Website.