Интеграция с Sakai
1. Настройка Sakai
Интеграция системы прокторинга ProctorEdu с Sakai LMS осуществляется по технологии IMS LTI.
1.1 SSL сертификат
На веб-сервере Sakai должен быть установлен валидный SSL-сертификат, чтобы страницы системы Sakai открывались по протоколу HTTPS. Проверить валидность сертификата на сервере можно с помощью сервиса SSLChecker.com. Это требование политики безопасности браузера, которая не позволяет получить доступ к камере и микрофону по незащищенному протоколу HTTP. Можно выпустить бесплатный SSL-сертификат Let’s Encrypt.
1.2 Настройка сервера Sakai
Начиная с версии Chrome 80 (касается всех браузеров на движке Chromium) ужесточается политика безопасности браузера SameSite и по умолчанию при открытии страницы в IFRAME файлы cookies не передаются. Для кросс-доменных cookies следует передавать два значения: SameSite=None; Secure.
Для этого можно использовать Apache HTTP Server в режиме реверс-прокси, меняющий заголовки ответа веб-сервера через модуль mod_headers:
Для этого можно использовать Apache HTTP Server в режиме реверс-прокси, меняющий заголовки ответа веб-сервера через модуль mod_headers:
<!--.htaccess-->
<IfModule headers_module>
Header edit Set-Cookie (.*) "$1; Secure; SameSite=none"
</IfModule>Модуль "headers" должен быть включен в Apache, для этого можно использовать команду "a2enmod headers".
1.3 Включение внешних LTI инструментов
Включенные на уровне всей СДО внешние LTI инструменты доступны для добавления в курсы в качестве элементов. Для этого на странице Site Info выберите опцию Edit Tools, далее выберите из списка Course Materials для каждого курса нужный элемент.
В этой инструкции мы рассмотрим включение инструмента прокторинга от ProctorEdu на уровне курса.
1) Перейдите в меню Site Information
В этой инструкции мы рассмотрим включение инструмента прокторинга от ProctorEdu на уровне курса.
1) Перейдите в меню Site Information
2) Выберите вкладку External Tools
3) На вкладке Installed Tools кликните на ссылку “Install LTI 1.x Tool”
4) Следуя изображениям ниже, заполните поля, используя данные вашего сервера прокторинга.
На изображениях выше используются данные с демонстрационного сервера прокторинга.
Следует указать ссылку на страницу с курсом/тестом в поле Custom Parameters как КЛЮЧ=ЗНАЧЕНИЕ.
5) После сохранения изменений, добавленный инструмент будет виден в списке во вкладке Installed Tools.
Следует указать ссылку на страницу с курсом/тестом в поле Custom Parameters как КЛЮЧ=ЗНАЧЕНИЕ.
5) После сохранения изменений, добавленный инструмент будет виден в списке во вкладке Installed Tools.
6) Перейдите во вкладку Tool Links и кликните на ссылку “Create Tool Link”
7) Выберите инструмент прокторинга ProctorEdu
8) Поставьте галочку в поле Add Site Link и кликните Save
2. Настройка элемента курса
2.1 Получение ссылки на тест
В зависимости от типа открываемого в прокторинге элемента курса (Articulate, Camtasia, ZIP-файлы, видео, офисные файлы и др.), ссылки имеют разный вид. Позднее их следует использовать в дополнительных параметрах прокторинга. Следует проконсультироваться с представителями Sakai по вопросу получения верных ссылок.
2.2 Добавление элемента прокторинга
1) Перейдите в меню Lessons и кликните Add Content. Далее, выберите Add External Tool
2) Выберите ProctorEdu
3) Введите описание элемента и кликните Save
4) После этого, элемент будет показан на странице курса
5) Кликните на иконку “карандаш” в панели справа
6) Выберите опцию “New Window: in a new window” чтобы элемент прокторинга открывался в новом окне.
2.3 Использование прокторинга
Проходя по ссылка на элемент прокторинга, пользователя с ролью доступа “access” будут проходить назначенный тест в режиме прокторинга. Пользователи с ролью доступа “maintain”, пройдя по ссылке прокторинга будут видеть панель и инструменты проктора.
3. Настройка интеграции в системе прокторинга
Чтобы подключить интеграцию с Sakai в системе прокторинга необходимо импортировать следующую конфигурацию хоста по аккаунтом менеджера:
<!--JSON-->
{
"id": "<Host_ID>",
"key": "<License_Key>",
"params": {
"webhooks": {
"sakai": {
"authorizer": "lti",
"integrator": "lti",
"consumerKey": "demo",
"consumerSecret": "secret",
"callbackURL": "query.redirect",
"profile": {
"username": "payload.user_id",
"role": "payload.roles.find(v=>/Instructor/.test(v))?'proctor':'student'",
"nickname": "payload.lis_person_name_full",
"lang": "(payload.launch_presentation_locale||'').slice(0,2)",
"group": "['G',payload.context_id,payload.resource_link_id].join('-')",
"referrer": "payload.launch_presentation_return_url",
"labels": "payload.lis_person_contact_email_primary"
},
"register": {
"identifier": "[payload.user_id,payload.context_id,payload.resource_link_id].join('-').replace(/[^A-Za-z0-9_-]+/g,'_')",
"template": "payload.custom_template||'default'",
"subject": "payload.resource_link_title",
"members": "payload.custom_members==='@'?user.group:payload.custom_members",
"url": "payload.custom_url||payload.launch_presentation_return_url",
"tags": "payload.lis_person_contact_email_primary"
},
"start": true,
"stop": true,
"pause": true,
"submit": true
}
},
"sdk": {
"iframe": {
"sandbox": "allow-scripts allow-forms allow-modals allow-same-origin allow-popups allow-downloads"
}
}
}
}где поля "consumerKey" и "consumerSecret" нужно заменить на случайно сгенерированную последовательность символов (латинские буквы разного регистра и цифры, рекомендуемая длина 24 символа); "id" — идентификатор хоста (если его не указывать, создастся новый хост); "key" — лицензионный ключ данного хоста.