Einstellungen, Beiträge, Dateien und Besucher des Total.js CMS und wo alles gespeichert wird
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üssel | Bedeutung |
|---|---|
name | der Name der Website, verwendet im <title> jeder Seite außer / und im Dateinamen des Backups |
url | die öffentliche Adresse der Website; das CMS aktualisiert sie auch aus dem Host der Admin-Anfragen |
smtp | die SMTP-Einstellungen als JSON-Text (server, from, user, password, port); settings_test prüft sie |
icon | ein Symbol für die Website |
$tms, secret_tms | veröffentlicht die Ereignisse per TMS, und das Geheimnis dieser Verbindung |
op_reqtoken, op_restoken | die Tokens einer OpenPlatform-Anwendung; sind beide gesetzt, ersetzt die Anmeldung über OpenPlatform die Admin-Anmeldung |
totalapi | ein 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.