Перейти к содержанию

Коннектор 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. Для этого добавляется новая веб-службы и заполняются необходимые поля, например

Параметры веб-службы Moodle

Когда веб-служба Веб-служба для 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 (по умолчанию он может быть отключен)

Активация 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) 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.