ForgeOpenPlatform
de

OpenPlatform

Einstellungen, Dienste und Datenbanktabellen von OpenPlatform

OpenPlatform · openplatform@5 openplatformsettingsdatabaseservices

Die Einstellungen

OpenPlatform hält seine Konfiguration in der Tabelle cl_config und lädt sie beim Start und alle acht Stunden in das CONF von Total.js (definitions/init.js). Der Setup-Bildschirm liest und speichert diese Schlüssel (plugins/setup/schemas/settings.js):

SchlüsselBedeutung
name, icon, colorName, Logo und Farbe der Plattform
urldie öffentliche Adresse der Plattform (ohne das abschließende /). Eine Änderung löscht die Benachrichtigungslinks und die offenen Anwendungssitzungen
languagedie Standardsprache
mail_smtp, mail_smtp_options, mail_fromder SMTP-Server, seine Optionen (JSON) und der Absender; der Setup-Bildschirm kann sie testen
$tms, secret_tmsdie Ereignisse per TMS veröffentlichen und das Geheimnis dieser Verbindung
allow_token, tokendie öffentliche API GET /users/ und ihr Token aktivieren
newtabjede Anwendung in einem neuen Tab öffnen
sync, sync_tokenden /sync/-Socket anderer Instanzen mit seinem Token akzeptieren

Der erste Start (database.sql) erzeugt in cl_config außerdem Werte, die der Setup-Bildschirm nicht bearbeitet: die id der Installation, das secret der Authentifizierung, den Namen des cookie, das salt der Passwörter, das saltchecksum der Prüfsummen und das Geheimnis der TMS-Verbindung. Er legt die Schlüssel mit diesen Standardwerten an:

SchlüsselStandardBedeutung
auth_cookie_expire1 monthwie lange das Sitzungs-Cookie lebt
auth_expire5 minuteswie lange der angemeldete Benutzer im Speicher gehalten wird, bevor er neu gelesen wird
auth_cookie_options{"httponly":true,"security":"lax"}die Optionen des Sitzungs-Cookies
auth_strictfalsestrikte Sitzungen
app_session_expire1 daywie lange eine Anwendungssitzung dauert
cdnhttps://cdn.componentator.com/das CDN der Oberfläche
languageeudie Standardsprache
token, sync_tokenerzeugtdas Token der Benutzer-API und des Sync-Sockets (beide Funktionen sind standardmäßig aus)

Der Schlüssel servicetoken, mit dem der Endpunkt für den Bild-Upload sein Query-Token vergleicht, wird vom Skript nicht angelegt und der Setup-Bildschirm bearbeitet ihn nicht: Er existiert nur, wenn Sie ihn selbst in cl_config ergänzen.

Das Skript legt außerdem die Gruppe Admin und den ersten Benutzer (info@totaljs.com, Administrator, bestätigt) an, der dazugehört; siehe Installation.

Die Hintergrunddienste

Total.js führt jede Minute einen Dienst aus. OpenPlatform nutzt ihn (definitions/init.js), um:

  • den Speicher-Cache der Verifizierungen zu leeren (alle 2 Minuten);
  • die Tagesstatistiken zu speichern: Benutzer online, das Maximum und die Anzahl nach Gerät (alle 3 Minuten);
  • die Konfiguration aus der Datenbank neu zu laden (alle 8 Stunden);
  • die abgelaufenen Anwendungs- und Plattformsitzungen zu löschen (alle 12 Stunden);
  • die E-Mail-Zusammenfassungen ungelesener Benachrichtigungen zu senden (alle 11 Minuten, wenn die Mail konfiguriert ist).

Die Datenbank

Alles liegt im PostgreSQL-Schema op:

TabelleWas sie enthält
cl_configdie Konfiguration (Schlüssel, Wert, Typ)
tbl_userdie Benutzer: Profil, Passwort-Hash, Flags, Zähler und die gecachten Berechtigungen
tbl_groupdie Gruppen
tbl_user_groupwelcher Benutzer zu welcher Gruppe gehört
tbl_sessiondie Sitzungen der Benutzer im Portal (Gerät, Adresse, Ablauf)
tbl_appdie Anwendungen: Adresse, Geheimnisse, Flags und erlaubte Adressen
tbl_app_permissiondie Berechtigungen, die jede Anwendung deklariert
tbl_group_permissionwelche Berechtigungen (oder nur welche Anwendungen) jede Gruppe gewährt
tbl_app_sessiondie Startsitzungen der Anwendungen und ihre abgeleiteten Tokens
tbl_user_apppro Benutzer und Anwendung: die Benachrichtigungslinks und ob sie Benachrichtigungen akzeptieren
tbl_notificationdie Benachrichtigungen
tbl_visitordie täglichen Besucherstatistiken
tbl_feedbackdas Feedback, das Benutzer aus dem Portal senden

Die datierten Dateien database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql und database-2024-10-30.sql im Repository sind die Änderungen des Schemas im Lauf der Zeit, und database.sql ist das vollständige Skript, das der erste Start ausführt. Sichern Sie dieses Schema wie jede andere PostgreSQL-Datenbank.