DBA.config.json

В файле DBA.config.json хранятся настройки, влияющие на работу веб-версии бизнес-приложения. По умолчанию файл имеет следующую структуру:

{
  "targetRepo": "ID_REPO",
  "targetApp": "ID_APP",
  "ppServiceUrl": "",
  "locale": ["ru"],
  "refreshMetabaseOnLogon": "true",
  "repositories": {
    "ID_REPO": {
      "repoIdent": "ID_REPO",
      "apps": {
        "ID_APP": {
          "appIdent": "ID_APP",
          "breadcrumbRootTitle": "FORESIGHT. Бизнес приложение",
          "mainMenuLogo": "assets/design/img/PPlogo_menuheader.png",
          "pageMetadataLogo": "assets/design/img/PPlogo_login.png"
        }
      }
    }
  }
}

Описание полей

Ниже приведён список полей, которые присутствуют в JSON-структуре по умолчанию:

Поле Описание
targetRepo Идентификатор репозитория, к которому осуществляется подключение по умолчанию. В качестве значения укажите идентификатор одного из репозиториев, настройки которого имеются в группе repositories.
targetApp Идентификатор бизнес-приложения, которое будет открыто. В качестве значения укажите идентификатор одного из бизнес-приложений, настройки которого имеются в группе apps репозитория, указанного в targetRepo.
ppServiceUrl URL-адрес BI-сервера, с которым будет взаимодействовать бизнес-приложение для получения данных.

locale

Массив, содержащий двухбуквенные коды языков, на которые может быть переключён интерфейс. По умолчанию в массив включён только один элемент, соответствующий русскому языку. Если в массив добавить какие-либо дополнительные языки, то на стартовой странице, где осуществляется авторизация в репозитории, в нижней части будут доступны гиперссылки для переключения языка интерфейса.
refreshMetabaseOnLogon Признак автоматического обновления содержимого репозитория после подключения пользователя. Допустимые значения:
  • true. Обновлять содержимое репозитория. При обновлении репозитория запрашиваются и кэшируются описания используемых объектов репозитория;

  • false. Значение по умолчанию. Не обновлять содержимое репозитория. Используются кэшированные описания объектов репозитория или загружаются только те, которые необходимы для построения стартовой страницы бизнес-приложения.

repositories Данные о репозиториях, к которому осуществляется подключение. В данном разделе могут быть созданы несколько подразделов ID_REPO.
ID_REPO Раздел с информацией о репозитории. Наименование поля должно совпадать со значением, указываемым в поле repoIdent.
repoIdent Идентификатор репозитория. Значение поля должно совпадать с названием раздела ID_REPO.
apps Данные о бизнес-приложении. В данном разделе могут быть созданы несколько подразделов ID_APP.
ID_APP Раздел с информацией о бизнес-приложении. Наименование поля должно совпадать со значением, указываемым в поле appIdent.
appIdent Идентификатор бизнес-приложения в репозитории. Значение поля должно совпадать с названием раздела ID_APP.
breadcrumbRootTitle Заголовок, который будет выводиться в корневом элементе строки навигации.
mainMenuLogo Путь к изображению, которое отображается в верхнем левом углу над списком объектов при развёрнутом боковом меню.
mainMenuLogoMini Путь к изображению, которое отображается в верхнем левом углу над списком объектов при свёрнутом боковом меню.
pageMetadataLogo Путь к изображению, которое отображается над полями логина и пароля.

Также в JSON-структуру на корневом уровне можно включить дополнительные поля, которые будут обрабатываться и влиять на работу веб-приложения. Данные поля имеют значения по умолчанию, которые применяются, если поле отсутствует в структуре:

{
    ...
    "ping": 10000,
    "ppLibUrl": "assets/platform_modules",
    "ribbonAutoHiding": true,
    "externalJs": [],
    "externalCss": [],
    "onCloseQuery": "",
    "isSendLogToBI": "false",
    "showNavGroupFirstElement": "false",
    "clearMetabaseObjectsCacheOnOpen": "true",
    "logToConsole": "true",
    "showMessageForUnhandledError": "true",
    "authentication": "OAuth",
    "allowOauthProviders": ["FCC", "Keycloak"],
    "autoStartOauthProvider": "FCC",
    "useDefaultUserOauth": "true",
    "plugins": [
        {
            "Type": "PP.Ui.Prx.MyLabel",
            "Path": "../plugins/MyLabel.js",
            "Css": "../plugins/MyLabel.css",
            "Name": "MyLabel",
            "Loaded": true
        },
        {
            ...
        }
    ],
    "modules" : {
        "CLASS":{
            "url": "http://project/app/olap.html",
            "urlSettings":
                {
                  "isRepo": true,
                  "isClass": true,
                  "mode": "edit",
                  "isConnectionId": true
                }
           }
        ...
    }
    ...
 }

Описание полей:

