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

Разработка расширений Portal

Для кого этот раздел. Страницы ниже — для разработчиков и интеграторов (C#, SDK, пакеты расширений).
Они не нужны, чтобы установить Portal «из коробки» и пользоваться им как администратору или сотруднику.
Обычная установка и администрирование: Установка, Администрирование, гайды по узлам и спискам.

Portal расширяется пакетами на C# и встроенным REST API. Произвольные URL вида /api/v1/my-erp/sync из пакетов зарегистрировать нельзя — маршруты задаются в платформе. Интеграции строятся на /api/v1/* и расширениях.

ЗадачаКуда идти
Скачать SDK, NuGet, шаблоныExtension SDK
Выбрать тип пакетаКакой тип расширения выбрать
Создать узел, выдать праваРабота с узлами
Список, поля, элементы, библиотекаРабота со списками
Работа с полями списков (PortalListItem, формы)Кастомная форма / PortalListItem, значения полей
Выборка элементов (фильтр, сортировка, LINQ-стиль)Выборка элементов списка
Права ACL, группы портала и AD из кодаПрава доступа из кода
Виджет на страницеWebParts
Параметры WebPart (Property Pane)Параметры WebPart
Кастомная форма create/edit со всеми типами полейКастомная форма: все типы полей
Реакция на изменение спискаEvent Receivers
Задание по расписаниюTimer Jobs
Пакет с инфраструктурой и provisionerФункциональные модули
ERP / 1C / исходящие вызовыВнешние интеграции
Hot deploy, сервисы, job-модулиПлатформа
Отладка расширений (логи; Attach на Native)Отладка расширений
Полный справочник эндпоинтовREST API
Внешняя система ──JWT + CRUD──► /api/v1 REST API
WebPart UI ──invoke/action──► /api/v1/webparts/invoke/{key}/…
Event Receiver / Timer Job ──HTTP из C#──► внешняя система

Подробный playbook (ERP, 1C, исходящие вызовы): Внешние интеграции.

SDK-пакеты нужны только для компиляции. В готовый .portalpart / .portalevent / .portaltimer DLL SDK не включаются — их предоставляет работающий Portal.