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

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

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

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

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

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

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

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

Свойство Значение по умолчанию Описание
общие настройки навигатора
configObjectCode код объекта с настройками кастомизации (используется для настройки разных стартовых страниц и оформления для разных ролей пользователей)
chatObjectCode код объекта для чата
maxCommentLength максимальная длинна сообщения в коментариях
dropdownApplyCancelButtons false Отображение кнопок Применить/Отмена в выпадающих списках
disableListsSilentSearchById false Отключение поиска по id в выпадающих списках
gzip false нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip
homePageCode код объекта используемого в качестве стартовой страницы
homePageId (устаревшее) идентификатор объекта используемого в качестве стартовой страницы
languageSwitcher false отображение переключения языков на стартовой странице
limitDictionaryElementsCount 1000 ограничение на количество загружаемых элементов справочника
navigatorSearchMinimumLetters 2 минимальное количество символов для поиска в дереве навигатора
navigatorSearchTimeout 300 таймаут для поиска в дереве навигатора
newObjectFolderCode код объекта для расположения новых объектов
rootName "3V" имя рутовой папки
titleName "Trivium Navigator" заголовок вкладки браузера
env описание конфига
   name "docker" имя конфига
logging настройки логирования
   enabled false включение логирования
   level "Info" уровень логирования (варианты значений: "Info", "Error")
theme настройки темизации (подробнее Темы навигатора)
   defaultThemeName "default" имя темы по умолчанию, используется если пользователь не менял тему (настройка сохраняется в localStorage и ее можно очистить вместе с cookies)
   additionalThemes коллекция дополнительных тем
настройки навигатора касающиеся грида/пивота
agGridLicence лицензия для AgGrid
defaultGridComponent "DataTables" грид используемый по умолчанию(доступные варианты: DataTables, AgGridViewport, AgGrid)
gridFormulaRowHidden false скрытие строки с формулой над гридом
gridResetEmbeddedFlag false сброс флага areDataEmbedded в пивотах полученных из карточек, для работы с гридом через окна
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 то автопродление отключено