Поле Описание
ping Время, через которое выполняется проверка соединения с BI-сервером, в миллисекундах. Если значение поля не задано или установлено значение меньше 0, то будет использоваться значение по умолчанию - 120000 миллисекунд (2 минуты). Если установлено значение 0, то после открытия репозитория будет отправлен единственный запрос на проверку соединения с BI-сервером.
ppLibUrl Путь до библиотек продукта «Форсайт. Аналитическая платформа», которые используются при работе бизнес-приложения. По умолчанию используется относительный путь «assets/platform_modules», который ищется в папке с установленной серверной частью расширений.

ribbonAutoHiding

Признак автоматического скрытия ленты инструментов при работе с инструментами в бизнес-приложении. Допустимые значения:

  • true. Скрывать ленту инструментов, отображать только названия вкладок;

  • false. Не скрывать ленту инструментов.

При первом открытии бизнес-приложения значение поля будет загружено на компьютер пользователя. Пользователь может изменить режим работы ленты инструментов, при этом выбранный режим будет использоваться во всех инструментах в рамках текущей сессии пользователя.
externalJs Массив URL-адресов до внешних js-файлов, которые будут загружены перед инициализацией бизнес-приложения. По умолчанию никакие внешние js-файлы не загружаются.
externalCss Массив URL-адресов до внешних css-файлов, которые будут загружены перед инициализацией бизнес-приложения. По умолчанию никакие внешние css-файлы не загружаются.
onCloseQuery

Внешний обработчик событий, который наступает при закрытии объекта, входящего в состав бизнес-приложения. В качестве обработчика событий используется функция, написанная на языке JavaScript.

Укажите URL-адрес до внешнего js-файла с функцией одним из способов:

  • используйте поле externalJs;

  • загрузите файл на странице «Разметка и оформление» в окне «Бизнес-приложение <наименование объекта>».

В поле onCloseQuery укажите наименование используемой функции в формате:

javascript:<наименование функции(args)>

Например:

javascript:<onCloseQuery(args)>

Пример внешнего js-файла с функцией onCloseQuery:

function onCloseQuery(args)
{
  console.log('onCloseQuery');
  console.log(args);
  console.log(args.instance.getReport());
  // Скроем окно подтверждения действия для сохранения изменённых данных при закрытии объекта
  args.instance.isDirty = false;
}

При выполнении примера будут получены настройки текущего регламентного отчёта, формы ввода или экспресс-отчёта с помощью метода getReport. При закрытии объекта будет скрыто окно подтверждения действия для сохранения изменённых данных с помощью свойства isDirty. По умолчанию все изменения сохраняются.

Для получения настроек конкретного класса объектов «Форма ввода/вывода» используйте свойство class со значением «2103041» вместо метода getReport, например:

function onCloseQuery(args)
{
  console.log('onCloseQuery');
  console.log(args);
  if (args.instance.class === 2103041)
    // Скроем окно подтверждения действия для сохранения изменённых данных при закрытии объекта
    args.instance.isDirty = false;
}

Примечание. Идентификатор класса объектов «2103041» может меняться в зависимости от репозитория.

isSendLogToBI

Признак логирования операций, который бизнес-приложение отправляет на BI-сервер. По умолчанию логирование выключено. При установке значения true лог выполняемых операций будет вестись на BI-сервере.

showNavGroupFirstElement

Признак отображения первого дочернего элемента при переходе по группам меню. Допустимые значения:

  • true. При выборе элемента, содержащего дочерние элементы, открывается первый дочерний элемент. Выбрать родительский элемент нельзя.

  • false. Значение по умолчанию. При выборе родительского элемента отображается список его дочерних элементов, при выборе дочернего элемента - открывается его содержимое.

clearMetabaseObjectsCacheOnOpen

Признак очистки кэша объекта при открытии. Допустимые значения:

  • true. Значение по умолчанию. При открытии объекта репозитория очищать его версию в кэше и загружать в кэш актуальную версию.

  • false. При открытии объекта использовать кэшированную версию объекта.

clientPDFExport

Признак определения принципа экспорта аналитической панели в документ PDF (*.pdf). Допустимые значения:

  • true. В результирующем файле блоки аналитической панели будут располагаться на одной странице и отображаться так же, как в конструкторе бизнес-приложений в момент экспорта;

  • false. Значение по умолчанию. В результирующем файле блоки аналитической панели будут располагаться на отдельных страницах и отображаться в соответствии с параметрами страницы.

logToConsole

Признак вывода ошибок в консоль браузера. Допустимые значения:

  • true. Значение по умолчанию. Выводить ошибки в консоль браузера.

  • false. Не выводить ошибки в консоль браузера.

showMessageForUnhandledError

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

  • true. Значение по умолчанию. Показывать сообщение с ошибками.

  • false. Не показывать сообщение с ошибками.

authentication

Тип аутентификации:

  • IntegratedDomain. Интегрированная доменная. Аутентификация пользователя производится с использованием доменного имени пользователя и пароля (текущей учётной записи ОС).

