Навигатор по разделу
Общие сведения
Документ содержит общую информацию о плагинах пользовательского интерфейса для системы IGA. Реализация примеров доступна в репозитории по ссылке.
Внимание
Примеры плагинов в указанном репозитории собраны для работы с IGA версии 7.8. Для их корректного отображения и работы убедитесь, что в вашей Системе используется именно эта версия продукта.
Правило является общим. То есть любой плагин должен быть собран под ту версию продукта, в котором планируется его использование.
Содержимое репозитория
В репозитории доступны примеры следующих плагинов:
форма заявки;
действие над сущностью;
виджет личного кабинета.
Для каждого примера реализовано:
пример метаданных;
пример реализации.
Сборка
Сборка
npm install npm run build
Запуск отладочной среды
npm start
Отладочная среда доступна по адресу http://localhost:4201
Поставка плагинов в продукт
Конфигурация сборки плагина
Конфигурация сборки выставляемых для продукта плагинов осуществляется в файле apps/iga-plugin-example/webpack.config.js в виде опций ModuleFederationPlugin.
Внимание
Внимание на параметры:
- name — имя плагина (например:
iga_plugin_example). Понадобится в дальнейшем при поставке артефактов сборки в нужную папку (см. "Поставка"); - секция exposes — список выставляемых модулей. Имена выставляемых модулей в этой секции должны совпадать с внутренними именами модулей.
В каждом плагине может быть поставлено неограниченное количество модулей, каждый из которых может поставлять неограниченное число плагинов определенного типа, указанного в настройках.
Метаданные плагинов задаются в файле apps/iga-plugin-example/src/metadata.json.
Плагин действия по сущностям
Пример метаданных:
{
"pluginType": "EntityAction",
"name": "example-action-plugin",
"displayName": "Плагин примера действий к объектам",
"pluginModuleName": "EntityActionsModule"
}
Расположение примера реализации: https://devenv.avanpost.ru/iga-public-samples/iga-plugin-example/-/tree/develop/apps/iga-plugin-example/src/app/entity-actions
Плагин форм заявок
Пример метаданных:
{
"pluginType": "Document",
"name": "example-document-plugin",
"displayName": "Плагин примера заявок",
"pluginModuleName": "DocumentsModule"
}
Расположение примера реализации: https://devenv.avanpost.ru/iga-public-samples/iga-plugin-example/-/tree/develop/apps/iga-plugin-example/src/app/documents
Плагин виджетов личного кабинета
Пример метаданных:
{
"pluginType": "WorkspaceWidget",
"name": "example-workspace-plugin",
"displayName": "Плагин примера виджета личного кабинета",
"pluginModuleName": "WorkspaceWidgetsModule"
}
Расположение примера реализации: https://devenv.avanpost.ru/iga-public-samples/iga-plugin-example/-/tree/develop/apps/iga-plugin-example/src/app/workspace-widgets
Сборка
npm run build
Артефакты сборки dist/iga-plugin-example/
Подготовка к поставке
1. Поместить файл с версией (VERSION) в артефакты сборки, указав текстовое обозначение версии, например короткое имя коммита.
2. Запаковать в архив директорию с артефактами. Имя архива должно совпадать с именем, указанном в webpack.config, например iga_plugin_example.zip.
Поставка
1. В административном интерфейсе открыть раздел "Администрирование" → "Плагины".
2. Загрузить созданный ранее архив.