Solving LTI Resource Link Course Copy Problems

Solving LTI Resource Link Course Copy Problems

LTI standard
Learning Tools Interoperability (LTI®) is the 1EdTech technical standard that defines how tools can integrate with Learning Management System (LMS) platforms. Common examples of tools that integrate with platforms using LTI include assessment tools, video hosting, and interactive courseware. Authors use LTI integrations to insert links to resources like assessments, videos, and interactive content into courses. These links are known as LTI resource links. When users follow these links or load pages containing them, platforms open the LTI resource links in new browser tabs or iframes.

Resource links
The LTI standard defines how platforms securely launch LTI resource links. During a launch, the platform passes information to the tool, including IDs and other information about the resource, link, course, and user. The tool uses that information to identify the resource being launched, retrieve link, course, and user-specific data, and store user session data.

Independent resource links
When a resource is identical in all locations, it is much easier to support copying links to the resource. However, when each copy of a resource link can be independently configured, it becomes much more difficult to support copying the resource links.

Examples of resource links that are identical are links to an image, video, or interactive that are the same everywhere. An example of a resource link that needs to be configured independently is an assessment that presents all questions at once in one course and presents them one at a time in another course. 

In another scenario, consider a course with ten different sections, each led by a different instructor. In one section, the students are allowed to view responses before responding, while in the other sections, they are not. This difference in approach makes it more challenging to duplicate course materials because the data is stored with each instance of the resource link, and when the link is copied, the data must also be copied.

Errors in copying resource links
When content containing LTI resource links is copied, the platform and tool must take extra steps to ensure that the copied links work. When they don’t, a variety of errors occur, including:

  • An error page is displayed.
  • The wrong resource is displayed.
  • The resource is configured incorrectly.

Understanding link copy errors
When errors occur as a result of copying LTI resource links, it is difficult for users to understand:

  • Why did the errors occur?
  • Was it the user, platform, or tool that caused the error?
  • How can they fix the errors?
  • Who should they contact to ask for help to fix the errors?

Root cause
Part of the difficulty in resolving the errors is understanding the root cause. The root cause of the problems is that the LTI standard does not adequately support LTI resource link copy use cases. Specifically, the standard does not address the following problems:

  1. Ambiguity:  Uncertainty about which version of a resource link to copy.
  2. Snapshot: Copying resource links at the same time course content is copied. 
  3. Performance: Avoiding delays when resource links are launched.
  4. Cruft: Avoiding unnecessary copying of data.
  5. Update: Supporting pushing LTI resource link updates from parent-to-child courses.

To address copy problems, LTI tools attempt a number of workarounds, including supporting the following:

  1. Copy from: When a resource link is launched in a new context, present a user interface listing potential sources and ask the user which one to copy from.
  2. Publish/import: Support publishing a snapshot of resource links, navigating to the destination course, and importing the snapshot.
  3. Push: Support going to a source course, selecting which resources to push copies or updates, and selecting which courses to push them to.

Example publish workaround user interface
The image below shows an example of an LTI Tool user interface used to support publishing and importing a snapshot of resource links.

Example push workaround user interface
The image below shows an example of an LTI Tool user interface used to support pushing updates to selected resource links from a parent course to selected child courses.

Step 1 - Select resources

Step 2 - Select child courses

Step 3 - Select what to copy

In addition to programmatic solutions, resolving broken links resulting from course copies frequently involves the user contacting the platform and tool vendor, involvement of professional services, and sometimes manually re-authoring resource links. This creates significant additional cost and time for the user, vendor, and platform providers.

New LTI services
1EdTech’s release of the 1.3/Advantage update to the LTI standard introduced new services and a framework and process for introducing new services. The 1EdTech LTI Working Group is working on two new services that address the LTI resource link course copy problems:

  • Platform Notification Service - A way for a platform to notify a tool that:
    • A course was copied.
    • An individual resource link was copied.
  • Link and Content Service - A way for a tool to:
    • List its resource links.
    • Update the launch URL and custom parameters for a resource link.

Leveraging new services
Once the standards for the new LTI services are finalized and platforms implement them, LTI tools will be able to leverage them to solve the LTI resource link problems. The following table shows which problems each standard will help solve:

Solving ambiguity
Any time the configuration or content of a resource link is changed, the tool calls the link update service to update the launch URL or custom parameters for the resource link, effectively versioning it. When copying a resource link, the tool can be confident that the launch URL and/or customer parameters uniquely define the configuration and content.

Solving snapshot
When a course or resource links are exported, the tool is notified, and it can snapshot the version of the resource links at the time the export occurred. If a platform implements the Update Resource Link service, then this is not important since the launch URL and custom parameters uniquely identify the copied version of resources.

Solving performance
When a tool is notified that a course or resource link has been copied, it can copy the resource to ensure that the copies have been performed before the resource links are launched.

Solving cruft
When a ContextCopied event is sent, the tool can call the list resource links service to determine which resource links the source course still contains and ensure that it doesn’t copy deleted resource links. Instead of deep-copying a resource link’s data, it can wait until the resource link is modified, store the new version, and update the launch URL or custom parameters to reference the new version.

Solving update
When a source/parent/master course is updated, and the updates are copied/pushed to the child/target courses, the platform will send the tool a ContextCopied event notifying it to check for resource links that need to be updated. The tool can call the List Resource Links service to find out which resource links have been updated in the source course and need to be updated in the target course.

In summary, copying LTI resource links often breaks because the LTI standard does not adequately support common use cases and problems described in this article. Broken links result in user frustration and significant effort and cost. The LTI Working Group is working on new LTI Advantage services. Once finalized and implemented by platforms, tools will be able to use the new services to solve the course copy problems.

Get in touch with the Atomic Jolt team about LTI 1.3:

Read more