LTI Resource Search Overview 1.0 IMS Candidate Final

LTI Resource Search

IMS Final Release
Version 1.0
IMS Final Release
Date Issued:10th September 2018
Status:This document is made available for adoption by the public community at large.
This version: https://www.imsglobal.org/spec/lti-rs/v1p0/
Latest version: https://www.imsglobal.org/spec/lti-rs/latest/
Errata: https://www.imsglobal.org/spec/lti-rs/v1p0/errata/

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Copyright © 2018 IMS Global Learning Consortium. All Rights Reserved.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/speclicense.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

Public contributions, comments and questions can be posted here: http://www.imsglobal.org/forums/ims-glc-public-forums-and-resources.

© 2018 IMS Global Learning Consortium, Inc. All Rights Reserved.

Trademark information: http://www.imsglobal.org/copyright.html

  1. Abstract

The Learning Tools Interoperability (LTI) Resource Search specification defines how to search digital repositories for a set of resources via a web services API. The standard addresses searching learning object repositories (LORs), and other catalogs of learning resources. The specification supports executing these search from learning tools using various attributes of resources and returning full metadata about the resources to the learning tools. Results can be launched either as URLs or LTI links. The goal of the LTI Resource Search standard is a standard way for students and teachers to be able to search resource providers, such as learning object repositories, from single sources or aggregated from multiple sources, within a learning object consumer such as a learning management system or other educational platform.

  2. Overview

This section is non-normative.

The Learning Tools Interoperability (LTI) Resource Search specification defines how to search digital repositories for a set of resources. The standard addresses searching learning object repositories (LORs), and other catalogs of learning resources. The specification supports executing these searches from learning tools using various attributes of resources and returning full metadata about the resources to the learning tools. Results can be launched either as URLs or LTI links. The goal of the Resource Search standard is a standard way for students and teachers to be able to search resource providers, such as learning object repositories, from single sources or aggregated from multiple sources, within a learning object consumer such as a learning management system or other educational platform.

The benefit for an educator or student using the learning tool (such as a Learning Management System) is the seamless ability to search resource libraries for appropriate resources and transparent launching of those resources. Suppliers and institutions benefit from a common way to search for learning resources across all learning object repositories.

Resource Search provides a framework for:

  • Learning tools (search consumers) to query learning repositories and other catalogs of learning resources (search providers)
  • Learning repositories to return metadata about each learning resource
  • Specific and defined metadata to include in the search results

Resource Search defines a set of attributes available for all resources. This includes required fields as the resource’s name, the publisher of the resource and a resource type (such as “Media/Video” or “Assessment/Item”) and of course a URL or LTI link with how to access the resource. There are many other optional fields such as subject and description. Most of those attributes can also be used as search criteria as well.

  2.1 Key Features of the Standard

  • A web services based approach to searching for digital learning objects
  • An organized and defined set of resource metadata
  • REST calls for resource searching and getting values (such as subjects)
  • Resource metadata (the payloads of returned data)
  • Supplementary definitions of certain structures (such as learning objectives)

  2.2 Background

Previous efforts to allow resource search from learning management systems and other educational tools have focused on utilizing the Learning Tools Interoperability standard so that each resource library acts as a learning tool provider to provide a shopping cart of resources back to the LMS or other learning tool consumer.

In the early days of supplementary resource usage this discontinuity may have been acceptable. In 2017 teaching with digital content is done frequently by most teachers as part of daily instruction. Moving from tool to tool just to find an appropriate resource is unnecessarily distracting. It is possible to make the resource search process from within the learning management system much more seamless and intuitive by allowing learning management systems and other tools to call REST-based web services to the resource library providers.

  2.3 Problems Solved by Standard

Educators have a more reliable way to search for learning objects across multiple providers from within their learning platform or tool. Learning platforms and tools make many more resources available to their users and have all results available in one place.

  2.4 Process Flow

Resource Search defines two roles, a Provider and a Consumer. Learning object repositories (LORs), and other catalogs of learning resources, the Provider, can make available their learning object for search within a learning management system or learning tool, the Consumer.

  3. Use cases

This section is non-normative.

The following use cases are supported by this specification:

  3.1 Use-case 1

Title: Use keywords to search for learning objects provided by external sources (search providers) within a platform (search consumer)
Local ID: LTI-RS-01
Description: Basic search: Use keywords (search terms) to search for learning objects in restricted- and unrestricted-access libraries.


Availability: search provisioned for certain educational audiences



Results, each should comprise:
  • Link to content object (rendered as explicit link text)
  • Availability of link (i.e. immediately retrievable, must be requested/installed/provisioned)
  • Summary description; content summary for results that are composites
  • Relevance -- strength of match
  • Metadata about result (e.g. tags indicating media-type, content-type)

