Логика курса, часть 2. Управление действиями и обработчики

Функционал, описанный в данной статье, в полном объеме доступен в СЭО 3КL, начиная с версии 4.1.6a.
Если вы используете более раннюю версию системы — обратитесь с заявкой на проведение обновления в службу технической поддержки ООО «Открытые технологии».

Инструкция по разделу «Логика курса». Часть 2. Управление действиями и обработчики

«Логика курса» (ЛК) — инструмент, позволяющий автоматизировать процессы отправки уведомлений, записи на курс, добавления в группу, удаления пользовательских данных в курсе, отписки от курса и внесения изменений в профиль подписчиков в зависимости от широкого ряда условий и настроек.

Данная инструкция описывает настройки «Обработчиков» и «Управления действиями» Логики курса.

Содержание:

4. Страница Логики курса

Перейдем на страницу просмотра самого элемента ЛК. Здесь отображается таблица статусов пользователей. Мы только что добавили ЛК, статусы еще не пересчитаны, поэтому здесь нет пользователей и данных (Рис. 4.1). Обычно к этой странице устанавливается доступ только учителям.

Рис. 4.1. Логика курса до пересчета состояния.

При нажатии на «Пересчитать состояния», мы увидим пересчитанные текущие состояния.

Указан пользователь, его роль, группа, состояние ЛК и дата последнего изменения состояния ЛК (Рис. 4.2).

Рис. 4.2. Логика курса после пересчета состояния.

Можно перейти по кнопке  в начале каждой строки и посмотреть логирование срабатывания обработчиков. Как только обработчик будет выполнен, это действие будет залогировано. Указано время и успешное/не успешное выполнение действия (Рис. 4.3):

Рис. 4.3. Логирование действия обработчиков.

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

4.1. Обработчики Логики курса

Перейдем к настройке обработчиков ЛК и действий (Рис. 4.1.1).

Рис 4.1.1. Управление действиями. Обработчики.

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

4.1.1. Виды обработчиков

Обработчики ЛК можно условно поделить на два типа:
Обработчики при активации и обработчики при деактивации.

  • При активации выполняются действия при смене статуса с неактивного на активный, «Условие: логика курса активна».
  • При деактивации — наоборот — при смене статуса с активного на неактивный. «Условие: логика курса неактивна".

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

  • Однократные выполняют блок действий один раз.
  • Периодические выполняют действия многократно с указанным интервалом.
Примечание.
Повторно попасть на страницу «Управление действиями» ЛК можно нажав на иконку или описание элемента ЛК в курсе. При этом, мы сначала попадаем на страницу Просмотра Логики курса. На этой странице нужно нажать на ссылку «Управление действиями» в верхнем подменю (Рис.4.1.1.а).

Рис 4.1.1.а. Переход из Просмотра ЛК в Управление действиями.

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

4.1.2. Настройки обработчиков

Чтобы перейти в настройки обработчика, нажмем на пиктограмму «шестеренка» (см. Рис. 4.1.1).

Рис 4.1.2.а. Настройки обработчика.

«Включить» — «Нет/Да». Включение и выключение обработчика. По умолчанию выключен.

«Отсрочка активации». Данная настройка позволяет отложить момент срабатывания действий обработчика на время от секунд до нескольких недель. Выполнение действий произойдет не сразу при смене статуса, а через указанный промежуток времени после смены статуса.

«Срабатывает» — «1 раз / Периодично». Будет ли обработчик срабатывать один раз или периодически, с указанным ниже интервалом.

«Интервал». Время, через которое периодически будет запускаться обработчик.

«Условие» — «Логика курса активна / Логика курса не активна». Указывает, когда срабатывает обработчик — при активации или при дезактивации ЛК. Эта опция позволяет делать инверсию срабатывания обработчика на оба изменения состояния ЛК.

Пример. К примеру, включим обработчик, укажем однократное срабатывание при активации логики курса и сохраним настройки.

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

