Платформа 3V/Навигатор/Конфиг навигатора: различия между версиями
Строка 32: | Строка 32: | ||
|- | |- | ||
| gzip || false || нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip | | gzip || false || нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip | ||
+ | |- | ||
+ | | hideHomePage || false || скрытие домашней страницы | ||
|- | |- | ||
| homePageCode || || код объекта используемого в качестве стартовой страницы | | homePageCode || || код объекта используемого в качестве стартовой страницы | ||
|- | |- | ||
| homePageId || || (устаревшее) идентификатор объекта используемого в качестве стартовой страницы | | homePageId || || (устаревшее) идентификатор объекта используемого в качестве стартовой страницы | ||
− | |||
− | |||
|- | |- | ||
| fileStorageType || "Db" || используемый тип хранилища | | fileStorageType || "Db" || используемый тип хранилища |
Версия 13:02, 17 февраля 2022
Конфиг навигатору нужен хотя бы для того чтобы знать адреса сервисов бакенда и авторизации. А также для дополнительной настройки всего приложения.
Расположение
Конфиги лежат внутри навигатора
- в исходниках для разработки или локального запуска их можно найти в "trv-ui/projects/navigator/src/assets/config/"
- в собранном навигаторе их можно найти в "assets/config/"
Приложение для установки на стенд обычно собирается в "prod" конфигурации и тогда используется конфиг "config.docker.json". При деплое проекта на стенд конфиг обычно подменяется (заранее подготовленным и хранящимся в гитлабе, для каждого стенда каждого проекта собственный конфиг).
Описание свойств конфига
Свойство | Значение по умолчанию | Описание |
---|---|---|
общие настройки навигатора | ||
configObjectCode | код объекта с настройками кастомизации (используется для настройки разных стартовых страниц и оформления для разных ролей пользователей) | |
chatObjectCode | код объекта для чата | |
chatMentionsObjectCode | код объекта для упоминаний в чате | |
maxCommentLength | максимальная длинна сообщения в коментариях | |
commentEnterSendPost | false | отправка коментария по Enter (по умолчанию по Ctrl-Enter или Shift-Enter) |
dropdownApplyCancelButtons | false | Отображение кнопок Применить/Отмена в выпадающих списках |
disableListsSilentSearchById | false | Отключение поиска по id в выпадающих списках |
gzip | false | нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip |
hideHomePage | false | скрытие домашней страницы |
homePageCode | код объекта используемого в качестве стартовой страницы | |
homePageId | (устаревшее) идентификатор объекта используемого в качестве стартовой страницы | |
fileStorageType | "Db" | используемый тип хранилища |
fileSizeLimit | 5 | ограничение на размер файлов (в МБ) |
languageSwitcher | false | отображение переключения языков на стартовой странице |
languages | ["ru", "en"] | языки для переключения языков (первый из списка является языком по умолчанию) |
limitDictionaryElementsCount | 1000 | ограничение на количество загружаемых элементов справочника |
navigatorSearchMinimumLetters | 2 | минимальное количество символов для поиска в дереве навигатора |
navigatorSearchTimeout | 300 | таймаут для поиска в дереве навигатора |
newObjectFolderCode | код объекта для расположения новых объектов | |
rootName | "3V" | имя рутовой папки |
titleName | "Trivium Navigator" | заголовок вкладки браузера |
useFileSignatures | false | нужно ли отображение подписывания файлов в ячейках |
env | описание конфига | |
name | "docker" | имя конфига |
logging | настройки логирования | |
enabled | false | включение логирования |
level | "Info" | уровень логирования (варианты значений: "Info", "Error") |
namespaces | настройки неймспейсов/тенантов (мапа/справочник по имени тенанта) | |
имя_тенанта | имя тенанта | |
languageSwitcher | false | отображение переключения языков на стартовой странице |
languages | ["ru", "en"] | языки для переключения языков (первый из списка является языком по умолчанию) |
useFileSignatures | false | нужно ли отображение подписывания файлов в ячейках |
fileSizeLimit | 5 | ограничение на размер файлов (в МБ) |
manualRealms | для ручного выбора неймспейса/тенанта/реалма | |
enabled | false | включен ли ручной выбор |
names | коллекция имен неймспейсов/тенантов/реалмов | |
theme | настройки темизации (подробнее Темы навигатора) | |
defaultThemeName | "default" | имя темы по умолчанию, используется если пользователь не менял тему (настройка сохраняется в localStorage и ее можно очистить вместе с cookies) |
additionalThemes | коллекция дополнительных тем (устаревшее) | |
themes | коллекция настроек тем (можно как задавать новые темы, так и редактировать встроенные системные) | |
настройки навигатора касающиеся грида/пивота | ||
agGridLicence | лицензия для AgGrid | |
defaultGridComponent | "DataTables" | грид используемый по умолчанию(доступные варианты: DataTables, AgGridViewport, AgGrid) |
gridFormulaRowHidden | false | скрытие строки с формулой над гридом |
gridResetEmbeddedFlag | false | сброс флага areDataEmbedded в пивотах полученных из карточек, для работы с гридом через окна |
gridDefaultRowHeight | 30 | дефолтная высота строк грида |
gridDefaultHeaderRowHeight | 30 | Дефолтная высота строк шапки грида |
instantAutoFilterButton | false | отображать кнопку автофильтра постоянно в шапке грида для всех столбцов |
serverWait | 500 | задержка для скрола DataTables прежде чем будут запрашиваться данные (Datatables API) |
trimValues | false | обрезать пробелы и переводы строки редактируемых значений |
transposedTableColumnsLimit | 100 | максимальное количество столбцов (строк пивота) в транспонированной таблице |
websocketDisabled | false | отключение получения данных через вебсокеты |
настройки сервисов бакенда и авторизации | ||
auth | настройки авторизации | |
isEnabled | false | включена ли (выключена бывает при локальной отладке) |
addTokenToExternalRequests | false | добавлять токен авторизации во внешние запросы (часто бывает нужно при локальной отладке, но может понадобиться и в проектах) |
clientId | настройка clientId для сервера авторизации | |
clientSecret | настройка clientSecret для сервера авторизации | |
revokeOnLogout | false | настройка для логаута (позволяющая отзывать токен при логауте) |
poibSettings | настройки для случая работы с ПОиБ | |
accessTokenName | ||
plainOAuth2 | настройки для случая работы с plain OAuth2 по http | |
loginUrl | ||
logoutUrl | ||
tokenEndpoint | ||
revocationEndpoint | ||
scope | ||
multipleNamespaces | настройки для мультинеймспейсности | |
urlSearchPattern | регулярное выражение для поиска неймспейса в текущем хосте.
Например, взять домен 3го уровня, исключая 3v (пример хоста: trivium-test.3v-group.net): "^(\\w{1}|3[^v]|[^3]v|[^3][^v]|[-\\w]{3,}){1}.[-\\w]+.[-\\w]+$" | |
authReplacePattern | регулярное выражение для поиска дефолтного неймспейса в урле по работе с авторизацией.
Например, поиск реалма в строке авторизации в киклоке (пример урла авторизации: https://3v.3v-group.net/auth/realms/trivium): "https?:\\/\\/[-\\w]+.[-\\w]+.[-\\w]+\\/[-\\w]+\\/[-\\w]+\\/([-\\w]+)" | |
gateway | настройки для взаимодействия с сервисами(бакендом) | |
baseUrl | базовый урл для всех сервисов | |
locations | адреса (обычно относительные) сервисов | |
auth | сервис авторизации | |
calculation | "engine" | сервис методик |
cards | "cards" | сервис карточек |
dictionaries | "dictionaries" | сервис справочников |
engine | "engine" | сервис ядра |
filestorage | "filestorage" | сервис хранилища файлов |
importexportdata | "import-export" | сервис импорта/экспорта |
logger | "logger" | сервис логирования |
pgprovider | "pgprovider" | сервис pgprovider |
repository | "repository" | сервис репозитория |
subjects | "subjects" | сервис прав на объекты |
updates | "updates" | сервис обновлений |
workflow | "workflow" | сервис согласования |
extendCardInstanceLifeInMinutes | 15 | интервал в минутах запуска выполнения запроса по таймеру для продления времени жизни карточки на сервере, если <= 0 то автопродление отключено |