Если используется данный тип аутентификации, то в окне регистрации не будут отображаться поля для ввода имени пользователя и пароля. Также дополнительно должен быть добавлен доменный пользователь в менеджере безопасности, выбран тип аутентификации «Интегрированная доменная» в настройках подключения к репозиторию и настроена доменная аутентификация на веб-сервере ASP.NET;

  • OAuth. Аутентификация пользователя производится под учётной записью сервисов, поддерживающих протокол OAuth 2.0 или OpenID. Для использования данного типа аутентификации обратитесь к разделу «Настройка входа через внешние сервисы».

Если используется данный тип аутентификации, то дополнительно задайте обязательный атрибут allowOauthProviders и необязательные атрибуты autoStartOauthProvider, useDefaultUserOauth при необходимости.

Если поле принимает пустое значение или оно не задано, то используется парольный тип аутентификации. Аутентификация пользователя производится при указании имени пользователя и пароля в явном виде.

allowOauthProviders

Массив наименований сервисов авторизации, учётные записи которых можно использовать для входа в веб-приложение. Поле является обязательным, если поле authentication принимает значение «OAuth».

Допустимые значения определяются тем, какие сервисы заданы при настройке параметров для протокола OAuth/OpenID, и указываются в квадратных скобках через запятую. Например:

"allowOauthProviders" : ["FCC","Keycloak"]

autoStartOauthProvider

Порядковый номер сервиса авторизации, указанного в массиве поля allowOauthProviders. Например:

"autoStartOauthProvider": "FCC"

На выбранный сервис будет выполняться автоматическая переадресация при попытке входа в веб-приложение с использованием протокола OAuth или OpenID. Если в качестве значения поля используется сервис, который не содержится в поле allowOauthProviders, то автоматическая переадресация выполняться не будет.

Поле является необязательным. При его использовании убедитесь, что поле authentication принимает значение «OAuth».

useDefaultUserOauth

Признак, который определяет, под каким пользователем происходит подключение к репозиторию при авторизации через протокол OAuth или OpenID:

  • true. По умолчанию. Подключение к репозиторию выполняется под пользователем по умолчанию, учётные данные которого были сохранены с помощью утилиты PP.Util;

  • false. Подключение к репозиторию выполняется под конкретным пользователем, авторизовавшемся на внешнем сервере. Если используется данное значение, то учётные данные каждого пользователя для каждого репозитория должны быть сохранены с помощью утилиты PP.Util. Для получения подробной информации о сохранении учётных данных пользователя обратитесь к разделу «Настройка входа через внешние сервисы».

Поле является необязательным. При его использовании убедитесь, что поле authentication принимает значение «OAuth».

plugins

Подключение дополнительных плагинов. Для получения подробной информации о создании плагина обратитесь к разделу «Создание плагина».

Поле содержит настройки подключения плагинов:

  • Type. Идентификатор плагина или тип картографического сервиса.

При подключении плагина к инструментам идентификатор должен соответствовать типу экземпляра объекта:

При подключении внешних картографических сервисов к карте должен быть указан тип картографического сервиса:

    • PP.Yandex. Для Яндекс-карты;

    • PP.Bing. Для Bing-карты;

    • PP.ArcGis. Для ArcGis-карты;

    • PP.OpenStreetMap. Для OpenStreetMap-карты;

    • PP.Google. Для Google-карты.

  • Path. Путь к JS-файлу плагина относительно папки установки конструктора бизнес-приложений;

  • Css. Путь к CSS-файлу со стилями плагина относительно папки установки конструктора бизнес-приложений;

  • Name. Наименование плагина;

  • Loaded. Способ загрузки плагина:

    • true. Плагин загружается сразу;

    • false. Плагин загружается по требованию.

Примечание. Значение false используется только при подключении плагина к аналитической панели.

  • Params. Дополнительные параметры. Поле должно содержать поле Param с параметрами:

    • при подключении внешнего картографического сервиса к карте:

      • Name. Значение «APIKey»;

      • Value. Значение ключа API.

Примечание. Атрибуты раздела задаются, если для плагинов внешних картографических сервисов требуется использование ключа API.

modules

Параметры открытия объектов в веб-версии бизнес-приложения. В данном разделе могут быть созданы несколько подразделов CLASS.

CLASS

Раздел с информацией об открытии объекта заданного класса. Наименование поля должно соответствовать числовому значению класса объекта, для которого определяются параметры открытия. Числовое значение класса объекта можно получить в перечислении MetabaseObjectClass.

url

Ссылка на страницу веб-приложения для открытия объекта.

urlSettings

Параметры, которые также будут передаваться в открываемую url страницу.

isRepo

Передавать параметр repo с наименованием текущего открытого репозитория.

isClass

Передавать параметр class со значением класса объекта.

mode

Передавать параметр mode, определяющий режим открытия объекта. Может принимать значение edit (объект открывается на редактирование) и view (объект открывается на просмотр). Если поле не указано, то объект будет открываться на просмотр.

isConnectionId

Передавать параметр ConnectionId с моникёром открытой сессии.

См. также:

Установка и настройка серверной части расширений