Системные проекты
Системные проекты — проекты, подключаемые для всей JAICP. Зависимости на модули из системных проектов доступны во всех ботах без дополнительного объявления.
Доступные системные проекты
В облачной версии платформы доступен системный проект zb-common
.
Он содержит в себе ряд универсальных и часто используемых элементов сценариев:
- Именованные паттерны.
- Справочники и конвертеры для именованных сущностей.
- Функции и библиотеки на JavaScript.
- Готовые сценарные фрагменты.
Использование
Чтобы импортировать файл из системного проекта в сценарий, необходимо в одном из файлов сценария воспользоваться тегом require
:
require: offtopic/fallback.sc
module = sys.zb-common
Здесь:
zb-common
— название системного проекта.offtopic/fallback.sc
— путь к подключаемому файлу.
sys.
.Пользовательские системные проекты
On-premise
Если JAICP установлена к вам в контур, ваши сотрудники могут самостоятельно создавать системные проекты, которые будут доступны всем пользователям вашей установки.
Есть два способа добавить системные проекты:
- Добавить параметры репозиториев с системными проектами в конфигурацию компонента EditorBE.
- Подключить проекты с хоста, где установлен компонент BotServer.
Проекты из удаленных репозиториев
-
Разработчики создают удаленный репозиторий с проектом JAICP, который будет подключаться в другие проекты как системный проект.
-
Системные администраторы должны добавить параметры репозитория в переопределяющую конфигурацию компонента EditorBE, после чего перезапустить компонент:
configs/hosts/{env_name}/editorbe/application-override.ymlsystem-projects:
projects:
# Системные проекты по умолчанию…
- url: https://gitlab.custom.com/custom-module # URL репозитория.
project-id: custom-module # ID проекта.
branch: main # Ветка в репозитории проект а, по умолчанию master.
module: true # Флаг, указывающий, что это системный проект. -
Пользователи вашей установки JAICP смогут подключать файлы из системного проекта через
require
. Название системного проекта соответствует значению параметраproject-id
:require: patterns.sc
module = sys.custom-module
Проекты из локальной директории
-
Системные администраторы должны добавить в переопределяющую конфигурацию компонента BotServer путь до директории, в которой будут размещены системные проекты:
configs/hosts/{env_name}/botserver/application-override.ymlbot:
systemModulesFolder: /opt/sys-modules -
Проекты, которые предполагается подключать как системные проекты, нужно разместить в указанной директории:
└── opt
└── sys-modules
├── custom-module
│ └── src
│ └── patterns.sc
└── js-packages
└── src
├── moment.min.js
└── underscore.min.js -
Пользователи вашей установки JAICP смогут подключать файлы из системного проекта через
require
. Название системного проекта соответствует названию поддиректории внутриbot.systemModulesFolder
:require: patterns.sc
module = sys.custom-module