Results should be organized and:

  • could vary by role (for example -- search results “public”, and search results “restricted to view by role”: e.g. resources that are assessments to go with curriculum plus answer key for same assessments)
  • could vary by relevance (i.e. “best matches first”)
  • could group by content type (i.e. assessments, video, reference topics, etc)
  • could group by media type (i.e videos, images, documents)
  • could group by source (matches from content-creator sources together)

Results can suggest organization:

Icons or tags to indicate media type, content type, etc (results sent back need to include meta-data)
Level: Summary
Actors: Primary - Search Consumer -- thing that makes the search request

Secondary - Search Provider -- thing that responds to the request with search results
Stakeholder: Student/Teacher/Parent Role in Learning Platform

Primary: People who search (Learner/Parent/Instructor (curriculum assistance))

Primary: Instructor/Instructional Designer (those who create or assist in creating courses/curriculum)

Secondary: People who want other people to search because it helps them (Instructor/Parent) (Learner -- they want good curriculum)

Secondary: Administrator (may need to install/provision access to results)
Interest: -- Search to learn more about something, want relevant results (illuminate curriculum, or provide extension)



-- Search to find resources to make available to others (curriculum building), want relevant results that meet curriculum needs (learning objectives)
Notes: This use case could be implemented by the best practice suggested in the section "Use The Special 'Search' Attribute" of the Implementation Guide.

  3.2 Use-case 2

Title: Use keywords and metadata to search for learning objects provided by external sources (search providers) within a platform (search consumer)
Local ID: LTI-RS-02
Description: Advanced search: Use keywords(search terms) and metadata (filter values) to search for learning objects in restricted- and unrestricted-access libraries.
Results should be organized/filterable:

could vary by role (for example -- search results “public”, and search results “restricted to view by role”: e.g. resources that are assessments to go with curriculum plus answer key for same assessments)

could vary by relevance (i.e. “best matches first”)

could group by content type (i.e. assessments, videos , reference topics, etc)

could group by media type (i.e videos, images, documents)

could vary by license/rights (i.e. “open matches first”)

could group by source (matches from sources together)
Level: Summary
Actors: Primary - Search Consumer -- thing that makes the search request
Secondary - Search Provider -- thing that responds to the request with
Stakeholder: Student/Teacher/Parent Role in Learning Platform
Interest: -- Search to learn more about something, want relevant results (illuminate curriculum, or provide extension)
-- Search to find resources to make available to others (curriculum building), want relevant results that meet curriculum needs (learning objectives)
Notes: This use case could be implemented by best practice suggested in the section "'Exact match' VS 'contains'" of the Implementation Guide.

  3.3 Use-case 3

Title: Take action on search results
Local ID: LTI-RS-03
Description: Student/Teacher/Parent gain access to one or more items returned in the results. Resolve authentication of resource access (if necessary).


Launch item

If an open item on the web and the search provider doesn’t care to have data about the launch of the item, the link can be provided as a straight URL.

If the item requires authentication, then the link will be provided as an LTI link.

Add item to course content.

The user should have the ability to add the content to his/her course(s), when the appropriate role exists within the Search Consumer from the search results.
Level: Summary
Actors: Primary - Search Consumer -- thing that makes the search request
Secondary - Search Provider -- thing that responds to the request with
Stakeholder: Teacher/Curriculum Admin Role in Learning Platform


Primary: People who search (Learner/Parent/Instructor (curriculum assistance))

Primary: Instructor/Instructional Designer (those who create or assist in creating courses/curriculum)

Secondary: People who want other people to search because it helps them (Instructor/Parent) (Learner -- they want good curriculum)

Secondary: Administrator (may need to install/provision access to results)
Interest: Search to find resources to make available to others (curriculum building), want relevant results that meet curriculum needs (learning objectives)
Notes: This use case could be implemented by use of ‘URL’ metadata that is returned as part of search response payload.

  3.4 Use-case 4

Title: Provision various restricted and unrestricted access libraries for search within the learning platform.
Local ID: LTI-RS-04
Description: Provision restricted access libraries by providing appropriate credentials to verify access. Provision unrestricted access libraries. Provision which learning platform user roles should be able to perform searches.
Level: Summary
Actors: Primary - Technical Administrator for the Search Consumer Product

Secondary - Technical Administrator for the Search Provider

Stakeholder: Technical Administrator
Interest: Technical Administrator wants to authorize appropriate search access.
Notes: This use case could be implemented by best practice suggested in the section "Recommended Search Provider Privacy Approach" of the Implementation Guide.

  3.5 Use-case 5

