AL: Content Launch
CMI5 / XAPI (2016)
https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md
Course structure
Course contains Blocks - collection of AU in a logical grouping
Blocks contain Assignable Units (AU) - unit of tracking and management of learning content
Blocks may contain other Blocks
Activity: granular from an AU down to a specific interaction
Data Models
State
activityId, AU id, agent, registration id
launchMode: normal | browse |review
launchParameters
masteryScore
returnURL
moveOn: Completed | Passed | CompletedAndPassed | CompletedOrPassed | NA
Agent Profile: (language and audio) preferences of learner
Course Structure
Course: id, title, description
Block: id, title, description, objectives
Objective: id, title, description
AU:
id, title, description, objectives
activityType, entitlementKey
launchMethod, launchParameters, url
masteryScore, moveOn
Statements
Actor
Type: Agent, with "account"
Verbs
Initialized, Terminated
Passed, Failed
Completed, Satisfied, Waived
Object
Satisfied: AU, Block, or Course
Other verbs: always AU
Launch
LMS launches AU, providing URL and auth info for connecting to an LRS
LTI v1.1.1 (2012)
http://www.imsglobal.org/specs/ltiv1p1p1/implementation-guide
Terminology
Tool Consumer (TC) - LMS that's embedding the TP's resource
Tool Provider (TP) - External system - could be another LMS - that is hosting the resource
Context - general term for course, project, group, etc.
urn:lti:context-type:ims/lis/CourseTemplate
urn:lti:context-type:ims/lis/CourseOffering
rn:lti:context-type:ims/lis/CourseSection
urn:lti:context-type:ims/lis/Group
resource_link_id - identifier of TC's resource
context_id - identifier of TP's context
Credentials
TC-wide TP domain-specific credential
TC-wide TP url-specific credential
LTI-link-specific credential
IMS Learning Information Service can be used as a backend service to provide additional data between TC and TP.
TC sends LIS key to TP in launch sequence
Score routing
TC includes the service endpoint for the LIS Basic Outcomes Service and the lis_result_sourcedid to allow the TP to make service calls to set, read, and delete scores.
Server-to-server call - can by async and trusted.
Fields
Can add any extensions if prefixed with "ext_".
headers
lti_message_type=basic-lti-launch-request
lti_version=LTI-1p0
resource
resource_link_id: Must be unique per usage of the resource in the TC.
resource_link_title, [resource_link_description]
user
user_id - non-identifable, primary-key, not logical key
[user_image]
roles: list of LIS URNs for roles
lis_person_name_[given|family|full], lis_person_contact_email_primary
context
context_id, [context_type], context_title, context_label
presentation
launch_presentation_locale=en-US, launch_presentation_document_target=iframe|window
launch_presentation_css_url, launch_presentation_width, launch_presentation_height
launch_presentation_return_url: where to go after TP completes
tool consumer
tool_consumer_info_product_family_code=learn|desire2learn|sakai|eracer|olat|webct
tool_consumer_info_version
tool_consumer_instance_guid, tool_consumer_instance_name, [tool_consumer_instance_description], [tool_consumer_instance_url], tool_consumer_instance_contact_email
custom key-value pairs requested by TP as custom_keyname
LIS services for communicating "outcomes"
lis_result_sourcedid: unique value for the tuple (context_id, resource_link_id, user_id) to pass back scores to a grade book. Value may change between launches.
lis_outcome_service_url: URL for outcome service; shouldn't change between launches.
[lis_person_sourcedid], [lis_course_offering_sourcedid], [lis_course_section_sourcedid]
Basic Outcomes Service
XML
grade: 0.0 - 1.0
replaceResult (lis_result_sourcedid, score)
readResult (lis_result_sourcedid)
deleteResult (lis_result_sourcedid)
See summary slides in Architecture onboarding presentation
LTI v2 (2014)
https://www.imsglobal.org/lti-v2-introduction
in addition to embedding tool, support for adaptive and general-purpose tools.
https://www.imsglobal.org/specs/ltiv2p0/implementation-guide
Introduces concept of "tool proxy".
Allows REST calls between services.
https://mfeldstein.com/ims-failed-lti-2-0/
IMS may be discouraging the use of LTI v2.