Цифровой след, ЦС – это данные об образовательной, профессиональной или иной деятельности человека, представленные в электронной форме.
Цифровой след в рамках проведения проекта используется для установления фактов обучения и необходим для выполнения условий договора о предоставлении образовательных услуг.
Цифровой след передается в формате xAPI (https://xapi.com/).
Слушатель - получатель поддержки, студент, обучающийся.
ОО, Провайдер - образовательная организация, предоставляющая образовательные программы в рамках проекта.
LMS - Learning management system, образовательная система.
LRS - Learning record storage, хранилище цифровых следов.
Unti_id - идентификатор слушателя на платформе Университет 2035, УНТИ - unti.
Номенклатура передаваемого цифрового следа проекта Цифровые профессии 2021-2022
Необходимым для получения поддержки за обучение слушателя являются цифровые следы:
На платформе 2035 цифровой след хранится в LRS (learning record storage) - специализированном хранилище данных о цифровом следе пользователя. LRS предоставляет API для загрузки цифрового следа.
Возможны несколько вариантрв загрузки цифрового следа в LRS:
Для получения идентификаторов студентов unti_id предварительно необходимо реализовать интеграцию с системой аутентификации и авторизации (SSO) Платформы Университета 2035.
Для загрузки файлов, содержащих итоговую (и другую) деятельность слушателей, предварительно необходимо реализовать интеграцию с хранилищем S3 Платформы Университета 2035.
Шаги интеграции ОО с SSO платформы:
Обратите внимание! Для работы необходимо на заключительном этапе получить доступ именно к промышленному контуру.
Неприятная ошибка, - продолжить слать рабочие цифровые следы в тестовый контур, их придется повторно послать в промышленный контур.
Для получения консультации по интеграции необходимо с корпоративного адреса электронной почты написать письмо на apps@2035.university с сутью вопроса.
В письме приложите все необходимое для комплексного рассматрения ситуации: скриншоты/скринкасты до и после описываемого события, url и параметры запросов, версия браузера и т.п.
Запросы на тестовый и продуктовый контур имеют одинаковый формат, дополнительно при запросе доступов на прод необходимо приложить ответ метода users/me на тесте.
Необходимо с корпоративного адреса электронной почты отправить письмо на apps@2035.university следующего содержания:
В течение 3 дней вы получите в ответ письмо с client_id (если вы его не указывали в запросе) и с секретным ключом.
Провайдер аутентификации и авторизации (SSO) является сервисом авторизации, работающим по протоколу OAuth2.
Для начала взаимодействия необходимо выполнить последовательно действия по подключению к SSO, сообщив идентификатор приложения (client_id) и ссылку перенаправления (redirect_uri), получив в ответ токен.
При аутентификации веб-приложений во время прямого взаимодействия с пользователем используется аутентификация при помощи OAuth2, и в этом случае информацию из профиля пользователя можно получить по методу users/me.
URL SSO для тестового контура https://sso.u2035test.ru.
URL SSO для продакшена https://sso.2035.university.
GET
/oauth2/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&response_type=code</redirect_uri></client_id>
где:
Здесь и ниже значение параметра REDIRECT_URI должно совпадать со значением, переданным при подключении, если будет отличаться, то будет возвращен код ошибки.
POST /oauth2/access_token
-H"content-type: application/x-www-form-urlencoded"
Тело запроса:
client_id=<client_id>&client_secret=<client_secret>&code=<your_code_from_authorize>&grant_type=authorization_code&redirect_uri=<redirect_uri></redirect_uri></your_code_from_authorize></client_secret></client_id>
где:
GET /users/me
-H"Authorization: Bearer <sso_access_token></sso_access_token>
SSO_ACCESS_TOKEN - токен, полученный в ответе на запрос в пункте «Получение sso_access_token».
Формат ответа:
Пример бэкенда для python https://pastebin.com/F3Z5MFSz
Пример бэкенда для PHP (moodle плагин) https://github.com/u2035/moodle-sso-oauth
Из ответа необходимо выбрать только leader_id и записать в учетные данные пользователя, чтобы в дальнейшем вместе со сведениями о нём передавать и этот параметр.
Пример ответа:
* {
"unti_id": 1,
"email": "user@example.com",
"lastname": "Иванов",
"firstname": "Иван",
"secondname": "Иванович",
"gender": "male",
"leader_id": "123456",
"tags": ["assistant"]
}
* 401 если пользователь не авторизован
Обращаем ваше внимание, что email адрес не проходил валидации с нашей стороны.
Для подтверждения того, что вы успешно прошли авторизацию в тестовом контуре, вам нужно будет в запросе на доступ к продуктовому контуру указать ваш Leader ID и содержание ответа «GET /users/me» для данного пользователя.
Для получения консультации по интеграции в рамках тестового контура необходимо с корпоративного адреса электронной почты ответить на ранее направленное письмо на apps@2035.university с сутью вопроса, приложив по возможности скриншоты/скринкасты до и после описываемого события, url и параметры запросов.
Ошибка:
Сервис отвечает “invalid_request The requested redirect didn't match the client settings.”
Решение:
В запросе указали неверный redirect_uri (отличающийся от указанного в запросе на доступ). Напишите письмо с просьбой изменить его.
Указанный в запросе redirect_uri, должен точно совпадать с прописанным в настройках клиента (например, если в клиенте https://staging.experts.work/, а в запросе http://staging.experts.work/ или https://staging.experts.work или https://staging.experts.work/auth/callback/, вы получите ошибку)!
Все представленные логотипы и иконки находятся по ссылке: https://files.2035.university/d/348c80581f1c47d9b605/?p=%2FUniversity%2020.35&mode=list
Допустимое сокращение, если действительно нет возможности разместить полное название «У 20.35». Но подобное сокращение должно сопровождаться логотипом или иконкой.
Шаги интеграции ОО с LRS платформы:
Обратите внимание! Для работы необходимо на заключительном этапе получить доступ именно к продуктовому контуру.
Неприятная ошибка, - продолжить слать рабочие цифровые следы в тестовый контур, их придется повторно послать в промышленный контур.
Направьте заявку на выдачу токена письмом на электронную почту apps@2035.university:
В ответ вы немедленно получите автоответ от нашего саппорта, что заявка принята.
Затем в течение 3 дней заявка будет обработана, и вы получите письмо с информацией, необходимой для доступа.
Сразу после этого вы можете приступать к тестированию передачи ЦС.
Обратите внимание!!!
Отсутствие части информации в заявке влияет на скорость (замедляет) на работу по ней
В Университете 2035 используется LRS (Learning Record Store, хранилище учебных активностей) под названием «Learning Locker».
Документация на английском языке тут: http://docs.learninglocker.net/welcome/.
Интеграция с LRS Университета 2035 заключается в 2-х аспектах:
Перед началом подключения к API LRS вы получили параметры доступа к нему, которые должны выглядеть так:
Пояснения к параметрам:
Ниже по тексту будут представлены в качестве примеров скриншоты из бесплатного инструмента работы с REST API Postman.
Обратите внимание!!!
Для проверки работоспособности вы можете использовать проект в postman, в котором собраны необходимые шаблоны для интеграции
В частности для проверки работоспособности полученных ключей авторизации используйте шаблон "Проверка связи"
Необходимо в средстве/механизме оправки REST запросов указать Адрес API (первый параметр выше + /statements).
Параметры заголовка - параметры авторизации (2 или 3,4 параметры указанные выше).
Обязательные параметры:
Key |
Value |
---|---|
X-Experience-API-Version |
1.0.3 |
content-type |
application/json |
Для проверки связи выполните следующие действия:
3. Вторым запросом для проверки подключения к LRS отправить запрос «POST» с ранее указанными параметрами и простым сообщением в теле запроса: {"Test":"тест"}. В ответ на такой запрос должен быть получен статус 400 Bad Request телом ответа:
{
"errorId": "aa9c8065-6884-48ac-adfd-b283f49e14ad",
"warnings": [
"Missing required value in 'statements.0.actor'",
"Missing required value in 'statements.0.verb'",
"Missing required value in 'statements.0.object'",
"Unknown keys (Test) set in 'statements.0'"
]
}
Обратите внимание! Метод уже не GET, а POST
Данный ответ означает, что запрос был отправлен в LRS, но его структура не соответствует структуре xAPI, предполагающий обязательные элементы, описывающие факт: actor, verb и object.
Получение указанного ответа означает, что настройка и тестирование вашего средства/механизма отправки запросов в LRS завершено и нужно переходить к формированию корректных сообщений о фактах обучения в формате xAPI.
4. В дальнейшем вы можете, например, попробовать разные шаблоны из проекта Postman, чтобы познакомиться со структуру xapi и удостовериться в их работоспособности
Обратите внимание!
Ознакомьтесь с документом-таблицей, в которой приведены необходимые шаблоны цифрового следа используемые в Университете 20.35.
Для проекта Цифровые профессии используются шаблоны-вкладки "Деятельность и её оценка" и "Просмотр видео".
Колонки B C шаблона содержат непосредственно statement, готовы для копирования, преобразования beautify, и отправки как statement.
Колонка D содержит необходимые комментарии по использованию полей.
Эти же шаблоны собраны собраны в проекте Postman:
Получение доступов на промышленный контур LRS аналогичен получению доступа к тестовому хранилищу.
Направьте заявку на выдачу токена письмом на электронную почту apps@2035.university:
Обратите внимание!!!
Отсутствие части информации в заявке влияет на скорость (замедляет) принятия по ней решения
В ответ вы немедленно получите автоответ от нашего саппорта, что заявка принята. Затем в течение 3 дней заявка будет обработана, и вы получите письмо с логином, паролем и секретным ключом.
Обратите внимание, аттачменты необходимая часть для цифрового следа итоговой деятельности!
Для отправки артефактов используется сервис s3.
Алгоритм взаимодействия следующий:
В стейтменте xAPI нужно заполнить массив объектов в statement.attachments. В каждом объекте заполняется набор полей, ссылка на объект в s3 пишется в fileUrl:
usageType: string
display:
ru-RU: string
description:
ru-RU: string
contentType: string
length: int
sha2: string
fileUrl: string
В Каталоге в ЛК ОО доступна загрузка файлов с ЦС в табличном виде.
Шаблоны собраны в документе https://docs.google.com/spreadsheets/d/138WguabAIqYHEI8xxD3birt-3UKEDIr7Bel_wCVoMGU/edit#gid=1192254874
Для загрузки цифрового следа перейдите в раздел «Работа с цифровым следом». Далее выберите курс, по которому планируете загружать цифровой след.
В открывшемся окне нажмите кнопку «Загрузить цифровой след». Обратите внимание, что в этом же интерфейсе в табличной части будет отображаться информация об уже загруженном цифровом следе.
В открывшемся окне выберите профиль и проект «Цифровые профессии 2021».
Далее вы можете добавить один или несколько элементов ЦС.
Для загрузки элемента нажмите «Добавить» и перейдите к выбору элемента цифрового следа, который собираетесь загружать. На проекте «Цифровые профессии 2021» вам нужно использовать следующие элементы (они подсвечены зеленым в выпадающем списке):
Для загрузки одного элемента ЦС:
При загрузке элементов ЦС, в состав которых входят артефакты (Оценка результатов итоговой деятельности и Оценка результатов деятельности), также нужно загрузить архив с артефактами.
Правила формирования архива:
Если вы видите ошибку загрузки, разбейте файл на несколько. Длительность обработки файла зависит от текущей нагрузки на систему - возможно, вы как раз грузите файл в пиковое время.