ForgeOpenPlatform
bg

OpenPlatform

Настройки, услуги и таблици на базата данни на OpenPlatform

OpenPlatform · openplatform@5 openplatformsettingsdatabaseservices

Настройките

OpenPlatform пази конфигурацията си в таблицата cl_config и я зарежда в CONF на Total.js при стартиране и на всеки осем часа (definitions/init.js). Екранът за настройка чете и записва тези ключове (plugins/setup/schemas/settings.js):

КлючЗначение
name, icon, colorимето, логото и цветът на платформата
urlпубличният адрес на платформата (без крайното /). Промяната му изчиства връзките на известията и отворените сесии на приложения
languageезикът по подразбиране
mail_smtp, mail_smtp_options, mail_fromSMTP сървърът, неговите опции (JSON) и подателят; екранът за настройка може да ги тества
$tms, secret_tmsпубликуване на събитията чрез TMS и тайната на тази връзка
allow_token, tokenвключване на публичното API GET /users/ и неговия токен
newtabотваряне на всяко приложение в нов раздел
sync, sync_tokenприемане на сокета /sync/ на други инстанции, с неговия токен

Първото стартиране (database.sql) генерира в cl_config и стойности, които екранът за настройка не редактира: id на инсталацията, secret на удостоверяването, името на cookie, salt на паролите, saltchecksum на контролните суми и тайната на връзката TMS. Създава ключовете с тези стойности по подразбиране:

КлючПо подразбиранеЗначение
auth_cookie_expire1 monthколко живее бисквитката на сесията
auth_expire5 minutesколко време влезлият потребител се държи в паметта, преди да бъде прочетен отново
auth_cookie_options{"httponly":true,"security":"lax"}опциите на бисквитката на сесията
auth_strictfalseстроги сесии
app_session_expire1 dayколко трае сесията на приложение
cdnhttps://cdn.componentator.com/CDN на интерфейса
languageeuезикът по подразбиране
token, sync_tokenгенериранотокенът на API за потребители и на синхронизиращия сокет (и двете функции са изключени по подразбиране)

Ключът servicetoken, с който крайната точка за качване на изображения сравнява своя токен на заявката, не се създава от скрипта и екранът за настройка не го редактира: съществува само ако го добавите сами в cl_config.

Скриптът създава и групата Admin и първия потребител (info@totaljs.com, администратор, потвърден), който принадлежи към нея; вижте инсталиране.

Услугите във фонов режим

Total.js изпълнява услуга всяка минута. OpenPlatform я използва (definitions/init.js), за да:

  • изчиства кеша в паметта на проверките (на всеки 2 минути);
  • записва дневната статистика: потребители онлайн, максимумът и броят по устройство (на всеки 3 минути);
  • презарежда конфигурацията от базата данни (на всеки 8 часа);
  • изтрива изтеклите сесии на приложения и платформа (на всеки 12 часа);
  • изпраща обобщенията по имейл на непрочетените известия (на всеки 11 минути, когато пощата е конфигурирана).

Базата данни

Всичко живее в схемата op на PostgreSQL:

ТаблицаКакво съдържа
cl_configконфигурацията (ключ, стойност, тип)
tbl_userпотребителите: профил, хеш на паролата, флагове, броячи и кешираните права
tbl_groupгрупите
tbl_user_groupкой потребител към коя група принадлежи
tbl_sessionсесиите на потребителите в портала (устройство, адрес, изтичане)
tbl_appприложенията: адрес, тайни, флагове и разрешени адреси
tbl_app_permissionправата, които декларира всяко приложение
tbl_group_permissionкои права (или само кои приложения) дава всяка група
tbl_app_sessionсесиите за стартиране на приложенията и техните изведени токени
tbl_user_appна потребител и приложение: връзките на известията и дали приемат известия
tbl_notificationизвестията
tbl_visitorдневната статистика на посетителите
tbl_feedbackобратната връзка, която потребителите изпращат от портала

Датираните файлове database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql и database-2024-10-30.sql в хранилището са промените на схемата във времето, а database.sql е пълният скрипт, който изпълнява първото стартиране. Правете резервно копие на тази схема като на всяка друга база данни PostgreSQL.