Az OpenPlatform beállításai, szolgáltatásai és adatbázistáblái
A beállítások
Az OpenPlatform a konfigurációját a cl_config táblában tartja, és indításkor, majd nyolcóránként betölti a Total.js CONF objektumába (definitions/init.js). A beállítási képernyő ezeket a kulcsokat olvassa és menti (plugins/setup/schemas/settings.js):
| Kulcs | Jelentés |
|---|---|
name, icon, color | a platform neve, logója és színe |
url | a platform nyilvános címe (a záró / nélkül). Módosítása törli az értesítési hivatkozásokat és a nyitott alkalmazásmunkameneteket |
language | az alapértelmezett nyelv |
mail_smtp, mail_smtp_options, mail_from | az SMTP szerver, annak beállításai (JSON) és a feladó; a beállítási képernyő tesztelni tudja őket |
$tms, secret_tms | az események közzététele TMS-en, és a kapcsolat titka |
allow_token, token | a nyilvános GET /users/ API és tokenje engedélyezése |
newtab | minden alkalmazás megnyitása új lapon |
sync, sync_token | más példányok /sync/ socketjének fogadása, a tokenjével |
Az első indítás (database.sql) a cl_config táblában olyan értékeket is létrehoz, amelyeket a beállítási képernyő nem szerkeszt: a telepítés id értékét, a hitelesítés secret értékét, a cookie nevét, a jelszavak salt értékét, az ellenőrző összegek saltchecksum értékét és a TMS-kapcsolat titkát. A kulcsokat ezekkel az alapértékekkel hozza létre:
| Kulcs | Alapérték | Jelentés |
|---|---|---|
auth_cookie_expire | 1 month | mennyi ideig él a munkamenet-cookie |
auth_expire | 5 minutes | mennyi ideig tartja a memóriában a bejelentkezett felhasználót, mielőtt újraolvassa |
auth_cookie_options | {"httponly":true,"security":"lax"} | a munkamenet-cookie beállításai |
auth_strict | false | szigorú munkamenetek |
app_session_expire | 1 day | meddig tart egy alkalmazásmunkamenet |
cdn | https://cdn.componentator.com/ | a felület CDN-je |
language | eu | az alapértelmezett nyelv |
token, sync_token | generált | a felhasználói API és a szinkronizációs socket tokenje (mindkét funkció alapból ki van kapcsolva) |
A servicetoken kulcsot, amellyel a képfeltöltő végpont a lekérdezési tokenjét összeveti, a szkript nem hozza létre, és a beállítási képernyő sem szerkeszti: csak akkor létezik, ha te magad adod hozzá a cl_config táblához.
A szkript létrehozza az Admin csoportot és az első felhasználót is (info@totaljs.com, adminisztrátor, megerősített), aki hozzá tartozik; lásd telepítés.
A háttérszolgáltatások
A Total.js percenként futtat egy szolgáltatást. Az OpenPlatform ezt használja (definitions/init.js) a következőkre:
- az ellenőrzések memóriabeli gyorsítótárának törlése (2 percenként);
- a napi statisztikák mentése: online felhasználók, a maximum és az eszközönkénti szám (3 percenként);
- a konfiguráció újratöltése az adatbázisból (8 óránként);
- a lejárt alkalmazás- és platformmunkamenetek törlése (12 óránként);
- az olvasatlan értesítések e-mailes összefoglalóinak küldése (11 percenként, ha a levelezés be van állítva).
Az adatbázis
Minden az op PostgreSQL sémában él:
| Tábla | Mit tartalmaz |
|---|---|
cl_config | a konfiguráció (kulcs, érték, típus) |
tbl_user | a felhasználók: profil, jelszó-hash, jelzők, számlálók és a gyorsítótárazott jogosultságok |
tbl_group | a csoportok |
tbl_user_group | melyik felhasználó melyik csoporthoz tartozik |
tbl_session | a felhasználók munkamenetei a portálon (eszköz, cím, lejárat) |
tbl_app | az alkalmazások: cím, titkok, jelzők és engedélyezett címek |
tbl_app_permission | az egyes alkalmazások által deklarált jogosultságok |
tbl_group_permission | milyen jogosultságokat (vagy csak milyen alkalmazásokat) ad meg az egyes csoport |
tbl_app_session | az alkalmazások indítási munkamenetei és a levezetett tokenjeik |
tbl_user_app | felhasználónként és alkalmazásonként: az értesítési hivatkozások és az, hogy elfogadják-e az értesítéseket |
tbl_notification | az értesítések |
tbl_visitor | a napi látogatói statisztikák |
tbl_feedback | a visszajelzések, amelyeket a felhasználók a portálról küldenek |
A tárolóban lévő dátumozott database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql és database-2024-10-30.sql fájlok a séma időbeli változásai, a database.sql pedig a teljes szkript, amelyet az első indítás futtat. Ezt a sémát ugyanúgy mentsd, mint bármely más PostgreSQL adatbázist.