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

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

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

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

  • пользовательская тема проекта – если используется в экспортируемом проекте;
  • виджеты – если используются в проекте;
  • пользовательские компоненты виджетов – если используются в экспортируемых виджетах;
  • 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. Нажмите кнопку «Заменить или добавить данные», далее используйте любой вариант
Датасет заполнится данными**
Объединение прямым подключением к источникуСуществует источник с таким же названием, как на стенде экспорта*Датасет заполнится данными автоматически
Не существует источника с таким же названием, как на стенде экспорта*
  1. Создайте на целевом стенде источник с таким же названием, как на стенде экспорта.
  2. Повторите импорт с вариантом «Заменить существующие»
Датасет заполнится данными автоматически

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

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

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

Предусловие

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

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

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

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

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

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

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

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

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

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

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

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

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

Предусловие

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

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

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

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

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

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

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

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

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

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

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

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

  • Нет меток