IMS Final Release

LTI Core

Final Release
Date Issued: 10 September 2015
Latest version: http://www.imsglobal.org/lti

Table of Contents


1. BaseUrlChoice

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

2. BaseUrlSelector

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..*

3. Capability

Direct Known Subtypes:
Variable, OutcomesCapability, MessageType

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.

Known Instances:
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 false indicates that only the source system can enroll people.

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 false indicates that only the source system can enroll people.

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

http://purl.imsglobal.org/vocab/lti/v2/variable#LineItemZZZ.resultValue.max
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 Active or Inactive. If the Person has more than one role within the organizational unit, then this value is a comma separated list, where the values are ordered in correspondence with the roles named by the Membership.role variable.

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 personRecord/sourcedId

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://www.imsglobal.org/lis/omsv1p0/statusofresultvocabularyv1p0#Unmoderated
  • http://www.imsglobal.org/lis/omsv1p0/statusofresultvocabularyv1p0#Tobemoderated
  • http://www.imsglobal.org/lis/omsv1p0/statusofresultvocabularyv1p0#Pending
  • http://www.imsglobal.org/lis/omsv1p0/statusofresultvocabularyv1p0#Completed

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 LaunchMixin class. This is the local identifier for the user within the Tool Consumer system.

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

4. Contact

Contact information for the associated object.

Properties of class Contact
email
The email of the primary contact for the associated object.
normalizedString 1

5. Context

Direct Known Supertypes:
Organization

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

6. DocumentTarget

Known Instances:
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

7. Endpoint

Direct Known Subtypes:
MessageHandler, IconEndpoint

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

8. HasCode

Direct Known Subtypes:
ResourceType, Vendor, ProductFamily

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

9. HttpMethod

Enumerates the HTTP methods that can be used when sending a message, as defined by IETF RFC 2616 .

Known Instances:
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

10. IconEndpoint

Direct Known Supertypes:
Endpoint

Defines the path for an Icon.

Properties inherited from Endpoint
path

11. IconInfo

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

12. IconStyle

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.


13. LocalizedName

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

14. LocalizedText

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

Direct Known Supertypes:
ToolSettingsContainer
Properties of class LtiLink
The resource link associated with the settings.
ResourceLink 1
Properties inherited from ToolSettingsContainer
custom

16. MessageHandler

Direct Known Supertypes:
Endpoint

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

17. MessageType

Direct Known Supertypes:
Capability

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

18. Parameter

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

19. ProductFamily

Direct Known Supertypes:
HasCode
Known Uses:

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:

  1. ProductFamily: The collection of all versions of a given product.
  2. ProductInfo: Encapsulates information about one particular version of a product.
  3. ProductInstance: Represents one deployed instance of a particular version of a product.
  4. ProductProfile: Defines a view of a deployed instance of a product. This view may be customized for different integration partners.
Notice that the ProductFamily sits at the top of the product hierarchy. Each product family is owned by a 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

20. ProductInfo

Known Uses:

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

21. ProductInstance

Known Uses:

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

22. ProductProfile

Direct Known Subtypes:
ToolProfile, ToolConsumerProfile
Known Uses:

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 *

23. PropertyMap

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.


24. ResourceHandler

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

26. ResourceType

Direct Known Supertypes:
HasCode
Known Uses:

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

27. RestService

Direct Known Supertypes:
ServiceDescriptor

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..*

28. RestServiceProfile

Direct Known Supertypes:
ServiceProfile

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

29. SecurityContract

This entity specifies all aspects of the security agreements between Tool Provider and Tool Consumer.

Notice that the security contract distinguishes between tool_services and end_user_services. 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 *
shared_secret
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 *

30. ServiceDescriptor

Direct Known Subtypes:
RestService

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.


31. ServiceOwner

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

32. ServiceProfile

Direct Known Subtypes:
RestServiceProfile

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

33. ServiceProvider

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

34. ShortLocalizedName

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

35. ToolConsumerProfile

Direct Known Supertypes:
ProductProfile
See Also:

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

36. ToolProfile

Direct Known Supertypes:
ProductProfile

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

37. ToolProxy

Direct Known Supertypes:
ToolSettingsContainer
See Also:

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

38. ToolProxyBinding

Direct Known Supertypes:
ToolSettingsContainer

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

39. ToolSettingsContainer

Direct Known Subtypes:
LtiLink, ToolProxyBinding, ToolProxy
See Also:

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

40. Vendor

Direct Known Supertypes:
HasCode

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

About this Document

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.

List of Contributors

The following list of individuals contributed to the authoring of this document:

Craig DunkD2LPadraig O'hiceadhaHMH
Viktor HaagD2LCharles SeveranceIMS Global
Brad HumphreyInstructureColin SmytheIMS Global
Greg McFallPearsonMatt StoeltingCengage
Mark McKellIMS GlobalJohn TibbettsVitalsource
Bracken MosbackerLumen LearningClaude VervoortCengage
Lance NeumannBlackboardStephen VickersIMS Global