Панель обработки прецедентов. Локальный плагин

Сергей Гусев, Нелли Никитина
2021-10-13 09:42
Содержание:
1. Общая информация
2. 
Описание работы плагина при рассылке уведомлений

3. Сценарии рассылки уведомлений
  3.1.  Уведомление об орфографической ошибке
  3.2. Уведомление слушателя о подписке на курс
  3.3. Уведомление преподавателя о подписке на курс с правом оценивать других пользователей
  3.4. Уведомление ни разу не авторизовавшегося пользователя о недавней регистрации
  3.5. Уведомление ни разу не авторизовавшегося пользователя о регистрации, с момента которой прошло почти два месяца
  3.6. Отправка уведомлений с паролем пользователям, загруженным в систему
  3.7. Сохранение и отправка паролей из внешней базы данных пользователям, загруженным в систему
4. Сценарии удаления
  4.1. Удаление ни разу не авторизовавшихся пользователей, с момента регистрации которых прошло два месяца
  4.2. Удаление завершенных попыток тестирования старше заданной даты
5. Сценарии снятия и назначения ролей
  5.1. Снятие назначенных ролей
  5.2. Назначение или снятие роли пользователям согласно критериям
6. Взаимодействие плагина с глобальными группами
  6.1. Синхронизация пользователей с глобальными группами
  6.2. Синхронизация пользователей с глобальными группами по расписанию
  6.3. Удаление подписок типа «Синхронизация с глобальной группой» по дате из настраиваемых полей глобальной группы
  6.4. Удаление глобальных групп по дате из настраиваемых полей глобальной группы
7. Выгрузка оценок во внешнюю базу данных
8. Функции для разработчиков

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

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

Модуль постоянно модифицируется и дополняется новыми функциями силами специалистов компании «Открытые технологии».

Настройки плагина, сгруппированные в разделы по функциональному назначению, доступны пользователю в: Настройки—>Администрирование—>Плагины—>Локальные плагины—>Панель обработки прецедентов (Рис. 1.1). Требуются права Администратора!

Рис. 1.1. Панель обработки прецендентов. Общие настройки плагина.

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

2. Описание работы плагина при рассылке уведомлений

Плагин рассылает уведомления пользователям системы стандартным способом. Получение уведомлений от плагина (Рис.2.1) настраивается пользователем через настройки уведомлений в Личном кабинете в секции «Панель обработки прецедентов»:
Личный кабинет—>Настройки—>Учетная запись пользователя—>Настройка уведомлений

Рис. 2.1. Уведомления «Панели обработки прецедентов».

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

  • Уведомления о прецедентах — этот тип уведомлений рассылает все уведомления Панели, кроме паролей:
    • отправка орфографических ошибок;
    • отправка уведомления о том, что пользователь зарегистрирован давно и не заходит;
    • отправка уведомления о том, что пользователь только что зарегистрирован;
    • отправка уведомления о том, что студент зачислен в курс;
    • отправка уведомления о том, что учитель зачислен в курс.
  • Панель обработки прецедентов: служебные уведомления — этот тип уведомлений в данный момент рассылает только пароли новым пользователям.
Важно! Действия в данной инструкции с меткой требуются права администратора можно выполнить только при наличии доступа «Полный Администратор». По умолчанию мы предоставляем доступ «Диспетчер-Администратор». Для изменения глобальных конфигураций мы рекомендуем выбрать набор требуемых опций по данной инструкции и обратиться в техническую поддержку с заявкой на конфигурирование системы. Подробнее в статье «Полный административный доступ».

Путь к настройкам: Администрирование—>Плагины—>Локальные плагины—>Панель обработки прецедентов.
Все действия в данной инструкции требуют права полного (технического) администратора!

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

3. Сценарии рассылки уведомлений

3.1. Уведомление об орфографической ошибке

