Импорт дашбордов из версии 2.х

Об импорте дашбордов

Вы можете импортировать дашборды, созданные во второй версии, начиная с версии 2.30. Это значительно упрощает процедуру переноса проектов из второй версии платформы в третью.

Импорт инициируется с помощью API-запроса. При переносе дашбордов импортируются также стили и пользовательские виджеты, которые используются на дашборде. При этом данные, настроенные во второй версии, не будут отображаться в третьей версии. После импорта дашбордов вам потребуется настроить данные повторно. После того, как вы настроите данные, все визуальные настройки, заданные для виджетов во второй версии, будут применены ко всем виджетам импортированного дашборда. Иными словами, все, что вам нужно будет сделать после переноса дашбордов – это настроить данные. Вам не нужно будет корректировать визуальные настройки.

Импортируются все дашборды, расположенные на указанном сервере. При необходимости администратор затем может удалить ненужные дашборды из базы данных, либо вы можете удалить их самостоятельно из интерфейса платформы (при наличии соответствующих прав).

Процедура импорта

Получение токена

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

  1. Откройте в браузере рабочую область, в которую вы будете импортировать дашборды и нажмите на клавиатуре F12, чтобы открыть инструменты разработчика.

  2. Перейдите на вкладку Application:

     

  3. В панели слева перейдите в Storage >Session storage и выберите адрес своего сервера:

     

  4. В панели справа скопируйте значение access_token и сохраните его куда-нибудь – оно вам скоро пригодится:

Получение логина и пароля для подключения к Mongo

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

container_id=$(docker ps | grep visiology2_mongo | awk '{ print $1 }'); \ docker exec ${container_id} ls /run/secrets | \ xargs -I {} docker exec -i ${container_id} sh -c 'echo -n "{}: "; cat /run/secrets/{}; echo ""'

В ответ придут строки, содержащие пароль (MONGO_AUTH_PASSWORD) и логин (MONGO_AUTH_USER). Например:

MONGO_AUTH_PASSWORD: bjUIeITPi2c0KVOaHejOcjKYxdkkbuUr MONGO_AUTH_USER: PRb6PsfDTWmQDKgHpV3K50CMKWYo8zVL

Сохраните их куда-нибудь – они вам пригодятся при введении запроса.

Импорт дашбордов

Теперь, чтобы импортировать дашборды, необходимо отправить POST запрос на сервер по адресу http(s)://<domain>/v3/dashboard-service/api/workspaces/WORKSPACE_ID/visiology2/import

где –

<domain> – домен или IP-адрес сервера платформы;

WORKSPACE_ID – идентификатор рабочего пространства, в котором будут находиться импортированные дашборды. Взять его можно из адресной строки:

Пример запроса в Postman:

POST http://192.168.48.81/v3/dashboard-service/api/workspaces/12dd227e-8ff2-4c76-9c17-59a57d27022d/visiology2/import

 

Key

Value

 

Key

Value

Authorization

Bearer Token

Токен доступа, полученный из браузера (см выше).

Body

raw

Можно отправить запрос двумя способами:

Способ 1

  1. Если версии 2 и 3 установлены на одном сервере, можно порт не открывать и отправить следующий запрос:

{     "MongoDbConnectionString": "mongodb://LOGIN:PASSWORD@mongodb:27017/?authMechanism=SCRAM-SHA-1&authSource=VisiologyVA",     "DatasetId": "90b6f339-d5a9-44d8-8aa3-741de1c0a249" }

где –

MongoDbConnectionString – подключение к базе данных из версии платформы 2.х;

LOGIN – для подключения к Mongo, полученный ранее (см. выше);

PASSWORD – пароль для подключения к Mongo, полученный ранее (см. выше);

DatasetId – идентификатор набора данных, к которому должны быть привязаны импортированные дашборды. Найти его можно в адресной строке:

Способ 2

Если порт Mongo открыт, то можно отправит такой запрос:

где domain – адрес базы данных из версии платформы 2.х.

После ввода всех необходимых параметров, отошлите запрос:

В ответ на запрос придут идентификаторы и названия импортированных дашбордов, тем и пользовательских виджетов:

Просмотр импортированных дашбордов

Для просмотра импортированных дашбордов на платформе, перейдите на вкладку Дашборды рабочей области, в которую вы импортировали дашборды:

Щелчок по названию дашборда откроет окно редактирования дашборда. Все виджеты будут “пусты”. Вам нужно будет настроить данные повторно:

После настройки данных виджеты будут отображаться так же, как в версии 2.х.

Особенности импорта

При импорте дашбордов необходимо учитывать следующие особенности:

  • Один запрос импортирует все дашборды, темы и пользовательские виджеты с указанного сервера.

  • Запрос может выполнить только пользователь с ролью globaladmin.

  • В ответе на запрос приходят идентификаторы и названия всех импортированных сущностей.

  • Повторный импорт тех же сущностей невозможен, так как произойдет конфликт идентификаторов.

  • Если виджет не поддерживается в Visiology 3, то он не импортируется (поддерживаемые пользовательские виджеты импортируются).

  • Пользовательские виджеты на дашборде (если у них не изменился код) должны ссылаться кодом на темплейт пользовательского кода.

  • У всех виджетов должен быть код (неважно, был он изменен или нет).

  • Тема, которая применена к виджету, импортиртируется, но она не будет применена к дашборду.

  • Главная тема из версии 2.х будет применена ко всем импортированным дашбордам. Если такой темы не существует, то будет применена системная тема из Visiology 3.

  • Если в запросе указать неправильный идентификатор рабочего пространства, произойдет ошибка.

  • Внешние JS библиотеки для пользовательских виджетов необходимо переносить вручную.

  • При попытке импортировать пользовательский виджет с названием, которое уже используется для пользовательского виджета в Visiology 3, произойдет ошибка.


Смотрите также

Создание дашбордов