Метод записи на курс «Автоматическая запись на курсы по условиям» — otautoenrol

Алексей Городков, Нелли Никитина
2021-07-23 09:14

1. Общая информация

Плагин «Автоматическая запись в курсы по условиям» Otautoenrol реализует автоматическую подписку и отписку зарегистрированных пользователей на курсы по заданным условиям. Используя эту инструкцию, Администратор СЭО 3КL сможет настраивать автоматическую запись зарегистрированных пользователей на курсы, их отписку, а также разделять студентов на группы при записи на курс, в том числе проводить разделение на группы случайным образом. Приведены настройки плагина, практические примеры из реальной практики его применения и рекомендации по использованию системы.

Плагин «Автоматическая запись в курсы по условиям» Otautoenrol,  реализует автоматическую подписку и отписку зарегистрированных пользователей на курсы по заданным условиям на основании данных из полей профиля пользователя. Otautoenrol относится к типу «Способы зачисления на курс». С помощью этого плагина можно разбивать студентов по группам при записи на курс.

Отслеживание соответствия условиям подписки зависит от настроек плагина и системы, которые влияют на нагрузку сервера и устанавливаются пропорционально его мощности.

2. Необходимые права

1.1. Для добавления и включения плагина (п. 3 этой инструкции) уровень прав в системе должен быть «Полный Администратор».
Важно! Действия в данной инструкции с меткой требуются права администратора можно выполнить только при наличии доступа «Полный Администратор». По умолчанию мы предоставляем доступ «Диспетчер-Администратор». Для изменения глобальных конфигураций мы рекомендуем выбрать набор требуемых опций по данной инструкции и обратиться в техническую поддержку с заявкой на конфигурирование системы. Подробнее в статье «Полный административный доступ».
1.2. Чтобы плагин работал в конкретном курсе, нужны следующие права (права на добавление конкретного способа записи в курс): enrol/otautoenrol:config + moodle/course:enrolconfig. По умолчанию в СЭО 3KL это Учитель и Управляющий (Диспетчер-Администратор). (п. 4).
1.3. Первоначально рекомендуем проверить, включен ли плагин в вашей системе, и можно ли его добавить в курс. Подробно этот процесс описан в п. 4 данной инструкции. Кратко: для добавления плагина в конкретный курс нужно перейти через настройки этого курса на страницу «Способы зачисления на курс»:
Настройки->Управление курсом—>Пользователи—>Способы зачисления на курс. Если способ записи на курс не добавлен и отсутствует в выпадающем списке «Добавить способ» — см. рис., нужно перейти к п. 3. В противном случае, нужно добавить и включить плагин Otautoenrol и пропустить п. 3 инструкции.

3. Добавление и включение плагина Otautoenrol в систему требуются права администратора

Включаем плагин Otautoenrol, для этого переходим в: Настройки—>Администрирование—>Плагины (поз. 1 Рис. 3.1)—>Зачисления на курсы (поз. 2 Рис. 3.1)—>Управление способами записи (поз. 3 Рис. 3.1).

Рис. 3.1. Настройки. Управление способами записи на курс .

В «Управление способами записи» нужно найти в списке доступных способов записи на курс строку с плагином «Автоматическая запись в курсы по условиям» (поз. 1 Рис. 3.2).

Рис. 3.2. Включение и настройки плагина «Автоматическая запись в курсы по условиям».

Плагин (способ записи) включается нажатием на пиктограмму «перечеркнутого глаза» (см. поз. 2 Рис. 3.2). Глаз не перечеркнут — плагин включен. Переход в настройки осуществляется по ссылке «Настройки» (см. поз. 3 Рис. 3.2).
При переходе на ссылку «Удалить» (см. поз. 4 Рис. 3.2) плагин удалится из системы. Система предложит переподписать пользователей, записанных на курсы с помощью этого плагина вручную и, если этого не будет сделано, отчислит пользователей из курсов.

3.1 Глобальные настройки плагина Otautoenrol

На странице плагина (Рис. 3.1.1) доступны следующие настройки:

Рис. 3.1.1. Интерфейс настроек плагина «Автоматическая запись в курсы по условиям».

Добавлять этот способ для новых курсов. (Значение по умолчанию — «Нет»). При установке «Да» этот способ записи (Otautoenrol) будет добавляться по умолчанию во все новые курсы.

