AL: Content Launch

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

 

note over LMS: learner authenticates as actor A loop Blocks loop AUs LMS -> LRS: State API (AU_id, session_id, agent=A, registration=A_enrollment, masteryScore=10, moveOn=Passed) LMS -> LRS: Launched (AU_id, session_id, launchURL, launch_mode=Normal, moveOn=Passed) alt learner Waived from the AU LMS -> LRS: Waived (AU_id, session_id, reason=Tested Out | Equivalent | Administrative) else learner needs to Complete the AU LMS -> AU: launch?endpoint=LRS &fetch=fetch_url &actor=A & registration=A_enrollment & activityId=AU_id AU -> LMS: POST fetch_url LMS -> AU: auth_token AU -> LRS: Initialized, auth_token AU -> LRS: Completed, auth_token AU -> LRS: Passed OR Failed, score, masteryScore, auth_token alt learner's session closes AU -> LRS: Terminated, auth_token else learner's session times out LMS -> LRS: Abandoned end end end LMS -> LRS: Satisfied(Block_id) end LMS -> LRS: Satisfied(Course_id)

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

      1. TC-wide TP domain-specific credential

      2. TC-wide TP url-specific credential

      3. 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)

  • See summary slides in Architecture onboarding presentation

 

LTI v2 (2014)