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/
Copyright © 2016 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/
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.
© 2016 IMS Global Learning Consortium, Inc.
All Rights Reserved.
The IMS Logo and Learning Tools Interoperability (LTI) are trademarks of the IMS Global
Learning Consortium, Inc. in the United States and/or other countries.
Defines the base URL that is used for certain kinds of resources referenced in a ToolProfile. The kinds of resources to which the base URL applies is specified by an associated BaseUrlSelector. If the BaseUrlChoice does not have an associated selector, then it applies universally to all resources referenced in the Tool Profile.
Properties of class BaseUrlChoice | ||
---|---|---|
default_base_url
This is the base URL that should be used by default for all entities specified by the associated BaseUrlSelector. The secure_base_url attribute may override this default Base URL.
| anyURI | 1 |
secure_base_url
This is the base URL that should be used whenever security is enabled. If this base URL is not defined, then the default_base_url is used in all circumstances.
| anyURI | 0..1 |
selector
A resource that specifies the objects to which this BaseUrlChoice applies.
| BaseUrlSelector | 0..1 |
This resource specifies the type of objects to which a set of base URLs apply.
Properties of class BaseUrlSelector | ||
---|---|---|
applies_to
The class of resources selected by this BaseUrlSelector.
| Class | 1..* |
Represents a capability that may be declared by a Tool Consumer in its profile and enabled by a Tool when an integration contract is established.
Simple Name | Description / URI |
---|---|
Context.id | Corresponds to the context_id launch parameter. This is the local identifier for the context within the Tool Consumer system. http://purl.imsglobal.org/vocab/lti/v2/variable#Context.id |
Context.label | A short label for the context. Corresponds to the context_label launch parameter. http://purl.imsglobal.org/vocab/lti/v2/variable#Context.label |
Context.org | A URI describing the organisational properties of the context from which a launch request originates (typically a CourseSection); for example, an ldap:// URI such as ldap://host.com:6666/cid=abc123,ou=dept,dc=plainjoe,dc=org. If more than one format of organisational URI is specified, each should be separated with a space. http://purl.imsglobal.org/vocab/lti/v2/variable#Context.org |
Context.title | The title for the context. Corresponds to the context_title launch parameter. http://purl.imsglobal.org/vocab/lti/v2/variable#Context.title |
Context.type | A comma-separated list of URN values that identify the type of context. Corresponds to the context_type launch parameter. http://purl.imsglobal.org/vocab/lti/v2/variable#Context.type |
CourseOffering.academicSession | The text data that is used to describe the academic session for the course offering. In the LIS Database, this value corresponds to courseOfferingRecord/courseOffering/defaultCredits/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseOffering.academicSession |
CourseOffering.credits | The default credits set for this Course Offering In the LIS Database, this value corresponds to courseOfferingRecord/courseOffering/defaultCredits/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseOffering.credits |
CourseOffering.label | A human readable label for the Course Offering In the LIS Database, this value corresponds to courseOfferingRecord/courseOffering/label http://purl.imsglobal.org/vocab/lti/v2/variable#CourseOffering.label |
CourseOffering.longDescription | A long description of the Course Offering. In the LIS Database, this value corresponds to courseOfferingRecord/courseOffering/catalogDescription/longDescription http://purl.imsglobal.org/vocab/lti/v2/variable#CourseOffering.longDescription |
CourseOffering.shortDescription | A short description of the Course Offering. In the LIS Database, this value corresponds to courseOfferingRecord/courseOffering/catalogDescription/shortDescription http://purl.imsglobal.org/vocab/lti/v2/variable#CourseOffering.shortDescription |
CourseOffering.sourcedId | The LIS identifier for the Course Offering. In the LIS Database, this value corresponds to courseOfferingRecord/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#CourseOffering.sourcedId |
CourseOffering.title | The title of the Course Offering. In the LIS Database, this value corresponds to courseOfferingRecord/courseOffering/title http://purl.imsglobal.org/vocab/lti/v2/variable#CourseOffering.title |
CourseSection.courseNumber | The course number, such as "Biology 101". In general, this number is not just a numeric value. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/courseNumber/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.courseNumber |
CourseSection.credits | The default credits set for the Course Section. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/defaultCredits/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.credits |
CourseSection.dataSource | An identifier for the original source system of the CourseSection object. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/dataSource http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.dataSource |
CourseSection.dept | The department within which the Course Section is offered. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/org[type/textString="Dept"]/orgName/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.dept |
CourseSection.enrollControl.allowed | A boolean value that specifies whether the Tool Provider can enroll people in the Course Section. The value In the LIS Database, this value corresponds to courseSectionRecord/courseSection/enrollControl/enrollAllowed http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.enrollControl.allowed |
CourseSection.enrollControll.accept | A boolean value that specifies whether the Course Section is accepting enrollments. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/enrollControl/enrollAccept http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.enrollControll.accept |
CourseSection.label | A human readable label for the Course Section. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/label http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.label |
CourseSection.longDescription | A long description of the Course Section. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/catalogDescription/longDescription http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.longDescription |
CourseSection.maxNumberofStudents | The maximum number of students that can be enrolled in the Course Section. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/maxNumberofStudents http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.maxNumberofStudents |
CourseSection.numberofStudents | The number of students who are enrolled in the Course Section. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/numberofStudents http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.numberofStudents |
CourseSection.shortDescription | A short description of the Course Section. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/catalogDescription/shortDescription http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.shortDescription |
CourseSection.sourceSectionId | The identifier for the source Course Section from which the target Course Section was cloned. In the LIS Database, this value corresponds to createCourseSectionFromCourseSectionRequest/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.sourceSectionId |
CourseSection.sourcedId | The LIS identifier for the Course Section In the LIS Database, this value corresponds to courseSection/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.sourcedId |
CourseSection.timeFrame.begin | The date and time when the Course Section becomes available. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/timeFrame/begin http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.timeFrame.begin |
CourseSection.timeFrame.end | The date and time after which the Course Section is no longer available. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/timeFrame/end http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.timeFrame.end |
CourseSection.title | The title of the Course Section. In the LIS Database, this value corresponds to courseSectionRecord/courseSection/title http://purl.imsglobal.org/vocab/lti/v2/variable#CourseSection.title |
CourseTemplate.courseNumber | The course number, such as "Biology 101". In general, this number is not just a numeric value. In the LIS Database, this value corresponds to courseTemplateRecord/courseTemplate/courseNumber/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseTemplate.courseNumber |
CourseTemplate.credits | The default credits set for this Course Template. In the LIS Database, this value corresponds to courseTemplateRecord/courseTemplate/defaultCredits/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseTemplate.credits |
CourseTemplate.label | A human readable label used to help identify the Course Template. In the LIS Database, this value corresponds to courseTemplateRecord/courseTemplate/label/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseTemplate.label |
CourseTemplate.longDescription | A long description of the Course Template. In the LIS Database, this value corresponds to courseTemplateRecord/courseTemplate/catalogDescription/longDescription http://purl.imsglobal.org/vocab/lti/v2/variable#CourseTemplate.longDescription |
CourseTemplate.shortDescription | A short description of the Course Template. In the LIS Database, this value corresponds to courseTemplateRecord/courseTemplate/catalogDescription/shortDescription http://purl.imsglobal.org/vocab/lti/v2/variable#CourseTemplate.shortDescription |
CourseTemplate.sourcedId | The LIS identifier for the Course Template. In the LIS Database, this value corresponds to courseTemplateRecord/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#CourseTemplate.sourcedId |
CourseTemplate.title | The title of the Course Template. In the LIS Database, this value corresponds to courseTemplateRecord/courseTemplate/title/textString http://purl.imsglobal.org/vocab/lti/v2/variable#CourseTemplate.title |
Group.email | An email address used for posting messages to members of the group. In the LIS Database, this value corresponds to groupRecord/group/email http://purl.imsglobal.org/vocab/lti/v2/variable#Group.email |
Group.enrollControl.accept | A boolean value that specifies whether the Group is accepting enrollments. In the LIS Database, this value corresponds to groupRecord/group/enrollControl/enrollAccept http://purl.imsglobal.org/vocab/lti/v2/variable#Group.enrollControl.accept |
Group.enrollControl.allowed | A boolean value that specifies whether the Tool Provider can enroll people in the Group. The value In the LIS Database, this value corresponds to groupRecord/group/enrollControl/enrollAllowed http://purl.imsglobal.org/vocab/lti/v2/variable#Group.enrollControl.allowed |
Group.grouptype | A URI that uniquely identifies the type of group. This convention differs from the LIS convention of using a structured object to describe the type of a group. Ideally, the URI should resolve to JSON-LD document that describes the group type. However, any URI that uniquely identifies the group type in accordance with the rules of the grouptype scheme is acceptable. http://purl.imsglobal.org/vocab/lti/v2/variable#Group.grouptype |
Group.longDescription | A long description of the Group. In the LIS Database, this value corresponds to groupRecord/group/description/longDescription http://purl.imsglobal.org/vocab/lti/v2/variable#Group.longDescription |
Group.parentId | An identifier for the parent group within which the target group is nested. In the LIS Database, this value corresponds to groupRecord/group/relationship[relation="Parent"]/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#Group.parentId |
Group.shortDescription | A short description of the Group. In the LIS Database, this value corresponds to groupRecord/group/description/shortDescription http://purl.imsglobal.org/vocab/lti/v2/variable#Group.shortDescription |
Group.sourcedId | The LIS identifier for the Group. In the LIS Database, this value corresponds to groupRecord/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#Group.sourcedId |
Group.timeFrame.begin | The date and time when access to Group resources begins. In the LIS Database, this value corresponds to groupRecord/group/timeframe/begin http://purl.imsglobal.org/vocab/lti/v2/variable#Group.timeFrame.begin |
Group.timeFrame.end | The date and time when access to Group resources ends. In the LIS Database, this value corresponds to groupRecord/group/timeframe/end http://purl.imsglobal.org/vocab/lti/v2/variable#Group.timeFrame.end |
Group.url | The web address of the Group. In the LIS Database, this value corresponds to groupRecord/group/url http://purl.imsglobal.org/vocab/lti/v2/variable#Group.url |
LineItemZZZ.dataSource | An identifier for the original source system of the LineItem record. In the LIS Database, this value corresponds to lineItemRecord/lineItem/dataSource http://purl.imsglobal.org/vocab/lti/v2/variable#LineItemZZZ.dataSource |
LineItemZZZ.resultValue.max | The maximum numeric score that a learner may earn on the assignment associated with this LineItem. In the LIS Database, this value corresponds to resultValueRecord/resultValue/valueRange/max where resultValueRecord.sourcedId = lineItemRecord/lineItem/resultValueSourcedId
|
LineItemZZZ.sourcedId | The LIS identifier for the LineItem In the LIS Database, this value corresponds to lineItemRecord/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#LineItemZZZ.sourcedId |
LineItemZZZ.type | A URI that uniquely identifies the LineItem type. This convention differs from the LIS convention of using a structured object to describe LineItem types. The URI should resolve to a JSON-LD resource that describes the LineItem type. As a best practice the URI should start with a base URL that identifies the LineItemType vocabulary and end with a relative URL for a type within that vocabulary. In the LIS Database, the LineItem type is given by lineItemRecord/lineItem/lineItemType http://purl.imsglobal.org/vocab/lti/v2/variable#LineItemZZZ.type |
LineItemZZZ.type.displayName | The display name for the LineItemType. In the LIS Database, this value corresponds to lineItemTypeRecord/lineItemType/displayName http://purl.imsglobal.org/vocab/lti/v2/variable#LineItemZZZ.type.displayName |
LtiLink.custom.url | The endpoint URL for accessing link-level tool settings. http://purl.imsglobal.org/vocab/lti/v2/variable#LtiLink.custom.url |
Membership.collectionSourcedId | The LIS identifier for the organizational unit (Course Section, Group, etc.) to which the Membership pertains. In the LIS Database, this value corresponds to membershipRecord/membership/collectionSourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#Membership.collectionSourcedId |
Membership.createdTimestamp | The date and time when the membership role was created. If the Person has more than one role within the organizational unit, then this value is a comma separated list corresponding to the roles listed by the Membership.role variable. In the LIS Database, this value corresponds to membershipRecord/membership/member/role/dateTime http://purl.imsglobal.org/vocab/lti/v2/variable#Membership.createdTimestamp |
Membership.dataSource | An identifier for the original source system of the Membership record. In the LIS Database, this value corresponds to membershipRecord/membership/member/role/dataSource http://purl.imsglobal.org/vocab/lti/v2/variable#Membership.dataSource |
Membership.personSourcedId | The LIS identifier for the Person associated with the Membership. In the LIS Database, this value corresponds to membershipRecord/membership/member/personSourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#Membership.personSourcedId |
Membership.role | A comma separated list of roles that the Person has within the organizational unit. In the LIS Database, this value corresponds to membershipRecord/membership/member/role/roleType http://purl.imsglobal.org/vocab/lti/v2/variable#Membership.role |
Membership.sourcedId | The LIS identifier for the Membership. In the LIS Database, this value corresponds to membershipRecord/sourcedId http://purl.imsglobal.org/vocab/lti/v2/variable#Membership.sourcedId |
Membership.status | Indicates if the membership is active or inactive. In accordance with the LIS specification, the value should be either In the LIS Database, this value corresponds to membershipRecord/membership/member/role/status http://purl.imsglobal.org/vocab/lti/v2/variable#Membership.status |
Person.address.country | The country within the user's address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair /[instanceName/text="Country"]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.country |
Person.address.locality | The city, town, or other locality within the user's address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair /[instanceName/text="Locality"]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.locality |
Person.address.postcode | The postal code within the user's address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair /[instanceName/text="Postcode"]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.postcode |
Person.address.statepr | The state or province within the user's address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair/[instanceName/text="Statepr"]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.statepr |
Person.address.street1 | The first line of the user's street address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair /[instanceName/text="NonFieldedStreetAddress1"]/instanceValue /text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.street1 |
Person.address.street2 | The second line of the user's street address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"] addressPart /nameValuePair[instanceName/text="NonFieldedStreetAddress2"] /instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.street2 |
Person.address.street3 | The third line of the user's street address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair /[instanceName/text="NonFieldedStreetAddress3"] /instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.street3 |
Person.address.street4 | The fourth line of the user's street address. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair /[instanceName/text="NonFieldedStreetAddress4"] /instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.street4 |
Person.address.timezone | The user's time zone. In the LIS Database, this value corresponds to personRecord/person/address/[addressType/instanceValue/text="Preferred"]addressPart /nameValuePair /[instanceName/text="Timezone"]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.address.timezone |
Person.email.personal | The user's personal email address In the LIS Database, this value corresponds to person/contactinfo[contactinfoType/instanceValue/text="Email_Personal"]/contactinfoValue /text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.email.personal |
Person.email.primary | The user's primary email address. In the LIS Database, this value corresponds to personRecord/person/contactinfo[contactinfoType/instanceValue/text="Email_Primary"] /contactinfoValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.email.primary |
Person.name.family | The family name of the user. In the LIS Database, this value corresponds to personRecord/person/name/partName[instanceName/text="Family”]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.name.family |
Person.name.full | The full name of the user. In the LIS Database, this value corresponds to personRecord/person/formname/[formnameType/instanceValue/text="Full"] /formattedName/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.name.full |
Person.name.given | The given name of the user. In the LIS Database, this value corresponds to personRecord/person/name/partName[instanceName/text="Given”]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.name.given |
Person.name.middle | The middle name of the user. In the LIS Database, this value corresponds to personRecord/person/name/partName[instanceName/text="Middle”]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.name.middle |
Person.name.prefix | The prefix for the user's name, such as Dr., Mr., Ms. etc. In the LIS Database, this value corresponds to personRecord/person/name/partName[instanceName/text="Prefix”]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.name.prefix |
Person.name.suffix | The suffix for the user's name, such as Jr., II, etc. In the LIS Database, this value corresponds to personRecord/person/name/partName[instanceName/text="Suffix”]/instanceValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.name.suffix |
Person.phone.home | The user's home phone number In the LIS Database, this value corresponds to personRecord/person/contactinfo [contactinfoType/instanceValue/text="Telephone_Home"]/contactinfoValue /text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.phone.home |
Person.phone.mobile | The user's mobile phone number In the LIS Database, this value corresponds to personRecord/person/contactinfo[contactinfoType/instanceValue/text="Mobile"] /contactInfoValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.phone.mobile |
Person.phone.primary | The user's primary phone number In the LIS Database, this value corresponds to personRecord/person/contactinfo [contactinfoType/instanceValue/text="Telephone_Primary"]/contactinfoValue /text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.phone.primary |
Person.phone.work | The user's work phone number. In the LIS Database, this value corresponds to personRecord/person/contactinfo [contactinfoType/instanceValue/text="Telephone_Work"]/contactinfoValue /text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.phone.work |
Person.sms | The number at which the user prefers to receive SMS text messages. In the LIS Database, this value corresponds to personRecord/person/contactinfo[contactinfoType/instanceValue/text="SMS"] /contactinfoValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.sms |
Person.sourcedId | The LIS identifier for the user. In the LIS Database, this value corresponds to http://purl.imsglobal.org/vocab/lti/v2/variable#Person.sourcedId |
Person.webaddress | The user's web address. This could be a facebook address, a blog, or any other web address linked to the user. The value should be a URL. In the LIS Database, this value corresponds to personRecord/person/contactinfo[contactinfoType/instanceValue/text="Web-Address"] /contactinfoValue/text http://purl.imsglobal.org/vocab/lti/v2/variable#Person.webaddress |
ResourceLink.description | A plain text description of the link’s destination, suitable for display alongside the link. http://purl.imsglobal.org/vocab/lti/v2/variable#ResourceLink.description |
ResourceLink.id | This is the local identifier for the resource link within the Tool Consumer system from which the launch occurred. Corresponds to the resource_link_id launch parameter. http://purl.imsglobal.org/vocab/lti/v2/variable#ResourceLink.id |
ResourceLink.title | A plain text title for the resource. http://purl.imsglobal.org/vocab/lti/v2/variable#ResourceLink.title |
Result.autocreate | A lin-item in the tool consumer gradebook can be automatically created for any resource links which use the Basic Outcomes or Result services. http://purl.imsglobal.org/vocab/lti/v2/capability#Result.autocreate |
Result.comment | A comment associated with the outcome which may be made visible to the student. http://purl.imsglobal.org/vocab/lti/v2/variable#Result.comment |
Result.createdTimestamp | The date and time when the Result was created. In the LIS Database, this value corresponds to http://purl.imsglobal.org/vocab/lti/v2/variable#Result.createdTimestamp |
Result.dataSource | An identifier for the original source system of the Result record. In the LIS Database, this value corresponds to resultRecord/result/dataSource http://purl.imsglobal.org/vocab/lti/v2/variable#Result.dataSource |
Result.resultScore | The score that the learner earned on the assignment or activity to which this Result pertains. In the LIS Database, this value corresponds to resultRecord/result/resultScore/textString http://purl.imsglobal.org/vocab/lti/v2/variable#Result.resultScore |
Result.sourcedId | The LIS identifier for the Result resource. In the LIS Database, this value corresponds to http://purl.imsglobal.org/vocab/lti/v2/variable#Result.sourcedId |
Result.status | A URI for the status of the Result. As a best practice, the URI should resolve to a JSON-LD description of the status value or a term in a VDEX file. The vocabulary for Result status values is extensible. The set of standard values includes:
http://purl.imsglobal.org/vocab/lti/v2/variable#Result.status |
Result.url | The URL of the Result resource. Client applications may issue an HTTP request to read, update or delete the resource at this URL. http://purl.imsglobal.org/vocab/lti/v2/variable#Result.url |
ToolProxy.custom.url | The endpoint URL for accessing system-wide tool settings. http://purl.imsglobal.org/vocab/lti/v2/variable#ToolProxy.custom.url |
ToolProxyBinding.custom.url | The endpoint URL for accessing context-level tool settings. http://purl.imsglobal.org/vocab/lti/v2/variable#ToolProxyBinding.custom.url |
User.id | Corresponds to the user_id launch parameterfrom the http://purl.imsglobal.org/vocab/lti/v2/variable#User.id |
User.image | The URL for an image of the user suitable for use as a profile picture or avatar. http://purl.imsglobal.org/vocab/lti/v2/variable#User.image |
User.org | A URI describing the user's organisational properties; for example, an ldap:// URI such as ldap://host.com:6666/uid=user,ou=people,dc=example,dc=com. If more than one format of organisational URI is specified, each should be separated with a space. http://purl.imsglobal.org/vocab/lti/v2/variable#User.org |
User.scope.mentor | A comma-separated list of user ID values which the current user can access as a mentor. Corresponds to the role_scope_mentor launch parameter. http://purl.imsglobal.org/vocab/lti/v2/variable#User.scope.mentor |
User.username | The username that identifies the user within the Tool Consumer system. http://purl.imsglobal.org/vocab/lti/v2/variable#User.username |
Contact information for the associated object.
Properties of class Contact | ||
---|---|---|
email
The email of the primary contact for the associated object.
| normalizedString | 1 |
A learning context, such as a Course Section.
Properties of class Context | ||
---|---|---|
contextId
A unique string provided by the tool consumer to identify the context (as passed in the context_id launch parameter).
| normalizedString | 1 |
lineItem
A LineItem that records results for some learning activity within this context.
| LineItem | * |
lineItems
The container that holds the collection of LineItem resources for this Context. In general, this container is optional. However, if the Context has any associated LineItems, then the container is required. As a best practice, implementations every Context should expose a LineItemContainer to clients, even if it is empty.
| LineItemContainer | 0..1 |
sourcedId
A unique identifier for the context as provisioned by an external system such as an SIS.
| normalizedString | 0..1 |
Properties inherited from Organization |
---|
memberships, name, membership |
Simple Name | Description / URI |
---|---|
embed | http://purl.imsglobal.org/vocab/lti/v2/lti#embed |
frame | http://purl.imsglobal.org/vocab/lti/v2/lti#frame |
iframe | http://purl.imsglobal.org/vocab/lti/v2/lti#iframe |
none | http://purl.imsglobal.org/vocab/lti/v2/lti#none |
overlay | http://purl.imsglobal.org/vocab/lti/v2/lti#overlay |
popup | http://purl.imsglobal.org/vocab/lti/v2/lti#popup |
window | http://purl.imsglobal.org/vocab/lti/v2/lti#window |
This is the abstract base class for objects that have an endpoint such as icons or message handlers.
Properties of class Endpoint | ||
---|---|---|
path
This attribute specifies the path for an endpoint such as a MessageHandler or an Icon. Typically, this path is relative to one of the base URL values defined in a BaseUrlChoice.
In the case of a MessageHandler, the path may be an absolute path if the associated message type explicitly declares that an absolute path is allowed.
| anyURI | 1 |
A resource that can be identified by a code
property. The code property may be globally unique (as in the case of a Vendor resource) or locally unqiue (as in the case of a Product Family, where the code is locally unique within the scope of the parent Vendor resource).
Properties of class HasCode | ||
---|---|---|
code
A unique identifier for the resource.
| Token.Type | 1 |
Enumerates the HTTP methods that can be used when sending a message, as defined by IETF RFC 2616 .
Simple Name | Description / URI |
---|---|
DELETE | http://purl.imsglobal.org/vocab/lti/v2/lti#DELETE |
GET | http://purl.imsglobal.org/vocab/lti/v2/lti#GET |
POST | http://purl.imsglobal.org/vocab/lti/v2/lti#POST |
PUT | http://purl.imsglobal.org/vocab/lti/v2/lti#PUT |
Defines the path for an Icon.
Properties inherited from Endpoint |
---|
path |
Contains information about a graphical icon that may be displayed in the Tool Consumer's user interface.
Properties of class IconInfo | ||
---|---|---|
default_location
Specifies the default path to an icon. The absolute URL is formed by appending this path to the appropriate base URL for icons.
| IconEndpoint | 0..1 |
icon_style
The style of the icon referenced by this IconInfo.
| IconStyle | * |
key
If localization is supported then the 'key' attribute identifies a property in the resource bundle provided in response to the get-bundle-request message. The value of that property is the locale-specific path to the icon.
| Name.Type | 0..1 |
A resource that specifies the style for an Icon.
The LTI standard does not define any particular Icon styles. Each vendor is free to publish its own set of icon styles. A typical style might specify dimensions of the icon or its intended usage. Each IconStyle is uniquely identified by a URI. Ideally, the URI should resolve to a resource that provides a definition of the icon style.This container stores the default display name for some object plus a key that may be used to lookup a translation for the display name from a resource bundle for a particular locale. The string value has a maximum length of 128 characters.
Properties of class LocalizedName | ||
---|---|---|
default_value
The default value for the display name. This value is used if (1) the key attribute is undefined, (2) the localization capability is not enabled, or (3) a value for the specified key is not found in the locale-specific resource bundle.
| LongName.Type | 0..1 |
key
The key used to lookup the locale-specific value from a resource bundle.
| Name.Type | 0..1 |
This container defines a block of text. The container includes a default value for the text, plus a key that can be used to lookup a locale-specific value from a resource bundle.
Properties of class LocalizedText | ||
---|---|---|
default_value
This is the default value for the text. This default value is used if (1) the key is not specified, (2) the localization capability is not enabled, or (3) the specified key is not found in the locale-specific resource bundle.
| Text.Type | 0..1 |
key
If localization is supported then the key identifies a property in the bundle returned by the get-bundle-request message handler.
| Name.Type | 0..1 |
Properties of class LtiLink | ||
---|---|---|
settingsResourceLink
The resource link associated with the settings.
| ResourceLink | 1 |
Properties inherited from ToolSettingsContainer |
---|
custom |
Defines the features of a message handler, including information about the handler's service endpoint and custom parameters that it expects.
Properties of class MessageHandler | ||
---|---|---|
enabled_capability
A capability that is enabled for messages handled by this MessageHandler.
| Capability | * |
message_type
The type of message that can be submitted to the Message Handler.
| MessageType | 1 |
parameter
Specifies a custom parameter that is expected by the MessageHandler.
| Parameter | * |
Properties inherited from Endpoint |
---|
path |
This container holds metadata about a particular type of message. It provides a friendly name (an alias) for the formal Message class name, and it specifies the allowed HTTP methods for Messages of the given type.
Properties of class MessageType | ||
---|---|---|
absolute_path_allowed
Specifies whether the path for this message type is allowed to be specified using an absolute path. A value of "false" means that the MessageHandler must declare a relative path.
| boolean | 0..1 |
http_method
Specifies an HTTP method (POST, GET, PUT, etc.) for the type of messages represented by this MessageType.
| HttpMethod | 1..* |
message_class
This attribute identifies the formal Class definition the type of message that can be delivered to a given MessageHandler.
| Class | 1 |
Defines the characteristics of a parameter expected by a MessageHandler.
Properties of class Parameter | ||
---|---|---|
fixed
Denotes that the value of the parameter is fixed at the time of definition within the product profile. This value must be passed in each message of the associated message type.
| DataValue.Type | 0..1 |
name
The name of the parameter.
| Name | 1 |
variable
Denotes that the parameter has a variable value that is automatically substituted at run-time. The value of this attribute is the name for a variable whose value will be added to the message at run-time.
| VariableName.Type | 0..1 |
A ProductFamily represents the collection of all versions of a particular product over time. Two products that have the same product code belong to the same ProductFamily. The LTI product model has four levels:
ProductFamily
: The collection of all versions of a given product.
ProductInfo
: Encapsulates information about one particular version of a product.
ProductInstance
: Represents one deployed instance of a particular version of a product.
ProductProfile
: Defines a view of a deployed instance of a product. This view may be customized for different integration partners.
Vendor
.
Properties of class ProductFamily | ||
---|---|---|
vendor
The vendor that owns the ProductFamily.
| Vendor | 1 |
version
Encapsulates information about one version of the product.
| ProductInfo | * |
Properties inherited from HasCode |
---|
code |
Encapsulates information about one released version of a product (Tool Consumer or Tool).
Properties of class ProductInfo | ||
---|---|---|
description
This is a description of the product suitable for display to end-users.
| LocalizedText | 0..1 |
instance
A deployed instance of a particular version of a product (Tool or Tool Consumer).
| ProductInstance | * |
product_family
An inverse attribute that references the ProductFamily within which this ProductInfo is defined.
| ProductFamily | 1 |
product_name
A name for the product, suitable for display to end users.
| LocalizedName | 1 |
product_version
This is the version of the product.
| normalizedString | 1 |
technical_description
This is a human readable description of the technical aspects of this product that might be of interest to developers who wish to integrate with this product via LTI.
| LocalizedText | 0..1 |
The resource encapsulates information about one deployed instance of a web-based product (Tool or Tool Consumer).
Properties of class ProductInstance | ||
---|---|---|
guid
A globally unique identifier for the service provider. As a best practice, this value should match an Internet domain name assigned by ICANN, but any globally unique identifier is acceptable.
| GUID.Type | 1 |
product_info
This is metadata about the product described in the profile.
| ProductInfo | 1 |
profile
A resource that presents a view of this ProductInstance to one or more integration partners.
| ProductProfile | * |
service_owner
The entity that owns the services provided by this product instance.
| ServiceOwner | 0..1 |
service_provider
This is the service provider that hosts the deployed product.
| ServiceProvider | 0..1 |
support
Contact information for support on this deployed instance of the product (Tool or ToolConsumer).
| Contact | 0..1 |
A ProductProfile presents an integration view of a deployed instance of some product (Tool or Tool Consumer). It defines the services and other features offered to an integration partner. A profile may be customized for each integration partner or shared with multiple partners.
ProductProfile is the abstract base class for all product profiles. The ToolConsumerProfile and ToolProfile are derived from this base class.
Properties of class ProductProfile | ||
---|---|---|
lti_version
The identifier for an LTI version that the version supports. A given product (Tool or Tool Consumer) may support multiple versions, but only one version is selected for use in the integration contract.
| normalizedString | 1 |
product_instance
An inverse attribute which references the ProductInstance within which this ProductProfile is defined.
| ProductInstance | 1 |
service_offered
The descriptor for a service offered by the product (Tool or Tool Consumer).
| ServiceDescriptor | * |
An abstract class whose properties are defined by the Tool Provider and stored in the Tool Consumer. When represented in JSON-LD, the PropertyMap object typically appears as a plain-old JSON object (though it may have a custom JSON-LD context that defines the semantics for the custom properties). It is a best practice for the values in a PropertyMap to be strings. This best practice may be revised if the development community expresses a desire to support other data types in a PropertyMap.
The set of information for a specific resource handler.
Properties of class ResourceHandler | ||
---|---|---|
description
A description of the service provider, suitable for display to end-users.
| LocalizedText | 0..1 |
icon_info
Provides information about a graphical icon that represents the resource described by this ResourceHandler.
| IconInfo | * |
message
Defines the features of a message handler associated with the resource described by this ResourceHandler.
| MessageHandler | 1..* |
resource_name
The name of the resource handler suitable for display in the TC user interface.
| LocalizedName | 1 |
resource_type
Identifies the type of resource associated with this ResourceHandler. Resource types are identified by a code that is unique within a given ProductFamily.
| ResourceType | 1 |
An LtiLink
represents a link within the Tool Consumer system pointing to a resource within the Tool Provider.
Properties of class ResourceLink | ||
---|---|---|
resourceLinkId
A globally unique identifier for this LTI link.
| GUID.Type | 1 |
This class represents all ResourceHandlers of a given type. Two ResourceHandlers that belong to this set are considered to be different versions of the same ResourceHandler.
Properties of class ResourceType | ||
---|---|---|
resource_type_owner
| ProductFamily | 1 |
Properties inherited from HasCode |
---|
code |
A descriptor for a REST service.
Properties of class RestService | ||
---|---|---|
action
Specifies an HTTP action that is supported at the REST endpoint. A given endpoint may support more than one action. For example, it is common practice for a collection endpoint to accept POST requests, and a different item endpoint to accept GET, PUT, and DELETE requests.
| HttpMethod | 1..* |
endpoint
A URI template that defines the REST endpoint for resources that may be accessed via the REST service. The URI template should conform to the syntax in the proposed IETF standard [draft-gregorio-uritemplate-08].
| anyURI | 1 |
format
The content type (also known as media type) of resources accessed via the endpoint defined by this RestService descriptor. The endpoint of a REST service may support more than one content type if content negotiation is enabled as described in the HTTP 1.1 specification.
| normalizedString | 1..* |
A kind of ServiceProfile specialized for REST services.
Properties of class RestServiceProfile | ||
---|---|---|
action
Specifies an HTTP method (POST, GET, PUT, etc.) which the integration partner intends to use. A RestServiceProfile may include more than one action. However, the set of actions declared in a RestServiceProfile must be a subset of actions declared in the RestService referenced by the
service property. | HttpMethod | 1..* |
Properties inherited from ServiceProfile |
---|
service |
This entity specifies all aspects of the security agreements between Tool Provider and Tool Consumer.
Notice that the security contract distinguishes between tool_service
s and end_user_service
s. A tool_service
is a service that the Tool invokes when acting on its own. By contrast, a end_user_service
is a service that the Tool invokes when acting as an agent for some end user. Consider, for example, the case where a Tool is reporting scores to the Tool Consumer via an outcomes service. When a student submits an assignment, the Tool may calculate a score and post it to the Tool Consumer. In this case the Tool is acting on its own since students generally do not have permission to enter their own scores into a grade book. Now, suppose the Tool exposes a user interface which allows instructors to change a score. In this case, when the Tool posts the modified score to the Tool Consumer grade book, it is acting as an agent for the end user. This example, illustrates that the same service may be referenced as both a tool_service
and a end_user_service
Properties of class SecurityContract | ||
---|---|---|
end_user_service
The profile for a Tool Consumer service that may be invoked by the Tool when acting as an agent for some end user.
| ServiceProfile | * |
This is the shared secret used for communications between the Tool Consumer and the Tool Provider. It is expected that the Tool Consumer present an interface to the administrative user for them to activate the Tool Proxy before this secret is ever used by the Tool Consumer.
The shared secret may be updated when a tool is re-registered (see the reregisterTool operation of the ToolRegistrationService). In addition, the TC and TP should provide interfaces which allow their respective administrators to change the shared secret through an out-of-band agreement.
|
string | 1 |
tool_service
The profile for a Tool Consumer service that may be invoked by the Tool acting on its own (as opposed to acting as an agent for some end user).
| ServiceProfile | * |
This entity defines a profile for a service. It is a "profile" in the sense that it specifies a subset of operations that are declared by the full interface for some service. For example, a profile might list the "read" operations of a service but exclude the "write" operations. This is useful because a product (Tool or TC) might want to offer the read-only operations to a partner, but it might not want to expose write operations. (On the other hand, it is perfectly legitimate for a profile to list all of the operations that are declared in the service interface if desired.) ServiceProfiles are used for four different purposes: (1) they allow a product to advertise the operations that it offers to a partner, (2) they allow a product to declare the operations that it intends to use, (3) they allow a product to advertise the security profiles that are available for service operations, and (4) they allow a product to assert the security profiles that will be used for service operations.
The entity that owns the services provided by a product instance.
Properties of class ServiceOwner | ||
---|---|---|
description
A description of the service owner, suitable for display to end-users.
| LocalizedText | 0..1 |
service_owner_name
The name of the service owner, suitable for display to end users.
| LocalizedName | 1 |
timestamp
A timestamp for the ServiceOwner record. This value is useful for determining which record is most current.
| dateTime | 1 |
A profile for some service that may be invoked by an integration partner. A profile specifies which methods or operations the integration partner intends to use.
Properties of class ServiceProfile | ||
---|---|---|
service
The descriptor for the service that is being profiled.
| ServiceDescriptor | 1 |
This resource represents the service provider that hosts a product (Tool or Tool Consumer).
Properties of class ServiceProvider | ||
---|---|---|
description
A description of the service provider, suitable for display to end-users.
| LocalizedText | 0..1 |
guid
A globally unique identifier for the service provider. As a best practice, this value should match an Internet domain name assigned by ICANN, but any globally unique identifier is acceptable.
| GUID.Type | 1 |
service_provider_name
The name of the service provider, suitable for display to end users.
| LocalizedName | 1 |
support
Contact information for support from a service provider.
| Contact | 0..1 |
timestamp
A timestamp for the ServiceProvider record. This value is useful for determining which record is most current.
| dateTime | 1 |
This container stores the default display name for some object plus a key that may be used to lookup a translation for the display name from a resource bundle for a particular locale. This class is similar to LocalizedName, except that that the string value is limited to 64 characters.
Properties of class ShortLocalizedName | ||
---|---|---|
default_value
The default value for the display name. This value is used if (1) the key attribute is undefined, (2) the localization capability is not enabled, or (3) a value for the specified key is not found in the locale-specific resource bundle.
| ShortName.Type | 0..1 |
key
The key used to lookup the locale-specific value from a resource bundle.
| Name.Type | 0..1 |
application/vnd.ims.lti.v2.toolconsumerprofile+json
Format The profile for a Tool Consumer product.
Properties of class ToolConsumerProfile | ||
---|---|---|
capability_offered
A capability offered by the Tool Consumer to its integration partners.
| Capability | * |
guid
A globally unique identifier for the service provider. As a best practice, this value should match an Internet domain name assigned by ICANN, but any globally unique identifier is acceptable.
| GUID.Type | 1 |
Properties inherited from ProductProfile |
---|
lti_version, product_instance, service_offered |
The profile for a Tool product.
Properties of class ToolProfile | ||
---|---|---|
base_url_choice
Base URLs to use as a prefix to any incomplete URLs specified in the diocument.
| BaseUrlChoice | 1..* |
message
A definition of a message supported by the resource handler.
| MessageHandler | * |
resource_handler
A definition of a resource offered by the tool provider.
| ResourceHandler | * |
Properties inherited from ProductProfile |
---|
lti_version, product_instance, service_offered |
application/vnd.ims.lti.v2.toolproxy+json
Format This entity defines the integration contract between a ToolConsumer and a Tool. It is called a "ToolProxy" because its primary purpose is to provide the ToolConsumer with all of the information needed to embed a given Tool within the ToolConsumer system.
Properties of class ToolProxy | ||
---|---|---|
enabled_capability
A capability that is enabled for messages handled by this MessageHandler.
| Capability | * |
lti_version
The LTI version that governs the integration between the Tool and ToolConsumer.
| token | 1 |
security_contract
The security aspect of an integration contract between two parties.
| SecurityContract | 1 |
tool_consumer_profile
The profile of the Tool Consumer that is participating in the integration governed by this ToolProxy.
| ToolConsumerProfile | 1 |
tool_profile
The profile of the Tool that is participating in the integration governed by this ToolProxy.
| ToolProfile | 1 |
tool_proxy_guid
The globally unique identifier for the ToolProxy (a.k.a. integration contract).
| GUID.Type | 1 |
Properties inherited from ToolSettingsContainer |
---|
custom |
A ToolProxyBinding
associates a ToolProxy with a learning Context (such as a Course Section). This association must be established before the corresponding Tool can be used within the Context. The ToolProxyBinding
also serves as a container that holds tool settings associated with the learning Context.
Properties of class ToolProxyBinding | ||
---|---|---|
context
The learning Context associated with this
ToolProxyBinding . | Context | 1 |
Properties inherited from ToolSettingsContainer |
---|
custom |
ToolSettingsContainer
is the base class for all resources that encapsulate tool settings.
Properties of class ToolSettingsContainer | ||
---|---|---|
custom
A collection of custom properties defined by the Tool Provider and stored in this ToolSettingsContainer.
| PropertyMap | 0..1 |
A person or agency that offers products to the market. The key types of products relevant to LTI are Tools (which are described by Tool Profiles) and Tool Consumers (which are described by Tool Consumer Profiles).
Properties of class Vendor | ||
---|---|---|
contact
Contact information for this Vendor.
| Contact | 0..1 |
description
This is a human-readable description of the Vendor.
| LocalizedText | 0..1 |
product
A group of related products offered by the Vendor. All of the products within a given product family are different versions of the same product. A vendor may have multiple product families. For example, the same vendor might offer a discussion forum tool and also a white board tool. Each of these tools corresponds to a different product family. | ProductFamily | * |
timestamp
A timestamp for the Vendor record. This value is useful for determining which record is most current.
| dateTime | 1 |
vendor_name
Defines a human readable name for the Vendor. The name should be suitable for display in management screens within the Tool Provider system.
| LocalizedName | 1 |
website
This is the URL of the vendor.
| anyURI | 0..1 |
Properties inherited from HasCode |
---|
code |
Title: | LTI Core |
---|---|
Editor: | Stephen Vickers (IMS Global) |
Version: | 2.0 |
Version Date: | 10 September 2015 |
Release: | Final Release |
Status: | IMS Final Release |
Purpose: | This document is made available for review and comment by the public community at large. |
The following list of individuals contributed to the authoring of this document:
Craig Dunk | D2L | Padraig O'hiceadha | HMH |
Viktor Haag | D2L | Charles Severance | IMS Global |
Brad Humphrey | Instructure | Colin Smythe | IMS Global |
Greg McFall | Pearson | Matt Stoelting | Cengage |
Mark McKell | IMS Global | John Tibbetts | Vitalsource |
Bracken Mosbacker | Lumen Learning | Claude Vervoort | Cengage |
Lance Neumann | Blackboard | Stephen Vickers | IMS Global |