Blackboard LMS Integration Guide

1. LMS configuration

The integration of OctoProctor's proctoring system with Blackboard LMS is carried out using IMS LTI technology.

1.1. SSL-certificate

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.

1.2. Installing the proctoring script

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:

  1. Login as a Blackboard LMS administrator to "Administrator Panel" → "Content Management" → "Manage Content".
  2. Select the "Institution" collection to download the files.
  3. Create a "proctoring.html" file on the computer with the following content in Unicode encoding (UTF-8):

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.

  1. Load the file “proctoring.html" into the Blackboard LMS:

    proctoring.html uploading
    proctoring.html uploading

  2. 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.

1.3. Enabling the LTI tool

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:

  1. Go under the Blackboard LMS administrator to Administrator Tools → Tools and Utilities → Tools.
  2. Turn LTI (Course Tool) on, off and on again. The result should be: ON (New and existing courses).
    Enable LTI Tool
    Enable LTI Tool

1.4. Adding an LTI provider

Next you need to configure a new LTI provider which will be linked to your proctoring server.

To do this you will need to:

  1. Login as a Blackboard LMS administrator to "Administrator Tools" → "Integrations" → "LTI Tool Providers".
  2. Go to the global settings by pressing the "Manage Global Properties" button:

    "Manage Global Properties”
    "Manage Global Properties”

  3. Switch on the following options in the "FEATURE AVAILABILITY" block:

"FEATURE AVAILABILITY" block configuration:

Parameter
Value
Enabled in Courses
Yes
Creation of Tool Provider Links
Allow only links to approved tool providers
Allow configured tool providers to post grades
Yes

"FEATURE AVAILABILITY “ configuration
"FEATURE AVAILABILITY “ configuration

  1. Navigate to the new LTI 1.1 provider registration dialogue using the button "Register LTI 1.1 Provider":

    Register LTI 1.1 Provider
    Register LTI 1.1 Provider

  2. In the "PROVIDER DOMAIN STATUS" section, enter the domain of your proctoring server (Provider Domain):

    Provider Domain
    Provider Domain

  3. 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.

    "Tool Provider Key" and "Tool Provider Secret”
    "Tool Provider Key" and "Tool Provider Secret”

  4. In the “INSTITUTION POLICIES" section, fill in the fields:

"INSTITUTION POLICIES" settings:

Parameter
Value
Send User Data
Send user data only over SSL
User Fields to Send
Role in Course
Name
Email Address

"DEFAULT CONFIGURATION" section
"DEFAULT CONFIGURATION" section

1.5. Adding a placeholder for a tool

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:

  1. Go to "Administrator Tools" → "Integrations" → "LTI Tool Providers".
  2. Bring up the drop-down menu next to the name of the previously created LTI provider and select "Manage Placements" from the menu:

    "Manage Placements”
    "Manage Placements”

  3. On the page that opens, click on the "Create Placement" button:

    "Create Placement"
    "Create Placement"

  4. The following parameters must be specified in the "Add Placement" interface:

Placement configuration:

Parameter
Value
Label
Proctoring Link (or any other title)
Handle
Any string
Availability
Yes
Type
Course content tool + Allows grading
Launch in New Window
Enabled

"Add Placement" interface
"Add Placement" interface

Tool provider configuration:

Parameter
Value
Tool Provider URL*
https://demo.proctoring.app/api/auth/bb?redirect=https://your-lms-domain/bbcswebdav/institution/proctoring.html
Tool Provider Custom Parameters**
template=default
members=@
url=<quiz_url>
code=<quiz_password>
  • *demo.proctoring.app given as an example, it needs to be replaced with the domain of your proctoring server, and your-lms-domain** needs to be replaced by the domain of your Blackboard LMS server (this is the link to the “proctoring.html” file you saved earlier).
  • ** — the “template**” parameter specifies the session template identifier in the proctoring system;
  • the “members” parameter specifies the method of proctors distribution;
  • 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.

    Tool provider configuration
    Tool provider configuration

You can create several placements with different user parameters if required.

2. Proctoring integration

2.1. Adding a proctoring link to the course

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:

  1. Navigate to the "Content" section of the course.
  2. Select a previously created proctoring item from the list "Build Content" → "Proctoring Link":

    "Content”→"Build Content" → "Proctoring Link”
    "Content”→"Build Content" → "Proctoring Link”

  3. A link to the proctoring will appear in the course content list:

    The course content list
    The course content list

Each link gives the user one proctoring attempt.

2.2. Restrict access to the assessment without proctoring

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”

”Adaptive release”
”Adaptive release”

”Select a Grade Center column” → Choose your proctoring link. Then choose “Score”-”Equal to”- 0.00, press “Submit”

Adaptive release, limiting access to the assessment
Adaptive release, limiting access to the assessment

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.

2.3. Getting a proctoring grade

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:

  1. Navigate to edit the proctoring item (drop-down menu next to the item name).
  2. Enable the option "GRADING" → "Enable Evaluation":
    "GRADING" → "Enable Evaluation”
    "GRADING" → "Enable Evaluation”

2.4. Use of proctoring

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.

3. Configuring a self deployed proctoring host

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.