<< Click to Display Table of Contents >> Разработка > Процесс разработки > Утилита RxCmd Создание плагина RxCmd |
Плагины разрабатываются в Microsoft Visual Studio. В среде разработки Directum RX добавляются функции, которые реализуют необходимую логику и вызываются в плагинах.
1.Распакуйте архив RxCmdPluginSDK.zip и откройте его как решение в Microsoft Visual Studio.
2.В свойствах проекта CustomPlugin переименуйте имя сборки Sungero.RxCmd, например, в Sungero.RxCmd.CustomPlugin. Имена плагинов должны быть уникальными в общей папке с плагинами.
3.Создайте команду первого уровня. Для этого в модуле CustomPlugin.cs в методе GetCommand() задайте новое имя команды и ее описание.
return new GetCommand("My command", "My description.")
ПРИМЕЧАНИЕ. В одном плагине может быть только одна команда первого уровня, но несколько команд второго уровня. Команда первого уровня логически объединяет семейство команд второго уровня. Например, команда первого уровня templates позволяет работать с шаблонами документов, команды второго уровня выполняют импорт (import) и экспорт (export) шаблонов.
4.Создайте одну или несколько команд второго уровня. Для этого в модуле CustomCommand.cs в конструкторе public CustomCommand() задайте имя команды, ее описание и список аргументов, например:
// Добавление команды Execute и ее описания.
this.Add(new BaseCommand("Execute", "Execute command." )
// Добавление аргументов для команды Execute.
{
new Argument<string>("Param", "Parameter."),
}.WithHandler(typeof(CustomCommand), nameof(CustomCommandHandler)));
5.Задайте для каждой команды обработчик. Имя каждого обработчика должно быть уникальным:
public static int CustomCommandHandler(string username, string password, string service, string param)
{
// Установить параметры подключения к сервису интеграции Directum RX.
int exitCode = IntegrationServiceClient.Setup(username, password, service);
return (exitCode == 0) ? CustomManager.Execute(param) : exitCode;
}
ПРИМЕЧАНИЕ. Если команд второго уровня несколько, то для каждой команды создайте свой метод на основе Execute() и привяжите его к соответствующему обработчику.
6.В модуле CustomManager.cs задайте алгоритм для выполнения команд, например для команды Execute:
public static int Execute(string param)
{
try
{
Logger.Debug("Start command.");
// Алгоритм команды.
Logger.Debug("Command DONE.");
}
catch (Exception ex)
{
Logger.Log(LogLevel.Error, ex, ex.Message);
return -1;
}
return 0;
}
7.Присоедините созданный плагин к утилите RxCmd. Для этого соберите проект CustomPlugin с любым типом конфигурации сборки debug или release. Затем добавьте собранные файлы с расширениями *.dll, *.deps.json, *.pdb в подпапку утилиты \Plugins\.
8.Протестируйте работу плагина. Для этого вызовите справку к утилите RxCmd и проверьте, что в нее добавился список команд и их описание:
•для команды первого уровня:
<Путь до утилиты rxcmd> -?
Пример:
rxcmd -?
•для команд второго уровня:
<Путь до утилиты rxcmd> <Команда первого уровня> -?
Пример:
rxcmd execute -?
•для аргументов команд второго уровня:
<Путь до утилиты rxcmd> <Команда первого уровня> <Команда второго уровня> -?
Пример:
rxcmd mycommand execute -?
9.Проверьте работу команд с общими опциями и аргументами утилиты –n, -p, -s. Пример:
<Путь до утилиты rxcmd> <Команда первого уровня> <Команда первого уровня> "<Аргумент>" –n <Имя пользователя> –p <Пароль> -s <Адрес сервиса интеграции>
Подробнее об опциях и аргументах см. в описании утилиты RxCmd.
10.Выполните отладку.
© Компания Directum, 2024 |