IMS Final Release

IMS Global Logo

IMS LTI Resource Search Service Version 1.0

IMS Final Release
Version 1.0

Date Issued: 10th September, 2018
Latest version: https://www.imsglobal.org/spec/lti-rs/latest/

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: www.imsglobal.org/forums/ims-glc-public-forums-and-resources.

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

Document Name: IMS LTI Resource Search Service v1.0

Revision: 10th September, 2018

toc | top

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.

toc | top

Table of Contents

Abstract

1. Introduction

1.1 Scope and Context

1.2 Conventions

1.3 Structure of this Document

1.4 Nomenclature

2. Service Architecture and Specification Model

2.1 An Abstract Representation

2.2 Service Architecture and Specification Model

2.3 Service Objects

2.4 The LTI Resource Search Service Choreography

3. The Behavior Model

3.1 Service Definition

3.2 "ResourceSearchManager" Interface Description

3.2.1 "searchForResources" Operation

3.3 "SubjectsManager" Interface Description

3.3.1 "getAllSubjects" Operation

4. The Interface Model

4.1 "ResourceSet" Class Description

4.1.1 "resources" Attribute Description

4.2 "SubjectSet" Class Description

4.2.1 "subjects" Attribute Description

4.3 "imsx_StatusInfo" Class Description

4.3.1 "imsx_codeMajor" Attribute Description

4.3.2 "imsx_severity" Attribute Description

4.3.3 "imsx_description" Attribute Description

4.3.4 "imsx_codeMinor" Attribute Description

5. Data Model

5.1 Data Class Descriptions

5.1.1 "CCLTILink" Class Description

5.1.1.1 "cartridge_bundle" Attribute Description

5.1.1.2 "cartridge_icon" Attribute Description

5.1.1.3 "metadata" Attribute Description

5.1.2 "CSMSet" Class Description

5.1.2.1 "resourceLabel" Attribute Description

5.1.2.2 "resourcePartId" Attribute Description

5.1.2.3 "curriculumStandardsMetadata" Attribute Description

5.1.3 "CurriculumStandardsMetadata" Class Description

5.1.3.1 "providerId" Attribute Description

5.1.3.2 "setOfGUIDs" Attribute Description

5.1.4 "LTILink" Class Description

5.1.4.1 "title" Attribute Description

5.1.4.2 "description" Attribute Description

5.1.4.3 "custom" Attribute Description

5.1.4.4 "extensions" Attribute Description

5.1.4.5 "launch_url" Attribute Description

5.1.4.6 "secure_launch_url" Attribute Description

5.1.4.7 "icon" Attribute Description

5.1.4.8 "secure_icon" Attribute Description

5.1.4.9 "vendor" Attribute Description

5.1.5 "LTILinkResourceRef" Class Description

5.1.5.1 "name" Attribute Description

5.1.5.2 "resourceUri" Attribute Description

5.1.6 "LabelledGUID" Class Description

5.1.6.1 "label" Attribute Description

5.1.6.2 "caseItemURI" Attribute Description

5.1.6.3 "GUID" Attribute Description

5.1.7 "LearningObjectives" Class Description

5.1.7.1 "alignmentType" Attribute Description

5.1.7.2 "educationalFramework" Attribute Description

5.1.7.3 "targetDescription" Attribute Description

5.1.7.4 "targetName" Attribute Description

5.1.7.5 "targetURL" Attribute Description

5.1.7.6 "caseItemUri" Attribute Description

5.1.7.7 "caseItemGUID" Attribute Description

5.1.8 "Metadata" Class Description

5.1.8.1 "curriculumStandardsMetadataSet" Attribute Description

5.1.9 "PlatformPropertySet" Class Description

5.1.9.1 "platform" Attribute Description

5.1.9.2 "properties" Attribute Description

5.1.10 "Property" Class Description

5.1.10.1 "name" Attribute Description

5.1.10.2 "value" Attribute Description

5.1.11 "PropertySet" Class Description

5.1.11.1 "properties" Attribute Description

5.1.12 "Resource" Class Description

5.1.12.1 "name" Attribute Description

5.1.12.2 "description" Attribute Description

5.1.12.3 "subject" Attribute Description

5.1.12.4 "url" Attribute Description

5.1.12.5 "ltiLink" Attribute Description

5.1.12.6 "learningResourceType" Attribute Description

5.1.12.7 "language" Attribute Description

5.1.12.8 "thumbnailUrl" Attribute Description

5.1.12.9 "typicalAgeRange" Attribute Description

5.1.12.10 "textComplexity" Attribute Description

5.1.12.11 "learningObjectives" Attribute Description

5.1.12.12 "author" Attribute Description

5.1.12.13 "publisher" Attribute Description

5.1.12.14 "useRightsURL" Attribute Description

5.1.12.15 "timeRequired" Attribute Description

5.1.12.16 "technicalFormat" Attribute Description

5.1.12.17 "educationalAudience" Attribute Description

5.1.12.18 "accessibilityAPI" Attribute Description

5.1.12.19 "accessibilityInputMethods" Attribute Description

5.1.12.20 "accessibilityFeatures" Attribute Description

5.1.12.21 "accessibilityHazards" Attribute Description

5.1.12.22 "accessMode" Attribute Description

5.1.12.23 "publishDate" Attribute Description

5.1.12.24 "rating" Attribute Description

5.1.12.25 "relevance" Attribute Description

5.1.12.26 "extensions" Attribute Description

5.1.13 "ResourceSet" Class Description

5.1.13.1 "resources" Attribute Description

5.1.14 "SetOfGUIDs" Class Description

5.1.14.1 "region" Attribute Description

5.1.14.2 "version" Attribute Description

5.1.14.3 "labelledGUID" Attribute Description

5.1.15 "Subject" Class Description

5.1.15.1 "identifier" Attribute Description

5.1.15.2 "name" Attribute Description

5.1.15.3 "parent" Attribute Description

5.1.16 "SubjectSet" Class Description

5.1.16.1 "subjects" Attribute Description

5.1.17 "TextComplexity" Class Description

5.1.17.1 "name" Attribute Description

5.1.17.2 "value" Attribute Description

5.1.18 "Vendor" Class Description

5.1.18.1 "code" Attribute Description

5.1.18.2 "name" Attribute Description

5.1.18.3 "description" Attribute Description

5.1.18.4 "url" Attribute Description

5.1.18.5 "emailContact" Attribute Description

5.1.19 "imsx_CodeMinor" Class Description

5.1.19.1 "imsx_codeMinorField" Attribute Description

5.1.20 "imsx_CodeMinorField" Class Description

5.1.20.1 "imsx_codeMinorFieldName" Attribute Description

5.1.20.2 "imsx_codeMinorFieldValue" Attribute Description

5.1.21 "imsx_StatusInfo" Class Description

5.1.21.1 "imsx_codeMajor" Attribute Description

5.1.21.2 "imsx_severity" Attribute Description

5.1.21.3 "imsx_description" Attribute Description

5.1.21.4 "imsx_codeMinor" Attribute Description

5.2 Derived Class Descriptions

5.2.1 "AgeRange" Class Description

5.2.2 "Float0to1" Class Description

5.2.3 "GUID" Class Description

5.2.4 "NString1024" Class Description

5.2.5 "NString2048" Class Description

5.2.6 "URL" Class Description

5.3 Enumerated Vocabulary Descriptions

5.3.1 "AccessModeEnum" Vocabulary Description

5.3.2 "AccessibilityAPIEnum" Vocabulary Description

5.3.3 "AccessibilityInputEnum" Vocabulary Description

5.3.4 "AlignmentTypeEnum" Vocabulary Description

5.3.5 "EducationalAudienceEnum" Vocabulary Description

5.3.6 "HazardEnum" Vocabulary Description

5.3.7 "LRTEnum" Vocabulary Description

5.3.8 "RatingEnum" Vocabulary Description

5.3.9 "TextComplexityNameEnum" Vocabulary Description

5.3.10 "imsx_CodeMajorEnum" Vocabulary Description

5.3.11 "imsx_CodeMinorValueEnum" Vocabulary Description

5.3.12 "imsx_SeverityEnum" Vocabulary Description

6. Extending and Profiling the Service

6.1 Extending the Service

6.1.1 Proprietary Operations

6.1.2 Proprietary Data Elements

6.2 Profiling the Service

References

Appendix A Modeling Concepts and Terms

A1 Behavior Descriptions Explanations

A1.1 Service Diagrams

A1.2 Operation Descriptions

A2 Interface Descriptions Explanations

A2.1 Parameter Model Diagrams

A2.2 Class Descriptions

A2.3 Attribute Descriptions

A3 Data Model Descriptions Explanations

A3.1 Data Model Diagrams

A3.2 Class Descriptions

A3.3 Attribute and Characteristic Descriptions

A3.4 Enumerated Vocabulary Descriptions

A3.5 External Vocabulary Descriptions

A3.6 Import Class Descriptions

Appendix B Service Status Codes

B1 Definition of the Status Codes

B1.1 Definition of the "CodeMajor" Values

B1.2 Definition of the "Severity" Values

B1.3 Definition of the "CodeMinor" Values

About this Document

List of Contributors

Revision History

toc | top

List of Figures

Figure 3.1 Service interface definitions

Figure 4.1 ResourceSet class definitions

Figure 4.2 SubjectSet class definitions

Figure 4.3 imsx_StatusInfo class definitions

Figure 5.1.1 CCLTILink class definitions

Figure 5.1.2 CSMSet class definitions

Figure 5.1.3 CurriculumStandardsMetadata class definitions

Figure 5.1.4 LTILink class definitions

Figure 5.1.5 LTILinkResourceRef class definitions

Figure 5.1.6 LabelledGUID class definitions

Figure 5.1.7 LearningObjectives class definitions

Figure 5.1.8 Metadata class definitions

Figure 5.1.9 PlatformPropertySet class definitions

Figure 5.1.10 Property class definitions

Figure 5.1.11 PropertySet class definitions

Figure 5.1.12 Resource class definitions

Figure 5.1.13 ResourceSet class definitions

Figure 5.1.14 SetOfGUIDs class definitions

Figure 5.1.15 Subject class definitions

Figure 5.1.16 SubjectSet class definitions

Figure 5.1.17 TextComplexity class definitions

Figure 5.1.18 Vendor class definitions

Figure 5.1.19 imsx_CodeMinor class definitions

Figure 5.1.20 imsx_CodeMinorField class definitions

Figure 5.1.21 imsx_StatusInfo class definitions

Figure 5.2.1 AgeRange class definitions

Figure 5.2.2 Float0to1 class definitions

Figure 5.2.3 GUID class definitions

Figure 5.2.4 NString1024 class definitions

Figure 5.2.5 NString2048 class definitions

Figure 5.2.6 URL class definitions

Figure 5.3.1 AccessModeEnum class definitions

Figure 5.3.2 AccessibilityAPIEnum class definitions

Figure 5.3.3 AccessibilityInputEnum class definitions

Figure 5.3.4 AlignmentTypeEnum class definitions

Figure 5.3.5 EducationalAudienceEnum class definitions

Figure 5.3.6 HazardEnum class definitions

Figure 5.3.7 LRTEnum class definitions

Figure 5.3.8 RatingEnum class definitions

Figure 5.3.9 TextComplexityNameEnum class definitions

Figure 5.3.10 imsx_CodeMajorEnum class definitions

Figure 5.3.11 imsx_CodeMinorValueEnum class definitions

Figure 5.3.12 imsx_SeverityEnum class definitions

toc | top

List of Tables

Table 3.1 The set of interfaces.

Table 3.2 The set of operations for the "ResourceSearchManager" interface.

Table 3.3 The set of operations for the "SubjectsManager" interface.

Table 4.1 "ResourceSet" Class Description

Table 4.1.1 "resources" Attribute Description

Table 4.2 "SubjectSet" Class Description

Table 4.2.1 "subjects" Attribute Description

Table 4.3 "imsx_StatusInfo" Class Description

Table 4.3.1 "imsx_codeMajor" Attribute Description

Table 4.3.2 "imsx_severity" Attribute Description

Table 4.3.3 "imsx_description" Attribute Description

Table 4.3.4 "imsx_codeMinor" Attribute Description

Table 5.1.1 CCLTILink class definitions

Table 5.1.1.1 Description of the "cartridge_bundle" attribute for the "CCLTILink" class

Table 5.1.1.2 Description of the "cartridge_icon" attribute for the "CCLTILink" class

Table 5.1.1.3 Description of the "metadata" attribute for the "CCLTILink" class

Table 5.1.2 CSMSet class definitions

Table 5.1.2.1 Description of the "resourceLabel" attribute for the "CSMSet" class

Table 5.1.2.2 Description of the "resourcePartId" attribute for the "CSMSet" class

Table 5.1.2.3 Description of the "curriculumStandardsMetadata" attribute for the "CSMSet" class

Table 5.1.3 CurriculumStandardsMetadata class definitions

Table 5.1.3.1 Description of the "providerId" attribute for the "CurriculumStandardsMetadata" class

Table 5.1.3.2 Description of the "setOfGUIDs" attribute for the "CurriculumStandardsMetadata" class

Table 5.1.4 LTILink class definitions

Table 5.1.4.1 Description of the "title" attribute for the "LTILink" class

Table 5.1.4.2 Description of the "description" attribute for the "LTILink" class

Table 5.1.4.3 Description of the "custom" attribute for the "LTILink" class

Table 5.1.4.4 Description of the "extensions" attribute for the "LTILink" class

Table 5.1.4.5 Description of the "launch_url" attribute for the "LTILink" class

Table 5.1.4.6 Description of the "secure_launch_url" attribute for the "LTILink" class

Table 5.1.4.7 Description of the "icon" attribute for the "LTILink" class

Table 5.1.4.8 Description of the "secure_icon" attribute for the "LTILink" class

Table 5.1.4.9 Description of the "vendor" attribute for the "LTILink" class

Table 5.1.5 LTILinkResourceRef class definitions

Table 5.1.5.1 Description of the "name" attribute for the "LTILinkResourceRef" class

Table 5.1.5.2 Description of the "resourceUri" attribute for the "LTILinkResourceRef" class