5. Управление действиями. Добавление действий.

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

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

Рис 5.1. Добавление действий.

Доступные действия описаны ниже.

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

5.1. Действие «Отправить сообщение»

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

Рис. 5.1.1. Страница настроек действия «Отправить сообщение».

Доступны следующие настройки (см. Рис. 5.1.1):

  • Включить. Включает (= Да) или отключает (= Нет) отправку сообщений.
  • Получатель. Позволяет указать пользователей курса, которым будет отправлено сообщение. Доступные варианты:
    • Преподаватель.
    • Куратор.
    • Студент.
  • Текст уведомления. Непосредственно текст сообщения, которое будет разослано получателям при срабатывании логики курса. При формировании текста сообщения могут быть использованы возможности встроенного редактора и макроподстановки.
Актуальные макроподстановки и их описание доступны также в окне справки настройки «Текст уведомления» (Рис. 5.1.2).

Рис. 5.1.2. Окно справки настройки «Текст уведомления».
  • Краткое уведомление.  Если в СЭО 3КL настроена отправка уведомлений по СМС, в поле можно задать отдельный текст для СМС сообщения.  Поддерживается использование макроподстановок.
Подробная информация по настройке уведомлений и СМС  в статьях «Уведомления в СЭО 3КL» и «Настройка отправки уведомлений пользователю по СМС».
  • Отправлять от имени. Позволяет указать, от имени какой роли будут отправляться сообщения. Доступные варианты:
    • Студент.
    • Преподаватель.
    • Администратор.
  • Выберите отправителя.  Позволяет выбрать в качестве отправителя определенного преподавателя, если в курсе присутствует несколько пользователей с ролью «Преподаватель».
Сообщение на почту придет от имени того пользователя, которого вы указали. Электронная почта отправителя не будет указана, только название курса. Важно отметить, что ссылки на курс или элемент курса, с которого отправляется сообщение, не фигурируют в письме, поэтому всю нужную информацию стоит ввести самостоятельно.

По завершении редактирования действия сохраняем его настройки нажатием кнопки «Сохранить».

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

5.2. Действие «Записать в поле профиля»

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

Рис 5.2.1. Добавление действия «Записать в поле профиля».
  • Включить. Включает (= Да) или отключает (= Нет) запись значения в поле профиля.
  • Запись в поле профиля. Выпадающий список настройки позволяет выбрать поле профиля, в которое будет, по срабатыванию Логики курса,  записываться значение. Поддерживаются и основные, и дополнительные поля профиля пользователя.
  • Шаблон макроподстановки. В этом поле указывается значение, которое нужно записать в поле профиля. Здесь также поддерживаются макроподстановки.

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

5.3. Действие «Добавить в группу»

Действие позволяет зачислить пользователя в одну или несколько локальных групп курса. При этом можно указать уже существующие группы или инициировать создание новых.

Рис. 5.3.1.  Добавление действия «Добавить в группу».

Доступны следующие настройки действия (см. Рис. 5.3.1):

  • Включить. Включает (= Да) или отключает (= Нет) действие добавления в группу.
  • Группы.  Выпадающий список настройки позволяет определить локальную группу (или группы, настройка допускает множественный выбор), в которую должен быть зачислен слушатель при срабатывании Логики курса. Выбор локальной группы для записи выполняется либо непосредственно по ее названию (поз. 1 Рис. 5.3.2), либо по значению поля профиля пользователя (поз. 2 Рис. 5.3.2), отмеченных в выпадающем списка настройки. При этом, необходимое поле профиля можно указать используя автоподстановку (перечень доступных автоподстановок доступен в модальном окне подсказки настройки).

Рис. 5.3.2. Выпадающий список настройки «Группы».
  • Нестрогое соответствие. Настройка включает следующие опции:
  • Опция «Если включено, то группа может быть найдена по неполному совпадению с выбранными полями пользователя». Если опция включена, слушатели зачислятся во все группы, у которых при сопоставлении названий групп со значением поля  было частичное совпадение.
