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
- State
- Statements
- Actor
- Type: Agent, with "account"
- Verbs
- Initialized, Terminated
- Passed, Failed
- Completed, Satisfied, Waived
- Object
- Satisfied: AU, Block, or Course
- Other verbs: always AU
- Actor
- Launch
- LMS launches AU, providing URL and auth info for connecting to an LRS
- Course structure
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
- security
- 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)
- Terminology
- 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.