Общие сведения

Функциональность экспорта и импорта позволяет экспортировать проект в файл и импортировать проект из файла.

Выполнение экспорта и импорта доступно только учетным записям с ролью Суперпользователя. 

В файл экспорта сохраняется сам проект – с его свойствами, настройками, содержимым, и настройками содержимого, – и связанные с этим проектом сущности приложения с их настройками:

  • пользовательская тема проекта – если используется в экспортируемом проекте;
  • виджеты – если используются в проекте;
  • пользовательские компоненты виджетов – если используются в экспортируемых виджетах;
  • SVG-объекты – если используются в проекте;
  • глобальные фильтры – если используются в проекте;
  • датасеты без данных* – если используются в компонентах проекта;
  • группы пользователей без пользователей** – если используются в настройках прав доступа перечисленных выше сущностей.

* Данные датасетов не сохраняются экспортом. После импорта проекта, для затронутых импортом датасетов необходимо выполнять восстановление данных.

Обратите внимание!

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

** После импорта проекта, в создаваемых импортом группах пользователей необходимо настраивать вручную состав пользователей.

При импорте должно соблюдаться соответствие версий модулей приложения.

Импортом можно создавать новые сущности или заменять существующие, если названия импортируемых и существующих сущностей совпадают. При этом заменяются параметры сущностей, а связи с другими сущностями приложения актуализируются.

Функциональность экспорта и импорта НЕ предусматривает копирования:

  • базовых компонентов виджетов – базовые компоненты виджетов должны присутствовать на стенде, в который импортируется проект;
  • данных датасетов – данные в датасет требуется восстанавливать после импорта;
  • источников – источники необходимо создавать вручную.

Экспорт проекта

1. Авторизуйтесь в системе под учетной записью с ролью Суперпользователя.

2. Перейдите в модуль Dashboards, раздел «Проекты».

3. Нажмите для соответствующего проекта кнопку действий «» и выберите в меню вариант «Экспортировать». Об успешном запуске экспорта сообщает нотификация «Выполняется экспорт проекта».

4. Когда файл экспорта сформирован, поступает соответствующее уведомление. Откройте окно уведомлений, найдите уведомление «Экспорт проекта завершен» и нажмите в нём кнопку «Скачать файл».

Уведомление о завершении формирования файла экспорта

Пример экспорта

Предусловие

Есть проект с тремя слоями, которые называются: «Таблица», «Виджеты» и «SVG».

На слое «Таблица» размещены таблица и глобальный фильтр GF1, связанный с этой таблицей. В таблице и фильтре используется один и тот же датасет, полученный через SQL-запрос из источника postgresql.

На слое «Виджеты» размещены два виджета. В первом виджете используется тот же датасет, что в таблице и фильтре на слое «Таблица». Во втором виджете используется датасет, полученный из файла. По виджетам настроена детализация: от первого – детализация на слой «Таблица», с передачей значения в глобальный фильтр GF1, от второго – на слой «SVG», с передачей значения в глобальный фильтр GF2. Кроме того, во втором виджете используется пользовательский компонент.

На слое «SVG» размещены компоненты проекта SVG-объект и глобальный фильтр GF2, связанный с SVG-объектом. В объекте и фильтре используется один и тот же датасет, полученный из файла. Тот же датасет используется во втором виджете на слое «Виджеты». По SVG-объекту настроена детализация на другой проект стенда.

В проекте используется пользовательская тема.

Для всех названных сущностей, поддерживающих настройку прав доступа, настроены права доступа через одну и ту же группу пользователей.

Результат экспорта

Для проекта из предусловия в файл экспорта сохранятся данные о:

  • проекте, его слоях и их настройках, а также размещенных на этих слоях компонентах и настройках этих компонентов;
  • пользовательской теме проекта;
  • двух глобальных фильтрах;
  • двух виджетах;
  • пользовательском компоненте виджета;
  • SVG-объекте;
  • датасете из источника postgresql (связи, название источника, набор и типы данных колонок);
  • датасете из файла (связи, набор и типы данных колонок);
  • группе пользователей и её настройках прав доступа (к проекту, пользовательской теме проекта, виджетам, пользовательскому компоненту виджета, глобальным фильтрам, датасетам), без входящих в неё пользователей;
  • версиях модулей, которые необходимы для работы сохраненных объектов.

