Формулировка проблемы: для упрощения процесса разработки приложений на базе Synergy необходимо изменить интерфейс конфигуратора на оболочку Synergy IDE.
Связанные задачи:
Решение:
В данной задаче описаны:
структура, создаваемая для новых приложений по умолчанию;
структура, создаваемая при обновлении Synergy до версии с Synergy IDE.
Рекомендуемым способом структурирования приложения на Synergy является группировка объектов приложений по "модулям" - отдельным крупным блокам, слабо связанным между собой. При этом разработчик должен иметь возможность создать "с нуля" любую необходимую ему структуру нового приложения.
На страницу создания приложения необходимо добавить флаг "Использовать структуру по умолчанию", по умолчанию включенный. Этот флаг должен быть доступен только для несохраненного приложения:
Если флаг отключен, то должно создаваться пустое приложение, без вложенных папок.
Если флаг включен, то при первом сохранении в приложении должна создаваться структура папок вида:
Приложение
module
basic_objects
docflow
groups
integration
processes
reports
workforces
Поскольку при обновлении существующих объектов конфигурации Synergy в термины приложений невозможно автоматически объединить объекты различных сущностей по их функционалу, для них должна создаваться структура папок в соответствии с типом каждой сущности, а именно:
Приложение
basic_objects
counters
dictionaries
forms
docflow
document_templates
document_types
number_templates
registers
groups
integration
external_module_components
outer_modules
interpreter_scripts
custom_components
processes
registries
registry_groups
route_templates
reports
workforces
actions_on_employees
actions_on_personnel_reserve
division_cards
position_cards
user_cards
Ранее существовавшие специальные справочники не включаются в общее приложение, а отображаются только в настройках платформы, раздел "Системные справочники":
action_progress
resolution
send_items
calendar_types
pm_custom_fields
resolution_work_types
priority_items
l10n
dtint_internal_fields
В результате миграции объекты каждой сущности должны быть представлены в виде отдельных файлов и размещены в папке, соответствующей названию сущности.
При этом:
каждый пользовательский компонент должен быть представлен в
виде отдельной папки со своими настройками в формате
json
(не отображается в навигаторе), кодом
html
и JavaScript
(подробнее - в задаче
IDE2);
каждая форма должна быть представлена в виде отдельной папки
со своей структурой в формате json
(не
отображается в навигаторе), печатным представлением (если оно
есть), кодом формы и кодами отдельных компонентов в формате
js
(подробнее - в задаче
IDE2);
каждый скрипт интерпретатора должен быть представлен в виде
отдельной папки со своими настройками в формате
json
(не отображается в навигаторе) и кодом
скрипта в формате js
(подробности
интеграции интерпретатора будут описаны позднее);
объекты остальных сущностей должны быть представлены каждый в
виде отдельного файла json
. Формат
представления аналогичен используемому для импорта/экспорта
конфигурации.