Difference between revisions of "Desire2Learn Brightspace LTI 1.3 Configuration"

From WeBWorK_wiki
Jump to navigation Jump to search
(Config stuff complete!)
(Add screenshots)
Line 6: Line 6:
   
 
== Create a New Tool Registration ==
 
== Create a New Tool Registration ==
  +
  +
[[File:D2L Register Tool Settings.png|thumb]]
   
 
* Go to the LTI Advantage Tool Registration page (probably something like https://brightspace.yourschool.edu/d2l/le/ltiadvantage/registrations/home), and click "Register Tool".
 
* Go to the LTI Advantage Tool Registration page (probably something like https://brightspace.yourschool.edu/d2l/le/ltiadvantage/registrations/home), and click "Register Tool".
Line 21: Line 23:
 
** '''Roles:''' You should not need to check the '''Send Institution Role''' box. WeBWorK by default will use the Context Role which is enabled later in the configuration, though it shouldn't cause any issues if this is checked.
 
** '''Roles:''' You should not need to check the '''Send Institution Role''' box. WeBWorK by default will use the Context Role which is enabled later in the configuration, though it shouldn't cause any issues if this is checked.
 
* When you click the "Register" button you will be presented with '''Brightspace Registration Details'''. Make note of these six values as they will need to be entered into the WeBWorK configuration files in a later step.
 
* When you click the "Register" button you will be presented with '''Brightspace Registration Details'''. Make note of these six values as they will need to be entered into the WeBWorK configuration files in a later step.
[[File:D2L Register Tool Settings.png|thumb]]
 
   
 
== Create a New Tool Deployment ==
 
== Create a New Tool Deployment ==
  +
  +
[[File:D2L Deploy Tool.png|thumb]]
  +
 
* Go to the External Learning Tools page. If you are still on the confirmation page from the previous step you can click on "View Deployments", otherwise the URL is probably something like https://webwork.yourschool.edu/d2l/le/ltiadvantage/deployments/home.
 
* Go to the External Learning Tools page. If you are still on the confirmation page from the previous step you can click on "View Deployments", otherwise the URL is probably something like https://webwork.yourschool.edu/d2l/le/ltiadvantage/deployments/home.
 
* Click "New Deployment", and fill in the following values:
 
* Click "New Deployment", and fill in the following values:
Line 32: Line 36:
 
*** If you intend to enable the content selection tool, then check the box for '''Deep Linking''' (this may be used for other functionality in the future).
 
*** If you intend to enable the content selection tool, then check the box for '''Deep Linking''' (this may be used for other functionality in the future).
 
*** Check the box for '''Names and Role Provisioning Services'''.
 
*** Check the box for '''Names and Role Provisioning Services'''.
** '''Security Settings:'''
+
** '''Security Settings:'''
  +
[[File:D2L Deploy Tool Settings.png|thumb]]
 
*** If you intend to use the Content Selection Tool you will need to select '''Org Unit Information'''
 
*** If you intend to use the Content Selection Tool you will need to select '''Org Unit Information'''
 
*** For '''User Information''' make sure that you select all values that you want to be populated in WeBWorK. At the very least you will need to send whatever item you want WeBWorK to use for the student's username. Note that the '''User ID''' is the internal ID number that Brightspace uses to identify the user. The '''Username''' is the name that the user uses to log in to D2L, and '''Org Defined Id''' is the identifier of the user set by your institution. In most Brightspace instances '''Org Defined ID''' will be the user's student ID number.
 
*** For '''User Information''' make sure that you select all values that you want to be populated in WeBWorK. At the very least you will need to send whatever item you want WeBWorK to use for the student's username. Note that the '''User ID''' is the internal ID number that Brightspace uses to identify the user. The '''Username''' is the name that the user uses to log in to D2L, and '''Org Defined Id''' is the identifier of the user set by your institution. In most Brightspace instances '''Org Defined ID''' will be the user's student ID number.

Revision as of 17:38, 17 October 2024

Construction.png This article is under construction. Use the information herein with caution until this message is removed.

Conventions

In this document we will use "https://brightspace.yourschool.edu" for the root URL of the Desire2Learn Brightspace server, and "https://webwork.yourschool.edu" for the WeBWorK server. You should replace these with the appropriate addresses for your installation.

Create a New Tool Registration

D2L Register Tool Settings.png

Create a New Tool Deployment

D2L Deploy Tool.png
  • Go to the External Learning Tools page. If you are still on the confirmation page from the previous step you can click on "View Deployments", otherwise the URL is probably something like https://webwork.yourschool.edu/d2l/le/ltiadvantage/deployments/home.
  • Click "New Deployment", and fill in the following values:
    • Tool: WeBWorK Select the name you gave the Tool in the previous step
    • Name: WeBWorK This name will be shown to instructors if they manually create a new LTI link in one of their courses
    • Extensions:
      • If you intend to enable grade pass back (automatically synchronizing grades from WeBWorK to Brightspace), then check the box for Assignment and Grade Services.
      • If you intend to enable the content selection tool, then check the box for Deep Linking (this may be used for other functionality in the future).
      • Check the box for Names and Role Provisioning Services.
    • Security Settings:
D2L Deploy Tool Settings.png
      • If you intend to use the Content Selection Tool you will need to select Org Unit Information
      • For User Information make sure that you select all values that you want to be populated in WeBWorK. At the very least you will need to send whatever item you want WeBWorK to use for the student's username. Note that the User ID is the internal ID number that Brightspace uses to identify the user. The Username is the name that the user uses to log in to D2L, and Org Defined Id is the identifier of the user set by your institution. In most Brightspace instances Org Defined ID will be the user's student ID number.
      • As of WeBWorK 2.19 Classlist sync is not yet implemented. If this is added in future versions of WeBWorK you will need to select Classlist including users not known to this deployment for it to work.
    • 'Configuration Settings:
      • Open as External Resource will force all newly created WeBWorK LTI links to open in a new window. Some browsers (including Safari and recent versions of Chrome) block third-party cookies, which can cause problems with opening another application (e.g. WeBWorK) in a frame within a Brightspace page, so you may want to select this.
      • Grades created by LTI will be included in Final Grade: If this is selected, then any time a new grade item is created for a WeBWorK assignment via LTI it will be given a nonzero weight toward the final course grade. It looks like the default weight is 10. If this is not selected then the weight of these newly-created grade items will be 0.
      • Auto Create Grade Items: This should be selected if you plan to enable grade pass back. Note that LTI links created via the Content Selection Tool will automatically create an associated grade item independent of this setting.
  • Click "Create Deployment". You will be provided with a Deployment ID. Make note of this value as it will need to be entered into the WeBWorK configuration files in the next step.

WeBWorK Configuration

On your WeBWorK server navigate to the configuration directory:

 cd /opt/webwork/webwork2/conf

Copy the distribution configuration file:

 cp authen_LTI_1_3.conf.dist authen_LTI_1_3.conf

Edit the new configuration file using your favourite editor (nano authen_LTI_1_3.conf) and make the following changes:

  • Comment out the line $LTI{v1p3}{LMS_name} = 'the LMS'; (add # at the beginning), and uncomment the line #$LTI{v1p3}{LMS_name} = 'D2L Brightspace'; (remove # at the beginning). You can also change the name from 'D2L Brightspace' if your students know your Learning Management System by a different name:
 # This is a string that is used to name the LMS for end users, for example in a message telling
 # users to sign in through their LMS.
 #$LTI{v1p3}{LMS_name} = 'the LMS';
 #$LTI{v1p3}{LMS_name} = 'Blackboard';
 #$LTI{v1p3}{LMS_name} = 'Canvas';
 $LTI{v1p3}{LMS_name} = 'D2L Brightspace';
 #$LTI{v1p3}{LMS_name} = 'Moodle';
  • Fill in the URL for your Brightspace instance in the $LTI{v1p3}{LMS_url} variable:
 $LTI{v1p3}{LMS_url} = 'https://brightspace.yourschool.edu';
  • By default the full email address obtained from Brightspace will be used as the user_id in WeBWorK. If this is the desired username then you can leave the next section of the configuration file as-is.
  • If you want to populate student ID numbers from Brightspace into the student_id field in WeBWorK, then set the following variable. If you leave it blank then nothing will be populated into the student_id field in WeBWorK.
 $LTI{v1p3}{preferred_source_of_student_id} = 'http://www.brightspace.com#org_defined_id';
  • Scroll down to the LTI 1.3 Basic Authentication Parameters section, and enter the values you noted in the previous steps as follows.
    • $LTI{v1p3}{PlatformID} = ' Issuer ';
    • $LTI{v1p3}{ClientID} = ' Client Id ';
    • $LTI{v1p3}{DeploymentID} = ' Deployment ID ';
    • $LTI{v1p3}{PublicKeysetURL} = ' Brightspace Keyset URL ';
    • $LTI{v1p3}{AccessTokenURL} = ' Brightspace OAuth2 Access Token URL ';
    • $LTI{v1p3}{AccessTokenAUD} = ' Brightspace OAuth2 Audience ';
    • $LTI{v1p3}{AuthReqURL} = ' OpenID Connect Authentication Endpoint ';

Note: the next step will overwrite any existing LTI configuration in WeBWorK.

Copy the distribution LTI configuration file:

 cp authen_LTI.conf.dist authen_LTI.conf

Edit the new configuration file using your favourite editor (nano authen_LTI.conf) and make the following changes:

  • If you are only using LTI 1.3 with WeBWorK you can disable the LTI 1.1 authentication module:
 $authen{user_module} = [
       { '*' => 'WeBWorK::Authen::LTIAdvantage' },          # first try LTI 1.3
       #{ '*' => 'WeBWorK::Authen::LTIAdvanced' },           # next try LTI 1.1
       { '*' => 'WeBWorK::Authen::Basic_TheLastOption' }    # fallback authorization method                                                         
 ];
  • Uncomment the inclusion of the LTI 1.3 configuration:
 include('conf/authen_LTI_1_3.conf');
  • Set $LTIVersion to 'v1p3':
 $LTIVersion = 'v1p3';