Обратите внимание!

Для файла экспорта рассчитывается хеш-сумма, которую система проверяет при импорте. Любое изменение в файле приведёт к отказу в импорте.

Импорт проекта

Подготовка к импорту

1. Убедитесь, что соблюдается соответствие версий модулей приложения. Откройте архивный файл экспорта, откройте корневой файл versions. Сравните указанные в файле версии модулей с версиями модулей на целевом стенде (Manager → Настройки → Модули). Отличие в версиях модулей приведёт к непредсказуемому поведению приложения в отношении затронутых импортом сущностей.

2. Если импортируемый проект содержит виджеты, которые используют базовые компоненты, убедитесь, что эти компоненты присутствуют как базовые на целевом стенде (Dashboards → Библиотека компонентов → Компоненты).
Отсутствие базовых компонентов приведёт к необходимости настраивать вручную созданные импортом виджеты.

3. Если импортируемый проект использует датасеты, которые созданы SQL-запросом или прямым подключением, убедитесь, что на целевом стенде существуют одноимённые источники, из которых вы сможете восстановить данные датасета (Manager → Источники).

4. Если импортируемый проект содержит датасеты, которые созданы из файлов, убедитесь, что в вашем распоряжении есть эти файлы.

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

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

Если при импорте совпадение по названию проекта или слоя не находится, ссылка детализации остаётся в неизменённом виде и её необходимо настраивать вручную.

Импорт

1. Авторизуйтесь в системе под учетной записью с ролью Суперпользователя.

Все сущности, затрагиваемые импортом, создаются с авторством учётной записи, от имени которой выполняется импорт.

2. Перейдите в модуль Dashboards, раздел «Проекты».

3. Нажмите кнопку «Добавить». В открывшемся модальном окне «Добавление проекта» выберите вариант «Импорт», чтобы перейти к шагу выбора файла импорта.

Модальное окно «Добавление проекта»

4. В открывшемся модальном окне «Импорт проекта» нажмите кнопку «Загрузить». Выберите файл экспорта, дождитесь появления в окне надписи «Файл успешно загружен». Включите параметр «Импортировать группы пользователей» при необходимости. Когда параметр включен, импортируются группы пользователей, используемые в правах доступа прочих импортируемых сущностей.

5. Нажмите кнопку «Импортировать», чтобы запустить импорт.

Модальное окно «Импорт проекта»

6. Перед запуском импорта система проверяет на совпадения названия существующих сущностей с названиями сущностей из файла экспорта. При обнаружении одного и более совпадений открывается модальное окно «Импорт проекта» с соответствующим предупреждением и вариантами действий.

Выбор действия при совпадении названий объектов

    1. При выборе варианта «Заменить текущие», существующие сущности, названия которых совпадают с названиями сущностей из файла экспорта, заменяются сущностями из файла экспорта и создаются прочие связанные сущности.

    2. При выборе варианта «Сохранить обе», сущности из файла экспорта, названия которых совпадают с существующими сущностями, создаются с прибавлением индекса к названию, и создаются прочие связанные сущности. Индекс прибавляется к названиям по следующему правилу.
Существующие объектыИмпортируемый объектСозданный объект
НазваниеНазваниеНазвание 1

Название

Название 1

НазваниеНазвание 2
Название 1Название 1Название 1 1

Название 1

Название 1 1

Название 1Название 1 2

7. Восстановите данные в затронутых импортом датасетах. Перейдите в модуль Manager, раздел «Датасеты». Для каждого датасета выберите подходящий вариант из следующих.

Способ получения датасетаПредусловие на целевом стендеНеобходимые действияРезультат
SQL-запрос к источникуСуществует источник с таким же названием, как на стенде экспорта*Нажмите для датасета кнопку действий и выберите вариант «Обновить»Датасет заполнится данными**
Не существует источника с таким же названием, как на стенде экспорта*
  1. Откройте настройки датасета.
  2. Перейдите на вкладку «SQL-запрос».
  3. Выберите требуемый источник.
  4. Нажмите кнопку «Выполнить запрос»
Датасет заполнится данными**
Загрузка файла
  1. Откройте настройки датасета.
  2. Нажмите кнопку «Заменить или добавить данные», далее используйте любой вариант
