Процесс экспорта и импорта отдельных приложений Synergy

Экспорт приложения

Экспорт приложения выполняется при выборе пункта меню «Приложения» - «Экспорт приложения».

РЕзультатом экспорта является архив 7z:

  1. В корне архива располагается папка application, содержащая файл <код_приложения>.application.json со сведениями о приложении:

    • мультиязычное поле «Наименование»

    • поле «Код»

    • поле «Ревизия»

    • список прав на приложение:

      • группа пользователей

      • состояние флажка «Чтение»

      • состояние флажка «Изменение»

  2. Для каждого объекта приложения в папке application создается отдельный файл / папка с файлами:

    • для папки приложения создается папка с таким же наименованием, содержащая файлы/папки входящих в нее объектов приложения;

    • для каждого объекта сущности «Форма» создается отдельная папка с названием <код_формы>.form, содержащая файлы:

      • formDefinition.json с описанием структуры формы, связей с другими объектами приложения и значений компонентов по умолчанию;

      • form.main.script.js, содержащий код скрипта формы;

      • файл шаблона печатного представления формы, если он был загружен;

      • [<код_динтаблицы>.]<код компонента>.js для каждого компонента формы, к которому был добавлен отдельный скрипт; <код_динтаблицы> указывается только в том случае, если компонент располагается в динамической таблице;

    • для каждого объекта сущности «Пользовательский компонент» создается отдельная папка с названием <код_компонента>.userModule, содержащая файлы:

      • description.json со сведениями об объекте: название, код пользовательского компонента и признак использования в формах;

      • script.js, содержащий код JavaScript;

      • template.html, содержащий код HTML;

    • для каждого объекта сущности «Скрипт интерпретатора» создается отдельная папка с названием <название_скрипта>.interpreterScript, содержащая файлы:

      • description.json со сведениями об объекте;

      • script.js, содержащий код скрипта;

    • для каждого объекта сущности «Пользовательский отчет» создается отдельная папка с названием <код_отчета>.userReport, содержащая файлы:

      • description.json со сведениями об отчете;

      • report.template.jrxml, содержащий шаблон отчета;

    • для каждой корневой группы пользователей создается отдельный файл <код_группы>.userGroup.json, содержащий описание самой корневой группы и ее дочерних групп;

    • для каждой корневой группы реестров, как и для групп пользователей, создается отдельный файл <код_группы>.registryGroup.json, содержащий описание самой корневой группы и ее дочерних групп;

    • для каждого объекта остальных сущностей создаются отдельные файлы json, имена которым присваиваются по правилу <код_объекта>.<имя_сущности>.json. Формат файлов соответствует форматам, используемым для экспорта/импорта конфигурации.

Экспорт считается успешным, если были успешно экспортированы все объектв приложения.

Результатом экспорта является архив в формате 7z. Имя архива по умолчанию - app-<код_приложения>-YYYY-MM-DD_hh-mm-ss.7z, где YYYY-MM-DD_hh-mm-ss - текущие дата и время на сервере.

Экспорт приложения не должен изменять номер его ревизии.

Альтернативный поток 1. Код экспортируемого объекта содержит символ /

Ошибка возникает в случае, если код объекта приложения, не являющегося скриптом или компонентом формы, содержит символы, использование которых в имени файла недопустимо в файловой системе - то есть, символ /.

При этом объект с таким кодом не экспортируется, в области логов событий отображается ошибка с текстом:

Невозможно выполнить экспорт объекта path/to/file: код объекта не должен содержать символы /, `,?и` *

Путь к файлу указывается относительно корневой ноды приложения.

Для каждого некорректного файла отображается отдельная строка с ошибкой, продолжается проверка кодов остальных объектов.