Nastavení, služby a databázové tabulky OpenPlatform
Nastavení
OpenPlatform ukládá svou konfiguraci do tabulky cl_config a načítá ji do CONF Total.js při startu a každých osm hodin (definitions/init.js). Obrazovka nastavení čte a ukládá tyto klíče (plugins/setup/schemas/settings.js):
| Klíč | Význam |
|---|---|
name, icon, color | název, logo a barva platformy |
url | veřejná adresa platformy (bez koncového /). Její změna vymaže odkazy oznámení a otevřené relace aplikací |
language | výchozí jazyk |
mail_smtp, mail_smtp_options, mail_from | server SMTP, jeho volby (JSON) a odesílatel; obrazovka nastavení je umí otestovat |
$tms, secret_tms | publikovat události přes TMS a tajemství tohoto spojení |
allow_token, token | zapnout veřejné API GET /users/ a jeho token |
newtab | otevírat každou aplikaci v nové kartě |
sync, sync_token | přijímat socket /sync/ jiných instancí s jeho tokenem |
První spuštění (database.sql) také vygeneruje v cl_config hodnoty, které obrazovka nastavení neupravuje: id instalace, secret autentizace, název cookie, salt hesel, saltchecksum kontrolních součtů a tajemství spojení TMS. Klíče vytvoří s těmito výchozími hodnotami:
| Klíč | Výchozí | Význam |
|---|---|---|
auth_cookie_expire | 1 month | jak dlouho žije cookie relace |
auth_expire | 5 minutes | jak dlouho se přihlášený uživatel drží v paměti, než se znovu přečte |
auth_cookie_options | {"httponly":true,"security":"lax"} | volby cookie relace |
auth_strict | false | přísné relace |
app_session_expire | 1 day | jak dlouho trvá relace aplikace |
cdn | https://cdn.componentator.com/ | CDN rozhraní |
language | eu | výchozí jazyk |
token, sync_token | vygenerováno | token API uživatelů a synchronizačního socketu (obě funkce jsou ve výchozím stavu vypnuté) |
Klíč servicetoken, se kterým endpoint nahrávání obrázků porovnává svůj token dotazu, skript nevytváří a obrazovka nastavení jej neupravuje: existuje, jen pokud jej do cl_config přidáte sami.
Skript také vytvoří skupinu Admin a prvního uživatele (info@totaljs.com, správce, potvrzený), který do ní patří; viz instalace.
Služby na pozadí
Total.js spouští službu každou minutu. OpenPlatform ji používá (definitions/init.js) k:
- vymazání mezipaměti ověření (každé 2 minuty);
- uložení denních statistik: uživatelé online, maximum a počet podle zařízení (každé 3 minuty);
- opětovnému načtení konfigurace z databáze (každých 8 hodin);
- smazání vypršených relací aplikací a platformy (každých 12 hodin);
- odeslání e-mailových souhrnů nepřečtených oznámení (každých 11 minut, když je pošta nastavena).
Databáze
Vše je ve schématu PostgreSQL op:
| Tabulka | Co obsahuje |
|---|---|
cl_config | konfigurace (klíč, hodnota, typ) |
tbl_user | uživatelé: profil, hash hesla, příznaky, počítadla a oprávnění v mezipaměti |
tbl_group | skupiny |
tbl_user_group | který uživatel patří do které skupiny |
tbl_session | relace uživatelů v portálu (zařízení, adresa, platnost) |
tbl_app | aplikace: adresa, tajemství, příznaky a povolené adresy |
tbl_app_permission | oprávnění, která každá aplikace deklaruje |
tbl_group_permission | která oprávnění (nebo jen které aplikace) každá skupina uděluje |
tbl_app_session | spouštěcí relace aplikací a jejich odvozené tokeny |
tbl_user_app | na uživatele a aplikaci: odkazy oznámení a zda oznámení přijímají |
tbl_notification | oznámení |
tbl_visitor | denní statistiky návštěvníků |
tbl_feedback | zpětná vazba, kterou uživatelé posílají z portálu |
Soubory s datem database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql a database-2024-10-30.sql v repozitáři jsou změny schématu v čase a database.sql je úplný skript, který spouští první spuštění. Toto schéma zálohujte jako každou jinou databázi PostgreSQL.