Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why don't we have predefined verb for posting intermediate progress statement for xAPI statements? #1095

Open
apekshajha opened this issue Jun 4, 2020 · 12 comments

Comments

@apekshajha
Copy link

SumTotal is an LMS which has integrated with many content providers and import their content in our LMS. We are using xAPI to interact with the content providers to exchange details like start , completion and the score of the content. Our customers also want us to capture the
intermediate progress for content
Proposed Solution:
Have a standardized verb like 'Completed' to capture the intermediate progress percentage for content so that every provider do not define their own extension to capture the same

@creighton
Copy link
Contributor

creighton commented Jun 4, 2020 via email

@aaronesilvers
Copy link
Contributor

aaronesilvers commented Jun 4, 2020 via email

@aaronesilvers
Copy link
Contributor

aaronesilvers commented Jun 4, 2020 via email

@creighton
Copy link
Contributor

creighton commented Jun 4, 2020 via email

@aaronesilvers
Copy link
Contributor

aaronesilvers commented Jun 4, 2020 via email

@apekshajha
Copy link
Author

In this scenario, content is played in a different environment and the data is captured in a third-party environment. Data is being communicated between two systems through the xAPI statements.

@jono-poltrack
Copy link
Contributor

Hi there. What Tom mentions above should work for you. He wasn't suggesting to use SCORM -- he was suggesting the xAPI SCORM Profile way of doing things, which is xAPI. There is a small para and an example of how to handle a certain amount of progress using the http://adlnet.gov/expapi/verbs/progressed verb and result.score.scaled to indicate the progression.
You could also coin an extension as Aaron mentioned for this measure, but if it is 0-100 (or 0 to 1 actually), this approach would work just fine

@apekshajha
Copy link
Author

As majority of the LMSs depend on "result" node to identify the Completion status for a course, instead of depending on verbs or extensions, is it possible to standardize structure of "result" to have a placeholder for "Progress%"

@apekshajha apekshajha reopened this Jun 9, 2020
@brianjmiller
Copy link
Contributor

FWIW cmi5 as a profile handles progress, score, and completion as well as the session mechanics (launched, initialized, terminated). It is a lighter weight specification than the ADL SCORM Profile (since it doesn't attempt to hit SCORM parity), see https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md#9551-progress and also provides for standardized packages, launch process, and typically better security on authentication than the original Tin Can launch guidelines.

@aaronesilvers
Copy link
Contributor

aaronesilvers commented Jun 14, 2020 via email

@garemoko
Copy link
Contributor

+1 for using cmi5

@brianjmiller
Copy link
Contributor

As majority of the LMSs depend on "result" node to identify the Completion status for a course, instead of depending on verbs or extensions, is it possible to standardize structure of "result" to have a placeholder for "Progress%"

First, to be clear, it is possible, but I would offer it is unlikely. For a number of reasons:

  • Leveraging the result.completion property to identify "Completion" is also arguably a wrong interpretation of the xAPI specification's use of said property (in so far as you can infer semantic meaning of such outside of a use case within a specific profile at all) because it breaks the intention of a statement as being an isolated piece of data. result.completion should indicate that the thing marked by this statement is completed, not necessarily that the experience or even the object is completed. To derive that type of semantic meaning you would need a profile that has defined it as such, and based on work done on cmi5 and other profiles the concept of "completion of an experience of an object" is better codified using a verb indicating such rather than solely relying on the result object for any given single statement.
  • Adding a defined property like this to an existing xAPI object (such as Result) is a breaking change and could only be considered in the context of a major version bump of the specification. It is the reason why extensions were added into the objects defined in the specification to begin with, because there was no way to anticipate what additional pieces of information might be needing to be captured in a statement.
  • The concept of "progress" is very difficult to define itself, even within a profile such as cmi5 it was a difficult thing to nail down. "Progress" in a statement result for instance would indicate "progress" towards a goal for a given statement? object? experience? registration? etc. The concept of "progress" was originally in the Tin Can API 0.9 specification (as an inProgress property which was boolean in nature) and was intentionally removed because it proved to be to problematic to keep.
  • It is difficult to claim that the "majority of LMSs" do anything, but if you restrict that to only LMSs that have an xAPI implementation then it might hold true, but xAPI isn't really intended to be framed for the LMS use case. As a communication and data protocol (only) it has seen adoption well beyond the LMS, so catering to that specific concept is outside of the scope of this specification and is better catered to in something like cmi5 which is intentionally developed for the LMS use case.

(Note: these are largely my opinions and/or interpretations. The existence of inProgress in the 0.9 specification is about the only fact above.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants