Настройки
Настройки являются инструментом, который позволяет адаптировать систему под определенные пользовательские предпочтения, позволяют, в том числе, изменять отдельные элементы интерфейса, влияют на функциональность и поведение объектов, а также производительность системы.
Настройки системы делятся по типам и области действия. Все настройки, кроме глобальных могут быть настроены как в целом, так и на группу или отдельного пользователя.
Описание настроек с учётом областей действия и типов
| Область действия | Тип | Настройка | Допустимые значения | Значение по умолчанию | Активация | Описание |
| Глобальная | SSO | Активный способ авторизации и аутентификации | - Локальная - OAuth2 Authorization Code Flow | Локальная | Старт системы | Определяет какой из доступных системе способов используют пользователи для входа. |
| Ключ токена с логином пользователя | алфавитно-цифровой ключ, может содержать символ "_" | preferred_usename | Задает ключ, значение которого определяет логин аутентифицирующегося пользователя |
| Ключ токена с идентификатором пользователя | алфавитно-цифровой ключ, может содержать символ "_" | dwu | Задает ключ, значение которого определяет идентификатор аутентифицирующегося пользователяв системе, если идентификация пользователя выполняется по идентификатору системы |
| Ключ токена с идентификатором сессии | алфавитно-цифровой ключ, может содержать символ "_" | | Задает ключ, значение которого определяет идентификатор сессии аутентифицирующегося пользователя, например, sid |
| Ключ списка ролей пользователя | алфавитно-цифровой ключ, может содержать символ "_" | | Задает ключ, значение которого определяет перечень ролей аутентифицирующегося пользователя, если авторизация в системе выполняется по ролям (группам), участником которых является пользователь, например, roles |
| Префикс ролей пользователя на сервере авторизации | алфавитно-цифровой ключ, может содержать символ "_" | | Задает ключ, значение которого определяет префикс, идентифицирующий роли аутентифицирующегося пользователядля их сопоставления с группами системы, например, polyhub_ |
| Секретный ключ для симметричной шифрации токенов | ключ шифрации, совместимый с алгоритмом шифрации токенов, используемым сервером | | Задает секретный ключ шифрации токенов, если токены передаются сервером в зашифрованном виде |
| Использовать логаут через фронтенд | - true - false | false | Необходимо включить, если логаут пользователя должен выполняться через фронтенд, например, для очистки сессионных куки |
| Валидировать сертификат сервера авторизации | - true - false | true | Выполнять аутентификацию только в случае валидности ssl/tls сертификата сервера |
| Базовый URL сервера авторизации | строка в формате url | | URL сервера авторизации, например, (в случае использования AF FS в качестве сервера авторизации) |
| Идентификатор клиента на сервере авторизации | строка | | Строка, заданная на сервере авторизации в качестве идентификатора клиента, например, polyhub |
| Секретный ключ клиента на сервере авторизации | строка | | Случайным образом сгенерированный и сложный для подбора ключ клиента, известный только клиенту и серверу |
| Использовать PKCE | - true - false | true | Использовать PKCE код в процессе аутентификации |
| Назначение (scope) токена | строка ключей, разделенных пробелами | openid | Запрашивать указанный набор возможностей (назначение) токена |
| Базовый URL портала для серверной авторизации | строка в формате url | | Url системы для обращений сервера авторизации, например, [https://polyhub.local:8000](https://polyhub.local:8000/) |
| Базовый URL портала для локальной авторизации | строка в формате url | | Url системы, например, [https://polyhub.local:8000](https://polyhub.local:8000/) |
| Частота запросов (троттлинг) | Аутентификация | [count] [per|/] [n (optional)] [second|minute|hour|day|month|year] | | Максимальная частота запросов на аутентификацию с одного IP адреса, комбинация ограничений перечисляется через запятую, например, 10/hour;100/day |
| Облако | [count] [per|/] [n (optional)] [second|minute|hour|day|month|year] | | Максимальная частота запросов на загрузку и получение файлов в облако с одного IP адреса, комбинация ограничений перечисляется через запятую, например, 10/hour;100/day |
| GraphQL | [count] [per|/] [n (optional)] [second|minute|hour|day|month|year] | | Максимальная частота запросов к публичному и внутреннему GraphQL API коминировано с одного IP адреса, комбинация ограничений перечисляется через запятую, например, 10/hour;100/day |
| Отчеты | [count] [per|/] [n (optional)] [second|minute|hour|day|month|year] | | Максимальная частота запросов на получение отчетов с одного IP адреса, комбинация ограничений перечисляется через запятую, например, 10/hour;100/day |
| Рабочие столы | [count] [per|/] [n (optional)] [second|minute|hour|day|month|year] | | Максимальная частота запросов на получение и загрузку изображений для рабочих столов с одного IP адреса, комбинация ограничений перечисляется через запятую, например, 10/hour;100/day |
| Система | Интерфейс | Заголовок страницы | строка | POLYHUB | Вход пользователя в систему | Отображаемое наименование системы в интерфейсе |
| Доступные разделы | отчеты, облако, документы, polyflow (модели, правила ккд), уведомления, подстановки, администрирование (разрешения, настройки, пользователи, группы, провайдеры, рабочие столы) | отчеты, облако, документы - для новых пользователей; все - для sa (пользователь, обладающий всеми разрешениями при установке системы) | Разделы системы, доступные в интерфейсе |
| Тип объекта | - корзины - документы - модели - правила ккд - группы - json-схемы - провайдеры - отчеты - пользователи - рабочие столы - уведомления - подстановки | Количество элементов на одной странице в веб-интерфейсе | числовое значение | | Размер списков |
| Отчеты | Доступные типы | JRXML, XLSX, DOCX, HTML | JRXML, XLSX, DOCX, HTML | Типы отчетов, доступные пользователю для создания |
| Объект | Корзины | Разрешенные для загрузки типы файлов | строка расширений, разделенных запятыми | .xls,.xlsx,.csv | Фильтр файлов по расширениями в диалоге загрузки файлов в корзину |
| Максимальный размер файлов, разрешенный для загрузки, МБчисловое значение | числовое значение | 100 | Ограничение по объему загружаемых в корзину файлов |
| Период, в течение которого возможно восстановление удаленных объектов, в днях | числовое значение | 30 | Период ретенции удаленных объектов корзины |
| Отчеты | Формат по умолчанию | для JRXML: pdf, html, docx, xlsx, xls, pptx, rtf для HTML: html, pdf, txt для XLSX: xlsx для DOCX: docx | для JRXML: pdf для HTML: html для XLSX: xlsx для DOCX: docx | Формат генерации отчета по умолчанию (по типам) |
Расположение и интерфейс настроек
Настройки системы имеют иерархическую структуру.
Система предоставляет несколько различных способов изменения настроек, предназначенных для разных типов настроек. Ниже представлено описание каждого из них.
Мастер настроек на пользователя/группу
Доступ к мастеру осуществляется через меню «Администрирование/Настройки»

Настройки могут относиться к конкретному объекту какого-либо типа либо разделу системы, соответствующему какому-либо типу объекта. Изменение настроек в мастере выполняется за четыре шага.
1._На первом шаге определяется субъект настройки - кому, какому пользователю или группе, меняются настройки

На данном шаге необходимо выбрать тип субъекта - пользователь либо группа, затем конкретного пользователя либо группу, для которого будет меняться настройка. После выбора необходимо нажать кнопку "Далее", для перехода к следующему шагу, на котором задается тип объекта настройки, т.е. для объекта или раздела объектов какого типа меняются настройки.

2._После выбора соответствующего типа объекта настроек и нажатия кнопки "Далее" мастер переходит на шаг выбора объекта или раздела объектов выбранного типа, что, соответственно, определяет на какой объект раздел системы, соответствующий выбранному типу объектов меняется настройка.
3._На данном шаге по умолчанию выбран вариант для настроек раздела для данного типа объекта. Такие настройки действуют на поведение раздела в целом, а также на все объекты этого раздела. И в этом случае по кнопке "Далее" мастер сразу переходит к шагу изменения соответствующих настроек. Если же необходимо изменить настройки для конкретного объекта, следует включить режим изменений настроек на пообъектный, щелкнув по переключателю "Настройки раздела" и таким образом переведя из включенного состояния в выключенное.
Режим выбора настроек для конкретного объекта с уже выбранным объектом изображен ниже
4._После нажатия кнопки "Далее", в зависимости от состояния переключателя мастер перейдет на настройки для всего раздела и объектов данного типа либо на настройки для выбранного объекта.
Интерфейс изменения выбранных настроек на заключительном шаге мастера как для разделов (типов объектов), так и для конкретных объектов одинаков.
Шаг изменения настроек для объектов изображен ниже
Для изменения настройки необходимо включить режим изменения настройки переключателем напротив соответствующей настройки
После изменения значения редактируемой настройки необходимо нажать кнопку "Сохранить".
Для сброса ранее измененной настройки достаточно отключить режим изменения соответствующий настройки, вернув переключатель напротив нее в выключенное состояние. В этом случае актуальное значение для соответствующей настройки будет соответствовать вышестояющему в иерархии значению.
Настройки на конкретные объекты можно, как правило, изменять и в разделах соответствующих типов в дополнительных свойствах объекта в блоке Операции по кнопке "Настройки
"
Иерархия настроек
Настройки действуют от общего к частному. Соответственно наивысший приоритет имеют настройки на определенный объект, при их отсутствии действуют настойки на раздел (тип объекта), с самым низким приоритетом применяются настройки по умолчанию.
Глобальные настройки
Доступ к глобальным настройкам осуществляется по кнопке «шестеренка» на верхней панели

Интерфейс настроек представлен на ниже. Для доступа к глобальных настройкам необходимо разрешение на чтение (READ) на них.
Изменение значений глобальных настроек осуществляется аналогично изменению настроек в мастере.

Настройки на пользователя/группу
Доступ к настройкам пользователя осуществляется в дополнительных свойствах объекта. Для открытия формы настроек нажмите на строку пользователя и открвшихся дополнительных свойствах в блоке Операции нажмите на кнопку " Настройки
"
Доступ к настройкам группы осуществляется по кнопке «Настройки» в списке групп
Интерфейс настроек пользователей представлен ниже.

Интерфейс настроек групп подобен настройкам пользователя.
Изменение значений данных настроек осуществляется аналогично изменению настроек в мастере.
Настройки текущего пользователя
Доступ к своим настройкам пользователя осуществляется по кнопке на верхней панели в пункте меню "Мои настройки".

Интерфейс настроек представлен ниже

Изменение значений данных настроек осуществляется аналогично изменению настроек в мастере.