Модуль «Отчет об орфографической ошибке» предназначен для обратной связи пользователей сайта, сообщающих о найденных ошибках на сайте СЭО, и администраторов, получающих сообщения об ошибках (Рис. 3.1.1). Ссылка на отдельную  инструкцию по модулю.

Рис. 3.1.1. Уведомление об орфографической ошибке.

3.2. Уведомление слушателя о подписке на курс

Инструмент предназначен для отправки уведомлений слушателю при его зачислении на курс (Рис. 3.2.1).

Особенности и условия:
1. Уведомление отправляется при любом способе зачисления пользователя на курс.
2. Уведомление отправляется пользователям, записанным на курс с оцениваемой ролью.

Рис. 3.2.1. Уведомление слушателя о подписке на курс.

Настройка:
1. Включить отправку уведомления (установить маркер в чекбокс).
2. Отредактировать уже заполненные по умолчанию поля «Заголовок уведомления», «Полный текст уведомления» и «Короткий текст уведомления» (при необходимости).

3.3. Уведомление преподавателя о подписке на курс с правом оценивать других пользователей

Инструмент предназначен для отправки уведомлений преподавателю при его зачислении на курс (Рис. 3.3.1).

Особенности и условия:
1. Уведомления отправляются только контактам курса. Пользователь (Преподаватель) должен быть записан в курс с ролью, которая указана в настройках контактов курса. По умолчанию в СЭО в контактах курса указана роль «Преподаватель».
Проверить роли контактов курса можно здесь:
Администрирование—>Внешний вид—>Курсы. /admin/settings.php?section=coursecontact

Рис. 3.3.1. Уведомление преподавателя о подписке на курс с правом оценивать других пользователей.

Настройка:
1. Включить отправку уведомления (установить маркер в чекбокс).
2. Отредактировать уже заполненные по умолчанию поля «Заголовок уведомления», «Полный текст уведомления» и «Короткий текст уведомления» (при необходимости).

3.4. Уведомление ни разу не авторизовавшегося пользователя о недавней регистрации

Инструмент предназначен для отправки уведомлений зарегистрированному пользователю, который ни разу не заходил в систему в течение 7 дней после регистрации (Рис. 3.4.1).

Особенности и условия:
1. Пользователь может быть зарегистрирован в СЭО любым способом.
2. Если в течение 7 дней с момента регистрации он не заходил в систему — ему однократно отправляется уведомление.

Рис. 3.4.1. Уведомление ни разу не авторизовавшегося пользователя о недавней регистрации.

Настройка:
1. Включить отправку уведомления (установить маркер в чекбокс).
2. Заполнить поля «Заголовок уведомления», «Полный текст уведомления» и «Короткий текст уведомления». 

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

Инструмент аналогичен предыдущему (п. 4) и предназначен для отправки уведомлений зарегистрированному пользователю, который ни разу не заходил в систему в течение 7 недель после регистрации (Рис. 3.5.1).

Особенности и условия:
1. Пользователь может быть зарегистрирован в СЭО любым способом.
2. Если в течение 7 недель (точнее '-2 months, +7 days') с момента регистрации он не заходил в систему — ему однократно отправляется уведомление.

Рис. 3.5.1. Уведомление ни разу не авторизовавшегося пользователя о регистрации, с момента которой прошло почти два месяца.

Настройка:
1. Включить отправку уведомления (установить маркер в чекбокс).
2. Заполнить поля «Заголовок уведомления», «Полный текст уведомления» и «Короткий текст уведомления». 

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

Сценарий представляет собой отправку паролей загруженным в систему пользователям с помощью уведомлений на почту и/или СМС. Данный инструмент может быть полезен, если нужно отправить новым пользователям пароль по СМС, при этом, можно настроить генерацию пароля так, что временный пароль будет коротким и простым.
Настройки содержат тексты уведомлений, опцию принудительной смены пароля и дополнительные настройки пароля.
Особенности и условия:

