LMS: Blackboard


SmarterProctoring is added as an external tool LTI tool using the open source OSCELOT LTI building block as outlined in the requirements below. This step-by-step guide will walk through the complete installation process as suggested by the SmarterProctoring team. If you wish to deviate from this installation, please consult your SmarterProctoring representative to ensure the deviation will not impact the ability for the tool to function properly.


  • Blackboard 9.0 or greater
    In order for SmarterProctoring to operate correctly you must be running Blackboard 9.0 or greater, running either Blackboard in house or via Blackboard hosting.

  • BasicLTI Building Block
    The open source Basic LTI building block (v3.0.0+) for Blackboard must be installed.  This building block extends the LTI functionality within Blackboard and provides some specific hooks required for SmarterProctoring to operate properly.  Links have been provided below for further information about the block.  A special thank you goes out to Stephen Vickers for publishing this block for the community.

    Detailed Overview, including installation information: http://projects-archive.oscelot.org/gf/project/bb-basiclti/

    Block Download: http://projects-archive.oscelot.org/gf/project/bb-basiclti/frs/


Obtain SmarterProctoring LTI Keys

SmarterProctoring LTI keys can be obtained via the SmarterProtoring administrative area, to login to your account and locate your keys please follow these steps:

  1. Navigate to your SmarterProctoring administrative area in your browser. Your SmarterProctoring administrator was provided your account special administrative area URL. If you do not have this information please contact them.
  2. Enter your username and password and click Login.
  3. Once logged in, click your name in the upper right, then click Integration Settings.
  4. Find the integration that you need to update, typically there will only be one integration. Then in the Actions menu, select Integration settings. This will drawer open the settings form, you will use the information on this form in step 13 below.

Install the LTI Building Block

  1. Download the building block
  2. Navigate to the Building Block installation area and install the building block as you would normally.
  3. Once installed, make the block available.

Register SmarterProctoring

  1. Access the settings for the Basic LTI Tools building block. This can be done by loading the list of building blocks and then clicking settings for the Basic LTI Tools block.
  2. Before we register SmarterProctoring, we need to ensure all the services required are properly configured. Click the Services option to review the services setup.
  3. Review the services that are currently setup. The services highlighted in yellow below are the key services that need to be configured just like the image, if you are missing the "Assessments" service, please continue to the next step. If you have all the required services and they are setup properly, you can continue to step 5.
  4. If missing the "Assessments" service it will need to be added. To do this follow these steps:
    1. Click Register New Service.
    2. Enter "org.oscelot.blackboard.lti.services.Assessment" for the name value and click Submit.
    3. Next, make sure the status is set to enabled by checking the box next to the service and then selecting Enabled.
  5. Click the Tools button to return back to the list of tools.
  6. Now verify the System Settings are properly set for SmarterProctoring to function. Click the System Settings button to review these settings.
  7. Ensure the System Settings are set as follows:
    1. Under Services the following options are checked: Outcomes, Memberships, and Setting. This is the only setting on this page that MUST be set correctly.
    2. Review any of the other settings to ensure they are setup properly based on your institutions preferences. 
    3. Click Submit.
  8. Click the Register New Tool button to now begin adding the tool.
  9. Click the By XML tab.
  10. Paste the XML in the large text box labeled XML descriptor.
    <?xml version="1.0" encoding="UTF-8"?>
    <basic_lti_link xmlns="http://www.imsglobal.org/xsd/imsbasiclti_v1p0"
        xmlns:lticm ="http://www.imsglobal.org/xsd/imslticm_v1p0"
        xmlns:lticp ="http://www.imsglobal.org/xsd/imslticp_v1p0"
        xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation = "http://www.imsglobal.org/xsd/imsbasiclti_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd
                              http://www.imsglobal.org/xsd/imslticm_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd
                              http://www.imsglobal.org/xsd/imslticp_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd">
      <custom />
      <extensions platform="learn">
        <lticm:property name="guid" />
        <lticm:property name="secret" />
        <lticm:property name="signaturemethod">SHA1</lticm:property>
        <lticm:property name="administrator">true</lticm:property>
        <lticm:property name="avatar">false</lticm:property>
        <lticm:property name="contextid">true</lticm:property>
        <lticm:property name="contextidtype">P</lticm:property>
        <lticm:property name="contextsourcedid">true</lticm:property>
        <lticm:property name="contexttitle">true</lticm:property>
        <lticm:property name="css" />
        <lticm:property name="email">M</lticm:property>
        <lticm:property name="ext_memberships">M</lticm:property>
        <lticm:property name="ext_memberships_limit">true</lticm:property>
        <lticm:property name="ext_memberships_groups">false</lticm:property>
        <lticm:property name="ext_memberships_groupnames" />
        <lticm:property name="ext_outcomes">N</lticm:property>
        <lticm:property name="ext_outcomes_column">false</lticm:property>
        <lticm:property name="ext_outcomes_format">P</lticm:property>
        <lticm:property name="ext_outcomes_points">100</lticm:property>
        <lticm:property name="ext_outcomes_scorable">false</lticm:property>
        <lticm:property name="ext_outcomes_visible">false</lticm:property>
        <lticm:property name="ext_setting">M</lticm:property>
        <lticm:property name="openin">F</lticm:property>
        <lticm:property name="role.S">L</lticm:property>
        <lticm:property name="role.P">I</lticm:property>
        <lticm:property name="role.T">T</lticm:property>
        <lticm:property name="role.B">D</lticm:property>
        <lticm:property name="role.G">T</lticm:property>
        <lticm:property name="role.U" />
        <lticm:property name="roles">true</lticm:property>
        <lticm:property name="ext_iroles">true</lticm:property>
        <lticm:property name="ext_croles">true</lticm:property>
        <lticm:property name="splash">false</lticm:property>
        <lticm:property name="splashtext" />
        <lticm:property name="userid">M</lticm:property>
        <lticm:property name="useridtype">P</lticm:property>
        <lticm:property name="username">M</lticm:property>
        <lticm:property name="usersourcedid">true</lticm:property>
        <lticm:property name="windowname">_self</lticm:property>
        <lticm:property name="message.contentitem">false</lticm:property>
        <lticm:property name="message.config">false</lticm:property>
        <lticm:property name="message.dashboard">false</lticm:property>
        <lticm:property name="service.assessment">true</lticm:property>
        <lticm:property name="service.outcomesv1">true</lticm:property>
        <lticm:property name="service.profile">true</lticm:property>
        <lticm:property name="service.setting">true</lticm:property>

  11. Click Submit
  12. From the options menu next to the new registration, click Edit registration.
  13. In the Connection Details section, the consumer key and shared secret need to be populated. Go back over to your SmarterProctoring integration settings page from earlier in this process to obtain these values and enter them in these fields. Once that is complete, click Submit.
  14. From the LTI tools list view, check the box next to the newly registered tool and then click the Course tool menu and select Add as course tool.
  15. From the LTI tools list view again, check the box next to the newly registered tool and then click the Status menu and select Enable.
  16. Depending on how the default availably was setup for the tool the tool will be added to all courses. If enabled, the tool can be found in the Tools section of a course and will look like the image below. Clicking the link will launch the user directly into their SmarterProctoring account.