LTI Resource Search Overview 1.0 1EdTech Candidate Final
Version 1.0
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.
1EdTech 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 1EdTech's procedures with respect to rights in 1EdTech specifications can be found at the 1EdTech Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
Copyright © 2018 1EdTech Consortium. All Rights Reserved.
Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech 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 1EdTech 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 1EdTech 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:
Results should be organized and:
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
- 1EdTech 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 1EdTech 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 1EdTech LTI Resource Search 1.0 standard. This information was produced during the development of the standard and from the feedback of the 1EdTech Members who have are implementing Resource Search.
A. Revision History
This section is non-normative.
A.1 Version History
Version No. | Release Date | Comments |
---|---|---|
1EdTech 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. 1EdTech Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/cert
- [LTI-RS-10-ERRATA]
- LTI Resource Search 1.0 Errata. 1EdTech Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/errata/
- [LTI-RS-10-INFOMODEL]
- LTI Resource Search 1.0 Information Model. 1EdTech Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/infomodel
- [LTI-RS-10-OpenAPI]
- LTI Resource Search 1.0 OpenAPI Definition. 1EdTech Consortium. URL: https://www.imsglobal.org/spec/lti-rs/v1p0/rsservicev1p0_openapiv1p0.html
- [LTI-RS-10-RESTJSON]
- LTI Resource Search 1.0 REST/JSON Binding. 1EdTech 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. 1EdTech Consortium. URL: https://www.imsglobal.org/lti-rs/v1p0/
- [LTI-RS-10-IMPL]
- LTI Resource Search 1.0 Implementation Guide. 1EdTech 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 Hobson | 1EdTech Consortium (USA) | Editor |
Adam Blum | ACT (USA) | Task Force Co-chair |
Tom Ingram | Escambia County School District (USA) | Task Force Co-chair |
Vikash Jaiswal | Knovation, Inc (USA) | Task Force Co-chair |
Ray Baranowski | SAFARI Montage (USA) | |
Paul DeVe | Pearson Education (USA) | |
Viktor Haag | D2L Corporation (USA) | |
Vikash Jaiswal | Knovation (USA) | |
Elizabeth Neuman | Wisconsin Department of Public Instruction (USA) | |
Colin Smythe | 1EdTech Consortium (USA) | Editor |