Например, при значении «математика» слушатели будут зачислены сразу во все группы, названия которых включают это слово: «математика для младших классов», «математика для старших классов», «высшая математика» и т. п.
  • Опция «Учитывать регистр». Если опция включена, во время поиска групп будет учитываться регистр букв.
  • Опция «Создать группу, если не найдена». Если опция установлена, но локальная группа с указанным значением поля отсутствует в курсе на момент срабатывания Логики курсаи — такая группа будет автоматически создана системой и пользователи будут туда записаны.
  • Способ распределения слушателей в группы. Определяет алгоритм распределения слушателей в локальные группы. Возможные варианты:
    • Добавить во все группы — слушатели зачисляются сразу во все указанные локальные группы.
    • Добавить в одну из групп — слушатели зачисляются в локальную группу с наименьшим количеством участников (при этом, если локальные группы на момент срабатывания Логики курса содержат одинаковое количество участников, группа для записи выбирается в случайном порядке).

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

5.4. Действие «Записать на курс»

Действие позволяет записать пользователя в выбранный курс с указанной ролью.

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

Рис 5.4.1. Добавление действия «Записать на курс».
  • Включить. Включает (= Да) или отключает (= Нет) действие.
  • Курс. Выпадающие списки настройки позволяют выбрать категорию курсов и курс в ней.
  • Роль. Устанавливает роль, с которой пользователь будет записан на курс.
  • Перезапись на курс. Определяет алгоритм действия в случае, если у пользователя уже есть подписка на указанный курс:
    • Нет — существующая подписка остается без изменений.
    • Да — пользователь отписывается от курса и подписывается заново.
  • Восстановить оценки. Определяет алгоритм восстановления оценок, если ранее пользователь уже был подписан на этот курс:
    • Да — пытаться восстановить предыдущие оценки.
    • Нет — не учитывать предыдущие оценки.
  • Очистить модули курса. Если = «Да», все предыдущие следы и действия пользователя в элементах курса и ресурсах (оценки, попытки прохождения, ответы и т. п.) будут удалены.
Не рекомендуем применять очистку модулей курса без полной уверенности в том, что удаляемые данные вам больше никогда не понадобятся: операция очистки данных пользователя в курсе необратима и удаляет все следы деятельности пользователя в курсе и его оценки (кроме данных в блоке «История обучения» и отдельных плагинов, не поддерживающих очистку).
Дополнительная информация в статье «Способы записи пользователей на курс».

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

5.5. Действие «Отписать от текущего курса»

При срабатывании логики курса действие отписывает слушателей курса из текущего курса.

Обратите внимание: после отписки пользователя от текущего курса он перестанет как-либо обрабатываться Логикой курса, поэтому использовать этот инструмент для перезаписи пользователя невозможно.

 Рис 5.5.1. Добавление действия «Отписать от текущего курса».
  •  Включить. Включает (= Да) или отключает (= Нет) действие.

Удалить пользовательские данные в курсе. Если = «Да», все данные пользователя в текущем курсе (оценки, попытки прохождения, ответы и т. п.) будут удалены.

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

Удалить также пользовательские оценки из журнала. Если =  «Да», оценки в журнале оценок курса будут удалены.

В блоке «История обучения 3KL» оценки пользователя сохранятся.
В случае повторной записи пользователя на курс ранее удаленная оценка пользователя в курсе не восстанавливается. В блоке «История обучения 3KL» будет отображена новая оценка по заново пройденному модулю.

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

5.6. Действие «Удалить пользовательские данные в курсе»

Действие удаляет все следы обучения пользователя на курсе.

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

Рис. 5.6.1. Добавление действия «Удалить пользовательские данные в курсе».

