OpenPlatforms inställningar, tjänster och databastabeller
Inställningarna
OpenPlatform håller sin konfiguration i tabellen cl_config och läser in den i Total.js CONF vid start och var åttonde timme (definitions/init.js). Setup-skärmen läser och sparar dessa nycklar (plugins/setup/schemas/settings.js):
| Nyckel | Betydelse |
|---|---|
name, icon, color | plattformens namn, logotyp och färg |
url | plattformens publika adress (utan det avslutande /). Att ändra den rensar notislänkarna och de öppna applikationssessionerna |
language | standardspråket |
mail_smtp, mail_smtp_options, mail_from | SMTP-servern, dess alternativ (JSON) och avsändaren; setup-skärmen kan testa dem |
$tms, secret_tms | publicera händelserna via TMS, och hemligheten för den anslutningen |
allow_token, token | aktivera det publika API:et GET /users/ och dess token |
newtab | öppna varje applikation i en ny flik |
sync, sync_token | acceptera /sync/-socketen från andra instanser, med dess token |
Den första starten (database.sql) genererar också, inuti cl_config, värden som setup-skärmen inte redigerar: installationens id, autentiseringens secret, namnet på cookie, lösenordens salt, kontrollsummornas saltchecksum och hemligheten för TMS-anslutningen. Den skapar nycklarna med dessa standardvärden:
| Nyckel | Standard | Betydelse |
|---|---|---|
auth_cookie_expire | 1 month | hur länge sessionscookien lever |
auth_expire | 5 minutes | hur länge den inloggade användaren hålls i minnet innan den läses om |
auth_cookie_options | {"httponly":true,"security":"lax"} | sessionscookiens alternativ |
auth_strict | false | strikta sessioner |
app_session_expire | 1 day | hur länge en applikationssession varar |
cdn | https://cdn.componentator.com/ | gränssnittets CDN |
language | eu | standardspråket |
token, sync_token | genererad | token för användar-API:et och synkroniseringssocketen (båda funktionerna är avstängda som standard) |
Nyckeln servicetoken, som bilduppladdningens slutpunkt jämför med sin frågetoken, skapas inte av skriptet och setup-skärmen redigerar den inte: den finns bara om du lägger till den i cl_config själv.
Skriptet skapar också gruppen Admin och den första användaren (info@totaljs.com, administratör, bekräftad) som tillhör den; se installera den.
Bakgrundstjänsterna
Total.js kör en tjänst varje minut. OpenPlatform använder den (definitions/init.js) för att:
- rensa minnescachen för verifieringarna (var 2:a minut);
- spara de dagliga statistiken: användare online, maximum och antal per enhet (var 3:e minut);
- läsa om konfigurationen från databasen (var 8:e timme);
- radera de utgångna applikations- och plattformssessionerna (var 12:e timme);
- skicka e-postsammanfattningarna av olästa notiser (var 11:e minut, när e-posten är konfigurerad).
Databasen
Allt finns i PostgreSQL-schemat op:
| Tabell | Vad den innehåller |
|---|---|
cl_config | konfigurationen (nyckel, värde, typ) |
tbl_user | användarna: profil, lösenordshash, flaggor, räknare och de cachade behörigheterna |
tbl_group | grupperna |
tbl_user_group | vilken användare som tillhör vilken grupp |
tbl_session | användarnas sessioner i portalen (enhet, adress, utgång) |
tbl_app | applikationerna: adress, hemligheter, flaggor och tillåtna adresser |
tbl_app_permission | de behörigheter som varje applikation deklarerar |
tbl_group_permission | vilka behörigheter (eller bara vilka applikationer) varje grupp ger |
tbl_app_session | applikationernas startsessioner och deras härledda tokens |
tbl_user_app | per användare och applikation: notislänkarna och om de godtar notiser |
tbl_notification | notiserna |
tbl_visitor | de dagliga besöksstatistiken |
tbl_feedback | feedbacken som användare skickar från portalen |
De daterade filerna database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql och database-2024-10-30.sql i förrådet är schemats ändringar över tid, och database.sql är det fullständiga skriptet som den första starten kör. Säkerhetskopiera det här schemat som vilken annan PostgreSQL-databas som helst.