Table 5.1.6 LabelledGUID class definitions

Table 5.1.6.1 Description of the "label" attribute for the "LabelledGUID" class

Table 5.1.6.2 Description of the "caseItemURI" attribute for the "LabelledGUID" class

Table 5.1.6.3 Description of the "GUID" attribute for the "LabelledGUID" class

Table 5.1.7 LearningObjectives class definitions

Table 5.1.7.1 Description of the "alignmentType" attribute for the "LearningObjectives" class

Table 5.1.7.2 Description of the "educationalFramework" attribute for the "LearningObjectives" class

Table 5.1.7.3 Description of the "targetDescription" attribute for the "LearningObjectives" class

Table 5.1.7.4 Description of the "targetName" attribute for the "LearningObjectives" class

Table 5.1.7.5 Description of the "targetURL" attribute for the "LearningObjectives" class

Table 5.1.7.6 Description of the "caseItemUri" attribute for the "LearningObjectives" class

Table 5.1.7.7 Description of the "caseItemGUID" attribute for the "LearningObjectives" class

Table 5.1.8 Metadata class definitions

Table 5.1.8.1 Description of the "curriculumStandardsMetadataSet" attribute for the "Metadata" class

Table 5.1.9 PlatformPropertySet class definitions

Table 5.1.9.1 Description of the "platform" attribute for the "PlatformPropertySet" class

Table 5.1.9.2 Description of the "properties" attribute for the "PlatformPropertySet" class

Table 5.1.10 Property class definitions

Table 5.1.10.1 Description of the "name" attribute for the "Property" class

Table 5.1.10.2 Description of the "value" attribute for the "Property" class

Table 5.1.11 PropertySet class definitions

Table 5.1.11.1 Description of the "properties" attribute for the "PropertySet" class

Table 5.1.12 Resource class definitions

Table 5.1.12.1 Description of the "name" attribute for the "Resource" class

Table 5.1.12.2 Description of the "description" attribute for the "Resource" class

Table 5.1.12.3 Description of the "subject" attribute for the "Resource" class

Table 5.1.12.4 Description of the "url" attribute for the "Resource" class

Table 5.1.12.5 Description of the "ltiLink" attribute for the "Resource" class

Table 5.1.12.6 Description of the "learningResourceType" attribute for the "Resource" class

Table 5.1.12.7 Description of the "language" attribute for the "Resource" class

Table 5.1.12.8 Description of the "thumbnailUrl" attribute for the "Resource" class

Table 5.1.12.9 Description of the "typicalAgeRange" attribute for the "Resource" class

Table 5.1.12.10 Description of the "textComplexity" attribute for the "Resource" class

Table 5.1.12.11 Description of the "learningObjectives" attribute for the "Resource" class

Table 5.1.12.12 Description of the "author" attribute for the "Resource" class

Table 5.1.12.13 Description of the "publisher" attribute for the "Resource" class

Table 5.1.12.14 Description of the "useRightsURL" attribute for the "Resource" class

Table 5.1.12.15 Description of the "timeRequired" attribute for the "Resource" class

Table 5.1.12.16 Description of the "technicalFormat" attribute for the "Resource" class

Table 5.1.12.17 Description of the "educationalAudience" attribute for the "Resource" class

Table 5.1.12.18 Description of the "accessibilityAPI" attribute for the "Resource" class

Table 5.1.12.19 Description of the "accessibilityInputMethods" attribute for the "Resource" class

Table 5.1.12.20 Description of the "accessibilityFeatures" attribute for the "Resource" class

Table 5.1.12.21 Description of the "accessibilityHazards" attribute for the "Resource" class

Table 5.1.12.22 Description of the "accessMode" attribute for the "Resource" class

Table 5.1.12.23 Description of the "publishDate" attribute for the "Resource" class

Table 5.1.12.24 Description of the "rating" attribute for the "Resource" class

Table 5.1.12.25 Description of the "relevance" attribute for the "Resource" class

Table 5.1.12.26 Description of the "extensions" attribute for the "Resource" class

Table 5.1.13 ResourceSet class definitions

Table 5.1.13.1 Description of the "resources" attribute for the "ResourceSet" class

Table 5.1.14 SetOfGUIDs class definitions

Table 5.1.14.1 Description of the "region" attribute for the "SetOfGUIDs" class

Table 5.1.14.2 Description of the "version" attribute for the "SetOfGUIDs" class

Table 5.1.14.3 Description of the "labelledGUID" attribute for the "SetOfGUIDs" class

Table 5.1.15 Subject class definitions

Table 5.1.15.1 Description of the "identifier" attribute for the "Subject" class

Table 5.1.15.2 Description of the "name" attribute for the "Subject" class

Table 5.1.15.3 Description of the "parent" attribute for the "Subject" class

Table 5.1.16 SubjectSet class definitions

Table 5.1.16.1 Description of the "subjects" attribute for the "SubjectSet" class

Table 5.1.17 TextComplexity class definitions

Table 5.1.17.1 Description of the "name" attribute for the "TextComplexity" class

Table 5.1.17.2 Description of the "value" attribute for the "TextComplexity" class

Table 5.1.18 Vendor class definitions

Table 5.1.18.1 Description of the "code" attribute for the "Vendor" class

Table 5.1.18.2 Description of the "name" attribute for the "Vendor" class

Table 5.1.18.3 Description of the "description" attribute for the "Vendor" class

Table 5.1.18.4 Description of the "url" attribute for the "Vendor" class

Table 5.1.18.5 Description of the "emailContact" attribute for the "Vendor" class

Table 5.1.19 imsx_CodeMinor class definitions

Table 5.1.19.1 Description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class

Table 5.1.20 imsx_CodeMinorField class definitions

Table 5.1.20.1 Description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class

Table 5.1.20.2 Description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class

Table 5.1.21 imsx_StatusInfo class definitions

Table 5.1.21.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class

Table 5.1.21.2 Description of the "imsx_severity" attribute for the "imsx_StatusInfo" class

Table 5.1.21.3 Description of the "imsx_description" attribute for the "imsx_StatusInfo" class

Table 5.1.21.4 Description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class

Table 5.2.1 AgeRange class definitions

Table 5.2.2 Float0to1 class definitions

Table 5.2.3 GUID class definitions

Table 5.2.4 NString1024 class definitions

Table 5.2.5 NString2048 class definitions

Table 5.2.6 URL class definitions

Table 5.3.1 AccessModeEnum class definitions

Table 5.3.2 AccessibilityAPIEnum class definitions

Table 5.3.3 AccessibilityInputEnum class definitions

Table 5.3.4 AlignmentTypeEnum class definitions

Table 5.3.5 EducationalAudienceEnum class definitions

Table 5.3.6 HazardEnum class definitions

Table 5.3.7 LRTEnum class definitions

Table 5.3.8 RatingEnum class definitions

Table 5.3.9 TextComplexityNameEnum class definitions

Table 5.3.10 imsx_CodeMajorEnum class definitions

Table 5.3.11 imsx_CodeMinorValueEnum class definitions

Table 5.3.12 imsx_SeverityEnum class definitions

Table A3.1 The key to the descriptions of data model diagrams

Table A3.2 The key to the descriptions of the data class tables

Table A3.3 The key to the descriptions of the data attribute/characteristic tables

Table A3.4 The key to the descriptions of the enumerated vocabulary tables

Table A3.5 The key to the descriptions of the external vocabulary tables

Table A3.6 The key to the descriptions of the import class tables

toc | top

1. Introduction

1.1 Scope and Context

This document is the LTI Resource Search (RS) Service Model v1.0 and as such it is used as the basis for the development of the following documents:

This service model is defined to enable the exchange of information as identified in the core use-cases [RS-UC, 18]. This service model defines the RS Abstract Application Programming Interface (a-API). This service model is described using the Unified Modeling Language (UML) based upon the IMS Global Model Driven Specification approach and the associated modelling toolkit [I-BAT, 06]. This means that this specification is based upon the concepts of:

1.2 Conventions

