LMS Integration#
Canvas#
The setup for the Canvas LMS.
Configure the JupyterHub as a Developer Key#
To install the JupyterHub as an External Tool admin users need to create a
Developer Key. (More detailed instructions and screenshots on how to access this section are provided in the link above).Once the Developer Key configuration is open, select the
Enter URLmethod within theConfigure→Methoddropdown. This allows admin users to add the JupyterHub configuration by referring to a JupyterHub endpoint that renders the LTI 1.3 configuration in JSON. By default, the configuration URL is structured with thehttps://<my-hub.domain.com>/hub/lti13/configformat.Add the
Redirect URIs. By default, the redirect URI is equivalent to the callback URL. As such the default URL for the Redirect URIs field should behttps://<my-hub.domain.com>/hub/lti13/oauth_callback.Add a
Key Nameto identify theDeveloper Key.(Optional) Enter owner’s email and
Developer Keynotes.Save the
Developer Keysettings by clicking on theSavebutton.
Enable the Developer Key and copy Client ID#
You should now see the new
Developer Keyin theAdmin→Developer Keys→Accountstab. By default, theDeveloper Keyis disabled. Enable the JupyterHub installation by clicking on the On/Off toggle in theStatecolumn to switch it toON.Copy the value that represents the
Client IDin theDatailscolumn. This value should look something like125900000000000318. You will need to enter this value in the JupyterHub config.
Install the JupyterHub as an External Tool in your Canvas Course#
Navigate to the course where you would like to enable the JupyterHub.
Click on the course’s
Settingslink.Click on the
Appstab and then onView App Configurations.Click on the
+Appbutton to add a new application. SelectBy Client IDfrom theConfiguration Typedropdown and paste theClient IDvalue that you copied from theDeveloper Keys→<Your Developer Key Name>→Detailscolumn.Save the application.
Once the application is saved you will see the option to launch the JupyterHub from the Course navigation menu. You will also have the option to add Assignments as an External Tool.
Privacy Settings:
The LTI 1.3 External Tool application in Canvas may be configured with privacy enabled. The user ID in these cases will fetch the value from the LTI 1.3 subject (sub claim) which is a unique and opaque identifier for the student.
Create a new assignment as an External Tool#
Navigate to
Assignments→Add AssignmentFor
Submission Type, selectExternal ToolIMPORTANT: Click on the
Findbutton and search for the external tool by the name that you added in the step above. Selecting the external tool will prepopulate the URL field with the correct launch URL. Using theFindbutton to search for your external tool is necessary to ensure that theclient_idis referenced correctly.(Recommended) Check the
Launch in a new tabcheckbox.Append any custom parameters you wish (see next step)
Note
If you are creating assignments via the Canvas API, you need to use these undocumented external tool fields when creating the assignment.
Custom Parameters: With Canvas users have the option to set custom fields with the Launch Request URL. Also, LTI variable substitution is available.