logo

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

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

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

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

  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) перед/после создания, изменения, удаления и т.д. объекта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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