Важно!
1. Чтобы данный инструмент нормально функционировал, необходимо отключить стандартную задачу на генерацию и рассылку паролей в  cron:
Рассылка паролей новым пользователям \core\task\send_new_user_passwords_task
2. Чтобы пользователи получали сообщения (в т.ч. по СМС), при их регистрации в системе должен быть указан email пользователя.
3. Уведомления рассылаются именно при загрузке пользователей (CSV, внешняя БД) и не работают при ручной регистрации пользователей с автоматической генерацией пароля.

3.6.1. Отправка уведомлений с паролем

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

Пример использования:
Пользователи импортированы в СЭО с помощью CSV-файла.
Работа стандартного метода СЭО: по задаче в cron система генерирует пароли и отправляет уведомление с паролем на email пользователя.
Работа этого инструмента: по сценарию (при отключенной стандартной задаче по рассылке паролей) пароли отправляются пользователям на почту и/или по СМС. Опционально (п.8.2) можно отправлять пользователю простой короткий цифровой пароль.

Рис. 3.6.1.а. Отправка уведомлений с паролем.

Настройка:
1. Включить отправку уведомлений с паролем (установить маркер в чекбокс).
2. Отредактировать уже заполненные по умолчанию поля «Заголовок уведомления», «Полный текст уведомления» и «Короткий текст уведомления» (при необходимости).
3. Принудительная смена пароля. Если поставить эту отметку, то пользователю будет предложено изменить пароль при следующем входе в систему. При этом создаваемый пользователем пароль будет должен соответствовать политике паролей (если она включена).

3.6.2. Дополнительные настройки пароля

Начиная с версии Moodle 3.5.9a в сценарий отправки паролей добавлена возможность сгенерировать пароль в обход стандартной логики Moodle. Теперь можно отправлять новым пользователям простые короткие временные пароли (например, из 4-6 цифр), не отменяя политики паролей.

Пример использования:
Новых пользователей зарегистрировали способом синхронизации с базой данных или при загрузке через CSV-файл. Пользователи получают на email или СМС удобные короткие цифровые временные пароли.

Настройки данного инструмента находятся в соответствующей секции Панели (Рис. 3.6.2.а).

Рис. 3.6.2.а. Дополнительные настройки пароля.

Настройка:
1. Включить «Дополнительные настройки пароля» (установить маркер в чекбокс).
2. С помощью остальных настроек откорректировать параметры создаваемых паролей.

Дополнительная информация в статье Пароли в Moodle. Политика паролей

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

Сценарий предназначен для совместного использования с плагином аутентификации «Внешняя база данных» для одноразовой синхронизации паролей пользователей. При синхронизации из внешней БД пароль пользователя сохраняется в СЭО. Происходит это один раз и после этого пароли в Moodle и внешней БД не синхронизируются.  После этого пользователи могут менять пароль в СЭО.

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

Настройки содержат выбор типа пароля во внешней БД, опцию отправки уведомлений, полные и краткие тексты уведомлений, опцию принудительной смены пароля при первой авторизации пользователя.

Особенности и условия:

Важно!
1. Для правильного функционирования инструмента необходимо отключить стандартную задачу на генерацию и рассылку паролей в  cron:
Рассылка паролей новым пользователям \core\task\send_new_user_passwords_task
2. Чтобы пользователи получали уведомления, при синхронизации из внешней БД должен передаваться email пользователя.
3. Если используется опция отправки пароля пользователю, пароль должен храниться в открытом виде во внешней БД .
4. Если пароль во внешней БД не указан, пользователь в Moddle останется без пароля и не сможет авторизоваться.

Настройка:

Настройки в плагине аутентификации «Внешняя база данных» (Рис. 3.7.1):
1. Предварительно настраивается плагин аутентификации «Внешняя база данных». В настройках пароль должен быть указан как внутренний (должен храниться в СЭО),  см.п. 2.1.2. в статье «Аутентификация «Внешняя база данных». Синхронизация пользователей по внешней БД». Остальные настройки синхронизации выбираются согласно необходимому сценарию работы.

