Платформа 3V/Навигатор/Конфиг навигатора: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 8 промежуточных версий этого же участника)
Строка 34: Строка 34:
 
|-
 
|-
 
| enableCalculationManager || false || Включение настройки единой модели расчета
 
| enableCalculationManager || false || Включение настройки единой модели расчета
 +
|-
 +
| showReportIsDead || false || Отображение информации о том что инстанс отчета прибит на сервере
 
|-
 
|-
 
| gzip || false || нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip
 
| gzip || false || нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip
Строка 43: Строка 45:
 
| homePageId (УСТАРЕВШЕЕ) ||  || идентификатор объекта используемого в качестве стартовой страницы
 
| homePageId (УСТАРЕВШЕЕ) ||  || идентификатор объекта используемого в качестве стартовой страницы
 
|-
 
|-
| fileStorageType || "Db" || используемый тип хранилища
+
| fileStorageType || "Db" || используемый тип хранилища (доступные варианты: 'Db', 'S3')
 
|-
 
|-
 
| fileSizeLimit || 5 || ограничение на размер файлов (в МБ)
 
| fileSizeLimit || 5 || ограничение на размер файлов (в МБ)
Строка 64: Строка 66:
 
|-
 
|-
 
| useFileSignatures || false || нужно ли отображение подписывания файлов в ячейках
 
| useFileSignatures || false || нужно ли отображение подписывания файлов в ячейках
 +
|-
 +
| hideUsersAdmin || false || скрытие админки ролей/юзеров
 +
|-
 +
| hideObjectTypeCreation ||  || скрытие возможности создания объектов указанных типов с главной страницы и кнопки "Создать" в навигаторе (возможные варианты: "Folder", "Dictionary", "Pivot", "Indicator", "Connection", "Calendar", "CalculationMethod", "Workflow", "ClientCard", "ExternalDictionary", "Resource", "File")
 +
|-
 +
| colspan="2" | '''homeExtraButtons''' || коллекция дополнительных кнопок размещаемых рядом с "Перейти к навигатору" на главной странице
 +
|-
 +
|    name || || имя кнопки
 +
|-
 +
|    localizedName || || коллекция имен кнопки для разных локалей
 +
|-
 +
|       locale || || локаль (возможные варианты: 'en','ru','tr')
 +
|-
 +
|       value || || значение имени кнопки для указанной локали
 +
|-
 +
|    objectCode || || код объекта открываемый при клике
 +
|-
 +
|    url || || адрес открываемый при клике
 +
|-
 +
|    isTargetBlank || false || открытие ссылки в новом окне
 +
|-
 +
|    color || || цвет шрифта кнопки, если нужен отличный от дефолтного
 +
|-
 +
|    background || || фон кнопки, если нужен отличный от дефолтного
 
|-
 
|-
 
| colspan="2" | '''env''' || описание конфига
 
| colspan="2" | '''env''' || описание конфига
Строка 96: Строка 122:
 
|-
 
|-
 
|    defaultThemeName || "default" || имя темы по умолчанию, используется если пользователь не менял тему (настройка сохраняется в localStorage и ее можно очистить вместе с cookies)
 
|    defaultThemeName || "default" || имя темы по умолчанию, используется если пользователь не менял тему (настройка сохраняется в localStorage и ее можно очистить вместе с cookies)
 +
|-
 +
|    disableSwitcher || false || отображать ли переключалку тем
 
|-
 
|-
 
|    additionalThemes (УСТАРЕВШЕЕ) ||  || коллекция дополнительных тем
 
|    additionalThemes (УСТАРЕВШЕЕ) ||  || коллекция дополнительных тем
 
|-
 
|-
 
|    themes ||  || коллекция настроек тем (можно как задавать новые темы, так и редактировать встроенные системные)
 
|    themes ||  || коллекция настроек тем (можно как задавать новые темы, так и редактировать встроенные системные)
 +
|-
 +
| colspan="2" | '''audit''' || настройки аудита
 +
|-
 +
|    disableLinks || false || отключить аудит кликов по ссылкам
 +
|-
 +
|    disableFiles || false || отключить аудит скачивания файлов
 
|-
 
|-
 
| colspan="3" style="color:#999 | ''настройки навигатора касающиеся грида/пивота''
 
| colspan="3" style="color:#999 | ''настройки навигатора касающиеся грида/пивота''
Строка 119: Строка 153:
 