Назначение роли по умолчанию. (Значение по умолчанию — «Студент»). Выбор роли, которая будет назначена пользователю во время автоматической регистрации пользователя на курс. Можно переустановить при включении способа записи в конкретный курс.

Удалять группы. (Значение по умолчанию — «Да»). Отвечает на вопрос: «Когда способ записи (Otautoenrol) удаляется из курса, должны ли удаляться группы, которые были созданы этим способом записи?» Удаление групп не приведет к удалению пользователей, которые записаны на курс другим способом записи и находятся в этих группах.

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

Мощность сервера. (Значение по умолчанию — «Слабый»). Мощность сервера влияет на то, как быстро будут срабатывать условия подписки и отписки пользователей. При слабом сервере условия будут проверяться только при входе в курс или входе в систему, нужно будет указать один из этих вариантов при дальнейших настройках способов записи на курс — п. 3. 1. При среднем сервере условия будут дополнительно проверяться через планировщик задач (по умолчанию — каждый день в 23:30, но можно настроить чаще). При мощном сервере условия будут дополнительно проверяться еще и по событиям редактирования профиля. Если Вы не уверены, какой у Вас сервер, рекомендуем выставить «Средний сервер» для корректной работы системы.

После изменений в настройках не забываем «Сохранить изменения». На этом первоначальная (глобальная) настройка плагина закончена.

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

4. Настройки плагина «Автоматическая запись в курсы по условиям»

Для включения плагина в конкретный курс перейдем через настройки этого курса на страницу «Способы зачисления на курс»:

Настройки (поз. 1 Рис. 4.1)—>Управление курсом (2)—>Пользователи (3)—>Способы зачисления на курс (4).

Рис. 4.1. Настройки->Способы записи на курс.

Если способ «Автоматическая запись в курсы по условиям» еще не добавлен (нет в списке), добавим его, выбрав из списка: Добавить способ (поз. 1 Рис. 4.2)—>Автоматическая запись в курсы по условиям (поз. 2 Рис. 4.2).

Рис. 4.2. Добавление способа записи «Автоматическая запись в курсы по условиям».

После добавления способа записи мы автоматически переходим на страницу настроек плагина Otautoenrol. Настройки сгруппированы в три секции. Рассмотрим их последовательно.

4.1. Секция «Основные настройки»

Рис. 4.1.1. Автоматическая запись в курсы по условиям. Секция «Основные настройки».

Интерактивные подсказки по каждому пункту формы можно посмотреть, нажав на

Название способа записи. Название способа записи, которое будет отображаться в списке способов записи на курс. Можно записать любое. Например, при названии способа «ОТ» (Рис. 4.1.2),

Рис. 4.1.2. Название способа записи.

название способа записи в списке «Способы записи на курс» будет выглядеть так: «Авто (OT)» (Рис. 4.1.3).

Рис. 4.1.3. Список «Способы записи на курс». Авто (ОТ).

Роль. Выбор роли, которая будет назначена пользователю во время автоматической регистрации пользователя на курс.

Когда подписывать. (Во время входа на сайт / При попытке входа в курс). Пользователь автоподписывается на курс при входе на сайт, либо при попытке входа в данный курс.

Подписывать всегда. (Нет / Да). При выборе «Да» плагин будет подписывать пользователя на курс, даже если пользователь уже подписан через другой способ записи. Нагрузка на сервер может возрасти. Эта настройка также полезна, если необходимо уже подписанных на курс пользователей распределить по группам в курсе.

Ограничение по количеству подписок. Способ записи прекратит подписку пользователей на курс, когда количество подписок станет равным значению, указанному в этой настройке. При указанном значении «0» может быть подписано неограниченное количество пользователей.

Примечание.
На курс не будут подписаны пользователи, имеющие право moodle/course:view или уже подписанные на курс. В частности не будут подписаны Полные администраторы и Диспетчеры-администраторы.

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

4.2. Секция «Настройки фильтрации»

Это самая важная секция плагина, в которой задаются условия для поля/полей из профиля пользователя, на основании которых происходит подписка/отписка, создание групп и запись пользователей в них.

Рис. 4.2.1. Автоматическая запись в курсы по условиям. Секция «Настройки фильтрации».

Поле профиля. Указанное поле профиля может использоваться для фильтрации или распределения подписываемых пользователей, для организации групп в курсе. Здесь мы выбираем поле, по которому будет работать фильтр — например, «Город», «Адрес электронной почты», «Должность», либо по которому будут организованы группы.

