Resource Link ID Requirements

Resource Link ID Requirements

Looking for clarification on the Resource Link ID requirements (uniqueness at which level).

I've found the following statements in the main LTI 1.3 spec:

3.1.4 LTI Links

Each LTI Link connected to a particular resource (as described in section 2.2 below) MUST contain a platform unique identifier named resource_link_id

  • There is no section 2.2
  • No where in the claims [that I can find] is there anything named resource_link_id. There is a Resource Link Claim with an id field.

3.2 Contexts and resources

While all of the LTI links integrated within a single context will share the same context_id, each link within the context will have a unique resource_link_id.

  • The context claim isn't required

5.1 Resource Link

While all the links within a context will share the same context_id, each LTI resource link will have a platform wide unique resource link ID. See section 2.1.2 of this document for more details.

  • There is no section 2.1.2

5.3.5 Resource link claim

id (REQUIRED). Opaque identifier for a placement of an LTI resource link within a context that MUST be a stable and locally unique to the deployment_id. This value MUST change if the link is copied or exported from one system or context and imported into another system or context.

3.1.2 Domain Model
This image clearly shows that the Resource Link is a child of the context (which is not a required field).

So based on these statements, the resource_link_id should be unique either:

  • within the entire platform (3.1.4, 5.1)
  • within a context (3.2, 3.1.2)
  • within a given deployment (5.3.5)

If you read each of these sections independently, you get a different requirement. I'm inclined to believe since there is a statement about it being unique platform wide, then that should trump the other statements.

Does anyone have any clarification here?