adlnet/xAPI-SCORM-Profile

Store SCO attempts in Activity Profile

creighton opened this issue · 9 comments

To make it easier to figure out the number of attempts on an Activity and to remove semantic meaning from the URI, update the Activity State attempts property with a new attempt IRI.

ex.
New Attempt

  • generate new attempt IRI (possibly like how it's already described in this doc)
  • get the Activity State for this Activity
  • add the new attempt IRI to the end of the 'attempts' array property in the profile
  • save the profile to the LRS
  • add the new attempt IRI to the context activities grouping array for all statements in this attempt

In Activity Profile put

  • comments_from_lms
  • completion_threshold
  • launch_data
  • max_time_allowed
  • scaled_passing_score
  • time_limit_action

In Activity<->UserID - Activity State put

  • attempts (array of uris)

In Attempt <-> UserID - Activity State put

  • location
  • preferences ---> preference object (also in Agent Profile for default settings)
  • credit
  • mode
  • suspend_data
  • total_time
  • adl_data

FYI, the Moodle launch plugin does something similar, where a list of attempts for a user is stored in the state API: https://github.com/garemoko/moodle-mod_tincanlaunch/blob/master/tincanlaunch/view.php#L103

Good to know Andrew. Thanks

add attempt-state id, since activity-state document is different from attempt-state

activity-state: http://adlnet.gov/xapi/profile/scorm/activity-state
attempt-state: http://adlnet.gov/xapi/profile/scorm/attempt-state

In what will be "attempt state", need to update "lesson_mode" to "mode" in order to standardize on the SCORM 2004 terminology. "lesson_mode" was SCORM 1.2 and other elements used adhere to the SCORM 2004 convention. Change "lesson_mode" to "mode" in state object.

In the agent profile and state object (for an attempt, not activity)... you have the name of the data model element as "preference". Is it more correct as "preferences" since its an object with multiple user preference values?

This could be an xAPI spec issue rather than a SCORM profile issue so I've raised it above.

i believe all of this is in the new pull request #30