Перейти к содержимому

Portal.Module.Sdk

C# SDK для опционального provisioner в функциональных модулях (.portalmod).

Настройка SDK: Extension SDK с korport.ru/developers.

Окно терминала
dotnet new install ./portal-sdk-1.0.0/templates/portal-module
dotnet new portal-module -n MyModule -o ./my-module
cd my-module
./build.sh
# → dist/contoso-my-module.portalmod

В .csprojPackageReference Include="Portal.Module.Sdk".

public interface IModuleProvisioner
{
Task ProvisionAsync(ModuleProvisionContext ctx, CancellationToken ct);
Task UpgradeAsync(ModuleProvisionContext ctx, string fromVersion, CancellationToken ct);
}

По умолчанию UpgradeAsync вызывает ProvisionAsync.

СвойствоТипОписание
ModuleKeystringid модуля из module.json
Versionstringверсия устанавливаемого модуля
RefsIReadOnlyDictionary<string, string>карта lists.tasks.id → UUID
ServicesIModuleProvisionServicesсервисы provisioner
SeedPathstring?"seed" если в архиве есть каталог seed/
ModuleFilesIReadOnlyDictionary<string, byte[]>?содержимое ZIP (пути в нижнем регистре, разделитель /)
LogIModuleInstallLogжурнал установки
МетодОписание
Info(message)информационное сообщение в журнал установки
Warn(message)предупреждение в журнал установки
МетодОписание
GetListIdAsync / GetNodeIdAsync / GetLibraryIdAsyncUUID ресурса по ключу из module.json
TryGetRefссылка на ресурс (в т.ч. modules.other-module.lists.x.id); null, если ключ не найден
GetListItemCountAsyncколичество элементов списка
CreateListItemAsync / UpdateListItemAsyncCRUD элементов (ключи полей — internal_name)
GetListItemIdsOrderedAsyncid элементов по дате создания
EnsureLocalUserAsync(login, displayName, email)идемпотентное создание локального пользователя; возвращает UUID
FindUserIdByLoginAsync(login)поиск пользователя по логину; null, если не найден
UploadLibraryFileAsyncзагрузка файла в библиотеку
SetNodeDefaultPageAsync(nodeId, pageId)назначить страницу по умолчанию для узла
AddGroupMemberAsync(groupId, userId)добавить пользователя в группу доступа

Подробнее: Функциональные модули, Кейсы работы с сущностями.