Удалить пользовательские данные в курсе. Если = «Да», все данные пользователя в текущем курсе (оценки, попытки прохождения, ответы и т. п.) будут удалены.

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

Удалить также пользовательские оценки из журнала. Если =  «Да», оценки в журнале оценок курса будут удалены.

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

6. Обработчики и действия

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

Рис 6.1. Примеры добавленных действий и обработчиков.

При наведении на знак вопроса можно увидеть подсказку с информацией по выбранному действию (Рис. 6.2).

Рис 6.2. Дополнительная информация о действии.

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

7. Дополнительная информация

7.1. Макроподстановки

Макроподстановки позволяют использовать в тексте письма динамически меняющиеся элементы, например, название курса или ФИО студента. В тексте сообщений возможно использование следующих макроподстановок:

{CURRENTDATE} — Текущая дата в формате d-m-Y H:i:s;
{CURRENTTIMESTAMP} – Позволяет записать текущую дату в поле профиля пользователя типа «Дата»;

Макроподстановка {CURRENTTIMESTAMP} может быть применена только для действия «Записать в поле профиля».

{STUDENTFULLNAME} — ФИО студента;
{STUDENTPROFILELINK} — Ссылка на профиль студента;
{COURSEFULLNAME} — полное название курса;
{COURSELINK} — Ссылка на курс;
{MODULEPAGE} — Ссылка на страницу текущего элемента с сообщением;
{MODULENAME} — Текущее название элемента курса.

Макроподстановки данных студента:

{FIRSTNAME} — Имя;
{LASTNAME} — Фамилия;
{EMAIL} — Адрес электронной почты;
{CITY} — Город;
{COUNTRY} — Страна;
{LANG} — Предпочитаемый язык;
{DESCRIPTION} — Описание;
{URL} — Веб-страница;
{IDNUMBER} — Индивидуальный номер;
{INSTITUTION} — Учреждение (организация);
{DEPARTMENT} — Отдел;
{PHONE1} — Телефон;
{PHONE2} — Мобильный телефон;
{ADDRESS} — Адрес;
{FIRSTNAMEPHONETIC} — Имя — фонетическая запись;
{LASTNAMEPHONETIC} — Фамилия — фонетическая запись;
{MIDDLENAME} — Отчество или второе имя;
{ALTERNATENAME} — Альтернативное имя.
{PROFILE_FIELD_XXXX} — где XXXX — краткое имя настраиваемого поля профиля пользователя. Подставляет значение из указанного кастомного поля профиля (доступно с версии 3.5.6a).
{USERNAME} — Логин (доступно с версии 3.5.6a). 

В том месте в тексте письма, где нужно подставить необходимые данные, указывается макроподстановка из списка. Система проанализирует текст письма, найдет все макроподстановки и вместо них вставит данные из курса и профиля пользователя.

Пример приветственного письма новому студенту, содержащего макроподстановки (Рис. 7.1.1):

Рис 7.1.1. Пример сообщения с макроподстановками.

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

7.2. Права на получение уведомлений

Важно помнить, что отправка уведомлений происходит с учетом прав пользователей. 

 По умолчанию роль «Студент» имеет право получать уведомления для студентов, роль «Учитель» имеет право получать уведомления для учителей, роль «Куратор» — для кураторов. Если в курсе используются нестандартные роли, и пользователям с этими нестандартными ролями необходимо получать уведомления, в их роли нужно добавить соответствующие права:

mod/otcourselogic:is_student,
mod/otcourselogic:is_teacher,
mod/otcourselogic:is_curator.

Право mod/otcourselogic:is_curator имеет контекст пользователя, права для учителя и студента в контексте курса.

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

8. Возможные сценарии

8.1. Перезапись пользователя на курс без сохранения оценок

Задача: необходимо отчислить из курса пользователя из Москвы и записать его заново без сохранения оценок за такие элементы, как «Задание» и «Тест».

Предусловия:

1) Курс уже создан и наполнен материалами.