Датасет заполнится данными**
Объединение из локального хранилищаВосстановление данных для такого датасета невозможно
Объединение прямым подключением к источникуСуществует источник с таким же названием, как на стенде экспорта*Датасет заполнится данными автоматически
Не существует источника с таким же названием, как на стенде экспорта*
  1. Создайте на целевом стенде источник с таким же названием, как на стенде экспорта.
  2. Повторите импорт с вариантом «Заменить существующие»
Датасет заполнится данными автоматически

* Когда источник с таким же названием существует, затрагиваемый импортом датасет автоматически связывается с ним, и название источника отображается для датасета в реестре, в колонке «Источник».

** Если набор или тип данных полученных колонок отличается, разрешите конфликты связей вручную.

Пример импорта с созданием объектов

Предусловие

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

На целевом стенде нет совпадений в названиях с импортируемыми сущностями.

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

На целевом стенде есть проект со слоем, названия которых совпадают с названиями проекта и слоя, на который настроена детализация по SVG-объекту.

Результат импорта с созданием объектов

На целевом стенде созданы:

  • проект – с тремя слоями и размещенными на этих слоях компонентами, с сохранением настроек этих компонентов (оформление, детализация по виджетам и SVG-объекту*, локальные настройки глобальных фильтров);
  • пользовательская тема проекта;
  • два глобальных фильтра;
  • два виджета;
  • пользовательский компонент второго виджета;
  • SVG-объект;
  • датасет из источника postgresql – без данных;
  • датасет из файла – без данных;
  • группа пользователей с настройками прав доступа (к проекту, пользовательской теме проекта, виджетам, пользовательскому компоненту виджета, глобальным фильтрам, датасетам)  – без пользователей.

* Ссылка детализации по SVG-объекту автоматически скорректирована в соответствии с найденным проектом, название которого совпадает с названием проекта, на который настроена детализация (см. предусловие).

Необходимые после импорта действия

Перейти в модуль Manager, раздел «Датасеты», где:

  • для датасета из источника postgresql нажать кнопку действий и выбрать вариант «Обновить»;
  • для датасета из файла нажать кнопку настроек, на странице настройки нажать кнопку «Заменить или обновить данные», далее следовать процедуре замены или добавления данных (см. Руководство пользователя модуля Manager → «Датасеты» → «Настройка датасета» → «Замена данных датасета»).

Перейти в модуль Manager, раздел «Группы», где в группу пользователей добавить пользователей.

Пример импорта с заменой существующих объектов при совпадении названий

Предусловие

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

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

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

На целевом стенде есть проект, название которого совпадает с названием проекта, на который настроена детализация по SVG-объекту.

Результат импорта с заменой существующих объектов

На целевом стенде:

  • заменён существующий проект – изменилось его содержимое и все связанные с содержимым настройки (оформление, детализация по виджетам и SVG-объекту*, локальные настройки глобальных фильтров);
  • создана пользовательская тема проекта и применена к заменённому проекту;
  • заменены два глобальных фильтра – добавились новые связи с созданными импортом проекта сущностями, а также изменились их настройки: ключ, тип, отображение, условие, значение по умолчанию;
  • созданы два виджета;
  • создан пользовательский компонент второго виджета;
  • создан SVG-объект;
  • заменён датасет из источника postgresql – изменился SQL-запрос, установлена привязка к другому источнику, добавлены новые связи с созданными импортом проекта сущностями;
  • создан датасет из файла – без данных;
  • заменена группа пользователей – добавились новые настройки доступа для созданных импортом проекта сущностей.

* Ссылка детализации по SVG-объекту автоматически скорректирована в соответствии с найденным проектом, название которого совпадает с названием проекта, на который настроена детализация (см. предусловие).

Необходимые после импорта действия

Перейти в модуль Manager, раздел «Датасеты», где:

  • для датасета из источника postgresql нажать кнопку действий и выбрать вариант «Обновить»;
  • для датасета из файла нажать кнопку настроек, на странице настройки нажать кнопку «Заменить или обновить данные», далее следовать процедуре замены или добавления данных (см. Руководство пользователя модуля Manager → «Датасеты» → «Настройка датасета» → «Замена данных датасета»).

Перейти в модуль Manager, раздел «Группы», где в группу пользователей добавить пользователей, если необходимо.

  • Нет меток