Extension SDK — скачивание и NuGet
C# SDK для разработки расширений Portal: WebPart, Event Receiver, Timer Job и provisioner функциональных модулей.
Где скачать
Заголовок раздела «Где скачать»- Откройте korport.ru/developers
- Скачайте SDK той же версии, что установленный Portal (например, Portal 1.0.0 →
portal-sdk-1.0.0.zip) - Версию Portal смотрите в Админка → Продукт и лицензия или через
GET /api/v1/system/license-status
Старые версии SDK остаются на сайте — клиенты, которые ещё не обновили Portal, берут SDK своей версии.
Требования
Заголовок раздела «Требования»| Компонент | Версия |
|---|---|
| .NET SDK | 10.0 |
| Portal (dev/staging) | Та же версия, что SDK |
| Упаковка пакетов | Linux/macOS: bash (.sh); Windows: PowerShell 5.1+ (.ps1 в scripts/) |
Настройка NuGet
Заголовок раздела «Настройка NuGet»Онлайн (рекомендуется)
Заголовок раздела «Онлайн (рекомендуется)»dotnet nuget add source https://korport.ru/api/nuget/v3/index.json -n korportОфлайн (из ZIP)
Заголовок раздела «Офлайн (из ZIP)»Распакуйте portal-sdk-X.Y.Z.zip и скопируйте nuget.config в каталог проекта или укажите локальный feed:
dotnet restore --configfile ./portal-sdk-1.0.0/nuget.configПакеты в ZIP:
| PackageId | Назначение |
|---|---|
Portal.Contracts | Общие типы; PortalListItem (item["title"], CreateAsync / UpdateAsync) |
Portal.WebPart.Sdk | WebPart (.portalpart): PortalListItem, ctx.Host (текущий список/элемент формы) |
Portal.EventReceiver.Sdk | Event Receiver (.portalevent): PortalListItem, context.GetListItemAsync(api) |
Portal.TimerJob.Sdk | Timer Job (.portaltimer); списки от системной учётки portal-system (нет «текущего» элемента — id из Config) |
Portal.Module.Sdk | Provisioner модуля (.portalmod) |
| Задача | API |
|---|---|
| WebPart на форме списка | await ctx.Host.GetOrNewListItemAsync(ct) — кастомная форма, SDK § Host |
| Event Receiver: изменившийся элемент | await context.GetListItemAsync(api, ct) — SDK ER |
| Timer Job: выборка по расписанию | api.Lists.QueryListItemsAsync + id списка из context.Config |
| Фильтры, сортировка, частые кейсы | Выборка элементов списка (Query / LINQ-стиль) |
Работа с полями списков: Кастомная форма / PortalListItem, значения полей.
Права и группы: Права доступа из кода.
Установка шаблонов
Заголовок раздела «Установка шаблонов»После распаковки ZIP:
dotnet new install ./portal-sdk-1.0.0/templates/portal-webpartdotnet new install ./portal-sdk-1.0.0/templates/portal-eventreceiverdotnet new install ./portal-sdk-1.0.0/templates/portal-timerjobdotnet new install ./portal-sdk-1.0.0/templates/portal-moduleБыстрый старт
Заголовок раздела «Быстрый старт»См. Какой тип расширения выбрать и разделы WebParts / Event Receivers / Timer Jobs / Модули.
Примеры в SDK ZIP: examples/hello-widget, examples/list-change-handler, examples/heartbeat.