Должно совпадать с... Указанное в этом поле значение будет использоваться для фильтрации подписываемых пользователей (пользователи, у которых в поле профиля заполнено значение отличное от указанного, подписаны не будут). Важно! Если вы укажете здесь пустое значение, то поле не будет использоваться для фильтрации, но будет использовано для распределения. Созданные в результате распределения группы будут названы в зависимости от значения в поле профиля (в т. ч. и пустого значения).

Использовать нестрогое соответствие. (Да / Нет). Настройка включает более мягкое сравнение при фильтрации: при выборе «Нет» позволено частичное совпадение, не учитывается регистр.

Кнопка «Добавить 1 поля(ей) в форму» добавляет еще один такой же отдельный фильтр по профилю в «Настройки фильтрации». Чем больше фильтров добавлено, тем более сложные условия автоподписки можно создавать.

Отписывать пользователей, если они перестанут соответствовать условиям подписки. Если включить эту опцию, то пользователь, записанный на курс плагином Otautoenrol может быть отписан, если не будет удовлетворять условиям подписки.

Внимание! Если в качестве фильтрации будет указано только одно «Поле профиля» с пустым значением, то все пользователи системы будут подписаны в этот курс!

4.3. Секция «Добавление в группы»

 Рис. 4.3.1. Секция «Добавление в группы».

Добавлять в группы, найденные в поле профиля (блокирует другие способы определения группы).

При включеной опции система позволяет записать на курс пользователя с автоматическим добавлением в те группы, которые перечислены в соответствующем поле его профиля. При включении опции (установке галочки) появляется новое поле «Поле профиля, содержащее группы» с выпадающим списком, в котором представлены для выбора доступные поля профиля пользователя (Рис. 4.3.2).

Рис. 4.3.2. Выпадающий список с полями профиля пользователей.

Для использования этого способа записи необходимо сначала добавить в профиль пользователей новое поле «Группы» (если его нет).

Подробнее о том, как добавить кастомное поле в профили пользователей в статье Добавление кастомных (настраиваемых) полей в профиль пользователя

Значение поля профиля должно соответствовать правилам, описанным регулярным выражением (ID группы + @ + Краткое название курса):

 {group_idnumber}@{course_shortname}

При заполнении поля «Группы» в профиле пользователя регулярное выражение с подстановкой необходимых значений (локальная группа с  ID = 1 в курсе с кратким названием «Физика») выглядит следующим образом:

Рис. 4.3.3. Пример заполнения поля «Группы» в профиле пользователя для записи этого пользователя в указанную группу указанного курса.

Имеется возможность внести правки в регулярное выражение (поз. 2 Рис. 4.3.4). Для внесения правок нужно установить галочку напротив опции «Внести правки в регулярное выражение для поиска групп» (поз. 2 Рис. 4.3.4). В результате появляется следующая форма (поз. 3 Рис. 4.3.4):

Рис. 4.3.4. Опции секции настроек «Добавление в группы», часть 1.

Для получения более подробной информации о настройке регулярного выражения нужно нажать на (см. поз. 3 Рис. 4.3.4).

Без правок можно пользоваться логикой, реализованной по умолчанию:

  • для перечисления нескольких групп, они должны быть разделены запятой;
  • помимо группы должен быть указан курс;
  • запись, где курс будет отличен от текущего (в который добавлен данный способ записи) будет пропущена;
  • для идентификации группы используется значение поля «ID группы», задаваемого через интерфейс редактирования групп (idnumber);
  • для идентификации курса используется значение поля «Краткое название курса» (shortname);
  • группа и курс должны быть разделены символом «@» по примеру {group_idnumber}@{course_shortname};
  • найденные значения для групп и курсов будут обрезаться по краям в случае, если будут содержать пустые символы (пробелы).

Далее, после выбора поля «Группы» из списка полей и внесения правок в регулярное выражение (при необходимости), можно настроить автосоздание локальной группы в нужном курсе (см. поз. 1 Рис. 4.3.4).
После сохранения всех настроек пользователи с нужными значениями в поле «Группы» будут записаны на курс/курсы в нужные группы  после входа на сайт или в курс (в зависимости от настроек).

Настройки секции «Добавление в группы» могут использоваться как отдельно, так и совместно с настройками секции «Настройки фильтрации» (п. 4.2).

