Конфиг навигатора

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Конфиг навигатору нужен хотя бы для того чтобы знать адреса сервисов бакенда и авторизации. А также для дополнительной настройки всего приложения.

Расположение

Конфиги лежат внутри навигатора

  1. в исходниках для разработки или локального запуска их можно найти в "trv-ui/projects/navigator/src/assets/config/"
  2. в собранном навигаторе их можно найти в "assets/config/"

Приложение для установки на стенд обычно собирается в "prod" конфигурации и тогда используется конфиг "config.docker.json". При деплое проекта на стенд конфиг обычно подменяется (заранее подготовленным и хранящимся в гитлабе, для каждого стенда каждого проекта собственный конфиг).

Описание свойств конфига

Свойство Значение по умолчанию Описание
общие настройки навигатора
configObjectCode код объекта с настройками кастомизации (используется для настройки разных стартовых страниц и оформления для разных ролей пользователей)
chatObjectCode код объекта для чата
chatMentionsObjectCode код объекта для упоминаний в чате
maxCommentLength максимальная длинна сообщения в коментариях
commentEnterSendPost false отправка коментария по Enter (по умолчанию по Ctrl-Enter или Shift-Enter)
dropdownApplyCancelButtons false Отображение кнопок Применить/Отмена в выпадающих списках
disableListsSilentSearchById false Отключение поиска по id в выпадающих списках
disableFormulaConstructor false Отключение интерфейса добавления/редактирования формул
disableCalculationManager false Отключение настройки единой модели расчета
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 то автопродление отключено