ForgeCMS
el

CMS

Ρυθμίσεις, αναρτήσεις, αρχεία και επισκέπτες του CMS του Total.js και πού αποθηκεύεται το καθετί

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Ρυθμίσεις

Το πρόσθετο Settings (settings_read, settings_save· δικαίωμα settings) επεξεργάζεται τη διαμόρφωση που κρατά το CMS στα μεταδεδομένα του ιστότοπου και φορτώνει στο CONF σε κάθε εκκίνηση:

ΚλειδίΣημασία
nameτο όνομα του ιστότοπου, χρησιμοποιείται στο <title> κάθε σελίδας εκτός από το / και στο όνομα αρχείου του αντιγράφου ασφαλείας
urlη δημόσια διεύθυνση του ιστότοπου· το CMS την ενημερώνει επίσης από το host των αιτημάτων διαχείρισης
smtpοι ρυθμίσεις SMTP ως κείμενο JSON (server, from, user, password, port)· το settings_test τις δοκιμάζει
iconένα εικονίδιο για τον ιστότοπο
$tms, secret_tmsδημοσιεύει τα συμβάντα μέσω TMS, και το μυστικό αυτής της σύνδεσης
op_reqtoken, op_restokenτα tokens μιας εφαρμογής OpenPlatform· όταν έχουν οριστεί και τα δύο, η σύνδεση στη διαχείριση αντικαθίσταται από αυτή του OpenPlatform
totalapiένα κλειδί για τις υπηρεσίες του Total.js API

Τα πρόσθετα μπορούν να προσθέσουν κι άλλα κλειδιά, που εμφανίζονται στην ίδια φόρμα. Οι τιμές που βρίσκονται στο αρχείο config ($api, cdn, salt και, αν το προσθέσετε, token) δεν επεξεργάζονται εδώ.

Αναρτήσεις

Το πρόσθετο Posts είναι ένας μικρός διαχειριστής άρθρων, αποθηκευμένων σε δικό του αρχείο NoSQL μέσα στον χώρο αποθήκευσης. Μια ανάρτηση έχει name, category, picture, summary, body, reference, icon, color, hidden και date· η διαχείριση τις εμφανίζει με τις νεότερες πρώτες (100 ανά σελίδα) και το posts_categories επιστρέφει τις κατηγορίες που χρησιμοποιούνται. Οι αναρτήσεις είναι δεδομένα για τον δικό σας κώδικα: ο δημόσιος renderer του CMS (controllers/default.js) δεν τις εκτυπώνει, οπότε ένα δικό σας widget ή μια δική σας διαδρομή πρέπει να τις διαβάσει και να τις σχεδιάσει.

Αρχεία

Το πρόσθετο Files αποθηκεύει τις μεταφορτώσεις στον χώρο αρχείων και τις σημειώνει ως δημόσιες. Το GET /download/<id>.<ext> σερβίρει ένα δημόσιο αρχείο (μόνο τα δημόσια· τα υπόλοιπα απαντούν 404). Για εικόνες, το ?s=<percent> επιστρέφει μικρότερο JPEG (η τιμή πρέπει να είναι μεταξύ 10 και 80, με ποιότητα 80), και το ?download=1 επιβάλλει λήψη. Οι διαδρομές μεταφόρτωσης και τα όριά τους βρίσκονται στο το API διαχείρισης.

Επισκέπτες και ο πίνακας ελέγχου

Η ενότητα modules/visitors.js μετρά τις επισκέψεις των δημόσιων σελίδων μέσω του σεναρίου /visitors.js που περιλαμβάνει κάθε σελίδα: μοναδικοί επισκέπτες, προβολές, προγράμματα περιήγησης, παραπέμποντες, επισκεψιμότητα από αναζήτηση, κοινωνικά δίκτυα και απευθείας, κινητό και υπολογιστής, ώρες της ημέρας και οι άνθρωποι που είναι online (ένας επισκέπτης είναι online για 20 λεπτά χωρίς δραστηριότητα). Το πρόσθετο Dashboard σχεδιάζει αυτούς τους αριθμούς από τα dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers και dashboard_pages.

OpenPlatform

Όταν έχουν οριστεί τα op_reqtoken και op_restoken, το CMS συνδέει τους ανθρώπους μέσω OpenPlatform (ενότητα modules/openplatform.js) και κάθε πρόσθετο προσθέτει το δικαίωμά του στη λίστα που δείχνει το OpenPlatform όταν αντιστοιχίζετε ομάδες: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings και admin. Θυμηθείτε τον κανόνα του OpenPlatform: μια εφαρμογή είναι ορατή μόνο στις ομάδες που της αντιστοιχίζετε.

Το μοντέλο δεδομένων

Το MAIN.db κρατά τα μεταδεδομένα του ιστότοπου (pages, layouts, widgets, redirects, vars, nav, config και storage) και αποθηκεύεται ως ένα έγγραφο JSON με όνομα meta στον χώρο αρχείων. Το HTML κάθε σελίδας και layout είναι ένα αρχείο αυτού του χώρου, με όνομα το id της σελίδας ή του layout. Το FUNC.load() διαβάζει τα μεταδεδομένα στην εκκίνηση, μεταγλωττίζει τα widgets (τρέχοντας τη συνάρτησή τους install) και ξαναχτίζει τις cache· το FUNC.save() τα γράφει πίσω. Γι’ αυτό ένα αντίγραφο ασφαλείας του χώρου αποθήκευσης είναι αντίγραφο ασφαλείας του ιστότοπου.