CMI 5 Working Group Meeting Minutes – September 23rd, 2016 - AICC/CMI-5_Spec_Current GitHub Wiki

cmi5 Working Group Meeting Minutes – September 23rd, 2016

Attendees

  • Bill McDonald - cmi5 working group leader
  • Andy Johnson - ADL
  • Jason Haag - ADL
  • Art Werkenthin - RISC
  • Henry Ryng - inXsol
  • Christopher Thompson - Medcom Inc
  • David Pesce - Exputo
  • Dennis Hall - eLearning Templates
  • Amanda Bond - COAR
  • Giovanni Sorrentino - E-CO e-Learning Studio
  • Ray Lowery - Pratt & Whitney

Notes

The group did not meeting the previous week (Sept 16, 2016) due scheduling issues with ADL personnel.

This week the group continued to discuss cmi5 conformance testing.

cmi5 conformance Testing

LMS Testing

  1. LMS must be XAPI/LRS Conformant – (ADL is developing test suite software for this)

    • LMS vendor provides endpoint & creds to LRS
    • Direct test suite to LRS communication Rest API only
    • No client side installs
    • Test for this would be independent of LMS interface
  2. LMS must able to import a cmi5 course structure

    • The LMS MUST support course structures containing more than 1000 AUs
    • Reject no-conformant course structures
    • LMS conform to cmi5 launch (Launch Test)
      • Check for Previous abandoned session (see session mgt test scenarios)
      • Launch Statement (written to LRS before actual launch)
      • Write to State API (written to LRS before actual launch)
      • Launch Mechanism
        • All launch params (LRS end-point, actor, registration, activityID, fetchURL)
        • Implement Fetch URL
        • Verify POST method
        • Verify Launch Window (ownWindow or anyWindow) is correct based on course structure
  3. Reject multiple calls to Fetch URL (LMS receives message = 1st use)

    • Verify error codes are properly returned for each error condition.
  4. LMS conform to session management:

    • LMS must not allow AU to void statements
    • LMS must either reject or void statements that conflict with the cmi5 "Statement API"
    • All JSON properties included with non-null values MUST be recorded in the LRS.
    • Test Scenarios:
      • Abandoned – launch AU and abnormally terminate. Verify that the LMS writes an Abandoned statement in response to the learner launching another AU for the same registration. (Test suite may need a secondary monitor to check LRS statements with higher user credentials)
      • MoveOn (NotApplicable, PassAndCompleted, Passed, Completed) – Launch AU, set status, exit, verify that Satisfied
  5. Per Test Suite Course structure with Blocks. Block with one AU, Block with mixed AU’s (with met and un met moveOn),

  6. Test Course Structure (whole structure) with all criteria met.

  7. LMS must conform to course structure rules

    • Must write satisfied statement for Block and Course completion
    • “MoveOn” ? – Verify that Satisfy Statements are written for given Move Criteria
    • AnyWIndow / OwnWindow

Content Testing

  1. AU conform to cmi5 launch (Launch Test)
    • Parse Launch Parameters
    • Call Fetch URL and get Auth Token
      • If HTTP Error occurs – retry
      • If error out – then close
    • Read from State API
    • Read Agent Profile
    • Write Initialized Statement
      • Use Context Template (retrieved from StateAPI)
    • Write optional statements (conforming manner)
      • cmi5 Defined
      • cmi5 Allowed
      • Use Context Template (retrieved from StateAPI)
    • Write Terminate Statement
      • Use Context Template (retrieved from StateAPI)

Test Suite Design Considerations

  • LMS/LRS – to for testing content/authoring
  • Content – matching examples
  • Content – Course structure – relative and hosted content URLS
  • Content – cmi5 content simulator
    • Random Timing

Best Practices

The following are new cmi5 Best Practices proposed as a result of compliance testing discussions:

  • The Fetch URL Should be unique for each session
  • Don’t recycle Auth tokens returned from Fetch URL
  • moveOn criteria NotApplicable should not be used in a course structure unless the AU is strictly optional. (a known problem with the default moveOn value.)
  • Always specify a MoveOn Criterion in the course structure for each AU.

All Previous CMI-5 Meeting Minutes

https://github.com/AICC/CMI-5_Spec_Current/wiki

CMI-5 on GitHub:

https://github.com/AICC/CMI-5_Spec_Current

⚠️ **GitHub.com Fallback** ⚠️