Настройки в Панели обработки прецедентов:
2. В пункте «Включить сохранение паролей из внешней базы данных» для включения сценария нужно поставить галочку.
3. В селекторе «Тип пароля во внешней базе данных» указывается в каком виде хранится пароль во внешней базе: Текстовый или Хеш MD5.
4. Если планируется отправка уведомлений пользователям, включается опция «Отправка сообщения пользователю» и, если нужно, редактируются уже заполненные по умолчанию поля «Заголовок уведомления», «Полный текст уведомления» и «Короткий текст уведомления» (можно использовать указанные в описании макроподстановки).
5. При включении опции «Принудительная смена пароля» пользователю будет предложено изменить пароль при следующем входе в систему. При этом создаваемый пользователем пароль должен будет соответствовать политике паролей (если она включена).

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

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

4. Сценарии удаления

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

Инструмент предназначен для автоматического удаления пользователей, ни разу не авторизовавшихся в системе за два месяца с момента регистрации. Обычно применяется с инструментом п.5 (пользователю отправляется сообщение за неделю до удаления) (Рис. 4.1.1).
Особенности и условия:
1. Будут удалены все зарегистрированные, но ни разу не авторизовавшиеся в течение двух месяцев пользователи, кроме пользователей с ролью технический (полный) администратор.
2. Обычно используется с инструментом п.5.

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

Настройка:
1. Включить выполнение действия (поставить галочку).

4.2. Удаление завершенных попыток тестирования старше заданной даты

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

Рис. 4.2.1. Удаление завершенных попыток тестирования старше заданной даты.

Настройка:
1. Включить удаление завершенных попыток тестирования (поставить галочку).
2. Отредактировать значение умолчанию поля «С момента завершения попытки должно пройти больше...» (при необходимости).

Комментарии по производительности:
Данная задача достаточно ресурсоемкая. Первый запуск может длиться продолжительное время. Много времени при обработке уходит на запросы к базе данных и на процесс удаления каждой попытки.
Ориентировочная производительность: за 7 суток обрабатывается около 500 000 попыток теста.
При повторных запусках сценарий всегда работает быстрее, чем при первичном, так как часть попыток уже удалена во время предыдущего прохода. Попытки удаляются по одной по мере выполнения процесса.
Если аварийно завершить задачу, то она просто перестанет выполняться. В следующий запуск задачи прогон пойдет сначала, и гораздо быстрее будет выполнена та часть, которая уже была выполнена до аварийного завершения (т. к. там выполняется только сканирование, без удаления попыток). Удаления попыток будут начаты с места прерывания.

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

5. Сценарии снятия и назначения ролей

5.1. Снятие назначенных ролей

Инструмент предназначен для массового снятия конкретной роли в конкретном контексте СЭО (Рис. 5.1.1).

Примеры использования:
1. Отчислить всех студентов из всех курсов.
2.  Удалить назначение специальной роли «Старший преподаватель» или «Завуч» из контекста категорий.

Рис. 5.1.1. Снятие назначенных ролей.

Настройка:
1. Включить снятие ролей (поставить галочку).
2. Выбрать контекст, на уровне которого будет сниматься назначенная роль. 
3. Выбрать назначенную роль, которая будет снята.
4. Сохранить изменения.
Задача будет обработана планировщиком задач по наступлению события \local_pprocessing\event\daily_executed

5.2. Назначение или снятие роли пользователям согласно критериям

 Сценарий предназначен для массового назначения ролей пользователям по значению поля профиля.

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

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

Рис. 5.2.1. Назначение или снятие роли пользователям согласно критериям.
Пример использования:
Нужно назначить роль «Методист» в контексте корневой категории курсов всем пользователям с должностью «Преподаватель».

 Настройка:
