Каталог доступных расширений системы

Использование точек расширения

На сегодняшний день, система ELMA поддерживает множество точек расширения, которые позволяют дополнить функционал системы.

Наиболее часто используемые точки расширения.

  1. Добавление пункта в левое меню.
  2. Добавление кнопки в тулбар.
  3. Добавление портлета.

Редактирование системного представления

Очень часто требуется внести какие-либо изменения в системном представлении. Допустим, нам требуется отредактировать карточку создания задачи. Представление данной карточки расположено по пути: \ELMA3-"Редакция системы"\Web\Modules\EleWise.ELMA.BPM.Web.Tasks\Views\Task\TaskEditor.cshtml.

Для начала создайте в папке конфигурации системы (UserConfig) папку WebApplication, а в ней создайте весь путь до представления TaskEditor. Т.е. фактически требуется повторить путь. В результате путь до TaskEditor будет выглядеть примерно так: \ELMA3-"Редакция системы"\UserConfig\WebApplication\Modules\EleWise.ELMA.BPM.Web.Tasks\Views\Task\TaskEditor.cshtml.

После того как Вы скопировали представление в папку конфигурации, приступаем к редактированию. Данное представление написано с использованием движка представлений Razor. Подробнее...

Открываем представление с помощью текстового редактора, и сделаем так чтобы поля Категория и Описание были обязательными для заполнения:

@Html.EditableProperty(m => m.Entity.Category, a=>a.Required = true)
@Html.ExtensionZone("EleWise.ELMA.BPM.Web.Tasks.TaskEditor")
@Html.EditableProperty(m => m.Entity.Description, a => a.Required = true)

После того, как Вы внесли все нужные изменения, сохраните представление. И обновите страницу в веб-части, чтобы увидеть изменения.

 
Внимание!
Важно, представление, которое Вы отредактировали, может быть изменено в следующей версии системы, и поэтому есть вероятность некорректной работы данного представления после обновления.

Также данный раздел содержит и другие примеры и инструкции по доработке системы:

Создание собственного канала отправки сообщений

Пример: Канал для отправки сообщений в Jabber.

Подробнее смотрите в следующей статье.

 

Создание отображения собственных событий в календаре

Подробнее смотрите в следующей статье.

 

Отображение дополнительной информации в заголовке сущности

Пример: в выпадающем списке выбора контрагента ниже его имени записать ИНН

Подробнее смотрите в следующей статье.

 

Добавление возможности создания собственных событий в календаре

Подробнее смотрите в следующей статье.

 

Создание пункта меню со своей собственной разметкой

Подробнее смотрите в следующей статье.

 

Создание счетчика в пункте меню

Подробнее смотрите в следующей статье.

 

Создание собственного раздела настроек для модуля

Простой пример: как быстро добавить свой собственный раздел настроек
Подробнее смотрите в следующей статье.

Подробный пример: как добавить собственный раздел настроек для модуля с пользовательским отображением формы просмотра и редактирования
Подробнее смотрите в следующей статье.

 

Создание собственной ссылки для объекта (в списках, ссылках)

Подробнее смотрите в следующей статье.

 

Создание предпросмотра файла документа своего расширения (аудио/видео…)

Подробнее смотрите в следующей статье.

 

Добавление своей колонки в системную/собственную таблицу Dynamic Grid

Подробнее смотрите в следующей статье.

 

Создание слежения (подписки) за объектом

Подробнее смотрите в следующей статье.

 

Создание собственного Popup-окна для системных/своих объектов (в таблицах, объектах)

Подробнее смотрите в следующей статье.

 

Создание собственного планировщика (scheduler)

Подробнее смотрите в следующей статье.

 

Создание иконки для объекта (в таблицах, портлетах)

Подробнее смотрите в следующей статье.

 

Создание вкладки, формируемой на стороне сервера

Пример: основная вкладка формируется при помощи точки расширения, а остальные вкладки на отдельном представлении.

 

Подробнее смотрите в следующей статье.

 

Отображение в ленте сообщений своего объекта

Пример: событие календаря/взаимоотношение.

Подробнее смотрите в следующей статье.

 

Создание последней активности по любому объекту в системе

Пример: по проектам.

 Подробнее смотрите в следующей статье.

 

Создание собственного обработчика событий (Listener) перед/после создания, изменения, удаления и т.д. объекта

Подробнее смотрите в следующей статье.

 

Создание обработчика событий при подтвержденной транзакции

Подробнее смотрите в следующей статье.

 

Реализация события уровня модуля

Пример: при установке/активации модуля создать группы.

Подробнее смотрите в следующей статье.

 

Преобразование базы данных

Пример: перенести данные из одной колонки таблицы в другую.

Подробнее смотрите в следующей статье.

 

Выполнение каких-либо действий при активации/уничтожении контейнера модулей

Пример: создать страницы по умолчанию с добавлением на них портлетов или импорт отчетов/процессов.

Подробнее смотрите в следующей статье.

 

Создание собственного веб-сервиса

Подробнее смотрите в следующей статье.

 

Создание дополнительной проверки привилегий на скачивание/просмотр файла

Подробнее смотрите в следующей статье.

 

Реализация доступа к своему модулю

Подробнее смотрите в следующей статье.

 

Реализация прав доступа для своего объекта

Подробнее смотрите в следующей статье.

 

Реализация собственного шаблона оповещения или изменение/дополнение существующего

Подробнее смотрите в следующей статье.

 

Реализация собственной функции для шаблонов оповещений

Пример: Создание собственной функции, которая генерирует разметку с датой начала/окончания.

Подробнее смотрите в следующей статье.

 

Реализация собственного типа данных для списка получателей оповещений

Пример: Получатели оповещений – группа пользователей.

Подробнее смотрите в следующей статье.

 

Создание собственного портлета в модуле

Подробнее смотрите в следующей статье.

 

Реализация возможности закрепления объекта на странице

Подробнее смотрите в следующей статье.