ForgeOpenPlatform
el

OpenPlatform

Ρυθμίσεις, υπηρεσίες και πίνακες βάσης δεδομένων του OpenPlatform

OpenPlatform · openplatform@5 openplatformsettingsdatabaseservices

Οι ρυθμίσεις

Το OpenPlatform κρατά τη διαμόρφωσή του στον πίνακα cl_config και τη φορτώνει στο CONF του Total.js κατά την εκκίνηση και κάθε οκτώ ώρες (definitions/init.js). Η οθόνη ρύθμισης διαβάζει και αποθηκεύει αυτά τα κλειδιά (plugins/setup/schemas/settings.js):

ΚλειδίΣημασία
name, icon, colorτο όνομα, το λογότυπο και το χρώμα της πλατφόρμας
urlη δημόσια διεύθυνση της πλατφόρμας (χωρίς το τελικό /). Η αλλαγή της καθαρίζει τους συνδέσμους ειδοποιήσεων και τις ανοιχτές συνεδρίες εφαρμογών
languageη προεπιλεγμένη γλώσσα
mail_smtp, mail_smtp_options, mail_fromο διακομιστής SMTP, οι επιλογές του (JSON) και ο αποστολέας· η οθόνη ρύθμισης μπορεί να τα δοκιμάσει
$tms, secret_tmsδημοσίευση των γεγονότων μέσω TMS και το μυστικό αυτής της σύνδεσης
allow_token, tokenενεργοποίηση του δημόσιου API GET /users/ και του token του
newtabάνοιγμα κάθε εφαρμογής σε νέα καρτέλα
sync, sync_tokenαποδοχή του socket /sync/ άλλων στιγμιοτύπων, με το token του

Η πρώτη εκκίνηση (database.sql) δημιουργεί επίσης, μέσα στο cl_config, τιμές που η οθόνη ρύθμισης δεν επεξεργάζεται: το id της εγκατάστασης, το secret ταυτοποίησης, το όνομα του cookie, το salt των κωδικών, το saltchecksum των αθροισμάτων ελέγχου και το μυστικό της σύνδεσης TMS. Δημιουργεί τα κλειδιά με αυτές τις προεπιλογές:

ΚλειδίΠροεπιλογήΣημασία
auth_cookie_expire1 monthπόσο ζει το cookie συνεδρίας
auth_expire5 minutesπόσο κρατιέται στη μνήμη ο συνδεδεμένος χρήστης πριν διαβαστεί ξανά
auth_cookie_options{"httponly":true,"security":"lax"}οι επιλογές του cookie συνεδρίας
auth_strictfalseαυστηρές συνεδρίες
app_session_expire1 dayπόσο διαρκεί μια συνεδρία εφαρμογής
cdnhttps://cdn.componentator.com/το CDN της διεπαφής
languageeuη προεπιλεγμένη γλώσσα
token, sync_tokenπαράγεταιτο token του API χρηστών και του socket συγχρονισμού (και οι δύο λειτουργίες είναι απενεργοποιημένες από προεπιλογή)

Το κλειδί servicetoken, με το οποίο το endpoint μεταφόρτωσης εικόνων συγκρίνει το token ερωτήματός του, δεν δημιουργείται από το σενάριο και η οθόνη ρύθμισης δεν το επεξεργάζεται: υπάρχει μόνο αν το προσθέσετε εσείς στο cl_config.

Το σενάριο δημιουργεί επίσης την ομάδα Admin και τον πρώτο χρήστη (info@totaljs.com, διαχειριστής, επιβεβαιωμένος) που ανήκει σε αυτήν· δείτε εγκατάσταση.

Οι υπηρεσίες παρασκηνίου

Το Total.js εκτελεί μια υπηρεσία κάθε λεπτό. Το OpenPlatform τη χρησιμοποιεί (definitions/init.js) για να:

  • καθαρίζει την προσωρινή μνήμη των επαληθεύσεων (κάθε 2 λεπτά)·
  • αποθηκεύει τα ημερήσια στατιστικά: χρήστες online, το μέγιστο και ο αριθμός ανά συσκευή (κάθε 3 λεπτά)·
  • ξαναφορτώνει τη διαμόρφωση από τη βάση δεδομένων (κάθε 8 ώρες)·
  • διαγράφει τις ληγμένες συνεδρίες εφαρμογών και πλατφόρμας (κάθε 12 ώρες)·
  • στέλνει τις συνόψεις με email των μη αναγνωσμένων ειδοποιήσεων (κάθε 11 λεπτά, όταν η αλληλογραφία είναι διαμορφωμένη).

Η βάση δεδομένων

Όλα βρίσκονται στο σχήμα PostgreSQL op:

ΠίνακαςΤι περιέχει
cl_configη διαμόρφωση (κλειδί, τιμή, τύπος)
tbl_userοι χρήστες: προφίλ, hash κωδικού, σημαίες, μετρητές και τα αποθηκευμένα στην cache δικαιώματα
tbl_groupοι ομάδες
tbl_user_groupποιος χρήστης ανήκει σε ποια ομάδα
tbl_sessionοι συνεδρίες των χρηστών στην πύλη (συσκευή, διεύθυνση, λήξη)
tbl_appοι εφαρμογές: διεύθυνση, μυστικά, σημαίες και επιτρεπόμενες διευθύνσεις
tbl_app_permissionτα δικαιώματα που δηλώνει κάθε εφαρμογή
tbl_group_permissionποια δικαιώματα (ή απλώς ποιες εφαρμογές) χορηγεί κάθε ομάδα
tbl_app_sessionοι συνεδρίες εκκίνησης των εφαρμογών και τα παράγωγα tokens τους
tbl_user_appανά χρήστη και εφαρμογή: οι σύνδεσμοι ειδοποιήσεων και αν δέχονται ειδοποιήσεις
tbl_notificationοι ειδοποιήσεις
tbl_visitorτα ημερήσια στατιστικά επισκεπτών
tbl_feedbackτα σχόλια που στέλνουν οι χρήστες από την πύλη

Τα χρονολογημένα αρχεία database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql και database-2024-10-30.sql στο αποθετήριο είναι οι αλλαγές του σχήματος στον χρόνο και το database.sql είναι το πλήρες σενάριο που εκτελεί η πρώτη εκκίνηση. Κρατήστε αντίγραφα ασφαλείας αυτού του σχήματος όπως κάθε άλλη βάση PostgreSQL.