1. Выбрать из списка нужное поле профиля,
по значению которого будут отбираться пользователи для назначения роли.
2. Выбрать отношение к значению поля профиля (совпадает/не совпадает,  содержит/не содержит).
3. Указать значение поля профиля (например: если было выбрано поле «Должность», то указать значение этого поля:  «Программист»; «Бухгалтер»; «Преподаватель» и т. д. ).
4. Выбрать назначаемую роль из предлагаемого списка.
5. Выбрать уровень контекста для назначаемой роли
(система/категория->выбор категории).
6. Включить массовое назначение ролей (поставить галочку).

Необходимо помнить о том, что не все роли подходят для всех контекстов — некоторые роли можно назначить только глобально, некоторые только в контексте категории курсов.
Дополнительная информация: Роли, контекст, ролевая модель

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

6. Взаимодействие плагина с глобальными группами

6.1. Синхронизация пользователей с глобальными группами

Инструмент позволяет синхронизировать пользователей с глобальными группами по данным из поля профиля, т.е. добавлять пользователей в группы или отписывать от них (Рис. 6.1.1).

Особенности и условия:
Сценарий срабатывает в следующих случаях:
1. Создается, обновляется или удаляется пользователь в системе, пользователь добавляется в глобальную группу или удаляется из нее.
2. В поле профиля пользователя (которое указывается в настройках инструмента) вносятся данные о группах, при этом поле может быть и пустым.
3. Сценарий извлекает данные о группах из поля профиля пользователя, ищет по этим данным глобальные группы в системе.
4. Если такие группы найдены, пользователь записывается в них. При этом, из групп, которые есть в системе, но не входят в список групп из поля профиля, пользователь отписывается.
5. В результате работы сценария пользователь будет записан ТОЛЬКО в те группы, которые будут указаны в заданном поле профиля.

Рис. 6.1.1. Синхронизация пользователей с глобальными группами.

Настройка:
1. Включить синхронизацию (поставить галочку). Включение инструмента.
2. Выберите поле профиля, в котором указан список глобальных групп пользователя. Выпадающий список для выбора поля профиля пользователя.
3. Идентификатором группы следует считать... Выбор типа поля идентификации группы, которое будет использоваться при поиске групп во время синхронизации. Варианты:
ID — внутренний уникальный идентификатор группы в системе.
♦ Имя группы
♦ Идентификатор группы — заданный вручную идентификатор группы. Назначается при создании или может быть импортирован из внешней системы. Должен быть уникальным.
4. Ручное управление глобальными группами: Запрещено / Разрешено.
Настройка позволяет задать реакцию системы на редактирование состава глобальных групп вручную. Доступны два сценария:
«Разрешено» — система позволяет добавлять/исключать пользователей вручную в группы, не указанные в поле профиля.
«Запрещено» — система запрещает добавлять/исключать пользователя вручную в любые группы.

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

6.2. Синхронизация пользователей с глобальными группами по расписанию

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

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

Рис. 6.2.1. Синхронизация пользователей с глобальными группами по расписанию.

 Настройка:
Включить синхронизацию по расписанию (поставить галочку) — включение инструмента (См. Рис. 6.2.1).

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

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

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

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

Особенности и условия:
Предварительно нужно задать настраиваемые поля для Глобальных групп в плагине «Настраиваемые поля» и заполнить эти поля (поле с форматом «Дата», в котором указана дата отписки ГГ от курсов, например, unenroldate).

Как это сделать описано в инструкции «Настраиваемые поля».

Настройка:
1. Включить сценарий удаления подписок (поставить галочку) (См. Рис.6.3.1).
2. Выбрать Настраиваемое поле, в котором хранится дата отписки глобальной группы.

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

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

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

Рис. 6.4.1. Удаление глобальных групп по дате из настраиваемых полей глобальной группы.

Особенности и условия:
Предварительно нужно задать настраиваемые поля для Глобальных групп в плагине «Настраиваемые поля» и заполнить эти поля (поле с форматом «Дата», в котором указана дата удаления ГГ, например, deldate).

