ForgeOpenPlatform
cs

OpenPlatform

Nastavení, služby a databázové tabulky OpenPlatform

OpenPlatform · openplatform@5 openplatformsettingsdatabaseservices

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, colornázev, logo a barva platformy
urlveřejná adresa platformy (bez koncového /). Její změna vymaže odkazy oznámení a otevřené relace aplikací
languagevýchozí jazyk
mail_smtp, mail_smtp_options, mail_fromserver SMTP, jeho volby (JSON) a odesílatel; obrazovka nastavení je umí otestovat
$tms, secret_tmspublikovat události přes TMS a tajemství tohoto spojení
allow_token, tokenzapnout veřejné API GET /users/ a jeho token
newtabotevírat každou aplikaci v nové kartě
sync, sync_tokenpř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_expire1 monthjak dlouho žije cookie relace
auth_expire5 minutesjak 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_strictfalsepřísné relace
app_session_expire1 dayjak dlouho trvá relace aplikace
cdnhttps://cdn.componentator.com/CDN rozhraní
languageeuvýchozí jazyk
token, sync_tokenvygenerovánotoken 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:

TabulkaCo obsahuje
cl_configkonfigurace (klíč, hodnota, typ)
tbl_useruživatelé: profil, hash hesla, příznaky, počítadla a oprávnění v mezipaměti
tbl_groupskupiny
tbl_user_groupkterý uživatel patří do které skupiny
tbl_sessionrelace uživatelů v portálu (zařízení, adresa, platnost)
tbl_appaplikace: adresa, tajemství, příznaky a povolené adresy
tbl_app_permissionoprávnění, která každá aplikace deklaruje
tbl_group_permissionkterá oprávnění (nebo jen které aplikace) každá skupina uděluje
tbl_app_sessionspouštěcí relace aplikací a jejich odvozené tokeny
tbl_user_appna uživatele a aplikaci: odkazy oznámení a zda oznámení přijímají
tbl_notificationoznámení
tbl_visitordenní statistiky návštěvníků
tbl_feedbackzpě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.