Title: Use of metadata to restrict access to libraries for search within the learning platform.
Local ID: LTI-RS-05
Description: Use metadata to restrict material that has copyright restrictions for example, restrict to grade levels, ability to send in preferences from a search consumer (such as an LMS) to search consumer (such as a LOR) to restrict access to specific context
Level: Summary
Actors: Primary - Technical Administrator for Search Consumer
Secondary - Search Provider
Stakeholder: Technical Administrator
Interest: Technical Administrator wants to authorize appropriate search access.
Notes: This use case could be implemented by the best practice suggested in the section "Present Selections of Valid Values for Important Attributes" of the Implementation Guide.

  3.6 Use-case 6

Title: Limiting type of resources that may be searched
Local ID: LTI-RS-06
Description: Technical administrator limiting types of resources that could be searched by students. For example, we wouldn't want students to be able to search assessments, teacher editions, answer keys, etc.
Level: Summary
Actors: Primary - Technical Administrator for Search Consumer
Secondary - Search Provider
Stakeholder: Technical Administrator
Interest: Primary - Technical Administrator would want to control the type of Search allowed in the learning platform (Search Consumer)
Secondary - Search Providers need to tag resources via Learning Resource Type or keyword appropriately to comply with this use case.
Notes: This use case could be implemented by the best practice suggested in the section "Present Selections of Valid Values for Important Attributes" of the Implementation Guide.

  3.7 Use-case 7

Title: Prioritize search results
Local ID: LTI-RS-07
Description: Technical administrators being able to prioritize returned search results. For example, with aggregated results, tech administrator may want to prioritize certain search providers, relevance from certain search providers, etc.

Another example is a district wants their curated resources to appear for generally available resources.

Level: Summary
Actors: Technical Administrator for the learning platform (Search Consumer)
Stakeholder: Technical Administrator
Interest: Primary - Technical Administrator should be able to prioritize results, for display to students/ teachers, based on publisher or search provider so that high value resources are available first.
Notes: This use case could be implemented by the best practices suggested in the "Present Selections of Valid Values for Important Attributes" and "Try Not to Frustrate Users by Presenting Inaccessible Resources" sections of the Implementation Guide.

  3.8 Use-case 8

Title: Search for learning objects by the human readable identifier
Local ID: LTI-RS-08
Description: End users in the learning platform want to be able to search for learning objects by the human readable identifier (e.g. CCSSO.Math.G.1)

Alternately, searching by standard via pick list of standards so the user can select to which standards the content should be aligned

Level: Summary
Actors: Primary - Users in the learning platform (Search Consumer)
Primary - Technical Administrator (Search Consumer)

Secondary - Search Provider
Stakeholder: Primary: People who search (Learner/Parent/Instructor (curriculum assistance))
Primary: Instructor/Instructional Designer (those who create or assist in creating courses/curriculum)

Secondary: People who want other people to search because it helps them (Instructor/Parent) (Learner -- they want good curriculum)

Secondary: Administrator (may need to install/provision access to results)
Interest: Search to find resources to make available to others (curriculum building), want relevant results that meet curriculum needs (learning objectives)
Notes: This use case could be implemented by the best practice suggested in the "LearningObjectives" section of the Implementation Guide.

  3.9 Use-case 9

Title: Narrow search result set based on learning resource ratings
Local ID: LTI-RS-09
Description: Allow users to view/ filter resources based on ratings
Level: Subfunction
Actors: Primary - Users in the learning platform (Search Consumer)
Primary - Technical Administrator (Search Consumer)
Secondary - Search Provider
Stakeholder: Primary: People who search (Learner/Parent/Instructor (curriculum assistance))
Primary: Instructor/Instructional Designer (those who create or assist in creating courses/curriculum)
Secondary: People who want other people to search because it helps them (Instructor/Parent) (Learner -- they want good curriculum)
Secondary: Administrator (may need to install/provision access to results)
Interest: Allow users to narrow result sets based on ratings
Notes: This use case could be implemented by utilizing the attribute rating filter

  3.10 Use-case 10

Title: Analyzing the performance of learning objects and their metadata
Local ID: LTI-RS-10
Description: Learning Object Repository search providers and Technical and Curriculum Administrators want to understand how learning objects are being used, how searches are surfacing results and what action the user is taking on objects (adding to course content, saving for later use, etc).
Level: Summary
Actors: Primary - Learning Object Repositories (Search Providers)
Secondary - Learning Platforms (Search Consumer)
Stakeholder: Technical Administrator for the Learning Object Repository (Search Provider)
Technical Administrator for the Learning Platform (Search Consumer)
Interest: Technical Administrator and/ or Search Providers may be interested in understanding the effectiveness of resources, in the teaching/ learning environment
Notes: This use case could be implemented by the best practice suggested in the "Resource Consumption Data Should Be Stored and Exposed to Consuming Apps via Caliper" section of the Implementation Guide.

  4. Terminology