Как это сделать описано в инструкции «Настраиваемые поля».

Настройка:
1. Включить сценарий удаления глобальных групп (поставить галочку) (См. Рис.6.4.1).
2. Выбрать Настраиваемое поле, в котором хранится дата для удаления глобальной группы.

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

7.Выгрузка оценок во внешнюю базу данных

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

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

Особенности и условия:
1. Предусмотрена выгрузка одного из трех видов оценок: оценки за элементы курсов, оценки за курсы, все оценки.
2. Оценки могут быть выгружены по событию «Изменена история оценки» (выгружаются или обновляются оценки, изменение которых привело к формированию события) или по расписанию задач cron (выгружаются все имеющиеся в системе оценки, согласно установленным настройкам).
3. Вместе с оценками предусмотрена возможность выгрузки других полей данных системы во внешнюю БД путем сопоставления полей источника и приемника.

Для того, чтобы рассматриваемый функционал был доступен, необходимо наличие внешней (буферной) SQL базы данных и настроенное в СЭО 3КL подключение к ней.
Подробнее о подключении внешней БД в статье «Управление подключениями к внешним БД» 

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


Рис. 7.1. Раздел настроек «Выгрузка оценок во внешнюю базу данных». Вид при отсутствии настроенного подключения к внешней БД.

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

Рис. 7.2. Раздел настроек «Выгрузка оценок во внешнюю базу данных». Выбор настроенного подключения к внешней БД.

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

Рис. 7.3. Страница «Управление подключениями к внешним БД» .
Подробнее о едином интерфейсе подключения в статье «Управление подключениями к внешним БД» 

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

Рис. 7.4. Разделы настроек «Выгрузка оценок во внешнюю базу данных» и «Выгрузка существующих оценок во внешнюю базу данных по расписанию» локального плагина «Панель обработки прецедентов».

Включить экспорт оценок во внешнюю базу данных. Установка/снятие маркера в чекбоксе позволяет включить/отключить выгрузку данных по событию «Изменена история оценки».
Соединение с базой данных. В поле указано название подключения к базе данных, в которую будут выгружаться оценки. При наличии в системе нескольких настроенных подключений, из выпадающего меню поля можно выбрать необходимое. Ссылка «Управление подключениями к внешним БД» позволяет перейти на соответствующую страницу для создания нового подключения.
Имя таблицы. Название таблицы буферной БД, куда должны выгружаться оценки.
Какие оценки выгружать? Выбрав соответствующее значение из выпадающего списка, пользователь определяет, какой вид оценок следует выгружать: «Все оценки», «За курсы», «За элементы курсов».
За какие элементы выгружать оценки? Если в предыдущем пункте выбрано значение «За элементы курсов», можно дополнительно определить: «Выгружать за все элементы» или «Только за тесты».
Формат оценки для экспорта. Выгружать оценку в процентном формате или как значение.
Формат времени выставления оценки. Параметр определяет, в каком виде выгружать время выставления (изменения) оценки: unix-формат (timestamp), только дата (YYYY-MM-DD ), дата и время (YYYY-MM-DD HH:MM:SS).
Идентификатор пользователя. Выбираемое из выпадающего списка поле в СЭО 3КL, по которому происходит идентификация пользователя.
Поле идентификатора пользователя. Название поля для идентификатора пользователя во внешней БД.
Идентификатор элемента курса.* В случае, если выгружаются (обновляются) оценки только за элементы курса, необходимо выбрать значение «Идентификатор элемента курса». При этом, поле «Идентификатор курса» должно иметь значение «Не связывать поле».
Поле идентификатора элемента курса. Название поля для идентификатора элемента курса во внешней БД.
Идентификатор курса.* В случае, если выгружаются (обновляются) оценки только за курсы, необходимо выбрать значение «Идентификатор курса». При этом, поле «Идентификатор элемента курса» должно иметь значение «Не связывать поле».
Поле идентификатора курса. Название поля для идентификатора курса во внешней БД.
Поля «Сопоставление данных». Позволяют настроить выгрузку во внешнюю базу других данных пользователей из системы. Заголовок поля содержит название поля данных в СЭО 3КL, а выпадающий список позволяет сопоставить его с названием поля во внешней БД или указать, что данные из этого поля «Не выгружать».