All sections marked as non-normative, all authoring guidelines, diagrams (with the exception of the UML 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 [RFC 2119]. This means that from the perspective of conformance:

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

The SHOULD/SHOULD NOT/RECOMMENDED statements MUST NOT be used in any document, or section of a document, that is responsible for defining the information model and/or the associated bindings and/or conformance and certification.

1.3 Structure of this Document

The structure of the rest of this document is:

2. Service Architecture and Specification Model An overview of the service including the key use cases and the underlying service architecture and end-system service objects;
3. The Behavior Model The definition of the operations of the service. This focuses on the description of the behaviors supported by the service. The behaviors are grouped as interfaces;
4. The Interface Model The definition of the data models exchanged between the service End Systems. These are the parameters exchanged across the interoperability interface. These are an abbreviated description with the full set of details in the corresponding data class description;
5. Data Model The definition of the data classes for the full data exchange. This addresses the data classes used to supplement the interface parameters. The descriptions are grouped according to their type e.g. data, enumeration, derived, etc;
6. Extending and Profiling the Service An explanation of how the service can be extended, using the permitted points of extension, and/or profiled. Profiling is the process by which the specification is tailored to a specific set of market/domain requirements;
References The set of references that are cited throughout this document;
Appendix A Modeling Concepts and Terms An overview of the model driven approach, the concepts and the terms used by IMS to create the service model representations (based upon a profile of UML), the corresponding set of bindings and the accompanying documentation (including this information model);
Appendix B Service Status Codes A summary list of the status codes, and their causes, that can be returned by each of the operations forming the service. These describe the end-to-end status of the transaction.

1.4 Nomenclature

API Application Programming Interface
AfAPNP Access for All Personal Needs and Preferences
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
TLS Transport Layer Security
UML Unified Modeling Language
URI Uniform Resource Identifier
URL Uniform Resource Locator
YAML Yet Another Markup Language

toc | top

2. Service Architecture and Specification Model

This Section is NOT NORMATIVE.

2.1 An Abstract Representation

It is important to remember that this document contains a description of the underlying information model in terms of the abstract Application Programming Interface (API). The manner in which this abstract representation is visualized is not intended to dictate the implementation form of the Service. The breakdown of the service into its interface classes is a convenient way to document the set of behaviors. The objective for producing these interfaces is to identify and define the messages that are exchanged between the end-systems to realize the system behaviors required of the service.

The internal organization of an implementation of the full abstract API is beyond the scope of this specification. The only constraint is that the external behavior of the abstract API complies with this specification. This means that a .NET, J2EE, etc. physical implementation of this abstract API does not have to represent the functionality using the same breakdown of operations/methods. This physical implementation is not subject to the conformance specification.

It is important to note that the UML representation of the interfaces is used to help develop and document the Service Model and various Bindings. It is not a requirement for a system to implement this interface as defined i.e. to use the same parameters, etc. Conformance against this specification will be confirmed by inspecting the appropriate binding of the service model and ensuring that the relevant information is present and that different sequences of activity result in the predicted and mandated behavior. It is essential that the behaviors described by each of the operations are fully supported and that the behaviors described by different sequences are also maintained.

2.2 Service Architecture and Specification Model

The basic architectural model for the LTI Resource Search Service specification is shown in Figure 2.1. In this architecture the scope of the IMS LTI Resource Search Service specification is shown as the dotted line. The scope of the interoperability is the data and behavioral models of the objects being exchanged.

Diagram of the LTI Resource Search service architecture.

Figure 2.1 - The LTI Resource Search service architecture.

It is important to remember that the structure of the exchanged information has NO bearing on how the same information is contained within the 'consumer' and 'provider' LTI Resource Search systems. It is simply a representation of the data used to facilitate exchange between the end-systems. The only constraint on the end-system repositories is that they provide data persistence consistent with the required behavior.

2.3 Service Objects

The set of service collection objects that are exchanged between end-systems are:

2.4 The LTI Resource Search Service Choreography

The LTI Resource Search Service consists of a set of synchronous messsage exchanges, i.e. the consumer is blocked until the response from the provider is received. This means that a consumer can only have one outstanding request with a LTI Resource Search Engine. The corresponding sequence of actions is shown in Figure 2.2.

Diagram of the action sequence for the LTI Resource Search synchronous service.

Figure 2.2 - The action sequence for the LTI Resource Search synchronous service.

Figure 2.2 shows the action sequence from the perspective of the consumer but it must be noted that a LTI Resource Search Engine will be expected to support concurrent requests (perhaps hundreds to thousands) from many consumers.

toc | top

3. The Behavior Model

This Section is NORMATIVE

3.1 Service Definition

The model for the service representation is shown in Figure 3.1 and Table 3.1 (the syntax and semantics for this representation is described in Appendix A1.1). Following the service definition are the descriptions for the set of corresponding service operations (the syntax and semantics for these descriptions is described in Appendix A1.2).

UML model of the service.

Figure 3.1 - Service interface definitions.

Table 3.1 The set of interfaces.
Interface Description
ResourceSearchManager The set of service operations that manage searching for resources.
SubjectsManager The set of service operations that manage access to the lists of subjects supported by a LOR.

3.2 ResourceSearchManager Interface Description

The set of service operations that manage searching for resources.

The set of operations for this interface are summarized in Table 3.2.

Table 3.2 The set of operations for the "ResourceSearchManager" interface.
Operation Description
searchForResources This is the search request. The criteria for the search are passed as query parameters and the set of identified resources are returned in the payload for the response message.

3.2.1 "searchForResources" Operation

Name: searchForResources ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API.
Supplied (in) Parameters: None.
Returned (out) Parameters: resourceSet : ResourceSet - the set of resources that have been identified as conforming to the query criteria.
Behavior: This is the search request. The criteria for the search are passed as query parameters and the set of identified resources are returned in the payload for the response message.
Notes: Query Parameters for the REST-based binding have been defined for this operation, namely:
  • limit - this is used as part of the data pagination mechanism to control the number of records returned in any one response message. The 'limit' defines the download segmentation value i.e. the maximum number of records to be contained in the response. The form of implementation is described in the corresponding binding document(s).
  • offset - this is used as part of the data pagination mechanism to control the download rate of data. The 'offset' is the number of the first record to be supplied in the segmented response message. The form of implementation is described in the corresponding binding document(s).
  • filter - the filtering rules to be applied when identifying the records to be supplied in the response message. Filtering defines the search criteria to be applied at the service provider for the identification and selection of the resources to be returned. A strict vocabulary is used for the permitted search terms (see the RS REST/JSON binding document 'Keyword Searching' in Sub-section 3.1 [RS-RJ, 18]).
  • sort - this is used as part of the sorting mechanism to be use by the service provider. The 'sort' identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The form of implementation is described in the corresponding binding document(s).
  • orderBy - this is used as part of the sorting mechanism to be use by the service provider. This defines the form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The form of implementation is described in the corresponding binding document(s).
  • fields - to identify the range of fields, and only those fields, that should be supplied in the response message. The permitted vocabulary for these fields is determined by the payloads that are returned in the corresponding response messages.

3.3 SubjectsManager Interface Description

The set of service operations that manage access to the lists of subjects supported by a LOR.

The set of operations for this interface are summarized in Table 3.3.

Table 3.3 The set of operations for the "SubjectsManager" interface.
Operation Description
getAllSubjects To obtain, read, the list of subjects that are supported by a LOR.

3.3.1 "getAllSubjects" Operation

Name: getAllSubjects ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API.
Supplied (in) Parameters: None.
Returned (out) Parameters: subjectSet : SubjectSet - the list of subjects that are supported by the LOR.
Behavior: To obtain, read, the list of subjects that are supported by a LOR.

toc | top

4. The Interface Model

This Section is NORMATIVE

The set of operations described within the behavior model (The Behavior Model) are based upon class descriptions specific to the parameters of the operations. All parameters are mandatory. The syntax and semantics for this representation is described in Appendix A2.

4.1 ResourceSet Class Description

The data model for the "ResourceSet" class is shown in Figure 4.1 and the accompanying definition in Table 4.1.

UML diagram of the ResourceSet class.

Figure 4.1 - ResourceSet class definitions.

Table 4.1 Description of the "ResourceSet" class.
Descriptor Definition
Class Name ResourceSet
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the set of resources that have been supplied by the service provider. This may be empty if none of the resources fulfill the search criteria. The order of resources is not significant.

4.1.1 "resources" Attribute Description

The description of the "resources" attribute for the "ResourceSet" class is given in Table 4.1.1.

Table 4.1.1 Description of the "resources" attribute for the "ResourceSet" class.
Descriptor Definition
Attribute Name resources
Data Type Resource
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The actual resources supplied by the service provider. The order of resources is not significant.

4.2 SubjectSet Class Description

The data model for the "SubjectSet" class is shown in Figure 4.2 and the accompanying definition in Table 4.2.

UML diagram of the SubjectSet class.

Figure 4.2 - SubjectSet class definitions.

Table 4.2 Description of the "SubjectSet" class.
Descriptor Definition
Class Name SubjectSet
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the set of subjects that have been supplied by the service provider. This may be empty if none of the subjects fulfill the search criteria. The order of subjects is not significant.

4.2.1 "subjects" Attribute Description

The description of the "subjects" attribute for the "SubjectSet" class is given in Table 4.2.1.

Table 4.2.1 Description of the "subjects" attribute for the "SubjectSet" class.
Descriptor Definition
Attribute Name subjects
Data Type Subject
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The actual list of subject supplied by the service provider. The order of subjects is not significant.

4.3 imsx_StatusInfo Class Description

The data model for the "imsx_StatusInfo" class is shown in Figure 4.3 and the accompanying definition in Table 4.3.

UML diagram of the imsx_StatusInfo class.

Figure 4.3 - imsx_StatusInfo class definitions.

Table 4.3 Description of the "imsx_StatusInfo" class.
Descriptor Definition
Class Name imsx_StatusInfo
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider.

4.3.1 "imsx_codeMajor" Attribute Description

The description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class is given in Table 4.3.1.

Table 4.3.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMajor
Data Type imsx_CodeMajorEnum
Value Space Enumerated value set of: { success | processing | failure | unsupported }
Scope Local ("-")
Multiplicity [1]
Description The code major value (from the corresponding enumerated vocabulary).

4.3.2 "imsx_severity" Attribute Description

The description of the "imsx_severity" attribute for the "imsx_StatusInfo" class is given in Table 4.3.2.

Table 4.3.2 Description of the "imsx_severity" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_severity
Data Type imsx_SeverityEnum
Value Space Enumerated value set of: { status | warning | error }
Scope Local ("-")
Multiplicity [1]
Description The severity value (from the corresponding enumerated vocabulary).

4.3.3 "imsx_description" Attribute Description

The description of the "imsx_description" attribute for the "imsx_StatusInfo" class is given in Table 4.3.3.

Table 4.3.3 Description of the "imsx_description" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description supplied by the entity creating the status code information.

4.3.4 "imsx_codeMinor" Attribute Description

The description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class is given in Table 4.3.4.

Table 4.3.4 Description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMinor
Data Type imsx_CodeMinor
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of reported code minor status codes.

toc | top

5. Data Model

This Section is NORMATIVE.

5.1 Data Class Descriptions

All of the data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.

5.1.1 CCLTILink Class Description

The data model for the "CCLTILink" class is shown in Figure 5.1.1 and the accompanying definition in Table 5.1.1.

UML diagram of the CCLTILink class.

Figure 5.1.1 - CCLTILink class definitions.

Table 5.1.1 Description of the "CCLTILink" class.
Descriptor Definition
Class Name CCLTILink
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of inherited children attributes are:
Description The extended set of information used to define the presence of an LTI Link resource (this is based upon the definition for including an LTI link inside an IMS Common Cartridge or IMS Thin Common Cartridge).

5.1.1.1 "cartridge_bundle" Attribute Description

The description of the "cartridge_bundle" attribute for the "CCLTILink" class is given in Table 5.1.1.1.

Table 5.1.1.1 Description of the "cartridge_bundle" attribute for the "CCLTILink" class.
Descriptor Definition
Attribute Name cartridge_bundle
Data Type LTILinkResourceRef
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description A link to a bundled set of files. For example this could be a link to zip file that contains all of the icons.

5.1.1.2 "cartridge_icon" Attribute Description

The description of the "cartridge_icon" attribute for the "CCLTILink" class is given in Table 5.1.1.2.

Table 5.1.1.2 Description of the "cartridge_icon" attribute for the "CCLTILink" class.
Descriptor Definition
Attribute Name cartridge_icon
Data Type LTILinkResourceRef
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description An icon for the link to the cartridge. This could be used to provide an alternative visualisation to the use of the URL itself.

5.1.1.3 "metadata" Attribute Description

The description of the "metadata" attribute for the "CCLTILink" class is given in Table 5.1.1.3.

Table 5.1.1.3 Description of the "metadata" attribute for the "CCLTILink" class.
Descriptor Definition
Attribute Name metadata
Data Type Metadata
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of metadata that is associated with the LTI Link.

5.1.2 CSMSet Class Description

The data model for the "CSMSet" class is shown in Figure 5.1.2 and the accompanying definition in Table 5.1.2.

UML diagram of the CSMSet class.

Figure 5.1.2 - CSMSet class definitions.

Table 5.1.2 Description of the "CSMSet" class.
Descriptor Definition
Class Name CSMSet
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the is the container for the set of curriculum standards metadata. Each member of the set contains the curriculum standards metadata for a specific source of the GUIDs.

5.1.2.1 "resourceLabel" Attribute Description

The description of the "resourceLabel" attribute for the "CSMSet" class is given in Table 5.1.2.1.

Table 5.1.2.1 Description of the "resourceLabel" attribute for the "CSMSet" class.
Descriptor Definition
Attribute Name resourceLabel
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a human readable label used to identify the type of resource, or part of resource, to which the enclosed metadata refers.

5.1.2.2 "resourcePartId" Attribute Description

The description of the "resourcePartId" attribute for the "CSMSet" class is given in Table 5.1.2.2.

Table 5.1.2.2 Description of the "resourcePartId" attribute for the "CSMSet" class.
Descriptor Definition
Attribute Name resourcePartId
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is used to contain the appropriate identifier that is used to identify the resource part.

5.1.2.3 "curriculumStandardsMetadata" Attribute Description

The description of the "curriculumStandardsMetadata" attribute for the "CSMSet" class is given in Table 5.1.2.3.

Table 5.1.2.3 Description of the "curriculumStandardsMetadata" attribute for the "CSMSet" class.
Descriptor Definition
Attribute Name curriculumStandardsMetadata
Data Type CurriculumStandardsMetadata
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The curriculum standards associated from a single source of the curriculum standards definition.

5.1.3 CurriculumStandardsMetadata Class Description

The data model for the "CurriculumStandardsMetadata" class is shown in Figure 5.1.3 and the accompanying definition in Table 5.1.3.

UML diagram of the CurriculumStandardsMetadata class.

Figure 5.1.3 - CurriculumStandardsMetadata class definitions.

Table 5.1.3 Description of the "CurriculumStandardsMetadata" class.
Descriptor Definition
Class Name CurriculumStandardsMetadata
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the special metadata for curriculum standards for a particular domain of GUID provider.

5.1.3.1 "providerId" Attribute Description

The description of the "providerId" attribute for the "CurriculumStandardsMetadata" class is given in Table 5.1.3.1.

Table 5.1.3.1 Description of the "providerId" attribute for the "CurriculumStandardsMetadata" class.
Descriptor Definition
Attribute Name providerId
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is used to denote the originator of the GUID scheme.

5.1.3.2 "setOfGUIDs" Attribute Description

The description of the "setOfGUIDs" attribute for the "CurriculumStandardsMetadata" class is given in Table 5.1.3.2.

Table 5.1.3.2 Description of the "setOfGUIDs" attribute for the "CurriculumStandardsMetadata" class.
Descriptor Definition
Attribute Name setOfGUIDs
Data Type SetOfGUIDs
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The set of curriculum standards GUIDs that apply to the learning associated resource.

5.1.4 LTILink Class Description

The data model for the "LTILink" class is shown in Figure 5.1.4 and the accompanying definition in Table 5.1.4.

UML diagram of the LTILink class.

Figure 5.1.4 - LTILink class definitions.

Table 5.1.4 Description of the "LTILink" class.
Descriptor Definition
Class Name LTILink
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for all of the core information about an LTI Link.

5.1.4.1 "title" Attribute Description

The description of the "title" attribute for the "LTILink" class is given in Table 5.1.4.1.

Table 5.1.4.1 Description of the "title" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The human readable title/label for the activity being addressed by the content available through the LTI link.

5.1.4.2 "description" Attribute Description

The description of the "description" attribute for the "LTILink" class is given in Table 5.1.4.2.

Table 5.1.4.2 Description of the "description" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description of the activity addressed by the content supplied via the LTI link.

5.1.4.3 "custom" Attribute Description

The description of the "custom" attribute for the "LTILink" class is given in Table 5.1.4.3.

Table 5.1.4.3 Description of the "custom" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name custom
Data Type PropertySet
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description A set of custom key value pairs that were placed in the link in the system that originally authored the link. These will be supplied as parameters on the launch call.

5.1.4.4 "extensions" Attribute Description

The description of the "extensions" attribute for the "LTILink" class is given in Table 5.1.4.4.

Table 5.1.4.4 Description of the "extensions" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name extensions
Data Type PlatformPropertySet
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The extensions allows the hosting Tool Consumer (TC) to add its own key/value pairs to the link. The TC may use extensions to store information that the TC or authoring environment might use across an export-import cycle. In order to allow multiple sets of extensions to be contained in the same LTI descriptor, authoring environments should add the platform attribute and include an identifier that identifies the authoring environment.

5.1.4.5 "launch_url" Attribute Description

The description of the "launch_url" attribute for the "LTILink" class is given in Table 5.1.4.5.

Table 5.1.4.5 Description of the "launch_url" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name launch_url
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The URL for the LTI launch. One of either the launch_url or the secure_launch_url must be specified. It is acceptable to specify both and if both are specified, the Tool Consumer (TC) decides which to use. Typically, the TC will use a secure_launch_url when embedding the Tool in a secure page and the launch_url when embedding the tool in a non-secure page. So, it is important that the Tool Provider (TP) provides the same functionality whether the launch_url or secure_launch_url is used.

5.1.4.6 "secure_launch_url" Attribute Description

The description of the "secure_launch_url" attribute for the "LTILink" class is given in Table 5.1.4.6.

Table 5.1.4.6 Description of the "secure_launch_url" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name secure_launch_url
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A secure URL for the LTI launch. One of either the launch_url or the secure_launch_url must be specified. It is acceptable to specify both and if both are specified, the Tool Consumer (TC) decides which to use. Typically, the TC will use a secure_launch_url when embedding the Tool in a secure page and the launch_url when embedding the tool in a non-secure page. So, it is important that the Tool Provider (TP) provides the same functionality whether the launch_url or secure_launch_url is used.

5.1.4.7 "icon" Attribute Description

The description of the "icon" attribute for the "LTILink" class is given in Table 5.1.4.7.

Table 5.1.4.7 Description of the "icon" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name icon
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A URL to an icon for this tool.

5.1.4.8 "secure_icon" Attribute Description

The description of the "secure_icon" attribute for the "LTILink" class is given in Table 5.1.4.8.

Table 5.1.4.8 Description of the "secure_icon" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name secure_icon
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A secure URL to an icon for this tool.

5.1.4.9 "vendor" Attribute Description

The description of the "vendor" attribute for the "LTILink" class is given in Table 5.1.4.9.

Table 5.1.4.9 Description of the "vendor" attribute for the "LTILink" class.
Descriptor Definition
Attribute Name vendor
Data Type Vendor
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description The information about the vendor of the tool accessed via this LTI link.

5.1.5 LTILinkResourceRef Class Description

The data model for the "LTILinkResourceRef" class is shown in Figure 5.1.5 and the accompanying definition in Table 5.1.5.

UML diagram of the LTILinkResourceRef class.

Figure 5.1.5 - LTILinkResourceRef class definitions.

Table 5.1.5 Description of the "LTILinkResourceRef" class.
Descriptor Definition
Class Name LTILinkResourceRef
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the link information.

5.1.5.1 "name" Attribute Description

The description of the "name" attribute for the "LTILinkResourceRef" class is given in Table 5.1.5.1.

Table 5.1.5.1 Description of the "name" attribute for the "LTILinkResourceRef" class.
Descriptor Definition
Attribute Name name
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the type of content supplied by the link.

5.1.5.2 "resourceUri" Attribute Description

The description of the "resourceUri" attribute for the "LTILinkResourceRef" class is given in Table 5.1.5.2.

Table 5.1.5.2 Description of the "resourceUri" attribute for the "LTILinkResourceRef" class.
Descriptor Definition
Attribute Name resourceUri
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The URI for the link.

5.1.6 LabelledGUID Class Description

The data model for the "LabelledGUID" class is shown in Figure 5.1.6 and the accompanying definition in Table 5.1.6.

UML diagram of the LabelledGUID class.

Figure 5.1.6 - LabelledGUID class definitions.

Table 5.1.6 Description of the "LabelledGUID" class.
Descriptor Definition
Class Name LabelledGUID
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The labelled curriculum standard GUID.

5.1.6.1 "label" Attribute Description

The description of the "label" attribute for the "LabelledGUID" class is given in Table 5.1.6.1.

Table 5.1.6.1 Description of the "label" attribute for the "LabelledGUID" class.
Descriptor Definition
Attribute Name label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable string to provide a clue about the nature of the curriculum standard.

5.1.6.2 "caseItemURI" Attribute Description

The description of the "caseItemURI" attribute for the "LabelledGUID" class is given in Table 5.1.6.2.

Table 5.1.6.2 Description of the "caseItemURI" attribute for the "LabelledGUID" class.
Descriptor Definition
Attribute Name caseItemURI
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The corresponding Competency and Academic Standards (CASE) URI. This is the URI used for alignment with the IMS CASE Service 1.0 specification [CASE, 17].

5.1.6.3 "GUID" Attribute Description

The description of the "GUID" attribute for the "LabelledGUID" class is given in Table 5.1.6.3.

Table 5.1.6.3 Description of the "GUID" attribute for the "LabelledGUID" class.
Descriptor Definition
Attribute Name GUID
Data Type GUID
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The GUID itself.

5.1.7 LearningObjectives Class Description

The data model for the "LearningObjectives" class is shown in Figure 5.1.7 and the accompanying definition in Table 5.1.7.

UML diagram of the LearningObjectives class.

Figure 5.1.7 - LearningObjectives class definitions.

Table 5.1.7 Description of the "LearningObjectives" class.
Descriptor Definition
Class Name LearningObjectives
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the learning objectives which are addressed by the resource.

5.1.7.1 "alignmentType" Attribute Description

The description of the "alignmentType" attribute for the "LearningObjectives" class is given in Table 5.1.7.1.

Table 5.1.7.1 Description of the "alignmentType" attribute for the "LearningObjectives" class.
Descriptor Definition
Attribute Name alignmentType
Data Type AlignmentTypeEnum
Value Space Enumerated value set of: { assesses | teaches | requires | textComplexity | readingLevel | educationalSubject | educationLevel }
Scope Local ("-")
Multiplicity [1]
Description A category of alignment between the learning resource and the framework node.

5.1.7.2 "educationalFramework" Attribute Description

The description of the "educationalFramework" attribute for the "LearningObjectives" class is given in Table 5.1.7.2.

Table 5.1.7.2 Description of the "educationalFramework" attribute for the "LearningObjectives" class.
Descriptor Definition
Attribute Name educationalFramework
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The framework to which the resource being described is aligned.

5.1.7.3 "targetDescription" Attribute Description

The description of the "targetDescription" attribute for the "LearningObjectives" class is given in Table 5.1.7.3.

Table 5.1.7.3 Description of the "targetDescription" attribute for the "LearningObjectives" class.
Descriptor Definition
Attribute Name targetDescription
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The description of a node in an established educational framework.

5.1.7.4 "targetName" Attribute Description

The description of the "targetName" attribute for the "LearningObjectives" class is given in Table 5.1.7.4.

Table 5.1.7.4 Description of the "targetName" attribute for the "LearningObjectives" class.
Descriptor Definition
Attribute Name targetName
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The name of a node in an established educational framework.

5.1.7.5 "targetURL" Attribute Description

The description of the "targetURL" attribute for the "LearningObjectives" class is given in Table 5.1.7.5.

Table 5.1.7.5 Description of the "targetURL" attribute for the "LearningObjectives" class.
Descriptor Definition
Attribute Name targetURL
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The URL of a node in an established educational framework.

5.1.7.6 "caseItemUri" Attribute Description

The description of the "caseItemUri" attribute for the "LearningObjectives" class is given in Table 5.1.7.6.

Table 5.1.7.6 Description of the "caseItemUri" attribute for the "LearningObjectives" class.
Descriptor Definition
Attribute Name caseItemUri
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Reference to a CASE CFItem for a standard or skill [CASE, 17].

5.1.7.7 "caseItemGUID" Attribute Description

The description of the "caseItemGUID" attribute for the "LearningObjectives" class is given in Table 5.1.7.7.

Table 5.1.7.7 Description of the "caseItemGUID" attribute for the "LearningObjectives" class.
Descriptor Definition
Attribute Name caseItemGUID
Data Type GUID
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Reference to CASE CFItem as a GUID [CASE, 17].

5.1.8 Metadata Class Description

The data model for the "Metadata" class is shown in Figure 5.1.8 and the accompanying definition in Table 5.1.8.

UML diagram of the Metadata class.

Figure 5.1.8 - Metadata class definitions.

Table 5.1.8 Description of the "Metadata" class.
Descriptor Definition
Class Name Metadata
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for all of the metadata associated with the LTI link. Currently this metadata is restricted to the set of curriculum standards annotations.

5.1.8.1 "curriculumStandardsMetadataSet" Attribute Description

The description of the "curriculumStandardsMetadataSet" attribute for the "Metadata" class is given in Table 5.1.8.1.

Table 5.1.8.1 Description of the "curriculumStandardsMetadataSet" attribute for the "Metadata" class.
Descriptor Definition
Attribute Name curriculumStandardsMetadataSet
Data Type CSMSet
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of curriculum standards annotations i.e. identification of the set of curriculum standards that are supported by the content supplied by this resource link.

5.1.9 PlatformPropertySet Class Description

The data model for the "PlatformPropertySet" class is shown in Figure 5.1.9 and the accompanying definition in Table 5.1.9.

UML diagram of the PlatformPropertySet class.

Figure 5.1.9 - PlatformPropertySet class definitions.

Table 5.1.9 Description of the "PlatformPropertySet" class.
Descriptor Definition
Class Name PlatformPropertySet
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the collection of properties that are available for a specific platform.

5.1.9.1 "platform" Attribute Description

The description of the "platform" attribute for the "PlatformPropertySet" class is given in Table 5.1.9.1.

Table 5.1.9.1 Description of the "platform" attribute for the "PlatformPropertySet" class.
Descriptor Definition
Attribute Name platform
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The identifier for the authoring environment.

5.1.9.2 "properties" Attribute Description

The description of the "properties" attribute for the "PlatformPropertySet" class is given in Table 5.1.9.2.

Table 5.1.9.2 Description of the "properties" attribute for the "PlatformPropertySet" class.
Descriptor Definition
Attribute Name properties
Data Type Property
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The set of extension properties for the identified platform.

5.1.10 Property Class Description

The data model for the "Property" class is shown in Figure 5.1.10 and the accompanying definition in Table 5.1.10.

UML diagram of the Property class.

Figure 5.1.10 - Property class definitions.

Table 5.1.10 Description of the "Property" class.
Descriptor Definition
Class Name Property
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the name/value pair for a specific property.

5.1.10.1 "name" Attribute Description

The description of the "name" attribute for the "Property" class is given in Table 5.1.10.1.

Table 5.1.10.1 Description of the "name" attribute for the "Property" class.
Descriptor Definition
Attribute Name name
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the key for the property.

5.1.10.2 "value" Attribute Description

The description of the "value" attribute for the "Property" class is given in Table 5.1.10.2.

Table 5.1.10.2 Description of the "value" attribute for the "Property" class.
Descriptor Definition
Attribute Name value
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The value for the property.

5.1.11 PropertySet Class Description

The data model for the "PropertySet" class is shown in Figure 5.1.11 and the accompanying definition in Table 5.1.11.

UML diagram of the PropertySet class.

Figure 5.1.11 - PropertySet class definitions.

Table 5.1.11 Description of the "PropertySet" class.
Descriptor Definition
Class Name PropertySet
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the collection of properties that have been specified.

5.1.11.1 "properties" Attribute Description

The description of the "properties" attribute for the "PropertySet" class is given in Table 5.1.11.1.

Table 5.1.11.1 Description of the "properties" attribute for the "PropertySet" class.
Descriptor Definition
Attribute Name properties
Data Type Property
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The set of properties for the identified platform or orginal authoring platform.

5.1.12 Resource Class Description

The data model for the "Resource" class is shown in Figure 5.1.12 and the accompanying definition in Table 5.1.12.

UML diagram of the Resource class.

Figure 5.1.12 - Resource class definitions.

Table 5.1.12 Description of the "Resource" class.
Descriptor Definition
Class Name Resource
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the information about a resource that is supported by a LOR.

5.1.12.1 "name" Attribute Description

The description of the "name" attribute for the "Resource" class is given in Table 5.1.12.1.

Table 5.1.12.1 Description of the "name" attribute for the "Resource" class.
Descriptor Definition
Attribute Name name
Data Type NString1024
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The name/title of resource.

5.1.12.2 "description" Attribute Description

The description of the "description" attribute for the "Resource" class is given in Table 5.1.12.2.

Table 5.1.12.2 Description of the "description" attribute for the "Resource" class.
Descriptor Definition
Attribute Name description
Data Type NString2048
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description of the contents of the resource.

5.1.12.3 "subject" Attribute Description

The description of the "subject" attribute for the "Resource" class is given in Table 5.1.12.3.

Table 5.1.12.3 Description of the "subject" attribute for the "Resource" class.
Descriptor Definition
Attribute Name subject
Data Type NString1024
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The subject(s) of the resource. May have multiple subjects tagged.

5.1.12.4 "url" Attribute Description

The description of the "url" attribute for the "Resource" class is given in Table 5.1.12.4.

Table 5.1.12.4 Description of the "url" attribute for the "Resource" class.
Descriptor Definition
Attribute Name url
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description How to access resource over Internet e.g. HTTP, FTP, etc. A resource must have either a URL or or a LTI Link.

5.1.12.5 "ltiLink" Attribute Description

The description of the "ltiLink" attribute for the "Resource" class is given in Table 5.1.12.5.

Table 5.1.12.5 Description of the "ltiLink" attribute for the "Resource" class.
Descriptor Definition
Attribute Name ltiLink
Data Type CCLTILink
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description Fully encapsulated LTI link, generally with method of access.

5.1.12.6 "learningResourceType" Attribute Description

The description of the "learningResourceType" attribute for the "Resource" class is given in Table 5.1.12.6.

Table 5.1.12.6 Description of the "learningResourceType" attribute for the "Resource" class.
Descriptor Definition
Attribute Name learningResourceType
Data Type LRTEnum
Value Space Enumerated value set of: { Assessment/Item | Assessment/Formative | Assessment/Interim | Assessment/Rubric | Assessment/Preparation | Collection/Course | Collection/Unit | Collection/Curriculum Guide | Collection/Lesson | Game | Interactive/Simulation | Interactive/Animation | Interactive/Whiteboard | Activity/Worksheet | Activity/Learning | Activity/Experiment | Lecture | Text/Book | Text/Chapter | Text/Document | Text/Article | Text/Passage | Text/Textbook | Text/Reference | Text/Website | Media/Audio | Media/Images/Visuals | Media/Video | Other }
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The type of the resource. There may be multiple types.

5.1.12.7 "language" Attribute Description

The description of the "language" attribute for the "Resource" class is given in Table 5.1.12.7.

Table 5.1.12.7 Description of the "language" attribute for the "Resource" class.
Descriptor Definition
Attribute Name language
Data Type Language (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The languages used in the resource. International two digit code for language e.g. 'en' for English. Use the [RFC 3066] annotation.

5.1.12.8 "thumbnailUrl" Attribute Description

The description of the "thumbnailUrl" attribute for the "Resource" class is given in Table 5.1.12.8.

Table 5.1.12.8 Description of the "thumbnailUrl" attribute for the "Resource" class.
Descriptor Definition
Attribute Name thumbnailUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Link to a thumbnail representing resource.

5.1.12.9 "typicalAgeRange" Attribute Description

The description of the "typicalAgeRange" attribute for the "Resource" class is given in Table 5.1.12.9.

Table 5.1.12.9 Description of the "typicalAgeRange" attribute for the "Resource" class.
Descriptor Definition
Attribute Name typicalAgeRange
Data Type AgeRange
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Age of the typical intended user. This is described as EITHER the minimum-maximum age range (the format is '11-12', '5-7', etc. with ONLY integers permitted) OR the age as a single integer e.g. '9'.

5.1.12.10 "textComplexity" Attribute Description

The description of the "textComplexity" attribute for the "Resource" class is given in Table 5.1.12.10.

Table 5.1.12.10 Description of the "textComplexity" attribute for the "Resource" class.
Descriptor Definition
Attribute Name textComplexity
Data Type TextComplexity
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description A number indicating text complexity based on number of established measures.

5.1.12.11 "learningObjectives" Attribute Description

The description of the "learningObjectives" attribute for the "Resource" class is given in Table 5.1.12.11.

Table 5.1.12.11 Description of the "learningObjectives" attribute for the "Resource" class.
Descriptor Definition
Attribute Name learningObjectives
Data Type LearningObjectives
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of learning objectives addressed by the resource.

5.1.12.12 "author" Attribute Description

The description of the "author" attribute for the "Resource" class is given in Table 5.1.12.12.

Table 5.1.12.12 Description of the "author" attribute for the "Resource" class.
Descriptor Definition
Attribute Name author
Data Type NString2048
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Author or creator of the resource.

5.1.12.13 "publisher" Attribute Description

The description of the "publisher" attribute for the "Resource" class is given in Table 5.1.12.13.

Table 5.1.12.13 Description of the "publisher" attribute for the "Resource" class.
Descriptor Definition
Attribute Name publisher
Data Type NString2048
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Owner of the rights to the resource or who made it available (company or person).

5.1.12.14 "useRightsURL" Attribute Description

The description of the "useRightsURL" attribute for the "Resource" class is given in Table 5.1.12.14.

Table 5.1.12.14 Description of the "useRightsURL" attribute for the "Resource" class.
Descriptor Definition
Attribute Name useRightsURL
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description URL describing how resource can be licensed. Could be Creative Commons license link or link to other specific open or proprietary license.

5.1.12.15 "timeRequired" Attribute Description

The description of the "timeRequired" attribute for the "Resource" class is given in Table 5.1.12.15.

Table 5.1.12.15 Description of the "timeRequired" attribute for the "Resource" class.
Descriptor Definition
Attribute Name timeRequired
Data Type Duration (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Time that the resource takes to consume. Use the [ISO 8601] format for a duration.

5.1.12.16 "technicalFormat" Attribute Description

The description of the "technicalFormat" attribute for the "Resource" class is given in Table 5.1.12.16.

Table 5.1.12.16 Description of the "technicalFormat" attribute for the "Resource" class.
Descriptor Definition
Attribute Name technicalFormat
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A valid MIME type format for the resource e.g. text, HTML, PDF, MPEG, MP3, etc. See https://www.iana.org/assignments/media-types/media-types.xhtml.

5.1.12.17 "educationalAudience" Attribute Description

The description of the "educationalAudience" attribute for the "Resource" class is given in Table 5.1.12.17.

Table 5.1.12.17 Description of the "educationalAudience" attribute for the "Resource" class.
Descriptor Definition
Attribute Name educationalAudience
Data Type EducationalAudienceEnum
Value Space Enumerated value set of: { student | teacher | administrator | parent | aide | proctor | guardian | relative }
Scope Local ("-")
Multiplicity [0.. unbounded]
Description For whom the resource is intended.

5.1.12.18 "accessibilityAPI" Attribute Description

The description of the "accessibilityAPI" attribute for the "Resource" class is given in Table 5.1.12.18.

Table 5.1.12.18 Description of the "accessibilityAPI" attribute for the "Resource" class.
Descriptor Definition
Attribute Name accessibilityAPI
Data Type AccessibilityAPIEnum
Value Space Enumerated value set of: { MSAA | UIAutomation | ARIAv1 | IAccessible2 | AndroidAccessibility | ATK | AT-SPI | BlackberryAccessibility | JavaAccessibility | MacOSXAccessibility }
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Which (if any) accessibility API is supported by the resource.

5.1.12.19 "accessibilityInputMethods" Attribute Description

The description of the "accessibilityInputMethods" attribute for the "Resource" class is given in Table 5.1.12.19.

Table 5.1.12.19 Description of the "accessibilityInputMethods" attribute for the "Resource" class.
Descriptor Definition
Attribute Name accessibilityInputMethods
Data Type AccessibilityInputEnum
Value Space Enumerated value set of: { fullKeyboardControl | fullMouseControl | fullVoiceControl }
Scope Local ("-")
Multiplicity [0.. unbounded]
Description How the resource can be controlled by the user, which includes full keyboard controllability, mouse controllability, and voice controllability.

5.1.12.20 "accessibilityFeatures" Attribute Description

The description of the "accessibilityFeatures" attribute for the "Resource" class is given in Table 5.1.12.20.

Table 5.1.12.20 Description of the "accessibilityFeatures" attribute for the "Resource" class.
Descriptor Definition
Attribute Name accessibilityFeatures
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0.. unbounded]
Description These include alternatives and listed enhancements for the resource. These can be transformation features, navigation features, control features or augmentation features.

5.1.12.21 "accessibilityHazards" Attribute Description

The description of the "accessibilityHazards" attribute for the "Resource" class is given in Table 5.1.12.21.

Table 5.1.12.21 Description of the "accessibilityHazards" attribute for the "Resource" class.
Descriptor Definition
Attribute Name accessibilityHazards
Data Type HazardEnum
Value Space Enumerated value set of: { flashing | sound | olfactoryHazard | motionSimulation }
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of accessibility hazards which are encountered when using this resource.

5.1.12.22 "accessMode" Attribute Description

The description of the "accessMode" attribute for the "Resource" class is given in Table 5.1.12.22.

Table 5.1.12.22 Description of the "accessMode" attribute for the "Resource" class.
Descriptor Definition
Attribute Name accessMode
Data Type AccessModeEnum
Value Space Enumerated value set of: { auditory | color | itemSize | olfactory | orientation | position | tactile | textOnImage | textual | visual }
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The human sensory perceptual system or cognitive faculty through which a person may process or perceive information.

5.1.12.23 "publishDate" Attribute Description

The description of the "publishDate" attribute for the "Resource" class is given in Table 5.1.12.23.

Table 5.1.12.23 Description of the "publishDate" attribute for the "Resource" class.
Descriptor Definition
Attribute Name publishDate
Data Type Date (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Date the resource was published by the publisher. The 'date' using the [ISO 8601] format.

5.1.12.24 "rating" Attribute Description

The description of the "rating" attribute for the "Resource" class is given in Table 5.1.12.24.

Table 5.1.12.24 Description of the "rating" attribute for the "Resource" class.
Descriptor Definition
Attribute Name rating
Data Type RatingEnum
Value Space Enumerated value set of: { 1 | 2 | 3 | 4 | 5 }
Scope Local ("-")
Multiplicity [0..1]
Description A rating of the quality of the resource determined by the Search Provider. Often derived from crowdsource ratings.

5.1.12.25 "relevance" Attribute Description

The description of the "relevance" attribute for the "Resource" class is given in Table 5.1.12.25.

Table 5.1.12.25 Description of the "relevance" attribute for the "Resource" class.
Descriptor Definition
Attribute Name relevance
Data Type Float0to1
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description This is a floating point value based on relevance to the specific search. Higher relevance has a higher number.

5.1.12.26 "extensions" Attribute Description

The description of the "extensions" attribute for the "Resource" class is given in Table 5.1.12.26.

Table 5.1.12.26 Description of the "extensions" attribute for the "Resource" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The set of proprietary attributes that can be added to the data model. The actual way in which this is achieved is dependent on the data model binding technology used.

5.1.13 ResourceSet Class Description

The data model for the "ResourceSet" class is shown in Figure 5.1.13 and the accompanying definition in Table 5.1.13.

UML diagram of the ResourceSet class.

Figure 5.1.13 - ResourceSet class definitions.

Table 5.1.13 Description of the "ResourceSet" class.
Descriptor Definition
Class Name ResourceSet
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the set of resources that have been supplied by the service provider. This may be empty if none of the resources fulfill the search criteria. The order of resources is not significant.

5.1.13.1 "resources" Attribute Description

The description of the "resources" attribute for the "ResourceSet" class is given in Table 5.1.13.1.

Table 5.1.13.1 Description of the "resources" attribute for the "ResourceSet" class.
Descriptor Definition
Attribute Name resources
Data Type Resource
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The actual resources supplied by the service provider. The order of resources is not significant.

5.1.14 SetOfGUIDs Class Description

The data model for the "SetOfGUIDs" class is shown in Figure 5.1.14 and the accompanying definition in Table 5.1.14.

UML diagram of the SetOfGUIDs class.

Figure 5.1.14 - SetOfGUIDs class definitions.

Table 5.1.14 Description of the "SetOfGUIDs" class.
Descriptor Definition
Class Name SetOfGUIDs
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the set of GUIDs that annotate a resource for a particular geographical/socio-political/etc. region.

5.1.14.1 "region" Attribute Description

The description of the "region" attribute for the "SetOfGUIDs" class is given in Table 5.1.14.1.

Table 5.1.14.1 Description of the "region" attribute for the "SetOfGUIDs" class.
Descriptor Definition
Attribute Name region
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The region responsible for the definition.

5.1.14.2 "version" Attribute Description

The description of the "version" attribute for the "SetOfGUIDs" class is given in Table 5.1.14.2.

Table 5.1.14.2 Description of the "version" attribute for the "SetOfGUIDs" class.
Descriptor Definition
Attribute Name version
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is used to denote any relevant versioning information.

5.1.14.3 "labelledGUID" Attribute Description

The description of the "labelledGUID" attribute for the "SetOfGUIDs" class is given in Table 5.1.14.3.

Table 5.1.14.3 Description of the "labelledGUID" attribute for the "SetOfGUIDs" class.
Descriptor Definition
Attribute Name labelledGUID
Data Type LabelledGUID
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The actual GUID plus the corresponding labelling information.

5.1.15 Subject Class Description

The data model for the "Subject" class is shown in Figure 5.1.15 and the accompanying definition in Table 5.1.15.

UML diagram of the Subject class.

Figure 5.1.15 - Subject class definitions.

Table 5.1.15 Description of the "Subject" class.
Descriptor Definition
Class Name Subject
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the details of a subject that is covered by the content within a LOR.

5.1.15.1 "identifier" Attribute Description

The description of the "identifier" attribute for the "Subject" class is given in Table 5.1.15.1.

Table 5.1.15.1 Description of the "identifier" attribute for the "Subject" class.
Descriptor Definition
Attribute Name identifier
Data Type PositiveInteger (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The unique identifier, an integer, of the subject node. For the root node the value will be 'null'.

5.1.15.2 "name" Attribute Description

The description of the "name" attribute for the "Subject" class is given in Table 5.1.15.2.

Table 5.1.15.2 Description of the "name" attribute for the "Subject" class.
Descriptor Definition
Attribute Name name
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the subject node, which may have any character and need not be unique with the returned taxonomy.

5.1.15.3 "parent" Attribute Description

The description of the "parent" attribute for the "Subject" class is given in Table 5.1.15.3.

Table 5.1.15.3 Description of the "parent" attribute for the "Subject" class.
Descriptor Definition
Attribute Name parent
Data Type PositiveInteger (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description An integer (the identifier of that subject node) that references the single parent of this node. The returned data must be a true rooted tree, where each node returned has a single parent.

5.1.16 SubjectSet Class Description

The data model for the "SubjectSet" class is shown in Figure 5.1.16 and the accompanying definition in Table 5.1.16.

UML diagram of the SubjectSet class.

Figure 5.1.16 - SubjectSet class definitions.

Table 5.1.16 Description of the "SubjectSet" class.
Descriptor Definition
Class Name SubjectSet
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the set of subjects that have been supplied by the service provider. This may be empty if none of the subjects fulfill the search criteria. The order of subjects is not significant.

5.1.16.1 "subjects" Attribute Description

The description of the "subjects" attribute for the "SubjectSet" class is given in Table 5.1.16.1.

Table 5.1.16.1 Description of the "subjects" attribute for the "SubjectSet" class.
Descriptor Definition
Attribute Name subjects
Data Type Subject
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The actual list of subject supplied by the service provider. The order of subjects is not significant.

5.1.17 TextComplexity Class Description

The data model for the "TextComplexity" class is shown in Figure 5.1.17 and the accompanying definition in Table 5.1.17.

UML diagram of the TextComplexity class.

Figure 5.1.17 - TextComplexity class definitions.

Table 5.1.17 Description of the "TextComplexity" class.
Descriptor Definition
Class Name TextComplexity
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The name/pair value container for a text complexity annotation.

5.1.17.1 "name" Attribute Description

The description of the "name" attribute for the "TextComplexity" class is given in Table 5.1.17.1.

Table 5.1.17.1 Description of the "name" attribute for the "TextComplexity" class.
Descriptor Definition
Attribute Name name
Data Type TextComplexityNameEnum
Value Space Enumerated value set of: { Lexile | Flesch-Kincaid | Dale-Schall | DRA | Fountas-Pinnell }
Scope Local ("-")
Multiplicity [1]
Description The name of the complexity measure. This is taken from an enumerated vocabulary.

5.1.17.2 "value" Attribute Description

The description of the "value" attribute for the "TextComplexity" class is given in Table 5.1.17.2.

Table 5.1.17.2 Description of the "value" attribute for the "TextComplexity" class.
Descriptor Definition
Attribute Name value
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The text complexity measure in terms of the named measuring scale.

5.1.18 Vendor Class Description

The data model for the "Vendor" class is shown in Figure 5.1.18 and the accompanying definition in Table 5.1.18.

UML diagram of the Vendor class.

Figure 5.1.18 - Vendor class definitions.

Table 5.1.18 Description of the "Vendor" class.
Descriptor Definition
Class Name Vendor
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the information about the vendor who created the resource.

5.1.18.1 "code" Attribute Description

The description of the "code" attribute for the "Vendor" class is given in Table 5.1.18.1.

Table 5.1.18.1 Description of the "code" attribute for the "Vendor" class.
Descriptor Definition
Attribute Name code
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description An identification code for the vendor.

5.1.18.2 "name" Attribute Description

The description of the "name" attribute for the "Vendor" class is given in Table 5.1.18.2.

Table 5.1.18.2 Description of the "name" attribute for the "Vendor" class.
Descriptor Definition
Attribute Name name
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the vendor.

5.1.18.3 "description" Attribute Description

The description of the "description" attribute for the "Vendor" class is given in Table 5.1.18.3.

Table 5.1.18.3 Description of the "description" attribute for the "Vendor" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description of the vendor.

5.1.18.4 "url" Attribute Description

The description of the "url" attribute for the "Vendor" class is given in Table 5.1.18.4.

Table 5.1.18.4 Description of the "url" attribute for the "Vendor" class.
Descriptor Definition
Attribute Name url
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A URL for the vendor.

5.1.18.5 "emailContact" Attribute Description

The description of the "emailContact" attribute for the "Vendor" class is given in Table 5.1.18.5.

Table 5.1.18.5 Description of the "emailContact" attribute for the "Vendor" class.
Descriptor Definition
Attribute Name emailContact
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Contact email for the vendor.

5.1.19 imsx_CodeMinor Class Description

The data model for the "imsx_CodeMinor" class is shown in Figure 5.1.19 and the accompanying definition in Table 5.1.19.

UML diagram of the imsx_CodeMinor class.

Figure 5.1.19 - imsx_CodeMinor class definitions.

Table 5.1.19 Description of the "imsx_CodeMinor" class.
Descriptor Definition
Class Name imsx_CodeMinor
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the set of code minor status codes reported in the responses from the Service Provider.

5.1.19.1 "imsx_codeMinorField" Attribute Description

The description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class is given in Table 5.1.19.1.

Table 5.1.19.1 Description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class.
Descriptor Definition
Attribute Name imsx_codeMinorField
Data Type imsx_CodeMinorField
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description Each reported code minor status code.

5.1.20 imsx_CodeMinorField Class Description

The data model for the "imsx_CodeMinorField" class is shown in Figure 5.1.20 and the accompanying definition in Table 5.1.20.

UML diagram of the imsx_CodeMinorField class.

Figure 5.1.20 - imsx_CodeMinorField class definitions.

Table 5.1.20 Description of the "imsx_CodeMinorField" class.
Descriptor Definition
Class Name imsx_CodeMinorField
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single code minor status code.

5.1.20.1 "imsx_codeMinorFieldName" Attribute Description

The description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class is given in Table 5.1.20.1.

Table 5.1.20.1 Description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class.
Descriptor Definition
Attribute Name imsx_codeMinorFieldName
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description This should contain the identity of the system that has produced the code minor status code report.

5.1.20.2 "imsx_codeMinorFieldValue" Attribute Description

The description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class is given in Table 5.1.20.2.

Table 5.1.20.2 Description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class.
Descriptor Definition
Attribute Name imsx_codeMinorFieldValue
Data Type imsx_CodeMinorValueEnum
Value Space Enumerated value set of: { fullsuccess | forbidden | invalid_query_parameter | unauthorisedrequest | internal_server_error | server_busy | invalid_data }
Scope Local ("-")
Multiplicity [1]
Description The code minor status code (this is a value from the corresponding enumerated vocabulary).

5.1.21 imsx_StatusInfo Class Description

The data model for the "imsx_StatusInfo" class is shown in Figure 5.1.21 and the accompanying definition in Table 5.1.21.

UML diagram of the imsx_StatusInfo class.

Figure 5.1.21 - imsx_StatusInfo class definitions.

Table 5.1.21 Description of the "imsx_StatusInfo" class.
Descriptor Definition
Class Name imsx_StatusInfo
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider.

5.1.21.1 "imsx_codeMajor" Attribute Description

The description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class is given in Table 5.1.21.1.

Table 5.1.21.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMajor
Data Type imsx_CodeMajorEnum
Value Space Enumerated value set of: { success | processing | failure | unsupported }
Scope Local ("-")
Multiplicity [1]
Description The code major value (from the corresponding enumerated vocabulary).

5.1.21.2 "imsx_severity" Attribute Description

The description of the "imsx_severity" attribute for the "imsx_StatusInfo" class is given in Table 5.1.21.2.

Table 5.1.21.2 Description of the "imsx_severity" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_severity
Data Type imsx_SeverityEnum
Value Space Enumerated value set of: { status | warning | error }
Scope Local ("-")
Multiplicity [1]
Description The severity value (from the corresponding enumerated vocabulary).

5.1.21.3 "imsx_description" Attribute Description

The description of the "imsx_description" attribute for the "imsx_StatusInfo" class is given in Table 5.1.21.3.

Table 5.1.21.3 Description of the "imsx_description" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description supplied by the entity creating the status code information.

5.1.21.4 "imsx_codeMinor" Attribute Description

The description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class is given in Table 5.1.21.4.

Table 5.1.21.4 Description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMinor
Data Type imsx_CodeMinor
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of reported code minor status codes.

5.2 Derived Class Descriptions

All of the derived data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.

5.2.1 AgeRange Class Description

The data model for the "AgeRange" class is shown in Figure 5.2.1 and the accompanying definition in Table 5.2.1.

UML diagram of the AgeRange class.

Figure 5.2.1 - AgeRange class definitions.

Table 5.2.1 Description of the "AgeRange" class.
Descriptor Definition
Class Name AgeRange
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for the age range value. The format is '11', '11-12', '5-7', etc.

5.2.2 Float0to1 Class Description

The data model for the "Float0to1" class is shown in Figure 5.2.2 and the accompanying definition in Table 5.2.2.

UML diagram of the Float0to1 class.

Figure 5.2.2 - Float0to1 class definitions.

Table 5.2.2 Description of the "Float0to1" class.
Descriptor Definition
Class Name Float0to1
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for a floating point number in the range of '0.00' to '1.00' i.e. with an accuracy of two decimal places.

5.2.3 GUID Class Description

The data model for the "GUID" class is shown in Figure 5.2.3 and the accompanying definition in Table 5.2.3.

UML diagram of the GUID class.

Figure 5.2.3 - GUID class definitions.

Table 5.2.3 Description of the "GUID" class.
Descriptor Definition
Class Name GUID
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for the Globally Unique Identifier (GUID). There is no predefined format for a GUID.

5.2.4 NString1024 Class Description

The data model for the "NString1024" class is shown in Figure 5.2.4 and the accompanying definition in Table 5.2.4.

UML diagram of the NString1024 class.

Figure 5.2.4 - NString1024 class definitions.

Table 5.2.4 Description of the "NString1024" class.
Descriptor Definition
Class Name NString1024
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for a string with the constraint of maximum length of 1024 characters.

5.2.5 NString2048 Class Description

The data model for the "NString2048" class is shown in Figure 5.2.5 and the accompanying definition in Table 5.2.5.

UML diagram of the NString2048 class.

Figure 5.2.5 - NString2048 class definitions.

Table 5.2.5 Description of the "NString2048" class.
Descriptor Definition
Class Name NString2048
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for a string with the constraint of maximum length of 2048 characters.

5.2.6 URL Class Description

The data model for the "URL" class is shown in Figure 5.2.6 and the accompanying definition in Table 5.2.6.

UML diagram of the URL class.

Figure 5.2.6 - URL class definitions.

Table 5.2.6 Description of the "URL" class.
Descriptor Definition
Class Name URL
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description This is the URL data-type.

5.3 Enumerated Vocabulary Descriptions

All of the enumerated vocabularies used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.4.

5.3.1 AccessModeEnum Vocabulary Description

The set of terms describing the the type of accessibility access mode. The data model for the "AccessModeEnum" enumerated class is shown in Figure 5.3.1 and the accompanying vocabulary definition in Table 5.3.1.

UML diagram of the AccessModeEnum class.

Figure 5.3.1 - AccessModeEnum class definitions.

Table 5.3.1 Description of the "AccessModeEnum" enumerated vocabulary terms.
Term Definition
auditory Information is conveyed that requires the sense of hearing.
color Information is conveyed that requires the ability to perceive colour.
itemSize Information is conveyed that requires the ability to distinguish the relative sizes of items using vision.
olfactory Information is conveyed that requires the sense of smell.
orientation Information is conveyed that requires the ability to distinguish the direction in which an item is pointing using vision.
position Information is conveyed that requires the ability to distinguish the relative locations of items using vision.
tactile Information is conveyed that requires the sense of touch.
textOnImage Information is conveyed using text where the text is embedded in an image.
textual Information is conveyed that requires the processing of text.
visual Information is conveyed that requires the sense of vision.

5.3.2 AccessibilityAPIEnum Vocabulary Description

The set of terms describing the Accessibility APIs that are available for accessing the resource.The data model for the "AccessibilityAPIEnum" enumerated class is shown in Figure 5.3.2 and the accompanying vocabulary definition in Table 5.3.2.

UML diagram of the AccessibilityAPIEnum class.

Figure 5.3.2 - AccessibilityAPIEnum class definitions.

Table 5.3.2 Description of the "AccessibilityAPIEnum" enumerated vocabulary terms.
Term Definition
ARIAv1 Indicates the content supports W3C i.e. WAI-ARIA Accessible Rich Internet Applications version 1 (defined in http://www.w3.org/TR/wai-aria/).
AT-SPI Indicates the application provides support for the Gnome Assistive Technology Service Provider Interface, used by assistive technologies to access accessible Unix applications at: http://library.gnome.org/devel/at-spi-cspi/.
ATK Indicates the application provides support for the Gnome Accessibility Toolkit API, used in Unix applications (KDE and Gnome desktops) i.e. http://library.gnome.org/devel/atk/
AndroidAccessibility Indicates support of the Android Access API i.e. http://developer.android.com/reference/android/view/accessibility/package-summary.html and http://developer.android.com/reference/android/accessibilityservice/package-summary.html.
BlackberryAccessibility Indicates the application provides support for the Blackberry Accessibility API for Blackberry Java Applications at: http://docs.blackberry.com/en/developers/deliverables/6022/net/rim/device/api/ui/accessibility/package-summary.html.
IAccessible2 Indicates the application provides support for the IAccessible2 accessibility API: http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2. IAccessible2 must be used with Microsoft Active Accessibility; used for Windows applications from Windows XP forward.
JavaAccessibility Indicates the application provides support for the Java accessibility API. See http://java.sun.com/javase/technologies/accessibility/index.jsp.
MSAA Indicates the application provides support for the Microsoft Active Accessibility API, used for Windows applications from Windows XP forward. See http://msdn.microsoft.com/en-us/library/ms788733.aspx.
MacOSXAccessibility Indicates the application provides support for the Mac OSX Accessibility Protocol. See http://developer.apple.com/Mac/library/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXModel/OSXAXmodel.html#//apple_ref/doc/uid/TP40001078-CH208-TPXREF101.
UIAutomation Indicates the application provides support for the Microsoft User Interface Automation API, used for Windows applications from Windows Vista forward. See http://msdn.microsoft.com/en-us/library/ms788733.aspx.

5.3.3 AccessibilityInputEnum Vocabulary Description

The set of terms describing the input methods that can be used to control the device.The data model for the "AccessibilityInputEnum" enumerated class is shown in Figure 5.3.3 and the accompanying vocabulary definition in Table 5.3.3.

UML diagram of the AccessibilityInputEnum class.

Figure 5.3.3 - AccessibilityInputEnum class definitions.

Table 5.3.3 Description of the "AccessibilityInputEnum" enumerated vocabulary terms.
Term Definition
fullKeyboardControl Indicates a resource that can be controlled effectively using only a keyboard.
fullMouseControl Indicates a resource that can be controlled effectively using only a mouse.
fullVoiceControl Indicates a resource that can be controlled effectively using only vocal commands.

5.3.4 AlignmentTypeEnum Vocabulary Description

The set of terms describing the the type of alignment between the learning resource and the framework node.The data model for the "AlignmentTypeEnum" enumerated class is shown in Figure 5.3.4 and the accompanying vocabulary definition in Table 5.3.4.

UML diagram of the AlignmentTypeEnum class.

Figure 5.3.4 - AlignmentTypeEnum class definitions.

Table 5.3.4 Description of the "AlignmentTypeEnum" enumerated vocabulary terms.
Term Definition
assesses The resource is used to assess the framework competency.
educationLevel The resource provides material of the required education level by the framework.
educationalSubject The resource provides material of the required educational subject by the framework.
readingLevel The resource provides material of the required reading level by the framework.
requires The use of this resource is required by the framework.
teaches The resource is used to teach the framework learning objective.
textComplexity The resource provides material of the required text complexity by the framework.

5.3.5 EducationalAudienceEnum Vocabulary Description

The set of permitted values for the educational audience. The data model for the "EducationalAudienceEnum" enumerated class is shown in Figure 5.3.5 and the accompanying vocabulary definition in Table 5.3.5.

UML diagram of the EducationalAudienceEnum class.

Figure 5.3.5 - EducationalAudienceEnum class definitions.

Table 5.3.5 Description of the "EducationalAudienceEnum" enumerated vocabulary terms.
Term Definition
administrator For use by a administrator in an organization e.g. School.
aide For use by a someone who provides appropriate support.
guardian For use by a guardian (NOT the Mother or Father). May also be a Relative.
parent For use by a mother or father.
proctor For use by an exam proctor.
relative For use by a relative (NOT the Mother or Father). May also be the Guardian.
student For use by a Student.
teacher For use by a Teacher.

5.3.6 HazardEnum Vocabulary Description

The enumerated vocabulary for describing a characteristic of the described resource that must not be delivered to some users. The data model for the "HazardEnum" enumerated class is shown in Figure 5.3.6 and the accompanying vocabulary definition in Table 5.3.6.

UML diagram of the HazardEnum class.

Figure 5.3.6 - HazardEnum class definitions.

Table 5.3.6 Description of the "HazardEnum" enumerated vocabulary terms.
Term Definition
flashing Denotes a resource whose visual pattern flashes more than three times in any one second; this level of flashing can cause seizures in some users (WCAG2 Guideline 2.3.2) at //www.w3.org/TR/WCAG20/#seizure].
motionSimulation A resource that simulates motion; this may result in a feeling of nausea to the user.
olfactoryHazard Information is conveyed that requires the sense of smell.
sound Denotes a resource generating audio pattern that can cause the user to have seizures [ISO 29138].

5.3.7 LRTEnum Vocabulary Description

The set of tokens that are permitted for the 'learningResourceType'. The data model for the "LRTEnum" enumerated class is shown in Figure 5.3.7 and the accompanying vocabulary definition in Table 5.3.7.

UML diagram of the LRTEnum class.

Figure 5.3.7 - LRTEnum class definitions.

Table 5.3.7 Description of the "LRTEnum" enumerated vocabulary terms.
Term Definition
Activity/Experiment Use for experiment or observation (presumably every experiment includes an observation).
Activity/Learning Activities engaged in by the learner for the purpose of acquiring certain skills, concepts, or knowledge, whether guided by an instructor or not.
Activity/Worksheet Also called an exercise. A set of problems created to provide students with time working on a problem area. Distinct from a formative assessment. Worksheets are extremely popular K-12 resources and need to be called out distinctly from assessments.
Assessment/Formative Formative assessment is a process used by teachers and students during instruction that provides feedback to adjust ongoing teaching and learning to improve students' achievement of intended instructional outcomes.
Assessment/Interim An assessment used to evaluate student learning at the end of an instructional unit by comparing it against some standard or benchmark.
Assessment/Item An individual question or task on an assessment.
Assessment/Preparation A resource intended to provide focused preparation on a specific assessment (usually high stakes assessments).
Assessment/Rubric Instructions on how to grade assessments.
Collection/Course A series of units and lessons used to teach the skills and knowledge required by its curriculum. Please note the hierarchy implied here. Course is the broadest, then Unit, then Lesson.
Collection/Curriculum Guide A document that defines what concepts should be taught and/or how a concept should be taught effectively. Only teacher facing.
Collection/Lesson A detailed description of the course of instruction for a short period of time that is used by a teacher to guide class instruction.
Collection/Unit A long-range plan of instruction on a particular concept; it contains multiple lessons that are related.
Game A game.
Interactive/Animation A resource that delivers interactive media-rich content such as moving images, motion graphics, animations, etc.
Interactive/Simulation An imitation or modeling of a real-world process.
Interactive/Whiteboard Content specifically designed for use on an interactive whiteboard.
Lecture A lecture.
Media/Audio A recorded audio file. Often a lecture but can be other forms.
Media/Images/Visuals A picture, diagram or image.
Media/Video A recorded video. Often a lecture but can be other forms.
Other Other i.e. not covered by any of the other tokens.
Text/Article Written work that includes some level of subjectivity based on the author's viewpoint, but is based on factual information.
Text/Book An entire book (but not a textbook, see below) as content.
Text/Chapter A chapter in a book.
Text/Document A distinct document not considered a book. May manifest as a PDF or a web page or a word processing file. Most often a 'primary source'.
Text/Passage Passage or passages from a work.
Text/Reference Encyclopedia, dictionary entry.
Text/Textbook A book used as a standard source of information on a particular subject.
Text/Website Root URL of a website used for instruction.

5.3.8 RatingEnum Vocabulary Description

The permitted values for the rating. This is a range of 1-5 with '5' being the best rating. The data model for the "RatingEnum" enumerated class is shown in Figure 5.3.8 and the accompanying vocabulary definition in Table 5.3.8.

UML diagram of the RatingEnum class.

Figure 5.3.8 - RatingEnum class definitions.

Table 5.3.8 Description of the "RatingEnum" enumerated vocabulary terms.
Term Definition
1 A rating of '1' i.e. the lowest rating.
2 A rating of '2'.
3 A rating of '3'.
4 A rating of '4'.
5 A rating of '5' i.e. the highest rating.

5.3.9 TextComplexityNameEnum Vocabulary Description

The set of permitted values for the measure of text complexity being used. The data model for the "TextComplexityNameEnum" enumerated class is shown in Figure 5.3.9 and the accompanying vocabulary definition in Table 5.3.9.

UML diagram of the TextComplexityNameEnum class.

Figure 5.3.9 - TextComplexityNameEnum class definitions.

Table 5.3.9 Description of the "TextComplexityNameEnum" enumerated vocabulary terms.
Term Definition
DRA Denotes the Developmental Reading Level Assessment® (DRA) by Scholastic Inc.
Dale-Schall Denotes the Dale-Chall readability formula created by Dale and Jeanne Chall and published in their article 'A Formula for Predicting Readability'.
Flesch-Kincaid Denotes the Flesch-Kincaid readability formula created under contract to the U.S. Navy in 1975 by J. Peter Kincaid and his team.
Fountas-Pinnell Denotes the Fountas-Pinnell Text Gradient® developed by Irene C Fountas and Gay Su Pinnell.
Lexile Denotes the Lexile Framework® for Reading created by MetaMetrics Inc.

5.3.10 imsx_CodeMajorEnum Vocabulary Description

This is the set of primary status report values i.e. the major code assigned to the status block. This is used in conjunction with the 'Severity' structure in the status object.The data model for the "imsx_CodeMajorEnum" enumerated class is shown in Figure 5.3.10 and the accompanying vocabulary definition in Table 5.3.10.

UML diagram of the imsx_CodeMajorEnum class.

Figure 5.3.10 - imsx_CodeMajorEnum class definitions.

Table 5.3.10 Description of the "imsx_CodeMajorEnum" enumerated vocabulary terms.
Term Definition
failure Denotes that the transaction request has failed. The detailed reason will be reported in the accompanying 'codeMinor' fields.
processing Denotes that the request is being processed at the destination or there has been a local transmission failure. This value is used in asynchronous services.
success Denotes that the request has been successfully completed. If the associated 'severity' value is 'warning' then the request has been partially successful i.e. best effort by the service provider. Other parts of the status information may provide more insight into a partial success response.
unsupported Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation.

5.3.11 imsx_CodeMinorValueEnum Vocabulary Description

This is the set of codeMinor status codes that are used to provide further insight into the completion status of the end-to-end transaction i.e. this should be used to provide more information than would be supplied by an HTTP code.The data model for the "imsx_CodeMinorValueEnum" enumerated class is shown in Figure 5.3.11 and the accompanying vocabulary definition in Table 5.3.11.

UML diagram of the imsx_CodeMinorValueEnum class.

Figure 5.3.11 - imsx_CodeMinorValueEnum class definitions.

Table 5.3.11 Description of the "imsx_CodeMinorValueEnum" enumerated vocabulary terms.
Term Definition
forbidden This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'.
fullsuccess The request has been fully and successfully implemented by the service provider. For a REST binding this will have an HTTP code of '200' for a successful search request.
internal_server_error This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'.
invalid_data This error condition may occur if a JSON request/response body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and a HTTP code of '422'.
invalid_query_parameter An invaliddata query parameter field was supplied and the query could not be processed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
server_busy The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'.
unauthorisedrequest The request was not correctly authorised. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '401'.

5.3.12 imsx_SeverityEnum Vocabulary Description

This is the context for the status report values. This is used in conjunction with the 'CodeMajor' structure in the status object.The data model for the "imsx_SeverityEnum" enumerated class is shown in Figure 5.3.12 and the accompanying vocabulary definition in Table 5.3.12.

UML diagram of the imsx_SeverityEnum class.

Figure 5.3.12 - imsx_SeverityEnum class definitions.

Table 5.3.12 Description of the "imsx_SeverityEnum" enumerated vocabulary terms.
Term Definition
error A catastrophic error has occurred in processing the request and so the request was not completed (the Service Provider may not even have received the request).
status The request has been completed and a response was received from the Service Provider.
warning The request has only been partially completed. For an asynchronous service a further response should be expected.

toc | top

6. Extending and Profiling the Service

This Section is NOT NORMATIVE.

6.1 Extending the Service

Proprietary extensions of the service are based upon two approaches:

It is NOT permitted to change the behavior of the current set of operations. Such changes MUST be supported by the creation of new operations.

6.1.1 Proprietary Operations

The definition of new operations should follow the same format as adopted herein. The new operations should be defined using a new interface type. Every operation must result in the return of a status code that describes the final state of the request on the target end system.

An example of creating such an extension is given in the accompanying Best Practices document [RS-BP, 18].

6.1.2 Proprietary Data Elements

It is recognized that implementers may wish to extend the specification. Extensions are ONLY permitted in the 'Resource' class within the data model.

6.2 Profiling the Service

This Service can be profiled. In general, Profiling is used to:

Valid Profiles must be restrictive i.e. optional features can be removed or constraints increased but new features must not be added. A Profile of this service is made by annotating the UML supplied with the documentation for the specification.

It is strongly recommended that a profile of this specification is undertaken either by, or with the close support, of IMS Global. However, no matter who is responsible for creating the profile artefacts (documents, XSDs, etc.), it is strongly recommended that the IMS specification tools are used. This will ensure that the artefacts are consistent with the base specifications and that useful support documentation is automatically produced e.g. creation of a document that summarises the differences between the base specification and the profile. Organizations wishing to produce a profile of this specification should contact Lisa Mattson (IMS Global Chief Operations Officer) at: lmattson@imsglobal.org.

toc | top

References

[CASE, 17] Competencies and Academic Standards Exchange (CASE) Service, B.Grogan, G.Nadeau, C.Smythe and J.Hobson, IMS Global Learning Consortium Inc., July 2017, https://www.imsglobal.org/sites/default/files/CASE/casev1p0/information_model/caseservicev1p0_infomodelv1p0.html.
[I-BAT, 06] IMS Binding Auto-generation Toolkit (I-BAT), C.Smythe, IMS Global Learning Consortium Inc., July 2006.
[ISO 8601] ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000.
[RFC 2119] Key words for use in RFCs to Indicate Requirement Levels., S. Bradner, IETF (RFC 2119), March 1997, https://tools.ietf.org/html/rfc2119.
[RFC 3066] Tags for the Identification of Languages, H.Alvestrand, IETF (RFC 3066), January 2001, https://www.ietf.org/rfc/rfc3066.txt.
[RS-BP, 18] IMS LTI Resource Search 1.0 Implementation Guide Final Release, A.Blum, T.Ingram, V.Jaiswal and J.Hobson, IMS Global Learning Consortium Inc., September 2018, https://www.imsglobal.org/lti-rs/v1p0/impl/.
[RS-CC, 18] IMS LTI Resource Search 1.0 Certification Guide Final Release, A.Blum, T.Ingram, V.Jaiswal and C.Smythe, IMS Global Learning Consortium Inc., September 2018, https://www.imsglobal.org/spec/lti-rs/v1p0/cert.
[RS-OA, 18] IMS LTI Resources Search (RS) Service 1.0 OpenAPI Definition Final Release, A.Blum, T.Ingram, V.Jaiswal and C.Smythe, IMS Global Learning Consortium Inc., September 2018, https://www.imsglobal.org/spec/lti-rs/v1p0/openapi_doc.
[RS-RJ, 18] IMS LTI Resources Search Service 1.0 REST/JSON Final Release, A.Blum, T.Ingram, V.Jaiswal and C.Smythe, IMS Global Learning Consortium Inc., September 2018, https://www.imsglobal.org/spec/lti-rs/v1p0/restbind.
[RS-SM, 18] IMS LTI Resources Search Service 1.0 Service Model Final Release, A.Blum, T.Ingram, V.Jaiswal and C.Smythe, IMS Global Learning Consortium Inc., September 2018, https://www.imsglobal.org/spec/lti-rs/v1p0/infomodel.
[UNICODE, 16] UNICODE Collation Algorithm Version 9.0, M.Davis, K.Whistler and M.Scheer, Unicode Technical Standard #10, May 2016.
[VDEX, 04] IMS Vocabulary Definition Exchange (VDEX) 1.0, A.Cooper, IMS Global Learning Consortium Inc., February 2004, https://www.imsglobal.org/vdex/vdexv1p0/imsvdex_infov1p0.html.

toc | top

Appendix A Modeling Concepts and Terms

A1 Behavior Descriptions Explanations

This section is NOT NORMATIVE.

A1.1 Service Model Diagrams

Table A1.1 provides the key to the descriptions of service model diagrams.

Table A1.1 The key to the descriptions of service model diagrams.
Feature Definition and Usage
Service Model Package Each service model description is enclosed in a UML Package that has the stereotype of « serviceModel » under which is the name of the service being described. A service must have at least one Interface (the breakdown of the service into the component transactions is a design decision).
Interface Class Each interface description is enclosed in a UML Package that has the stereotype of « Interface » under which is the name of the interface being described. An interface is a collection of operations that support a common set of transaction objectives. An interface must have at least one operation. An Interface class has no attributes.
Operation Description The behaviors provided by an interface are defined by the set of operations. Each operation must have a unique name and is accompanied by the set of parameters that are sent to the service (in) and those returned by the service (out). An operation can also have a formal return parameter whose form and usage depends upon the actual binding realisation. The description may also include a stereotype for the identification of the nature operation e.g. read, create, etc.

A1.2 Operation Descriptions

Table A1.2 provides the key to the descriptions of the operation tables.

Table A1.2 The key to the operation description tables.
Descriptor Definition
Name The name given to the operation being described. In the case of an interface, by definition, every operation has the scope value of global denoted by the "+" symbol before the name.
Stereotype Before the name of the operation there may be a stereotype classifier. This is used to provide information about the nature of the behavior of the operation. The permitted set of stereotype values and their meaning are:
  • « create » - indicates that a request is being made to create a new object/resource where the requester provides the associated unique identifier;
  • « createbp » - indicates that a request is being made to create a new object/resource where the responder provides the associated unique identifier;
  • « read » - indicates that a request is being made to read an existing object/resource;
  • « update » - indicates that a request is being made to update an existing object/resource i.e. an additive write;
  • « delete » - indicates that a request is being made to delete an existing object/resource;
  • « replace » - indicates that a request is being made to replace an existing object/resource i.e. a destructive write;
  • « query » - indicates that a request is being made to search for objects/resources according to a defined set of search criteria.
Return Function Parameter The formal return parameter for the operation/method returned for the transaction request (the form in which this information is provided depends on the realisation of the binding). The description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Model. In situations where there is no return function this entry will be set to "void"
Supplied (in) Parameters The list of parameters that are sent from the client to the end-service in the service request message. Each parameter description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Model.
Supplied (out) Parameters The list of parameters that are returned from the end-service in the service response message. Each parameter description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Model.
Behavior A description of the behavior of the operation.
Notes Further information on the behavior particularly in the context of the use of other operations and the relationship to the behaviors of those operations.

A2 Interface Descriptions Explanations

This section is NOT NORMATIVE.

A2.1 Parameter Model Diagrams

Table A2.1 provides the key to the descriptions of parameter data model diagrams.

Table A2.1 The key to the descriptions of parameter model diagrams.
Feature Definition and Usage
Data Model Package Each parameter data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the class being described.
DerivedType Class This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class.
Enumeration Class This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute.
Selection Class This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance.
Sequence Class This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance.
Unordered Class This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity).
Attribute Description Each class contains a set of attributes. Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A2.3 for a more complete description).
Composition Arrow This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents.

A2.2 Class Descriptions

Table A2.2 provides the key to the descriptions of the parameter data class tables.

Table A2.2 The key to the descriptions of the data class tables.
Descriptor Definition
Class Name The name given to the class being described.
Class Type The nature of the class (for a paramter data-type this must not be an abstract class). This is described as a "Container [...]" with the value of "..." being (see Appendix A2.1 for the meaning of these values):
  • "DerivedType"
  • "Sequence"
  • "Selection"
  • "Unordered"
Parents This is the list of operations for which this class is a data-type for one or more of the parameters. Each entry is linked to the corresponding operation description.
Children Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those that are grouped under a corresponding stereotyped attribute class. Each child is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type.
Description Contains descriptions relating to the class and its properties and relationships.

A2.3 Attribute Descriptions

Table A2.3 provides the key to the descriptions of the data attributes for the data classes for the operation parameters.

Table A2.3 The key to the descriptions of the data attribute tables.
Descriptor Definition
Attribute Name The name given to the attribute being described.
Data Type This is the data-type of the attribute. It can take many forms:
  • Class Name - the name of the Class (this is linked to the class definition);
  • Primtive Data-types - this is the same list as defined under the "Attribute and Characteristic" description (see later in this Appendix for these definitions).
Value Space The range of valid values for this class (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type.
Scope This is the scope of the attribute with permitted values of:
  • Local - denoted by "-" and meaning the attribue has significance and access within the context of the parent class only;
  • Global - denoted by "+" and meaning that the attribute has global scoping (so must have a unique name) and can be accessed from anywhere.
Multiplicity A property of an attribute indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
  • "0..1" [optional; restricted]
  • "0..unbounded" [optional; unrestricted]
  • "1..1" [mandatory; restricted]
  • "1..unbounded" [mandatory; unrestricted]
Description Contains descriptions relating to the attribute and its values space.

A3 Data Model Descriptions Explanations

This section is NOT NORMATIVE.

A3.1 Data Model Diagrams

Table A3.1 provides the key to the descriptions of data model diagrams.

Table A3.1 The key to the descriptions of data model diagrams.
Feature Definition and Usage
Data Model Package Each data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the data model diagram being described. Only one logical data model can be described.
DerivedType Class This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class.
Enumeration Class This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute.
Enumerated List Class This is a class that is identified by the stereotype « EnumeratedList » under which is the name of the enumerated list data-type. The enumeration list class consists of the list of tokens that are the permitted values of the assigned attribute. A list of tokens is permitted using comma separation.
PrimitiveType Class This is a class that is identified by the stereotype « PrimitiveType » under which is the name of the primitive data-type. A PrimitiveType is one of the many base data-types on which a data model can be built (see Appendix A3.3 for the set of primitive types that are available).
Selection Class This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Sequence Class This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Unordered Class This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity). If the stereotype and associated name of the class are in italics this denotes the class is abstract.
List Class This is a class that is identified by the stereotype « List » under which is the name of the data-type. A list class is one in which the associated instance will consist of a list of objects that conform to the permitted data-types of the list (the superclasses for the list class). The terms in the list are separated by a space.
Union Class This is a class that is identified by the stereotype « Union » under which is the name of the data-type. A union class is one in which the associated instance will consist of a objects that conform to the any of the permitted data-types of the union (the superclasses for the union class).
Characteristic Description Many classes contain a set of characteristics (the set of characteristics are listed under the stereotype « Characteristics »). Each characteristic description consists of the scope, name, data-type and multiplicity (see Appendix A3.3 for a more complete description). Note that when bound to XSD/XML, a characteristic is mapped to an XML attribute.
Attribute Description Many classes contain a set of attributes (the set of attributes are listed under the stereotype « Attributes »). Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A3.3 for a more complete description). Note when bound to XSD/XML, an attribute is mapped to an XML element.
Aggregation Arrow This is an arrow with a white diamond head to indicate that the child class is an aggregate structure to the parent class i.e. the child class may exist without the context of the parent class. This association allows complex structures to be constructed with common subcomponents.
Composition Arrow This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents.
Generalization Arrow This is an arrow with a white arrow head to indicate the class/superclass relationship. The arrow points in the direction of generality i.e. from the class to the super class.

toc | top

A3.2 Class Descriptions

Table A3.2 provides the key to the descriptions of the data class tables.

Table A3.2 The key to the descriptions of the data class tables.
Category Definition
Class Name The name given to the class being described.
Class Type The nature of the class. This is described as a "Container [...]" or "Abstract Container [...]". The value of "..." being (see Appendix A3.1 for the meaning of these values):
  • "DerivedType"
  • "List"
  • "Selection"
  • "Sequence"
  • "Union"
  • "Unordered"
If the container is also marked as "Mixed" then the children are permitted to include text as well as attributes.
Parents This is the list of classes that contain the class being described as either the type of a child characteristic or attribute. In the case of a Root Class the entry is also labelled as "Root Class".
Derived Classes The set of classes that are derived from this class (there may be none). The entries are linked to the corresponding class descriptions.
Super Classes The set of super classes from which the class being described is derived (there may be none). The entries are linked to the corresponding class descriptions.
Characteristics Lists the set of characteristics for this class. The list of characteristics includes those that are inherited. Each characteristic is linked to the corresponding characteristic description table.
Children Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those attributes that are inherited. Each child entry is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type. If the child is in italics this denotes a reference to an abstract class and that an instance would NOT contain a child of that name but would be replaced by a complex set of children as defined by the associated abstract class.
Description Contains descriptions relating to the class and its properties and relationships.

toc | top

A3.3 Attribute and Characteristic Descriptions

Table A3.3 provides the key to the descriptions of the data attributes/characteristics for the data classes.

Table A3.3 The key to the descriptions of the data attribute/characteristic tables.
Category Definition
Attribute Name or Characteristic Name The name given to the attribute or characteristic being described. If the name is in italics this denotes an abstract attribute or characteristic.
Data Type This is the data-type of the attribute or characteristic (if this is in italics it denotes an abstract class). The data-type can take many forms:
  • Class Name - the name of the Class (this is linked to the class definition elsewhere in this document);
  • Primitive Data-types from:-
    • AnyTypeLax - the namespace data-type i.e. defining data from any context (this is used for allowing any form of extension);
    • AnyURI - the AnyURI data-type (absolute or relatve URI);
    • Base - the base data-type for defining a base URI/URL link reference;
    • Boolean - the boolean data-type (with permitted values of "true" and "false");
    • Date - the date data-type (using the [ISO 8601] format);
    • DateTime - the date/time data-type (using the [ISO 8601] format);
    • Decimal - the decimal data-type (a variable precision number that is either positive or negative);
    • Double - the double data-type (double precision floating point number - 64bit);
    • Duration - the duration data-type (using the [ISO 8601] format)
    • Empty - the associated instance must be empty;
    • Float - the float data-type (single precision floating point number - 32bit);
    • ID - the unique identifier data-type;
    • IDREF - the reference to a previously defined unique identifier data-type (ID);
    • IDREFS - a list, whitespace separated, of references to a previously defined unique identifier data-type (ID);
    • Int - the int data-type (this is derived from the "decimal" data-type);
    • Integer - the integer data-type (using the);
    • Language - the language data-type as defined in [RFC 3066];
    • Namespace - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models);
    • NamespaceLax - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models but being lax on the validation);
    • NonNegativeInteger - the non-negative integer data-type (this is derived from the "integer" data-type) i.e. an integer that is zero or higher;
    • NCName - the NCName data-type (derived from the Name data-type);
    • NormalizedString - the normalized string data type (strings with line feeds, carriage returns and tab characters removed);
    • PositiveInteger - the positive integer data-type (this is derived from the "nonNegativeinteger" data-type) i.e. an integer that is one or higher;
    • String - the normalized string data type;
    • Time - the time data-type (using the [ISO 8601] format).
Value Space The range of valid values for this attribute/characteristic (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type.
Scope This is the scope of the attribute/characteristic with permitted values of:
  • Local - denoted by "-" and meaning the attribute/characteristic has significance and access within the context of the parent class only;
  • Global - denoted by "+" and meaning that the attribute/characteristic has global scoping (so must have a unique name) and can be accessed from anywhere.
Multiplicity A property of an attribute/characteristic indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
Description Contains descriptions relating to the attribute/characteristic and its values space.

toc | top

A3.4 Enumerated Vocabulary Descriptions

Table A3.4 provides the key to the descriptions of the enumerated vocabulary classes. These are vocabularies that will be contained within the binding form itself. They are contained within a class that has a stereotype of either « Enumeration » or « EnumeratedList ».

Table A3.4 The key to the descriptions of the enumerated vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used.

toc | top

A3.5 External Vocabulary Descriptions

Table A3.5 provides the key to the descriptions of the external vocabulary classes. These are vocabularies that will be contained in some independent format e.g. using the IMS VDEX [VDEX, 04].

Table A3.5 The key to the descriptions of the external vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used. This consists of the "Caption" and "Description" of the vocabulary term. The caption is used to provide a human readable label for the term.

toc | top

A3.6 Import Class Descriptions

Table A3.6 provides the key to the descriptions of the import classes.

Table A3.6 The key to the descriptions of the imported class tables.
Category Definition
Import Class Name The name of the class.
Parent Classes The list of parent classes, and the associated children, that use this imported class. Each class and attribute name has a link to its corresponding tabular description in the information model.
Description The description of how the class is used within the data model.

toc | top

Appendix B Service Status Codes

This Section is NORMATIVE

When a behavior-based IMS service model is developed each operation is required to return status information. This status information provides contextual information about the completed success or otherwise of the operation. There are two types of status information that are available to the end-systems:

B1 Definition of the Status Codes

The status information for the business transactions is carried in a single status information object that contains the following sub-structures:

The interpretation of the "CodeMajor/Severity" behavior matrix is summarized in Table B1.1.

Table B1.1 Interpretation of the of the "CodeMajor/Severity" behavior matrix.
Severity CodeMajor
"Success" "Processing" "Failure" "Unsupported"
"Status" The transaction request has been completed successfully. The transaction request is being processed at the destination i.e. the request has been received and acknowledged. This combination is used in asynchronous services. The transaction request has failed. The detailed reason will be reported in the accompanying "codeMinor" fields. The destination service handler does not support the requested operation. This is the required default response for an unsupported operation by an implementation.
"Warning" Some of the request has been completed successfully e.g. partial data storage, etc. The request has been transmitted but acknowledgement of receipt at the destination has not been received. This combination is used in asynchronous services. Not permitted. Not permitted.
"Error" Not permitted. An error has been detected in the immediate transmission communications handler i.e. the message has not left the local end-system. There has been a failure in the end-to-end system communications mechanism and so the request has not been delivered. The destination service handler does not recognise the requested operation i.e. it is an unknown service extension.

B1.1 Definition of the "CodeMajor" Values

The set of codes used for the "codeMajor" status code field are defined in Table B1.2.

Table B1.2 Definition of the "CodeMajor" status code values.
Status Code Description
success Denotes that the request has been successfully completed. If the associated 'severity' value is 'warning' then the request has been partially successful i.e. best effort by the service provider. Other parts of the status information may provide more insight into a partial success response.
processing Denotes that the request is being processed at the destination or there has been a local transmission failure. This value is used in asynchronous services.
failure Denotes that the transaction request has failed. The detailed reason will be reported in the accompanying 'codeMinor' fields.
unsupported Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation.

B1.2 Definition of the "Severity" Values

The set of codes used for the "severity" status code field are defined in Table B1.3.

Table B1.3 Definition of the "Severity" status code values.
Status Code Description
status The request has been completed and a response was received from the Service Provider.
warning The request has only been partially completed. For an asynchronous service a further response should be expected.
error A catastrophic error has occurred in processing the request and so the request was not completed (the Service Provider may not even have received the request).

B1.3 Definition of the "CodeMinor" Values

The set of codes used for the "codeMinor" status code field are defined in Table B1.4.

Table B1.4 Definition of the "CodeMinor" status code field values.
Status Code Description
forbidden This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'.
fullsuccess The request has been fully and successfully implemented by the service provider. For a REST binding this will have an HTTP code of '200' for a successful search request.
internal_server_error This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'.
invalid_data This error condition may occur if a JSON request/response body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and a HTTP code of '422'.
invalid_query_parameter An invaliddata query parameter field was supplied and the query could not be processed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
server_busy The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'.
unauthorisedrequest The request was not correctly authorised. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '401'.

toc | top

About this Document

Title: IMS LTI Resource Search Service v1.0
Editors: Colin Smythe, IMS Global (UK)
Jill Hobson, IMS Global (USA)

Co-chairs: Adam Blum, OpenEd (USA)
Tom Ingram, Escambia County School District (USA)

Version: 1.0
Version Date: 10th September, 2018
Status: IMS Final Release
Summary: The IMS LTI Resource Search Service (RS) 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, from learning tools using various attributes of resources and returning full metadata about the resources to the learning tools. Results include resource access specification as either URLs or LTI links. The benefit for an educator or student using the learning tool (such as a Learning Management System) is seamless ability to search resource libraries for appropriate resources and transparent launching of those resources. This document contains the information model for the RS service.

Revision Information: First release of this specification.
Purpose: For public adoption.
Document Location: IMS Public Website (Specifications Download): https://www.imsglobal.org/specifications.html

toc | top

List of Contributors

The following individuals contributed to the development of this document:

Ray Baranoski Safari Montage (USA)
Adam Blum Open Ed (USA)
Stacy Cohen Framingham State University (USA)
Paul DeVey Pearson (USA)
Viktor Haag D2L Corporation (Canada)
Mark Hannah Knovation (USA)
Jill Hobson IMS Global (USA)
Tom Ingram Escambia County School District (USA)
Vikash Jaiswal Knovation (USA)
Joshua Marks PCG (USA)
Justin Mason University of Wisconsin Extension (USA)
Elizabeth Neuman State of Wisconsin Dept. of Public Instruction (USA)
Colin Smythe IMS Global (UK)

toc | top

Revision History

Version No. Release Date Comments
Final Release 1.0 10th September, 2018 The first formal release for the specification. This specification is made available for public adoption.

toc | top

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: IMS LTI Resource Search Service v1.0

Date: 10th September, 2018

toc | top