Настраиваемые поля. Локальный плагин

Алексей Городков
2020-07-30 13:25

Плагин «Настраиваемые поля» позволяет создавать кастомные (настраиваемые) поля для различных объектов Moodle. Модуль  модифицируется и дополняется новыми функциями силами специалистов компании "Открытые технологии".

Содержание:
1. Описание и назначение плагина "Настраиваемые поля"
2. Конфигурация настраиваемых полей требуются права администратора
3. Заполнение настраиваемых полей
4. Сценарии для Глобальных групп с настраиваемыми полями
4.1. Удаление подписок по дате
4.2. Удаление Глобальных групп по дате
5. Примеры

1. Описание и назначение плагина "Настраиваемые поля"

Создание дополнительных настраиваемых полей для различных объектов (сущностей) Moodle позволяет задавать для них новые свойства, проводить фильтрацию по значениям указанных параметров и реализовывать сценарии управления такими объектами.

Как это работает:

1. Определяется объект, для которого будут созданы кастомные поля. (Пример: Глобальная группа).
2. С помощью плагина «Настраиваемые поля» создаются кастомные поля для этого объекта. (Пример: Дата удаления Глобальной группы).
3. Кастомные поля заполняются значениями. (Пример: 21.12.2021; 30.01.2022)
4. С помощью фильтрации этих значений по заданным критериям происходит выборка объектов.
5. К выбранным объектам применяются настроенные сценарии. (Пример: Удалить глобальную группу при наступлении даты, указанной в поле "Дата удаления Глобальной группы").

Плагин предназначен для объявления набора полей для объекта через форму конфигурации плагина в формате yaml администратором системы.

После объявления полей уполномоченный пользователь через интерфейс редактирования полей объекта указывает необходимые значения полей.
Эти данные в дальнейшем используются для исполнения сценариев, например, с помощью «Панели обработки прецедентов».

2. Конфигурация настраиваемых полей требуются права администратора

Важно! Действия в данной инструкции с меткой требуются права администратора можно выполнить только при наличии доступа "Полный Администратор". По умолчанию мы предоставляем доступ "Диспетчер-Администратор". Для изменения глобальных конфигураций мы рекомендуем выбрать набор требуемых опций по данной инструкции и обратиться в техническую поддержку с заявкой на конфигурирование системы. Подробнее - в статье "Полный административный доступ".

Путь к настройкам: "Администрирование" -► "Плагины" -► "Локальные плагины" -► "Настраиваемые поля".

На данный момент реализованы настраиваемые поля для Глобальных групп.

Глобальные группы. Конфигурация настраиваемых полей - поле для конфигурационного массива в формате yaml, описывающего настраиваемые поля для Глобальных групп.

Пример 1:

class:
   code1:
      type: text
      label: Организация
   code2:
      type: text
      label: Договор №
   code3:
      type: text
      label: Ответственный менеджер
   unenroldate:
      type: date_selector
      label: Срок завершения обучения группы
   deldate:
      type: date_selector
      label: Срок жизни группы
   submit:
      type: submit
      label: Сохранить
 

Конфигурационный массив должен быть описан в формате yaml. На нулевом уровне конфигурационного массива должен быть ключ class, значением которого описывается форма редактирования настраиваемых полей.
Эта форма должна состоять из массива, описываюшего поля формы.
Каждое поле в ключе должно иметь уникальный код поля, а в значении - массив свойств, описывающих поле формы.

Зарезервированные, именованные свойства:

  • type - тип элемента формы
  • filter - установка типа данных для элемента
  • default - значение, которое должно по умолчанию подставиться в элемент формы
  • repeatgroup - на текущий момент не реализовано для этого инструмента
  • rules - на текущий момент не реализовано для этого инструмента
  • disabledif - на текущий момент не реализовано для этого инструмента
  • autoindex - на текущий момент не реализовано для этого инструмента
  • expanded - на текущий момент не реализовано для этого инструмента
  • advanced - на текущий момент не реализовано для этого инструмента
  • helpbutton - на текущий момент не реализовано для этого инструмента

Остальные свойства будут переданы в конструктор элемента формы в том порядке, в котором они объявлены в конфигурации.

На текущий момент для этого инструмента доступны следующие типы полей:

  • text - однострочное текстовое поле
  • textarea - многострочное текстовое поле
  • select - выпадающий список
  • checkbox - флажок
  • date_selector - дата
  • submit - кнопка для отправки формы.

 Пример 2:

class:
   description:
      type: textarea
      label: Описание глобальной группы
   syncable:
      type: checkbox
      label: Синхронизируемая
   extid:
      type: text
      filter: int
      label: Внешний идентификатор
   undergraduate_directions:
      type: select
      label: Направление подготовки
      options:
         09.03.03: Прикладная информатика
         38.03.01: Экономика
         38.03.02: Менеджмент
   enddate:
      type: date_selector
      label: Срок завершения обучения группы
   submit:
      type: submit
      label: Сохранить 

3. Заполнение настраиваемых полей

Заполнение настраиваемых полей для объектов производится уполномоченными пользователями через интерфейс блока "Настройки".

Для заполнения полей Глобальных групп Диспетчеру-администратору нужно:

1. Перейти в Глобальные группы.
Блок "Настройки" -► Администрирование -► Пользователи -► Учетные записи -► Глобальные группы

2. С этой страницы нужно перейти в интерфейс редактирования настроек ГГ или в интерфейс назначения участников ГГ:

3. После этого через блок "Настройки" перейти на страницу редактирования настраиваемых полей:

4. Заполнить значения полей:

4. Сценарии для Глобальных групп с настраиваемыми полями

На данный момент реализовано два возможных сценария с использованием настраиваемых полей ГГ и плагина  «Панель обработки прецедентов»:

4.1. Удаление подписок по дате

Удаление подписок типа «Синхронизация с Глобальной группой» по значениям даты из настраиваемых полей Глобальной группы. После настройки сценария и наступления указанной даты система удаляет способы записи типа «Синхронизация с глобальной группой», связанные с группой с истекшим сроком обучения.

4.2. Удаление Глобальных групп по дате

Удаление Глобальных групп по значениям даты из настраиваемых полей Глобальной группы. После настройки сценария и наступления указанной даты, система находит Глобальные группы с истекшим сроком пребывания в системе и удаляет их.

5. Примеры

Пример задачи (задание и сохранение доп.полей ГГ):
В учебном центре формируются учебные группы. Администратору необходимо сохранять информацию о том, из какой организации поступила данная группа, номер договора, ответственного менеджера, а также срок завершения обучения и срок расформирования группы для автоматического сценария отписки и удаления группы.
Реализация:

1. Администратор в плагине "Настраиваемые поля" задает перечисленные настраиваемые поля для Глобальных групп (см.Пример1).

2. Уполномоченное лицо или Диспетчер-администратор переходит в Глобальные группы. На странице
Администрирование -► Пользователи -► Учетные записи -► Глобальные группы
при редактировании настроек или назначении участников ГГ переходит на страницу редактирования настраиваемых полей:

3. Уполномоченное лицо или Диспетчер-администратор заполняет поля информацией. Здесь здесь же можно просмотреть/отредактировать данные, сохраненные в настраиваемых полях ГГ:

4. Дополнительно есть возможность включить автоматические сценарии из модуля «Панели обработки прецедентов», которые используют поля «Срок завершения обучения группы» и «Срок жизни группы» для управления Глобальными группами (см.п.4.1. и п.4.2.). 

Tags: администрирование
Average rating: 0 (0 Votes)

You cannot comment on this entry