Коннектор Moodle¶
Moodle (Modular Object-Oriented Dynamic Learning Environment, или модульная объектно-ориентированная динамическая учебная среда) — бесплатная система дистанционного обучения. Для обмена данными между Trusted IDM и Moodle организуется взаимодействие через настраиваемый коннектор Trusted IDM. Коннектор реализует передачу запросов и обработку ответов к веб-службе Moodle через REST API.
Предварительные настройки¶
Для настройки взаимодействия с системой Moodle необходимо получить токен. Для этого в системе Moodle следует сделать несколько важных настроек:
Перейти на вкладку Администрирование, Сервер и в разделе Веб-службы выбрать Внешние службы. Здесь можно использовать веб-службу, которая создана по умолчанию Moodle mobile web service
, проверив все необходимые разрешения на API функции. Но лучше создать новую веб-службу под взаимодействие с Trusted IDM. Для этого добавляется новая веб-службы и заполняются необходимые поля, например
Когда веб-служба Веб-служба для Trusted IDM
создана для нее необходимо выставить определенные разрешения. Для этого необходимо нажать на ссылку Функции для выбранной веб-службы.
В перечень функций веб-службы нужно добавить названия функций, которые фактически являются разрешениями на операции через REST API. Вот этот необходимый перечень:
Название функции | Описание действий |
---|---|
core_cohort_add_cohort_members | Adds cohort members. |
core_cohort_create_cohorts | Creates new cohorts. |
core_cohort_delete_cohort_members | Deletes cohort members. |
core_cohort_get_cohorts | Returns cohort details. |
core_cohort_get_cohort_members | Returns cohort members. |
core_course_get_categories | Return category details |
core_group_get_groups | Returns group details. |
core_session_touch | Keep the users session alive. |
core_user_create_users | Create users. |
core_user_delete_users | Delete users. |
core_user_get_users | Search for users matching the parameters. |
core_user_update_users | Update users. |
core_webservice_get_site_info | Return some site info / user info / list web service functions. |
Все эти функции должны быть добавлены в созданную веб-службу
После завершения настройки веб-службы, необходимо перейти на страницу Управление протоколами
. Там требуется разрешить использование протокола REST (по умолчанию он может быть отключен)
Последним пунктом настройки в Moodle, создаем ключ (токен), который указывается в коннекторе Trusted IDM. Для этого нужно перейти на страницу Управление ключами
и создать новый ключ.
Важно
В качестве пользователя нужно указать существующего пользователя с правами администратора. Если при создании веб-службы был указан режим Авторизованные пользователи
, то этого пользователя потребуется добавить в список зарегистрированных пользователей веб-сервиса (см. рисунок ниже).
После создания ключа, его необходимо скопировать, так как при закрытии страницы он скрывается.
Более подробная информация по использованию ключей (токенов) размещена на портале Moodle.
Параметры подключения коннектора Moodle¶
Теперь нужно перейти в панель администрирования Trusted IDM и попробовать настроить параметры коннектора к Moodle. После создания нового коннектора к Moodle, появится следующий интерфейс настроек:
Важно
Если необходимо управлять различными категориями пользователей, то необходимо ознакомится с функционалом создания и организации групп в Truested IDM. В рассматриваемых в документации примерах пользователи ограничены группой ТУР-21
Назначение пораметров и их обязательность перечислено в таблице:
Параметр | Обязательность | Описание |
---|---|---|
Название коннектора | Да | Название для отображения в интерфейсе системы IDM |
Адрес сервиса | Да | Адрес системы Moodle в формате https://{адрес Moodle}/ webservice/rest/server.php |
Токен авторизации | Да | Ключ |
Фильтр поиска | Нет | Фильтр поиска пользователей |
Ограничить группой IDM | Нет | Синхронизация будет осуществляться только по тем пользователям, которые входят в состав выбранной группы |
Лицензионный код | Да |
Проверка подключения¶
После ввода параметров первой вкладки нужно сохранить изменения и можно проверить корректность подключения. Для этого следует нажать на кнопку Проверить подключение (предварительно установив отметку Включить). При успешном подключении коннектора к Moodle должен отобразится диалог
Правила сопоставления полей¶
Для того, чтобы информация о пользователях правильно заносилась в базу Moodle и наооборот, необходимо корректно установить привязку полей. Стандартные параметры привязки полей представлены в таблице
Описание атрибутов профиля пользователя в системе Moodle представлено в документации.
Атрибут Trusted.IDM | Атрибут Moodle |
---|---|
Логин (login) | username |
Имя (givenName) | firstname |
Фамилия (surname) | lastname |
Электронная почта (email) | |
Телефон (mobile) | phone2 |
Организация (company) | institution |
Отдел (department) | department |
Адрес проживания (streetAddress) | address |
Должность (jobTitle) | |
СНИЛС (snils) | idnumber |
Фото (photo) |
Важно
При настройке сопоставления полей нужно понимать, что корректная передача данных возможна, если на стороне Moodle в API веб-сервиса будут реализованы функции, обеспечивающие получение и отдачу соответствующих данных. Например, передачу фото аватара пользователя невозможно организовать в Moodle при текущем состоянии API, поскольку там не реализована функция загрузки и сохранения изображения, но в обратную сторону (из Moodle в Trusted IDM) эта передача вполне возможна.
Также необходимо установить по какому полю будет осуществляться связь пользователей Moodle и Trusted IDM. Здесь возможны разные варианты, в примере связь осуществляется по адресу электронной почты
Правила синхронизации¶
И на последней вкладке требуется задать правила синхронизации данных. Для примера задается направление передачи данных из коннектора Trusted IDM в Moodle (синхронизация будет осуществляется вручную вновь созданных пользователей и изменений в профилях существующих).
В параметрах синхронизации присутствует режим "Синхронизировать группы". Во включенном состоянии происходит создание групп в Moodle в соответствии с группами Trusted IDM с занесением в них пользователей. В отключенном состоянии просто синхронизируются пользователи без создания групп.
После нажатия на кнопку Синхронизация данные должны быть переданы в Moodle.
Результаты синхронизации¶
После успешной синхронизации в Moodle можно увидеть созданную глобальную группу Тур-21, в которую были включены три пользователя
а также самих пользователей с теми атрибутами, которые были внесены в их профили Trusted IDM
Если параметры коннектора (параметры подключения) были настроены некорректно, то на экране появится сообщение об ошибке. При некорректном указании полей соответствия, ошибки можно увидеть при просмотре журнала событий Trusted IDM.
В журнале будет запись о пропущеных записях при синхронизации. Это означает, что соединение с Moodle через коннектор было успешным, но запросы были пропущены из-за их некорректной обработки.
Пример использования дополнительных полей (добавление отчества в профиль пользователей)¶
Часто при настройке передачи данных пользователей в Moodle, возникает необходимость обработки дополнительных атрибутов, например, отчества. В Trusted IDM в профиле пользователя атрибут Отчество не присутствует по умолчанию, его нужно ввести как дополнительный.
Для этого перемещаемся на страницу Поля профиля и создаем текстовое поле Отчество. Обязательно делаем его активным и редактируемым, если планируется его изменение в Trusted IDM.
На странице профиля пользователя этот дополнительный атрибут появляется в разделе Дополнительно.
При синхронизации этого дополнительного атрибута с Moodle нам потребуется указать сопоставляемое поле middlename
.