Skip to content

The Hypothesis LMS app and resource_link_id

katelyn edited this page Jan 31, 2019 · 1 revision

In our outline of LTI Parameters for Hypothesis Application Integration, one of the LTI parameters listed is resource_link_id.

The resource_link_id parameter is required for all integrations by the LTI spec. However, some of our partners have reported that some LMSes are not sending this parameter by default. They may need to explain to their LMS admins why this configuration needs to be adjusted, so we have put together this document to help with that.

What is resource_link_id?

"Resource link" is LTI-speak for "assignment".

In LTI terms, resource_link_id is a unique ID for a particular "placement" of our app or "link to our app" within a course. In human terms, it's an ID for an assignment.

Other LTI params (which we don't use or require) tell us other things about the assignment, e.g. resource_link_title is the title of the assignment, and resource_link_description is the assignment description, as entered into the LMS by the teacher when creating the assignment. Our app doesn't require this information to function, so we don't ask for it.

How does the Hypothesis LMS app use resource_link_id?

When you create an assignment using our app, you choose a document (HTML URL, PDF URL, Google Drive PDF, or Canvas Files PDF) to go with the assignment. Our app has to save the choice in its database so that it knows what document to show whenever someone launches the assignment. Our app uses the assignment's resource_link_id in order to identify which previously saved document from our DB goes with the assignment currently being launched.

In other words, resource_link_id (think: "assignment ID") is how our app knows which assignment is being launched and therefore which document to show for annotating.

Why is resource_link_id sometimes not passed to our app by default?

In some cases, where the LMS supports LTI "content item selection", our app doesn't have to save the chosen document to its DB because the LMS supports saving the choice for us. In this case we don't need resource_link_id. At least some methods of using the app in Canvas support this. But other LMSes (e.g. Moodle and Blackboard) don't support this, so we have to use resource_link_id to ensure our app works in all the LMSes we support.