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 Путь к изображению, которое отображается в верхнем левом углу над списком объектов.
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","Twitter"],
    "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. При открытии объекта использовать кэшированную версию объекта.

logToConsole

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

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

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

showMessageForUnhandledError

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

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

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

authentication

Способ авторизации. Допустимые значения:

  • IntegratedDomain. Интегрированная доменная авторизация. Для авторизации будет использован доменный пользователь, под которым был совершен вход в операционную систему.

При указании типа «IntegratedDomain» на форме авторизации не отображаются поля для ввода имени пользователя и пароля.

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

  • OAuth. Парольная авторизация или авторизация через протокол OAuth 2.0. При указании типа «OAuth» на форме авторизации дополнительно к полям ввода имени пользователя и пароля будут отображены кнопки для авторизации через внешние сервисы, перечисленные в поле allowOauthProviders.

Для использования парольной авторизации необходимо ввести имя пользователя и пароль в соответствующие поля.

Для использования внешнего сервиса авторизации необходимо перейти на сервис с помощью соответствующей кнопки. На форме, предоставленной сервисом, указываются имя пользователя и пароль учетной записи внешнего сервиса;

  • Не указано, пустое или любое другое значение. Парольная авторизация. Отображается стандартная форма авторизации с полями для ввода имени пользователя и пароля.

allowOauthProviders

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

Значения указываются в квадратных скобках через запятую. Например:

"allowOauthProviders" : ["FCC","Twitter"]

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

autoStartOauthProvider

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

"autoStartOauthProvider": "FCC"

где:

Если в поле autoStartOauthProvider будет указан незарегистрированный сервис, или его не будет в перечислении allowOauthProviders, автоматическая переадресация не произойдёт.

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

useDefaultUserOauth

Признак, который определяет, под каким пользователем происходит подключение к репозиторию при авторизации по протоколу OAuth 2.0: под пользователем по умолчанию или под конкретным пользователем, который проходил авторизацию на внешнем сервере. Необязательный атрибут. Если атрибут не указан, используется значение по умолчанию.

Для авторизации по протоколу OAuth 2.0 в атрибуте authentication должно быть указано значение «OAuth». Также должны быть выполнены настройки, описанные в статье «Настройка входа через OAuth». Возможные значения:

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

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

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 с моникёром открытой сессии.

См. также:

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