ForgeOpenPlatform
sk

OpenPlatform

Nastavenia, služby a databázové tabuľky OpenPlatform

OpenPlatform · openplatform@5 openplatformsettingsdatabaseservices

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, colornázov, logo a farba platformy
urlverejná adresa platformy (bez koncového /). Jej zmena vymaže odkazy oznámení a otvorené relácie aplikácií
languagepredvolený jazyk
mail_smtp, mail_smtp_options, mail_fromserver SMTP, jeho voľby (JSON) a odosielateľ; obrazovka nastavení ich vie otestovať
$tms, secret_tmspublikovať udalosti cez TMS a tajomstvo tohto spojenia
allow_token, tokenzapnúť verejné API GET /users/ a jeho token
newtabotvárať každú aplikáciu v novej karte
sync, sync_tokenprijí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_expire1 monthako dlho žije cookie relácie
auth_expire5 minutesako 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_strictfalseprísne relácie
app_session_expire1 dayako dlho trvá relácia aplikácie
cdnhttps://cdn.componentator.com/CDN rozhrania
languageeupredvolený jazyk
token, sync_tokenvygenerované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_configkonfigurácia (kľúč, hodnota, typ)
tbl_userpoužívatelia: profil, hash hesla, príznaky, počítadlá a oprávnenia vo vyrovnávacej pamäti
tbl_groupskupiny
tbl_user_groupktorý používateľ patrí do ktorej skupiny
tbl_sessionrelácie používateľov v portáli (zariadenie, adresa, platnosť)
tbl_appaplikácie: adresa, tajomstvá, príznaky a povolené adresy
tbl_app_permissionoprávnenia, ktoré každá aplikácia deklaruje
tbl_group_permissionktoré oprávnenia (alebo len ktoré aplikácie) každá skupina udeľuje
tbl_app_sessionspúšťacie relácie aplikácií a ich odvodené tokeny
tbl_user_appna používateľa a aplikáciu: odkazy oznámení a či oznámenia prijímajú
tbl_notificationoznámenia
tbl_visitordenné štatistiky návštevníkov
tbl_feedbackspä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.