Общие сведения
Функциональность экспорта и импорта позволяет экспортировать проект в файл и импортировать проект из файла.
Выполнение экспорта и импорта доступно только учетным записям с ролью Суперпользователя.
В файл экспорта сохраняется сам проект – с его свойствами, настройками, содержимым, и настройками содержимого, – и связанные с этим проектом сущности приложения с их настройками:
- пользовательская тема проекта – если используется в экспортируемом проекте;
- виджеты – если используются в проекте;
- пользовательские компоненты виджетов – если используются в экспортируемых виджетах;
- 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 |
Название Название 1 | Название | Название 2 |
Название 1 | Название 1 | Название 1 1 |
Название 1 Название 1 1 | Название 1 | Название 1 2 |
–
7. Восстановите данные в затронутых импортом датасетах. Перейдите в модуль Manager, раздел «Датасеты». Для каждого датасета выберите подходящий вариант из следующих.
Способ получения датасета | Предусловие на целевом стенде | Необходимые действия | Результат |
---|---|---|---|
SQL-запрос к источнику | Существует источник с таким же названием, как на стенде экспорта* | Нажмите для датасета кнопку действий и выберите вариант «Обновить» | Датасет заполнится данными** |
Не существует источника с таким же названием, как на стенде экспорта* |
| Датасет заполнится данными** | |
Загрузка файла в локальное хранилище | – |
| Датасет заполнится данными** |
Объединение из локального хранилища | – | Для каждого датасета, используемого в объединенном датасете:
| Датасет заполнится данными** |
Объединение прямым подключением к источнику | Существует источник с таким же названием, как на стенде экспорта* | – | Датасет заполнится данными автоматически |
Не существует источника с таким же названием, как на стенде экспорта* |
| Датасет заполнится данными автоматически |
* Когда источник с таким же названием существует, затрагиваемый импортом датасет автоматически связывается с ним, и название источника отображается для датасета в реестре, в колонке «Источник».
** Если набор или тип данных полученных колонок отличается, разрешите конфликты связей вручную.
Пример импорта с созданием объектов
Предусловие
Есть файл экспорта проекта – для примера используется файл экспорта, полученный в примере экспорта проекта.
На целевом стенде нет совпадений в названиях с импортируемыми сущностями.
На целевом стенде есть источник postgresql, название которого совпадает с названием источника, который используется датасетом.
На целевом стенде есть проект со слоем, названия которых совпадают с названиями проекта и слоя, на который настроена детализация по SVG-объекту.
Результат импорта с созданием объектов
На целевом стенде созданы:
- проект – с тремя слоями и размещенными на этих слоях компонентами, с сохранением настроек этих компонентов (оформление, детализация по виджетам и SVG-объекту*, локальные настройки глобальных фильтров);
- пользовательская тема проекта;
- два глобальных фильтра;
- два виджета;
- пользовательский компонент второго виджета;
- SVG-объект;
- датасет из источника postgresql – без данных;
- датасет из файла – без данных;
- группа пользователей с настройками прав доступа (к проекту, пользовательской теме проекта, виджетам, пользовательскому компоненту виджета, глобальным фильтрам, датасетам) – без пользователей.
* Ссылка детализации по SVG-объекту автоматически скорректирована в соответствии с найденным проектом, название которого совпадает с названием проекта, на который настроена детализация (см. предусловие).
Необходимые после импорта действия
Перейти в модуль Manager, раздел «Датасеты», где:
- для датасета из источника postgresql нажать кнопку действий и выбрать вариант «Обновить»;
- для датасета из файла нажать кнопку настроек, на странице настройки нажать кнопку «Заменить или обновить данные», далее следовать процедуре замены или добавления данных (см. Руководство пользователя модуля Manager → «Датасеты» → «Настройка датасета» → «Замена данных датасета»).
Перейти в модуль Manager, раздел «Группы», где в группу пользователей добавить пользователей.
Пример импорта с заменой существующих объектов при совпадении названий
Предусловие
Есть файл экспорта проекта – для примера используется файл экспорта, полученный в примере экспорта проекта.
На целевом стенде есть совпадения в названиях с импортируемыми сущностями: проектом, датасетом из источника postgresql, глобальными фильтрами, группой доступа.
На целевом стенде есть источник postgresql, название которого совпадает с названием источника, который используется датасетом.
На целевом стенде есть проект, название которого совпадает с названием проекта, на который настроена детализация по SVG-объекту.
Результат импорта с заменой существующих объектов
На целевом стенде:
- заменён существующий проект – изменилось его содержимое и все связанные с содержимым настройки (оформление, детализация по виджетам и SVG-объекту*, локальные настройки глобальных фильтров);
- создана пользовательская тема проекта и применена к заменённому проекту;
- заменены два глобальных фильтра – добавились новые связи с созданными импортом проекта сущностями, а также изменились их настройки: ключ, тип, отображение, условие, значение по умолчанию;
- созданы два виджета;
- создан пользовательский компонент второго виджета;
- создан SVG-объект;
- заменён датасет из источника postgresql – изменился SQL-запрос, установлена привязка к другому источнику, добавлены новые связи с созданными импортом проекта сущностями;
- создан датасет из файла – без данных;
- заменена группа пользователей – добавились новые настройки доступа для созданных импортом проекта сущностей.
* Ссылка детализации по SVG-объекту автоматически скорректирована в соответствии с найденным проектом, название которого совпадает с названием проекта, на который настроена детализация (см. предусловие).
Необходимые после импорта действия
Перейти в модуль Manager, раздел «Датасеты», где:
- для датасета из источника postgresql нажать кнопку действий и выбрать вариант «Обновить»;
- для датасета из файла нажать кнопку настроек, на странице настройки нажать кнопку «Заменить или обновить данные», далее следовать процедуре замены или добавления данных (см. Руководство пользователя модуля Manager → «Датасеты» → «Настройка датасета» → «Замена данных датасета»).
Перейти в модуль Manager, раздел «Группы», где в группу пользователей добавить пользователей, если необходимо.