* — Идентификация записей во внешней базе данных при обновлении оценок производится по составному ключу «Идентификатор пользователя+Идентификатор элемента курса» или «Идентификатор пользователя+Идентификатор курса».
Если же предусмотрена выгрузка всех оценкок — должны быть определены оба составных ключа.

При установке маркера в чекбокс «Включить выгрузку существующих оценок по расписанию» (раздел «Выгрузка оценок во внешнюю базу данных по расписанию») (См. Рис. 7.1), по расписанию cron система будет формировать выборку всех имеющихся оценок и выгружать их в буферную БД.
Это может быть востребовано, если во внешней системе необходимы оценки, которые были выставлены до активации и настройки сценария «Выгрузка оценок во внешнюю базу данных» или при изменении БД, в которую выгружаются оценки.

Если оставить активным сценарий «Выгрузка оценок во внешнюю базу данных по расписанию», выборка оценок и выгрузка их во внешнюю БД будут происходить при каждом цикле выполнения задач cron. Для предотвращения необоснованной нагрузки на систему рекомендуем использовать этот сценарий как разовый и отключать его сразу же после применения.

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

8.Функции для разработчиков

Все перечисленные ниже функции применяются при написании сценариев для плагина «Панель обработки прецедентов».

  • Обработчик, сравнивающий полученное значение с заданным. Например, можно сравнивать контекст главной страницы и контекст страницы, где находится пользователь.
  • Обработчик условия, проверяющий, обработан ли прецедент. Может быть использован, например, для показа уведомления пользователю только один раз при заходе пользователя в курс или для отправки лишь одного уведомления пользователю через определенное время.
  • Обработчик условия, проверяющий, является ли переданный предыдущим хэндлером результат пустым.
  • Обработчик, получающий значение настройки user_preferences (частные настройки пользователя) и записывающий ее в переменную.
  • Хендлер «Показать уведомление», показывающий уведомление с заданным типом, текстом и заголовком пользователю.
  • Хендлер, взаимодействующий с брокером сообщений Rabbitmq «Получение ответа из очереди Б на отправленный запрос в очередь А». Хендлер отправляет запрос в очередь А, помеченный уникальным идентификатором, прослушивает очередь сообщений Б, и, как только находится сообщение с заданным идентификатором, возвращает json найденного сообщения.
  • Обработчик «Остановка сценария по условию» прекращает работу сценария при выполнении предварительно заданных условий.
  • Сценарии в «Панели обработки прецедентов» переведены на валидную Yaml-разметку.
  • В параметрах вызова обработчика (хендлера) можно задать условия для его срабатывания.
  • В параметрах вызова любого обработчика можно настроить сохранение результата работы обработчика в переменную, указанную в конфигурации обработчика.
  • Возможно указать для обработчика входные параметры следующих типов:
    • статические
    • указанные в переменной
    • из предыдущего обработчика
  • Обработчик получения способов записи на курс по заданным условиям.
  • Обработчик получения записей из таблицы кастомных полей по коду сущности и дополнительным параметрам.
  • Обработчик удаления способа записи на курс.
  • Обработчик удаления глобальной группы.
  • Обработчик получения переменной из контейнера.
  • Обработчик получения значения конфигурации плагина.
  • Обработчик получения записи из таблицы «Cohort» БД о глобальной группе по ее идентификатору.

 

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

Теги: контент, отчет
Рейтинг ответа: 0 (0 оценок)

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