| serverWait || 500 || задержка для скрола DataTables прежде чем будут запрашиваться данные ([https://datatables.net/reference/option/scroller.serverWait Datatables API])
 
| serverWait || 500 || задержка для скрола DataTables прежде чем будут запрашиваться данные ([https://datatables.net/reference/option/scroller.serverWait Datatables API])
 
|-
 
|-
| signalRTransport || "WebSockets" || Транспорт для SignalR (доступные варианты: "None", "WebSockets", "ServerSentEvents", "LongPolling"), также можно выключить SignalR через задание транспорта "None"
+
| signalRLogLevel || "Information" || Уровень логирования для SignalR (доступные варианты: "Trace", "Debug", "Information", "Warning", "Error", "Critical", "None"), также можно выключить логирование SignalR указав "None"
 +
|-
 +
| signalRTransport || "WebSockets" || Транспорт для SignalR (доступные варианты: "None", "WebSockets", "ServerSentEvents", "LongPolling"), также можно выключить SignalR указав "None"
 
|-
 
|-
 
| trimValues || false || обрезать пробелы и переводы строки редактируемых значений
 
| trimValues || false || обрезать пробелы и переводы строки редактируемых значений
Строка 134: Строка 170:
 
|-
 
|-
 
|    addTokenToExternalRequests || false || добавлять токен авторизации во внешние запросы (часто бывает нужно при локальной отладке, но может понадобиться и в проектах)
 
|    addTokenToExternalRequests || false || добавлять токен авторизации во внешние запросы (часто бывает нужно при локальной отладке, но может понадобиться и в проектах)
 +
|-
 +
|    disableAuthTokenSending || false || признак, что не нужно слать токен авторизации в бэк (например, когда приложение находится за auth-proxy, т.е. токен ходит в куке, а прокси автоматически отсылает его в бэк; соответственно, вебу токены в запросах слать не нужно)
 
|-
 
|-
 
|    sendNamespaceHeader || false || добавлять заголовок Namespace в запросы к беку
 
|    sendNamespaceHeader || false || добавлять заголовок Namespace в запросы к беку
Строка 143: Строка 181:
 
|    revokeOnLogout || false || настройка для логаута (позволяющая отзывать токен при логауте)
 
|    revokeOnLogout || false || настройка для логаута (позволяющая отзывать токен при логауте)
 
|-
 
|-
| colspan="2" |    '''poibSettings''' || настройки для случая работы с ПОиБ
+
|    loginUrl ||  ||
 +
|-
 +
|    logoutUrl ||  ||
 +
|-
 +
|    tokenEndpoint ||  ||
 +
|-
 +
|    revocationEndpoint ||  ||
 +
|-
 +
|    userinfoEndpoint ||  ||  
 
|-
 
|-
|       accessTokenName ||  ||  
+
|    scope ||  ||  
 
|-
 
|-
| colspan="2" |    '''plainOAuth2''' || настройки для случая работы с plain OAuth2 по http
+
|    oidc ||  ||  
 
|-
 
|-
|       loginUrl ||  ||  
+
|    showDebugInformation ||  || отображение дебажной информации (в консоли) от библиотеки авторизации
 
|-
 
|-
|       logoutUrl ||  ||  
+
|    customQueryParameters ||  || дополнительные параметры в урл сервису авторизации
 
|-
 
|-
|       tokenEndpoint ||  ||  
+
| colspan="2" |    '''passwordFlow''' || настройки для случая работы PasswordFlow, т.е. через логин/пароль
 
|-
 
|-
|       revocationEndpoint ||  ||  
+
|       login ||  ||  
 
|-
 
|-
|       scope ||  ||  
+
|       password ||  ||  
 
|-
 
|-
 
| colspan="2" |    '''multipleNamespaces''' || настройки для мультинеймспейсности
 
| colspan="2" |    '''multipleNamespaces''' || настройки для мультинеймспейсности
 +
|-
 +
|       fullUrlSearch || false || нужно ли искать неймспейс во всем урле (а не только в хосте, как ищется по умолчанию)
 
|-
 
|-
 
|       urlSearchPattern ||  || регулярное выражение для поиска неймспейса в текущем хосте.
 
|       urlSearchPattern ||  || регулярное выражение для поиска неймспейса в текущем хосте.
Строка 177: Строка 225:
 
|-
 
|-
 
|       auth ||  || сервис авторизации
 
|       auth ||  || сервис авторизации
 +
|-
 +
|       calcmanager || "calcmanager" || сервис Единой Модели Расчетов
 
|-
 
|-
 
|       calculation || "engine" || сервис методик
 
|       calculation || "engine" || сервис методик

Текущая версия на 06:47, 22 декабря 2022

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

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

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

  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 Отключение интерфейса добавления/редактирования формул
enableCalculationManager false Включение настройки единой модели расчета
showReportIsDead false Отображение информации о том что инстанс отчета прибит на сервере
gzip false нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip
hideHomePage false скрытие домашней страницы
homePageCode код объекта используемого в качестве стартовой страницы
homePageId (УСТАРЕВШЕЕ) идентификатор объекта используемого в качестве стартовой страницы
fileStorageType "Db" используемый тип хранилища (доступные варианты: 'Db', 'S3')
fileSizeLimit 5 ограничение на размер файлов (в МБ)
languageSwitcher false отображение переключения языков на стартовой странице
languages ["ru", "en"] языки для переключения языков (первый из списка является языком по умолчанию)
limitDictionaryElementsCount 1000 ограничение на количество загружаемых элементов справочника
navigatorSearchMinimumLetters 2 минимальное количество символов для поиска в дереве навигатора
navigatorSearchTimeout 300 таймаут для поиска в дереве навигатора
newObjectFolderCode код объекта для расположения новых объектов
rootName "3V" имя рутовой папки
titleName "Trivium Navigator" заголовок вкладки браузера
useFileSignatures false нужно ли отображение подписывания файлов в ячейках
hideUsersAdmin false скрытие админки ролей/юзеров
hideObjectTypeCreation скрытие возможности создания объектов указанных типов с главной страницы и кнопки "Создать" в навигаторе (возможные варианты: "Folder", "Dictionary", "Pivot", "Indicator", "Connection", "Calendar", "CalculationMethod", "Workflow", "ClientCard", "ExternalDictionary", "Resource", "File")
homeExtraButtons коллекция дополнительных кнопок размещаемых рядом с "Перейти к навигатору" на главной странице
   name имя кнопки
   localizedName коллекция имен кнопки для разных локалей
      locale локаль (возможные варианты: 'en','ru','tr')
      value значение имени кнопки для указанной локали
   objectCode код объекта открываемый при клике
   url адрес открываемый при клике
   isTargetBlank false открытие ссылки в новом окне
   color цвет шрифта кнопки, если нужен отличный от дефолтного
   background фон кнопки, если нужен отличный от дефолтного
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)
   disableSwitcher false отображать ли переключалку тем
   additionalThemes (УСТАРЕВШЕЕ) коллекция дополнительных тем
   themes коллекция настроек тем (можно как задавать новые темы, так и редактировать встроенные системные)
audit настройки аудита
   disableLinks false отключить аудит кликов по ссылкам
   disableFiles false отключить аудит скачивания файлов
настройки навигатора касающиеся грида/пивота
agGridLicence лицензия для AgGrid
defaultGridComponent "DataTables" грид используемый по умолчанию(доступные варианты: DataTables, AgGridViewport, AgGrid)
gridFormulaRowHidden false скрытие строки с формулой над гридом
gridResetEmbeddedFlag false сброс флага areDataEmbedded в пивотах полученных из карточек, для работы с гридом через окна
gridDefaultRowHeight 30 дефолтная высота строк грида
gridDefaultHeaderRowHeight 30 Дефолтная высота строк шапки грида
instantAutoFilterButton false отображать кнопку автофильтра постоянно в шапке грида для всех столбцов
serverWait 500 задержка для скрола DataTables прежде чем будут запрашиваться данные (Datatables API)
signalRLogLevel "Information" Уровень логирования для SignalR (доступные варианты: "Trace", "Debug", "Information", "Warning", "Error", "Critical", "None"), также можно выключить логирование SignalR указав "None"
signalRTransport "WebSockets" Транспорт для SignalR (доступные варианты: "None", "WebSockets", "ServerSentEvents", "LongPolling"), также можно выключить SignalR указав "None"
trimValues false обрезать пробелы и переводы строки редактируемых значений
transposedTableColumnsLimit 100 максимальное количество столбцов (строк пивота) в транспонированной таблице
websocketDisabled (УСТАРЕВШЕЕ) false отключение получения данных через SignalR
настройки сервисов бакенда и авторизации
auth настройки авторизации
   isEnabled false включена ли (выключена бывает при локальной отладке)
   addTokenToExternalRequests false добавлять токен авторизации во внешние запросы (часто бывает нужно при локальной отладке, но может понадобиться и в проектах)
   disableAuthTokenSending false признак, что не нужно слать токен авторизации в бэк (например, когда приложение находится за auth-proxy, т.е. токен ходит в куке, а прокси автоматически отсылает его в бэк; соответственно, вебу токены в запросах слать не нужно)
   sendNamespaceHeader false добавлять заголовок Namespace в запросы к беку
   clientId настройка clientId для сервера авторизации
   clientSecret настройка clientSecret для сервера авторизации
   revokeOnLogout false настройка для логаута (позволяющая отзывать токен при логауте)
   loginUrl
   logoutUrl
   tokenEndpoint
   revocationEndpoint
   userinfoEndpoint
   scope
   oidc
   showDebugInformation отображение дебажной информации (в консоли) от библиотеки авторизации
   customQueryParameters дополнительные параметры в урл сервису авторизации
   passwordFlow настройки для случая работы PasswordFlow, т.е. через логин/пароль
      login
      password
   multipleNamespaces настройки для мультинеймспейсности
      fullUrlSearch false нужно ли искать неймспейс во всем урле (а не только в хосте, как ищется по умолчанию)
      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 сервис авторизации
      calcmanager "calcmanager" сервис Единой Модели Расчетов
      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 то автопродление отключено