Создать группу в соответствии с фильтром и подписать в нее пользователя (поз. 1 Рис. 4.3.5). Если не планируется использование опции «Добавлять в группы, найденные в поле профиля» (блокирующей данный функционал), можно настроить создание группы в соответствии с фильтром. Если включить эту опцию, то при срабатывании по событию записи в курс будет создана группа, соответствующая фильтру, с именем из поля/всех полей «Должно совпадать с» и пользователь будет записан в нее.

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

Рис. 4.3.5. Опции секции настроек «Добавление в группы», часть 2.

Добавить пользователей в существующие группы (см. поз. 2 Рис. 4.3.5). Опция записывает всех пользователей, прошедших условия фильтра, в выделенные в списке группы из имеющихся в курсе. Группы из списка выделяются «Ctrl» + «левая кнопка мыши». Можно не выделять ни одну группу. Если группа выделена в этой секции, запись в нее будет происходить независимо от распределения по группам в секции «Настройки фильтрации», т. е. при определенных установках пользователь может попасть одновременно в несколько групп.

Случайное распределение по выбранным группам (см. поз. 3 Рис. 4.3.5). При включении этой опции пользователь записывается случайным образом в одну из выделенных в списке групп.

5. Выбор полей профиля и их значений

Поля профиля делятся на две группы: стандартные и кастомные (индивидуально заданные администратором для системы). В то же время каждое поле имеет свой тип:

Рис. 5.1. Выбор полей профиля и их значений.

1. Для кастомных полей (например: «Номер внутреннего реестра», «Стаж», «Филиал») в поле «Должно совпадать с» указываются обычные значения из полей профиля в том виде, в каком они и заполняются (например: «222654», «21», «Мичуринский»). Для корректной работы фильтров с некоторыми типами полей нужно указывать значения в другом формате (исключения составляют поля типа «Дата/время» и «Переключатель» — см. таблицу ниже).

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

Поле профиля Какие значения указывать Примеры значений
стандартное
«Метод авторизации»
Название плагина, использующегося для авторизации otoauth, manual, db, dof (см. список ниже)
стандартное
«Язык»
Сокращенное обозначение языка (код) ru, us
стандартное
«Страна»
Двухбуквенные ISO стран RU, UA, KZ
поля типа
Дата/Время
Дату или время в полях такого типа нужно указывать в формате timestamp (см. «как конвертировать дату (время) из привычного формата в timestamp»). 1600854527,
20140812003842
пола типа
Переключатель
В полях такого типа (чекбокс) в качестве значения обычно либо стоит галочка, либо ее нет. Есть = 1. Нет = 0. 1, 0

Значения для поля «Метод авторизации» (в зависимости от плагинов авторизации):

Сервер CAS (SSO) — cas
Внешняя база данных — db
Синхронизация с Free Deans Office — dof
Самостоятельная регистрация по электронной почте — email
Автоматическая подписка кураторов — enrolmentor
Сервер LDAP — ldap
LTI — lti
Ручная регистрация — manual
Аутентификация для пользователей сети MNet — mnet
Вход запрещен — nologin
Не использовать аутентификацию — none
OAuth 2 — oauth2
Мульти-LDAP — otmultildap
OTOAuth — otoauth
Shibboleth — shibboleth
Unique Login — uniquelogin
User key authentication — userkey
Аутентификация для клиентов веб-служб — webservice

Для кастомных полей типа «Выбор из списка» можно определить перечень значений следующим образом:

  • открыть редактирование профиля;
  • найти выпадающий список нужного вам поля;
  • открыть просмотр исходного кода в браузере;
  • развернуть тег «select» и просмотреть теги «options» (или с помощью поиска в коде найти название интересующего поля);
  • атрибут «value» в таких тегах будет иметь то значение, которое нужно указывать при фильтрации, а содержимое тега будет соответствующим ему отображаемым значением.

Рис. 5.2. Другие поля.

Рис. 5.3. Просмотр исходного кода в браузере.

6. Примеры

6.1. Пример №1

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

Рис. 6.1. Настройки фильтрации.

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

