CommuniGate Pro
Версия 6.4
 

Чаты 2.0: Настройки

Модуль Чаты 2.0 позволяет изменять для отдельных доменов настройки и ограничения, используемые по умолчанию в различных операциях. Каждый домен, в котором настроен модуль Чаты 2.0, может иметь свой вариант настроек и ограничений.

Для того, чтобы изменить настройки по умолчанию модуля Чаты 2.0 в домене, необходимо создать и отредактировать соответствующие конфигурационные файлы и загрузить их в папку /private/messenger/ файлового хранилища ранее созданного аккаунта immaster@your.domain.name. Именованная задача messenger@your.domain.name зачитывает эти конфигурационные файлы при запуске, поэтому для применения очередных изменений в конфигурационных файлах необходимо остановить именованную задачу messenger@your.domain.name, если она была запущена.




Общие настройки

Общие настройки содержат ограничения, используемые в различных операциях модуля Чаты 2.0 в рамках домена your.domain.name. Ниже приведен список общих настроек и значения по умолчанию для них:

logLevel
Уровень детализации информации, которую модуль Чаты 2.0 должен сохранять в Журнале работы Сервера. Значение 0 соответствует наименее подробному уровню детализации, значение 5 соответствует наиболее подробному уровню детализации. Значение по умолчанию - 5.
maxAttachmentSize
Максимальный размер файла, пересылаемого в сообщении. Значение по умолчанию - 200 Мб.
maxMsgFilesNumber
Максимальное количество файлов, пересылаемых в одном сообщении. Значение по умолчанию - 100.
maxChatPhotoSize
Максимальный размер файла с фотографией, установливаемой в профиле группового чата. Значение по умолчанию - 1 Мб.
msgEditPeriod
Период времени (в секундах), в течение которого можно редактировать сообщение после его отправления. Значение по умолчанию - 1 неделя.
maxMsgTextSize
Максимальный размер текста одного сообщения. Значение по умолчанию - 8 кБ.
maxInvitesNumber
Максимальное количество пригласительных ссылок, созданных для одного группового чата. Значение по умолчанию - 10.
maxChatDataSize
Максимальный размер файла с историей сообщений персонального или группового чата. Значение по умолчанию - 10 Мб.
maxUserChatsNumber
Максимальное количество персональных и групповых чатов, в которых пользователь участвует. Значение по умолчанию - 200.
maxGroupSubjectSize
Максимальный размер (в символах) темы группового чата. Значение по умолчанию - 256 символов.
maxGroupDescrSize
Максимальный размер (в символах) описания группового чата. Значение по умолчанию - 8192 символа.
maxGroupParticipantsNumber
Максимальное количество участников в групповом чате. Значение по умолчанию - 1000.
serverURL
Строка с URL сервера, используемая для создания пригласительных ссылок в групповые чаты. Значение по умолчанию - https://your.domain.name .

Для изменения значения по умолчанию для одной или нескольких настроек необходимо создать файл general.settings и указать в нем в формате Словаря новые значения для изменяемых настроек. Достаточно указать только те настройки, значения которых отличаются от значений по умолчанию. Если файл general.settings не создавать, то модуль Чаты 2.0 будет использовать для всех настроек значения по умолчанию. Ниже приведен пример файла general.settings с настройками:

{
  logLevel                   = "5";
  maxAttachmentSize          = #209715200; // 200 MB
  maxMsgFilesNumber          = #100;
  maxChatPhotoSize           = #1048576;   // 1 MB
  msgEditPeriod              = #604800;    // 1 week
  maxMsgTextSize             = #8192;      // 8 kB
  maxInvitesNumber           = #10;
  maxChatDataSize            = #10485760;  // 10 MB
  maxUserChatsNumber         = #200;
  maxGroupSubjectSize        = #256;      // symbols
  maxGroupDescrSize          = #8192;     // symbols
  maxGroupParticipantsNumber = #1000;
  serverURL                  = "https://your.domain.name";
}

Отредактированный файл general.settings необходимо загрузить в папку /private/messenger/ файлового хранилища аккаунта immaster@your.domain.name.


Настройки междоменного взаимодействия

Модуль Чаты 2.0, настроенный для домена your.domain.name, осуществляет взаимодействие только между пользователями из этого домена. Для того, чтобы иметь возможность приглашать в персональные и групповые чаты пользователей из других доменов, в том числе пользователей, находящихся на других серверах CommuniGate Pro, необходимо создать список таких "дружественных" доменов. Пользователям дружественных доменов разрешается участвовать в групповых и персональных чатах домена your.domain.name.

Список дружественных доменов и параметров взаимодействия с ними необходимо указать в файле domains.settings в формате Словаря. Ниже приведен список параметров взаимодействия с дружественными доменами.

Имя дружественного домена
Строка с именем дружественного домена, для которого далее будут заданы параметры взаимодействия.
apiEndPoint
URL для доступа к API сервера, где расположен дружественный домен. Часть URL /sys/imserver.wcgp одинакова для всех.
remoteToken
Строка со случайным значением общего секрета для исходящих запросов (не менее 32 байт). Эта строка должна совпадать со значением параметра localToken в файле domains.settings, созданном в дружественном домене.
localToken
Строка со случайным значением общего секрета для входящих запросов (не менее 32 байт). Эта строка должна совпадать со значением параметра remoteToken в файле domains.settings, созданном в дружественном домене.
isMaster
Если значением данного параметра является строка YES, то данный дружественный домен будет считаться основным во взаимодействии с нашим доменом your.domain.name и междоменные персональные чаты будут храниться в дружественном домене. В остальных случаях основным будет считаться домен your.domain.name и междоменные персональные чаты будут храниться в нем.

Ниже приведен пример файла domains.settings с параметрами взаимодействия для двух дружественных доменов:

{
  "friend-domain1.name" = {                                         // имя первого дружественного домена
    apiEndPoint = "https://friend-domain1.name/sys/imserver.wcgp";  // URL для доступа к API сервера, где расположен дружественный домен
    remoteToken = "2BC...5E";                                       // случайное значение общего секрета для исходящих запросов (не менее 32 байт)
    localToken  = "3D2...43";                                       // случайное значение общего секрета для входящих запросов (не менее 32 байт)
    isMaster    = NO;                                               // междоменные персональные чаты будут храниться в дружественном домене (значение YES), либо в нашем домене (значение NO) 
  };

  "friend-domain2.name" = {                                         // имя второго дружественного домена
    apiEndPoint = "https://friend-domain2.name/sys/imserver.wcgp";
    remoteToken = "525...DA";
    localToken  = "763...B9";
    isMaster    = YES;
  };
}

Отредактированный файл domains.settings необходимо загрузить в папку /private/messenger/ файлового хранилища аккаунта immaster@your.domain.name.


Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт