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

Алексей Городков
2021-06-08 16:30

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

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.1. Интерфейс редактирования настроек ГГ.

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

Рис. 3.2. Переход на страницу редактирования настраиваемых полей.

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

Рис. 3.3. Заполнение значений полей.

-Вернуться к содержанию-

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

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

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

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

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

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

5. Примеры

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

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

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


Рис. 5.1. Пример задачи (задание и сохранение доп. полей ГГ), ч. 1.

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

Рис. 5.2. Пример задачи (задание и сохранение доп. полей ГГ), ч. 2.

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

-Вернуться к содержанию-

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

You cannot comment on this entry