The integration of OctoProctor's proctoring system with Blackboard LMS is carried out using IMS LTI technology.
A valid SSL certificate is required to be installed on the Blackboard LMS web server for the LMS pages to open over HTTPS. You can check the validity of the certificate on the server using SSLChecker.com. This is a requirement of browser security policy, which prevents access to the camera and microphone over an unsecured HTTP protocol. You can issue a free Let’s Encrypt SSL certificate.
In order for Blackboard LMS proctoring to work properly, a page with the proctoring launch code must be placed on the LMS domain. This is necessary to get around the cross-domain policy that prevents Blackboard LMS pages from opening in IFRAME from another domain.
You can use the standard Blackboard LMS tool to upload content to post a code page. The following steps are required:
"Administrator Panel" → "Content Management" → "Manage Content"
.proctoring.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Proctoring</title>
</head>
<body>
<p>There is nothing here. This is a service page for proctoring.</p>
<script src="//demo.proctoring.app/sdk/supervisor.js" data-supervisor="sync"></script>
</body>
</html>
NOTE: “demo.proctoring.app” given as an example, it needs to be replaced with the domain of your proctoring server.
Load the file “proctoring.html" into the Blackboard LMS:
Save the link to the file, right-click on the file and select "Copy link address" from the menu. The link must be of the form: https://your-lms-domain/bbcswebdav/institution/proctoring.html All LMS test-takers should have access rights to the file.
Transferring data from the Blackboard LMS to the proctoring system and transferring the trust score from the proctoring system to the LMS is done according to the LTI standard. It needs to be included in the LMS as follows:
Administrator Tools → Tools and Utilities → Tools
.Next you need to configure a new LTI provider which will be linked to your proctoring server.
To do this you will need to:
"Administrator Tools" → "Integrations" → "LTI Tool Providers"
.Go to the global settings by pressing the "Manage Global Properties"
button:
Switch on the following options in the "FEATURE AVAILABILITY" block:
"FEATURE AVAILABILITY" block configuration:
Navigate to the new LTI 1.1 provider registration dialogue using the button "Register LTI 1.1 Provider":
In the "PROVIDER DOMAIN STATUS" section, enter the domain of your proctoring server (Provider Domain):
In the "DEFAULT CONFIGURATION" section, fill in the fields "Tool Provider Key" and "Tool Provider Secret", these keys are issued by the proctoring system manager.
In the “INSTITUTION POLICIES" section, fill in the fields:
"INSTITUTION POLICIES" settings:
In order for course authors to have the opportunity to add a proctoring element to the course, a new placement must be added for the previously created LTI provider.
To do so, follow the steps below:
"Administrator Tools" → "Integrations" → "LTI Tool Providers"
.Bring up the drop-down menu next to the name of the previously created LTI provider and select "Manage Placements" from the menu:
On the page that opens, click on the "Create Placement" button:
The following parameters must be specified in the "Add Placement" interface:
Placement configuration:
Tool provider configuration:
default
@
<quiz_url>
<quiz_password>
the “url” parameter contains the page to open in IFRAME;
NOTE: before pasting the link to the Tool Provider Custom Parameters please encode it using any online service, for example https://www.urlencoder.org/
the “code” parameter contains a password for the quiz to open in IFRAME.
You can create several placements with different user parameters if required.
For participants to be able to use the proctoring, a link to the proctoring element must be added to the course. This can be done as follows:
Select a previously created proctoring item from the list "Build Content" → "Proctoring Link"
:
A link to the proctoring will appear in the course content list:
Each link gives the user one proctoring attempt.
Immediately after the beginning of the proctoring session for the proctoring element, the score is set at 0, and after completion, it is always greater than 0 (from 0.1 to 100 with a hundred-point scale). This can be used in the conditions of access restriction of the associated course element.
Your course → Content → ”Test element properties” → ”Adaptive release”
”Select a Grade Center column” → Choose your proctoring link
.
Then choose “Score”-”Equal to”- 0.00, press “Submit”
Therefore, the participant will not be able to start the assessment without proctoring. You should also place the link to the assessment item so that the test-taker can open it directly from the portal home page, as the link to the course is blocked in IFRAME due to the way the Blackboard LMS works.
The proctoring system transmits the result of a proctoring session as a credibility score from 0 to 1. If the session is evaluated by the proctor, a positive opinion corresponds to a score of 1, and a negative one to 0. You can enable evaluation of a proctoring item in Blackboard LMS in the following way:
"GRADING" → "Enable Evaluation"
:
The test-taker will now start executing the linked assessment item on the proctoring procedure when the proctoring item is navigated. When the proctor clicks the element, they’ll be redirected to the proctoring interface as an ‘Instructor’. There, they can access all sessions created by test-takers who clicked the same element. When the proctoring session is completed, a proctoring grade of 0 to 1 will be transmitted to the LMS. Each proctoring session can only be completed once by a test-taker. It is possible to reset the attempt by changing the session ID through the proctoring system administrator interface, or extend the time by specifying ‘Close at’ parameter longer than the current time.
To connect the integration API with Blackboard LMS, you need to load the following config with integration parameters under the proctoring system manager:
JSON
{
"id": "<Host_ID>",
"key": "<License_Key>",
"params": {
"webhooks": {
"bb": {
"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",
"code": "payload.custom_code",
"tags": "payload.lis_person_contact_email_primary"
},
"start": true,
"stop": true,
"pause": true,
"submit": true
}
}
}
}
NOTE: the fields "consumerKey" and "consumerSecret" need to be replaced with a randomly generated sequence of characters (Latin letters of different case and numbers, the recommended length is 24 characters); "id" is the ID of the host (if you do not specify it, a new host will be created); "key" is the license key of this host.