Интеграция с Blackboard
1. Настройка LMS
Интеграция системы прокторинга ProctorEdu с Blackboard LMS осуществляется по стандарту IMS LTI.
1.1 SSL-сертификат
На веб-сервере Blackboard LMS должен быть установлен валидный SSL-сертификат, чтобы страницы LMS открывались по протоколу HTTPS. Проверить валидность сертификата на сервере можно с помощью сервиса SSLChecker.com. Это требование политики безопасности браузера, которая не позволяет получить доступ к камере и микрофону по незащищенному протоколу HTTP. Можно выпустить бесплатный SSL-сертификат Let’s Encrypt.
1.2 Установка кода прокторинга на страницу
Для корректной работы прокторинга в Blackboard LMS требуется на домене LMS разместить страницу с кодом запуска прокторинга. Это необходимо, чтобы обойти кросс-доменную политику, которая не позволяет открывать страницы Blackboard LMS в IFRAME с другого домена.
Для размещения страницы с кодом можно воспользоваться стандартным инструментом Blackboard LMS для загрузки контента. Необходимо выполнить следующие шаги:
1) Зайти под администратором Blackboard LMS в раздел Administrator Panel > Content Management > Manage Content.
2) Выбрать для загрузки файлов коллекцию "institution".
3) Создать на компьютере файл "proctoring.html" со следующим содержимым в кодировке Unicode (UTF-8):
Для размещения страницы с кодом можно воспользоваться стандартным инструментом Blackboard LMS для загрузки контента. Необходимо выполнить следующие шаги:
1) Зайти под администратором Blackboard LMS в раздел Administrator Panel > Content Management > Manage Content.
2) Выбрать для загрузки файлов коллекцию "institution".
3) Создать на компьютере файл "proctoring.html" со следующим содержимым в кодировке Unicode (UTF-8):
<!--proctoring.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Proctoring</title>
</head>
<body>
<script src="//demo.proctoring.online/sdk/supervisor.js" data-supervisor="start"></script>
<script>
if (!window.supervisor) {
location.href = '/';
} else {
supervisor.on('load', function(iframe) {
var input = iframe.contentDocument.querySelector(
'input[type="password"]'
);
var url = new URL(iframe.src);
if (input && url) {
input.value = url.hash.slice(1);
}
});
}
</script>
</body>
</html>(!) demo.proctoring.online приведен только для примера, его требуется заменить на домен вашего сервера прокторинга.
4) Загрузить файл "proctoring.html" в Blackbord LMS:
5) Сохранить ссылку на файл, правый клик мыши на файле и в меню выбрать “Копировать адрес ссылки”. Ссылка должна быть вида: "https://your-lms-domain/bbcswebdav/institution/proctoring.html". Права на доступ к файлу должны быть у всех студентов LMS.
1.3 Включение инструмента LTI
Передача данных из Blackboard LMS в систему прокторинга и передача оценки доверия из прокторинга в LMS осуществляется по стандарту LTI. Необходимо включить его в LMS следующим образом:
1) Зайти под администратором Blackboard LMS в раздел Administrator Tools > Tools and Utilities > Tools.
2) Включить инструмент LTI (Course Tool), выключить и включить повторно, если уже включено: ON (New and existing courses).
1) Зайти под администратором Blackboard LMS в раздел Administrator Tools > Tools and Utilities > Tools.
2) Включить инструмент LTI (Course Tool), выключить и включить повторно, если уже включено: ON (New and existing courses).
1.4 Добавление провайдера LTI
Далее требуется настроить новый провайдер LTI, который будет связан с вашим сервером прокторинга. Для этого нужно:
1) Зайти под администратором Blackboard LMS в раздел Administrator Tools > Integrations > LTI Tool Providers.
2) Перейти в глобальные настройки по кнопке "Manage Global Properties":
1) Зайти под администратором Blackboard LMS в раздел Administrator Tools > Integrations > LTI Tool Providers.
2) Перейти в глобальные настройки по кнопке "Manage Global Properties":
3) Включить следующие опции в блоке "FEATURE AVAILABILITY":
Enabled in Courses:
Yes
Creation of Tool Provider Links:
Allow only links to approved tool providers
Allow configured tool providers to post grades:
Yes
Enabled in Courses:
Yes
Creation of Tool Provider Links:
Allow only links to approved tool providers
Allow configured tool providers to post grades:
Yes
4) Перейти в диалог регистрации нового провайдера LTI 1.1 по кнопке "Register LTI 1.1 Provider":
5) В блоке "PROVIDER DOMAIN STATUS" указать домен вашего сервера прокторинга (Provider Domain):
6) В блоке "DEFAULT CONFIGURATION" заполнить поля "Tool Provider Key" и "Tool Provider Secret", эти ключи выпускаются менеджером системы прокторинга.
7) В блоке "DEFAULT CONFIGURATION" заполнить поля:
Send User Data:
[o] Send user data only over SSL
User Fields to Send:
[v] Role in Course
[v] Name
[v] Email Address
Send User Data:
[o] Send user data only over SSL
User Fields to Send:
[v] Role in Course
[v] Name
[v] Email Address
1.5 Добавление размещения для инструмента
Чтобы у авторов курса была возможность добавить элемент прокторинга в курс, нужно добавить новое размещение для ранее созданного провайдера LTI.
Для этого выполните следующие действия:
1) Зайти в раздел Administrator Tools > Integrations > LTI Tool Providers.
2) Вызовите выпадающее меню рядом с названием ранее созданного провайдера LTI и выберите в меню "Manage Placements":
Для этого выполните следующие действия:
1) Зайти в раздел Administrator Tools > Integrations > LTI Tool Providers.
2) Вызовите выпадающее меню рядом с названием ранее созданного провайдера LTI и выберите в меню "Manage Placements":
3) На открывшейся странице нажмите кнопку "Create Placement":
4) В интерфейсе добавления размещения нужно указать следующие параметры:
-- PLACEMENT INFORMATION --
-- PLACEMENT INFORMATION --
-- TOOL PROVIDER INFORMATION --
* — demo.proctoring.online приведен в качестве примера, его требуется заменить на домен вашего сервера прокторинга, а your-lms-domain требуется заменить на домен вашего сервера Blackboard LMS (это ссылка на файл proctoring.html, которую сохранили ранее).
** — параметр template указывает на идентификатор шаблона в системе прокторинга, а параметр url содержит страницу, которую нужно открыть в IFRAME (в примере это корневая страница — "/"; ссылка не должна содержать знаков равно, их следует заменить на "%3D"). В конце страницы после знака решетки следует указать пароль к странице теста.
** — параметр template указывает на идентификатор шаблона в системе прокторинга, а параметр url содержит страницу, которую нужно открыть в IFRAME (в примере это корневая страница — "/"; ссылка не должна содержать знаков равно, их следует заменить на "%3D"). В конце страницы после знака решетки следует указать пароль к странице теста.
При необходимости можно создать несколько размещений с разными пользовательскими параметрами.
2. Подключение прокторинга
2.1 Добавление ссылки на прокторинг в курс
Чтобы участники смогли использовать прокторинг, нужно добавить ссылку на элемент прокторинга в курс. Сделать это можно следующим образом:
1) Перейти в раздел Content курса.
2) Выбрать ранее созданный элемент прокторинга из списка Build Content > Proctoring Link:
1) Перейти в раздел Content курса.
2) Выбрать ранее созданный элемент прокторинга из списка Build Content > Proctoring Link:
3) Ссылка на прокторинг появится в списке контента курса:
Каждая ссылка дает пользователю одну попытку прохождения прокторинга.
2.2 Ограничение доступа к тесту без прокторинга
Связать конкретную ссылку прокторинга с тестом можно используя пароль. Для этого нужно зайти в настройки параметров тестового элемента и включить защиту по паролю, указав пароль такой же как параметре url инструмента LTI:
Таким образом участник не сможет начать тест без прокторинга.
Также следует разместить ссылку на тестовый элемент так, чтобы студент смог ее открыть прямо с главной страницы портала, т.к. переход к курсу блокируется в IFRAME из-за особенностей работы Blackboard LMS.
Также следует разместить ссылку на тестовый элемент так, чтобы студент смог ее открыть прямо с главной страницы портала, т.к. переход к курсу блокируется в IFRAME из-за особенностей работы Blackboard LMS.
2.3 Получение оценки за прокторинг
Система прокторинга передает результат прохождения сеанса прокторинга в виде оценки доверия от 0 до 1. Если сеанс оценивается проктором, то положительное заключения соответствует оценке 1, а отрицательное — 0. Включить оценивание элемента прокторинга в Blackboard LMS можно следующим способом:
1) Зайти в редактирование элемента прокторинга (выпадающее меню рядом с названием элемента).
2) Включите опцию GRADING > Enable Evaluation:
1) Зайти в редактирование элемента прокторинга (выпадающее меню рядом с названием элемента).
2) Включите опцию GRADING > Enable Evaluation:
2.4 Использование прокторинга
Теперь при переходе по элементу прокторинга студент приступит к выполнению связанного тестового элемента по процедуре прокторинга. При переходе по элементу прокторинга пользователь с ролью "Instructor" попадет в интерфейс проктора, где получат доступ ко всем сеансам, которые были созданы при переходе по данному элементу студентами.
После завершения сеанса прокторинга в LMS будет передана оценка за прокторинг от 0 до 1.
Каждый сеанс прокторинга студент может пройти только один раз. Можно сбросить попытку, поменяв идентификатор сеанса через интерфейс администратора системы прокторинга, или продлить время, указав крайнее время больше текущего.
После завершения сеанса прокторинга в LMS будет передана оценка за прокторинг от 0 до 1.
Каждый сеанс прокторинга студент может пройти только один раз. Можно сбросить попытку, поменяв идентификатор сеанса через интерфейс администратора системы прокторинга, или продлить время, указав крайнее время больше текущего.
3. Настройка интеграции в системе прокторинга
Чтобы подключить интеграцию с Blackboard в системе прокторинга необходимо импортировать следующую конфигурацию хоста по аккаунтом менеджера:
<!--JSON-->
{
"id": "<Host_ID>",
"key": "<License_Key>",
"params": {
"webhooks": {
"blackboard": {
"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" — лицензионный ключ данного хоста.