AfAPNP
Access for All Personal Needs and Preferences
API
Application Programming Interface
CASE
Competencies and Academic Standards Exchange
HTTP
Hypertext Transfer Protocol
I-BAT
IMS Binding Autogeneration Toolkit
IETF
Internet Engineering Task Force
ISO
International Standards Organization
JSON
Java Script Object Notation
LOR
Learning Object Repository
LTI
Learning Tools Interoperability
OAS
OpenAPI Specification
PNP
Personal Needs and Preferences
REST
Representation State Transfer
RFC
Request for Comments
RS
LTI Resource Search
Search Consumer
What we traditionally think of as the "Learning Management System" (LMS) is referred to as the "Search Consumer" (SC) as it "consumes" the search.
Search Provider
The external tool or content is called the "Search Provider" (SP) as it "provides" the respository of resources for search in the Search Consumer.
TLS
Transport Layer Security
UML
Unified Modeling Language
URI
Uniform Resource Identifier
URL
Uniform Resource Locator
YAML
Yet Another Markup Language

  5. Conformance Statements

All sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.

The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.

  6. Document Set

  6.1 Normative Documents

Information Model
The Information Model [LTI-RS-10-INFOMODEL] provides an overview of the service including the underlying service architecture and end-system service objects.
OpenAPI Definition
The OpenAPI Definition [LTI-RS-10-OpenAPI] provides a description of the Resource Search Abstract Application Programming Interface (a-API).
REST/JSON Binding
The REST/JSON Binding [LTI-RS-10-RESTJSON] provides an explanation of the relationship between the logical service operations.
Conformance and Certification guide
The conformance and certification guide that accompanies this specification [LTI-RS-10-CERT] defines the requirements for Resource Search service consumers and providers. It is used to define how a product can be certified as IMS LTI Resource Search Service 1.0 compliant.
Errata
The errata [LTI-RS-10-ERRATA] details any erratum registered for this version of this specification since its publication.

  6.2 Informative Documents

This section is non-normative.

Implementation Guide
The implementation guide that accompanies this specification [LTI-RS-10-IMPL] provides the collected and collated best practice recommendations for the IMS LTI Resource Search 1.0 standard. This information was produced during the development of the standard and from the feedback of the IMS Members who have are implementing Resource Search.

  A. Revision History

This section is non-normative.

  A.1 Version History

Version No.Release DateComments
IMS Final Release [LTI-RS-10] 10th September 2018 First release of this specification.

  B. References

  B.1 Normative references

[LTI-RS-10-CERT]
LTI Resource Search 1.0 Certification Guide. IMS Global Learning Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/cert
[LTI-RS-10-ERRATA]
LTI Resource Search 1.0 Errata. IMS Global Learning Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/errata/
[LTI-RS-10-INFOMODEL]
LTI Resource Search 1.0 Information Model. IMS Global Learning Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/infomodel
[LTI-RS-10-OpenAPI]
LTI Resource Search 1.0 OpenAPI Definition. IMS Global Learning Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/openapi_doc
[LTI-RS-10-RESTJSON]
LTI Resource Search 1.0 REST/JSON Binding. IMS Global Learning Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/restbind
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119

  B.2 Informative references

[LTI-RS-10]
LTI Resource Search 1.0. IMS Global Learning Consortium. URL: https://www.imsglobal.org/lti-rs/v1p0/
[LTI-RS-10-IMPL]
LTI Resource Search 1.0 Implementation Guide. IMS Global Learning Consortium. URL: https://www.imsglobal.org/lti-rs/v1p0/impl

  C. List of Contributors

The following individuals contributed to the development of this document:

Name Organization Role
Jill HobsonIMS Global Learning Consortium (USA)Editor
Adam BlumACT (USA)Task Force Co-chair
Tom IngramEscambia County School District (USA)Task Force Co-chair
Vikash JaiswalKnovation, Inc (USA)Task Force Co-chair
Ray BaranowskiSAFARI Montage (USA)
Paul DeVePearson Education (USA)
Viktor HaagD2L Corporation (USA)
Vikash JaiswalKnovation (USA)
Elizabeth NeumanWisconsin Department of Public Instruction (USA)
Colin SmytheIMS Global Learning Consortium (USA)Editor

IMS Global Learning Consortium, Inc. ("IMS Global") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS Global makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS Global would appreciate receiving your comments and suggestions.

Please contact IMS Global through our website at http://www.imsglobal.org.

Please refer to Document Name: LTI Resource Search 1.0

Date: 10th September 2018