Nastavenia, služby a databázové tabuľky OpenPlatform
Nastavenia
OpenPlatform ukladá svoju konfiguráciu do tabuľky cl_config a načíta ju do CONF Total.js pri štarte a každých osem hodín (definitions/init.js). Obrazovka nastavení číta a ukladá tieto kľúče (plugins/setup/schemas/settings.js):
| Kľúč | Význam |
|---|---|
name, icon, color | názov, logo a farba platformy |
url | verejná adresa platformy (bez koncového /). Jej zmena vymaže odkazy oznámení a otvorené relácie aplikácií |
language | predvolený jazyk |
mail_smtp, mail_smtp_options, mail_from | server SMTP, jeho voľby (JSON) a odosielateľ; obrazovka nastavení ich vie otestovať |
$tms, secret_tms | publikovať udalosti cez TMS a tajomstvo tohto spojenia |
allow_token, token | zapnúť verejné API GET /users/ a jeho token |
newtab | otvárať každú aplikáciu v novej karte |
sync, sync_token | prijímať socket /sync/ iných inštancií s jeho tokenom |
Prvé spustenie (database.sql) tiež vygeneruje v cl_config hodnoty, ktoré obrazovka nastavení neupravuje: id inštalácie, secret autentifikácie, názov cookie, salt hesiel, saltchecksum kontrolných súčtov a tajomstvo spojenia TMS. Kľúče vytvorí s týmito predvolenými hodnotami:
| Kľúč | Predvolené | Význam |
|---|---|---|
auth_cookie_expire | 1 month | ako dlho žije cookie relácie |
auth_expire | 5 minutes | ako dlho sa prihlásený používateľ drží v pamäti, kým sa znova prečíta |
auth_cookie_options | {"httponly":true,"security":"lax"} | voľby cookie relácie |
auth_strict | false | prísne relácie |
app_session_expire | 1 day | ako dlho trvá relácia aplikácie |
cdn | https://cdn.componentator.com/ | CDN rozhrania |
language | eu | predvolený jazyk |
token, sync_token | vygenerované | token API používateľov a synchronizačného socketu (obe funkcie sú predvolene vypnuté) |
Kľúč servicetoken, s ktorým endpoint nahrávania obrázkov porovnáva svoj token dotazu, skript nevytvára a obrazovka nastavení ho neupravuje: existuje, iba ak ho do cl_config pridáte sami.
Skript tiež vytvorí skupinu Admin a prvého používateľa (info@totaljs.com, správca, potvrdený), ktorý do nej patrí; pozri inštalácia.
Služby na pozadí
Total.js spúšťa službu každú minútu. OpenPlatform ju používa (definitions/init.js) na:
- vymazanie vyrovnávacej pamäte overení (každé 2 minúty);
- uloženie denných štatistík: používatelia online, maximum a počet podľa zariadenia (každé 3 minúty);
- opätovné načítanie konfigurácie z databázy (každých 8 hodín);
- zmazanie vypršaných relácií aplikácií a platformy (každých 12 hodín);
- odoslanie e-mailových súhrnov neprečítaných oznámení (každých 11 minút, keď je pošta nastavená).
Databáza
Všetko je v schéme op databázy PostgreSQL:
| Tabuľka | Čo obsahuje |
|---|---|
cl_config | konfigurácia (kľúč, hodnota, typ) |
tbl_user | používatelia: profil, hash hesla, príznaky, počítadlá a oprávnenia vo vyrovnávacej pamäti |
tbl_group | skupiny |
tbl_user_group | ktorý používateľ patrí do ktorej skupiny |
tbl_session | relácie používateľov v portáli (zariadenie, adresa, platnosť) |
tbl_app | aplikácie: adresa, tajomstvá, príznaky a povolené adresy |
tbl_app_permission | oprávnenia, ktoré každá aplikácia deklaruje |
tbl_group_permission | ktoré oprávnenia (alebo len ktoré aplikácie) každá skupina udeľuje |
tbl_app_session | spúšťacie relácie aplikácií a ich odvodené tokeny |
tbl_user_app | na používateľa a aplikáciu: odkazy oznámení a či oznámenia prijímajú |
tbl_notification | oznámenia |
tbl_visitor | denné štatistiky návštevníkov |
tbl_feedback | spätná väzba, ktorú používatelia posielajú z portálu |
Súbory s dátumom database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql a database-2024-10-30.sql v repozitári sú zmeny schémy v čase a database.sql je úplný skript, ktorý spúšťa prvé spustenie. Túto schému zálohujte ako každú inú databázu PostgreSQL.