2) В профиле пользователя указан город «Москва».

3) Пользователь уже прошел элементы «Задание» и «Тест» и получил оценку.

Решение:

1) Добавление ограничения.

При добавлении элемента «Логика курса» в курс нужно, в первую очередь, настроить ограничение доступа.
Добавим ограничение по городу в поле профиля пользователя, выбираем «Город». Для срабатывания «Логики курса» нужно, чтобы у пользователя в поле профиля «Город» было указано значение «Москва» (Рис. 8.1.1). Ограничение может быть любым в зависимости от потребностей в конкретной ситуации.

Рис. 8.1.1. Ограничение по полю профиля пользователя.

2) Добавление условия. После добавления ограничения нужно нажать кнопку «Сохранить и показать».  На открывшейся странице выбрать вкладку «Управление действиями». Выбрать «Условие: логика курса активна». Теперь нужно выбрать действие (Рис. 8.1.2).

Рис. 8.1.2. Выбор действий.

Далее добавляется действие «Записать на курс» (Рис. 8.1.3).

Рис. 8.1.3. Добавление действия «Записать на курс».

После нажатия на кнопку откроется страница с настройками. Они должны быть заполнены следующим образом (Рис. 8.1.4):

Рис. 8.1.4. Настройка действия «Записать на курс».
Обязательно обратите внимание на настройки «Перезаписать на курс» и «Очистить модули курса». Они обязательно должны быть переведены в значение «Да»!

Результат:

Добавляем действие  «Записать на курс». Правильно настроенное действие будет выглядеть следующим образом (Рис. 8.1.5):

Рис. 8.1.5. Условия для перезаписи пользователя в курс.

После сохранения настроек все пользователи, в полях профилей которых значение «Город» соответствует значению «Москва»,  будут перезаписаны в этот курс и все выполненные ими задания/тесты и оценки за них обнулятся.

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

8.2. Запись в локальные группы

Задача: нужно в курсе по литературе автоматически записать пользователей в группы с соответсвующим их классу названием.

Предусловия:

1) Курс уже создан и наполнен материалами.

2) Пользователи уже подписаны на курс.

3) У пользователей заполнено дополнительное поле профиля «Класс»: значение «7А» или «7Б».

Решение:

1) Добавление Логики курса.

При добавлении ЛК нужно обязательно настроить ограничение доступности по полю профиля «Класс» (поз. 2 Рис. 8.2.1) и разрешить студенту соответствовать любому из значений (поз. 1 Рис. 8.2.1).

Рис. 8.2.1. Ограничение доступности в настройках ЛК.

2) Добавление действия.

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

Рис. 8.2.2. Добавление действия «Добавить в группу».

Откроется страница настройки действия. Для успешного выполнения задачи они должны быть заполнены следующим образом (Рис. 8.2.3):

Рис. 8.2.3. Настройки действия «Добавить в группу».
Настройка «Создать группу, если не найдена» обязательно должна быть включена!

После сохранения настроек действия система вновь перенаправит на страницу «Управление действиями». Необходимо включить обработчик, чтобы действие успешно воспроизводилось. Для этого нужно нажать на значок перечеркнутого глаза (Рис. 8.2.4).

Рис. 8.2.4. Включение обработчика.

Страница обновится, а статус «Выключен» пропадет. Обработчик сработает корректно.

Результат.

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

Рис. 8.2.5. Страница ЛК после срабатывания действия.

На странице групп курса также будут отображаться созданные группы с пользователями, которые автоматически были туда добавлены (Рис. 8.2.6 и 8.2.7).

Рис. 8.2.6. Группа «7А», созданная ЛК.

Рис. 8.2.7. Группа «7Б», созданная ЛК.

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

Можно перейти к Части 3 данной инструкции — «Примеры использования Логики курса»

Теги: Логика курса, элемент курса
Рейтинг ответа: 5 (2 оценок)

Комментарии запрещены