Миграция настроек Vinteo Desktop через групповые политики: различия между версиями
Alina (обсуждение | вклад) (Новая страница: «== Общее описание == При каждом запуске десктоп-клиента, происходит загрузка настроек из...») |
Alina (обсуждение | вклад) |
||
(не показана 41 промежуточная версия 3 участников) | |||
Строка 1: | Строка 1: | ||
== Общее описание == | == Общее описание == | ||
− | + | Начиная с версии 3.15, при каждом запуске десктоп-клиента, происходит загрузка настроек из файла ClientSettings для последующей миграции в десктоп-клиент. Файл ClientSettings нужно добавить в определенную папку: | |
− | * для Windows - %appData%/ | + | * для Windows - %appData%/VinteoDesktop |
* для MacOS - /Users/y/Library/Application Support/VinteoDesktop | * для MacOS - /Users/y/Library/Application Support/VinteoDesktop | ||
* для Linux - /home/.config/VinteoDesktop | * для Linux - /home/.config/VinteoDesktop | ||
− | Передаваемые настройки, в файле ClientSettings, хранятся в формате json и валидируются json-схемой на этапе чтения файла | + | Передаваемые настройки, в файле ClientSettings, хранятся в формате json и валидируются json-схемой на этапе чтения файла. |
− | + | '''С полным списком настроек, доступных для миграции, можно ознакомиться по [https://schemas.dm1.vinteo.dev/clientSettingsSchema.json ссылке].''' | |
− | * profile - настройки корпоративного профиля | + | Файл ClientSettings имеет три группы настроек: |
− | * settings - настройки приложения | + | |
+ | * profile - настройки корпоративного профиля; | ||
+ | * settings - настройки приложения; | ||
+ | * emailInvitationTemplate - шаблон приглашения по email. | ||
== Параметры мигрируемых настроек == | == Параметры мигрируемых настроек == | ||
Строка 20: | Строка 23: | ||
! Свойство !! Описание | ! Свойство !! Описание | ||
|- | |- | ||
− | | | + | | <font color = 'red'>value</font> || Содержит значение настройки, которое будет мигрировано в приложение. Может иметь типы "string", "number" или "boolean" в зависимости от конкретной настройки |
+ | |- | ||
+ | | <font color = 'red'>overwriteUserSettings</font> || Опциональный флаг принудительной миграции. При установке значения '''true''', настройка из файла принудительно перепишет настройку пользователя в клиенте. При значении '''false''' или '''отсутствии флага''', настройка будет перезаписана только если пользователь не изменял ее значение с момента первого запуска клиента. | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | === Настройки клиента (settings) === | ||
+ | |||
+ | Группа настроек settings содержит следующие настройки: | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Настройка !! Тип значения !! Описание | ||
+ | |- | ||
+ | | displayName || string || Отображаемое имя пользователя | ||
+ | |- | ||
+ | | remoteMicControl || boolean || Разрешать модератору включать и выключать микрофон | ||
+ | |- | ||
+ | | remoteCameraControl || boolean || Разрешить модератору включать и выключать камеру | ||
+ | |- | ||
+ | | moveContentVideoToFullscreen || boolean || Запускать входящую презентацию в полноэкранном режиме | ||
+ | |- | ||
+ | | autoOpenChat || boolean || Автоматически открывать чат при старте звонка или трансляции | ||
+ | |- | ||
+ | | autoOpenParticipants || boolean || Автоматически открывать список участников при старте звонка или трансляции | ||
+ | |- | ||
+ | | autoAnswer || boolean || Автоответ при входящем звонке | ||
+ | |- | ||
+ | | autoMute || boolean || Выключение микрофона при автоответе | ||
+ | |- | ||
+ | | autoFullscreen || boolean || Полноэкранный режим при автоответе | ||
+ | |- | ||
+ | | hardwareNotification || boolean || Аппаратное оповещение | ||
+ | |- | ||
+ | | autorun || boolean || Автозапуск | ||
+ | |- | ||
+ | | minimizeOnClose || boolean || Сворачивание приложения при закрытии | ||
+ | |- | ||
+ | | disableConfirms || boolean || Выключить все диалоги подтверждения действий | ||
+ | |- | ||
+ | | disableNotifications || boolean || Выключить все уведомления | ||
+ | |- | ||
+ | | disableErrors || boolean || Выключить все уведомления об ошибках | ||
+ | |} | ||
+ | |||
+ | <font color = 'red'>'''Важно!'''</font> При при попытке включения autoOpenChat и autoOpenParticipants, флаг autoOpenParticipants имеет приоритет. То есть, autoOpenParticipants будет включен, а autoOpenChat останется выключенным. Последовательность и одновременность передачи флагов не имеют значения. | ||
+ | |||
+ | == Корпоративный профиль == | ||
+ | |||
+ | Корпоративный профиль - это профиль, который создается и обновляется скриптами миграции. Отличие корпоративного профиля от прочих в уникальном uuid, который равен "uuid-corporate-profile-0fa76dd5-9c48-48de-be1b-75b8df1b2208". Данный профиль создается, если его еще нет в списке профилей подключения, либо обновляется при миграции. | ||
+ | |||
+ | === Настройки корпоративного профиля (profile) === | ||
+ | |||
+ | Группа настроек profile содержит следующие настройки, доступные для миграции корпоративного профиля: | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Настройка !! Тип значения !! Описание | ||
+ | |- | ||
+ | | name || string || Логин пользователя. Опциональный параметр | ||
+ | |- | ||
+ | | serverUrl || string || Адрес сервера подключения. Может содержать URL или IP сервера | ||
+ | |- | ||
+ | | profileName || string || Имя корпоративного профиля - будет указано в качестве названия для корпоративного профиля подключения. Опциональный параметр | ||
+ | |} | ||
+ | |||
+ | <font color = 'red'>'''Важно!'''</font> | ||
+ | |||
+ | * Через группу настроек profile нельзя передать пароль пользователя; | ||
+ | * При каждой перезаписи корпоративного профиля пароль предыдущего профиля удаляется из клиента; | ||
+ | |||
+ | Если в группе настроек profile не хватает данных для подключения, то при запуске клиента откроется диалоговое окно начальных настроек подключения (InitialSetupWizard), в котором необходимо заполнить недостающие данные. Данный шаг можно пропустить. | ||
+ | |||
+ | '''Примеры недостающих данных в группе настроек profile''' | ||
+ | |||
+ | * Не заполнен serverUrl (адрес сервера подключения); | ||
+ | * Не заполнен displayName (отображаемое имя); | ||
+ | * Заполнены displayName, serverUrl и name (не хватает пароля). | ||
+ | |||
+ | '''Примеры''' | ||
+ | |||
+ | Ниже приведен пример файла ClientSettings: | ||
+ | <source lang="json"> | ||
+ | { | ||
+ | "version": 1, | ||
+ | "values": { | ||
+ | "settings": { | ||
+ | "displayName": { | ||
+ | "value": "Новая подпись", | ||
+ | "overwriteUserSettings": true | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | =<span id = 'email_template'> Шаблоны приглашений по email (emailInvitationTemplate) </span>= | ||
+ | |||
+ | Данный параметр позволяет настраивать шаблон приглашения в конференцию по email. | ||
+ | |||
+ | '''Параметры шаблона''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название !! Тип значения !! Описание | ||
+ | |- | ||
+ | | value || TEmailInvitationTemplate || Шаблон приглашения по email | ||
+ | |- | ||
+ | | overwriteUserSettings || boolean || Флаг использования шаблона. При значении true использует данный шаблон для приглашений по email. Иначе - использует стандартный шаблон приложения. По умолчанию - false. | ||
+ | |} | ||
+ | |||
+ | '''Шаблон приглашения по email (TEmailInvitationTemplate)''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название !! Тип значения !! Описание | ||
+ | |- | ||
+ | | subject || string || Заголовок приглашения | ||
+ | |- | ||
+ | | body || TBodyEmailInvitationTemplate || Тело сообщения | ||
+ | |} | ||
+ | |||
+ | '''Тело сообщения (TBodyEmailInvitationTemplate)''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название !! Тип значения !! Описание | ||
+ | |- | ||
+ | | value || string || Шаблон текста сообщения | ||
+ | |- | ||
+ | | optional || TOptionalBodyEmailInvitationTemplate || Опциональные параметры | ||
+ | |} | ||
+ | |||
+ | '''Опциональные параметры (TOptionalBodyEmailInvitationTemplate)''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название !! Тип значения !! Описание | ||
|- | |- | ||
− | | | + | | pinText || { textWhenFilled: string; textWhenEmpty: string } || Шаблон для отображения пин-кода конференции. Текст параметра textWhenFilled используется, когда конференция имеет пин-код. Иначе - используется текст из параметра textWhenEmpty. |
|- | |- | ||
− | |||
|} | |} | ||
+ | |||
+ | '''Заполняемые поля шаблона''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Настройка !! Тип значения !! Описание | ||
+ | |- | ||
+ | | {userName} || string || Имя пользователя, отправившего приглашение | ||
+ | |- | ||
+ | | {conferenceUrl} || string || https-ссылка на подключение к конференции | ||
+ | |- | ||
+ | | {dialedNumber} || string || номер-конференции@домен | ||
+ | |- | ||
+ | | {pin} || string || пин-код | ||
+ | |- | ||
+ | | {pinText} || string || Шаблон для отображения пин-кода конференции | ||
+ | |} | ||
+ | |||
+ | '''Примеры''' | ||
+ | |||
+ | Ниже приведен пример файла ClientSettings: | ||
+ | <source lang="json"> | ||
+ | { | ||
+ | "version": 1, | ||
+ | "values": { | ||
+ | "emailInvitationTemplate": { | ||
+ | "value": { | ||
+ | "subject": "mailto:?subject=Приглашение в конференцию", | ||
+ | "body": { | ||
+ | "value": "&body={userName} приглашает вас принять участие в видеоконференции.%0A- ссылка: {conferenceUrl};%0A- номер конференции: {dialedNumber}{pinText}", | ||
+ | "optional": { | ||
+ | "pinText": { | ||
+ | "textWhenFilled": ";%0A- пин-код: {pin}.", | ||
+ | "textWhenEmpty": "." | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | "overwriteUserSettings": false | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> |
Текущая версия на 14:40, 31 октября 2024
Содержание
Общее описание
Начиная с версии 3.15, при каждом запуске десктоп-клиента, происходит загрузка настроек из файла ClientSettings для последующей миграции в десктоп-клиент. Файл ClientSettings нужно добавить в определенную папку:
- для Windows - %appData%/VinteoDesktop
- для MacOS - /Users/y/Library/Application Support/VinteoDesktop
- для Linux - /home/.config/VinteoDesktop
Передаваемые настройки, в файле ClientSettings, хранятся в формате json и валидируются json-схемой на этапе чтения файла.
С полным списком настроек, доступных для миграции, можно ознакомиться по ссылке.
Файл ClientSettings имеет три группы настроек:
- profile - настройки корпоративного профиля;
- settings - настройки приложения;
- emailInvitationTemplate - шаблон приглашения по email.
Параметры мигрируемых настроек
Каждая настройка в группе представляет собой простой объект с двумя свойствами:
Свойство | Описание |
---|---|
value | Содержит значение настройки, которое будет мигрировано в приложение. Может иметь типы "string", "number" или "boolean" в зависимости от конкретной настройки |
overwriteUserSettings | Опциональный флаг принудительной миграции. При установке значения true, настройка из файла принудительно перепишет настройку пользователя в клиенте. При значении false или отсутствии флага, настройка будет перезаписана только если пользователь не изменял ее значение с момента первого запуска клиента. |
Настройки клиента (settings)
Группа настроек settings содержит следующие настройки:
Настройка | Тип значения | Описание |
---|---|---|
displayName | string | Отображаемое имя пользователя |
remoteMicControl | boolean | Разрешать модератору включать и выключать микрофон |
remoteCameraControl | boolean | Разрешить модератору включать и выключать камеру |
moveContentVideoToFullscreen | boolean | Запускать входящую презентацию в полноэкранном режиме |
autoOpenChat | boolean | Автоматически открывать чат при старте звонка или трансляции |
autoOpenParticipants | boolean | Автоматически открывать список участников при старте звонка или трансляции |
autoAnswer | boolean | Автоответ при входящем звонке |
autoMute | boolean | Выключение микрофона при автоответе |
autoFullscreen | boolean | Полноэкранный режим при автоответе |
hardwareNotification | boolean | Аппаратное оповещение |
autorun | boolean | Автозапуск |
minimizeOnClose | boolean | Сворачивание приложения при закрытии |
disableConfirms | boolean | Выключить все диалоги подтверждения действий |
disableNotifications | boolean | Выключить все уведомления |
disableErrors | boolean | Выключить все уведомления об ошибках |
Важно! При при попытке включения autoOpenChat и autoOpenParticipants, флаг autoOpenParticipants имеет приоритет. То есть, autoOpenParticipants будет включен, а autoOpenChat останется выключенным. Последовательность и одновременность передачи флагов не имеют значения.
Корпоративный профиль
Корпоративный профиль - это профиль, который создается и обновляется скриптами миграции. Отличие корпоративного профиля от прочих в уникальном uuid, который равен "uuid-corporate-profile-0fa76dd5-9c48-48de-be1b-75b8df1b2208". Данный профиль создается, если его еще нет в списке профилей подключения, либо обновляется при миграции.
Настройки корпоративного профиля (profile)
Группа настроек profile содержит следующие настройки, доступные для миграции корпоративного профиля:
Настройка | Тип значения | Описание |
---|---|---|
name | string | Логин пользователя. Опциональный параметр |
serverUrl | string | Адрес сервера подключения. Может содержать URL или IP сервера |
profileName | string | Имя корпоративного профиля - будет указано в качестве названия для корпоративного профиля подключения. Опциональный параметр |
Важно!
- Через группу настроек profile нельзя передать пароль пользователя;
- При каждой перезаписи корпоративного профиля пароль предыдущего профиля удаляется из клиента;
Если в группе настроек profile не хватает данных для подключения, то при запуске клиента откроется диалоговое окно начальных настроек подключения (InitialSetupWizard), в котором необходимо заполнить недостающие данные. Данный шаг можно пропустить.
Примеры недостающих данных в группе настроек profile
- Не заполнен serverUrl (адрес сервера подключения);
- Не заполнен displayName (отображаемое имя);
- Заполнены displayName, serverUrl и name (не хватает пароля).
Примеры
Ниже приведен пример файла ClientSettings:
{
"version": 1,
"values": {
"settings": {
"displayName": {
"value": "Новая подпись",
"overwriteUserSettings": true
}
}
}
}
Шаблоны приглашений по email (emailInvitationTemplate)
Данный параметр позволяет настраивать шаблон приглашения в конференцию по email.
Параметры шаблона
Название | Тип значения | Описание |
---|---|---|
value | TEmailInvitationTemplate | Шаблон приглашения по email |
overwriteUserSettings | boolean | Флаг использования шаблона. При значении true использует данный шаблон для приглашений по email. Иначе - использует стандартный шаблон приложения. По умолчанию - false. |
Шаблон приглашения по email (TEmailInvitationTemplate)
Название | Тип значения | Описание |
---|---|---|
subject | string | Заголовок приглашения |
body | TBodyEmailInvitationTemplate | Тело сообщения |
Тело сообщения (TBodyEmailInvitationTemplate)
Название | Тип значения | Описание |
---|---|---|
value | string | Шаблон текста сообщения |
optional | TOptionalBodyEmailInvitationTemplate | Опциональные параметры |
Опциональные параметры (TOptionalBodyEmailInvitationTemplate)
Название | Тип значения | Описание |
---|---|---|
pinText | { textWhenFilled: string; textWhenEmpty: string } | Шаблон для отображения пин-кода конференции. Текст параметра textWhenFilled используется, когда конференция имеет пин-код. Иначе - используется текст из параметра textWhenEmpty. |
Заполняемые поля шаблона
Настройка | Тип значения | Описание |
---|---|---|
{userName} | string | Имя пользователя, отправившего приглашение |
{conferenceUrl} | string | https-ссылка на подключение к конференции |
{dialedNumber} | string | номер-конференции@домен |
{pin} | string | пин-код |
{pinText} | string | Шаблон для отображения пин-кода конференции |
Примеры
Ниже приведен пример файла ClientSettings:
{
"version": 1,
"values": {
"emailInvitationTemplate": {
"value": {
"subject": "mailto:?subject=Приглашение в конференцию",
"body": {
"value": "&body={userName} приглашает вас принять участие в видеоконференции.%0A- ссылка: {conferenceUrl};%0A- номер конференции: {dialedNumber}{pinText}",
"optional": {
"pinText": {
"textWhenFilled": ";%0A- пин-код: {pin}.",
"textWhenEmpty": "."
}
}
}
},
"overwriteUserSettings": false
}
}
}