Плагин ищет всех пользователей, у которых поле «Адрес электронной почты» в профиле содержит запись «opentechnology.ru» (нестрогое соответствие) — vasya@opentechnology.ru, ivanenko@opentechnology.ru итд.
Плагин создает группу opentechnology.ru (название берется из поля «Должно совпадать с») и подписывает в нее и на курс отобранных в п. 1 пользователей при условии, что они еще не подписаны на курс этим фильтром (опция «Подписывать всегда» = «Да») и при условии, что «Ограничение по количеству подписок» = «0» или не превышает указанное (если отлично от «0»).
Если в настройке «Когда подписывать» стоит «Во время входа на сайт», плагин подпишет пользователя, по которому сработали условия, в группу и на курс в момент авторизации пользователя в системе.
При включении опции «Отписывать пользователей, если они перестанут соответствовать условиям подписки» пользователь, записанный на курс плагином Otautoenrol может быть отписан, если не будет удовлетворять условиям подписки. Так в нашем примере, если пользователь с почтой vasya@opentechnology.ru изменит ее в личном кабинете на vasya@yandex.ru, то он будет отписан от курса. Момент отписки зависит от того, как настроено отслеживание соответствий условиям записи на курс: при входе в систему, при входе в курс, при изменении профиля или при запуске задачи на синхронизацию автоматических подписок.

6.2. Пример №2

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

Задача: найти всех сотрудников компании из определенного города, подписать их на курс и разбить на группы в зависимости от отдела, в котором они работают.
Решение: Настраиваем три фильтра, используя следующие поля профиля:
  • Город. Фильтрация по городу, например «Тамбов».
  • Адрес электронной почты. Фильтрация по корпоративному домену, например «@metall-help.com».
  • Отдел. В фильтре по этому полю из профиля поле «Должно совпадать с» заполнять не будем, чтобы создать группы по отделам.

Рис. 6.2.1. Автоматическая запись в курсы по условиям. Секция настроек «Основные настройки».

Рис. 6.2.2. Автоматическая запись в курсы по условиям. Настройки фильтрации. 

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

  1. Плагин ищет всех пользователей, у которых поле «Город» в профиле содержит запись «Тамбов» (строгое соответствие).
  2. Среди всех пользователей из «Тамбов» плагин ищет всех пользователей, у которых поле «Адрес электронной почты» в профиле содержит запись «@metall-help.com» (нестрогое соответствие) — vasya@metall-help.com, ivanenko@metall-help.com и т. д.
  3. Плагин проверяет, что эти пользователи еще не подписаны на курс этим фильтром (опция «Подписывать всегда» = «Да»).
  4. Для каждого отфильтрованного пользователя плагин считывает поле «Отдел».
  5. Если это новое значение, например «Снабжение», плагин создает группу вида: «Тамбов_@metall-help.com_Снабжение» и записывает этого пользователя на курс и в эту группу.
  6. Если значение из поля «Отдел» уже было использовано, и такая группа уже существует, пользователь попадает в нее и записывается на курс.
  7. Если в личном кабинете пользователя поле «Отдел» не заполнено, плагин создаст группу «Тамбов_@metall-help.com_Нет department» и пользователь будет записан на курс и в нее. (Это работает так при условии, что shortname поля «Отдел»=department. В имя этой группы подставляется значение shortname поля).
  8. Так как в настройке «Когда подписывать» стоит «Во время входа на сайт», плагин подпишет пользователя в соответствующую группу и на курс в момент авторизации пользователя в системе.

Если в курсе уже присутствуют группы (Управление курсом->Пользователи->Группы), в настройках плагина появляется еще одна секция настроек:

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

6.3. Пример №3. Случайное распределение по трем локальным группам

Задача: есть курс «Олимпиада», основу курса составляет тест, который сделан в трех вариантах. Нужно при записи пользователей (участников олимпиады) на курс распределить их случайным образом по этим трем вариантам курса-теста.

Рис. 6.3.1. Три варианта теста в секции курса.
Решение: 1. Создаем три группы: «Группа 1», «Группа 2», «Группа 3».

Рис. 6.3.2. Создание трех локальных групп.
2. Каждому из трех элементов «Тест» ограничиваем доступ соответствующей группой. «Студент должен быть в соответствующей группе».

Рис. 6.3.3. Настройка ограничения доступа к элементам «Тест».
Тест для группы 1 — Группа 1.
Тест для группы 2 — Группа 2.
Тест для группы 3 — Группа 3.
3. Настраиваем автозапись в курс со случайным распределением в три созданных группы (необходимо установить галочку напротив нужной настройки).

Рис. 6.3.4. Настройка автозаписи со случайным распределением.
В результате при записи участников олимпиады на курс, они случайным образом будут распределены по трем группам и будут иметь доступ лишь к своему варианту курса-теста.

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

  

Tags: подписка
Average rating: 0 (0 Votes)

You cannot comment on this entry