H5P.BranchingScenario, raw_score greater than max_score

Michael Dajewski's picture

While testing BranchingScenario to see if the max score can be different for different branches I have found the case where raw score is greater than max score. This is out of the xAPI specs. 
Please see attached H5P file.
In my feeling it deals with the setting different score for end scren and changing the static to dynamic score. 

Steps to reproduce issue: 

  1. 'Start learning'
  2. 'Next'
  3. 'Western art'
  4. 'Next'
  5. 'Renaissance'
  6. 'Next'
  7. 'Leonardo da Vinci'
  8. 'Next'
  9. 'Next'
  10. 'Learn more about another Renessaince painter'
  11. 'Michelangelo'
  12. 'Next'
  13. 'Next'
  14. 'Finish the course'

Completed aAPI event statement: 

{actor: {…}, verb: {…}, object: {…}, context: {…}, result: {…}}
actor: {name: "admin", mbox: "mailto:[email protected]", objectType: "Agent"}
context: {contextActivities: {…}}
object: {id: "http://elc-dev:8888/wp-admin/admin-ajax.php?action=h5p_embed&id=58", objectType: "Activity", definition: {…}}
completion: true
duration: "PT317.78S"
max: 20
min: 0
raw: 30
scaled: 1.5
verb: {id: "http://adlnet.gov/expapi/verbs/completed", display: {…}}


Best regards, 



Content types: 
otacke's picture

Hi Michael!

I agree, that's weird (not only in xAPI). The solution would be simple, but the H5P core team would have to decide whether the max score should be increased to match the actual score or if the score should be capped at the max score.


Michael Dajewski's picture

Found related issue HFP-2918
The example that I did provide I have added custom end scenario for Migielangelo. 
The question is if max score returned in xAPI statement will be calculated from the branch (path) the student took or sum of all branches. 

In the 1st case it may be possible each end scenario will return different max score. 
The completion xAPI statement should include info on which end scenario was taken so it can be saved in results table as separate result - even though the content ID is the same. 
The xAPI specs do provide room for above situation, but it would require changes in H5P core. 

Best regards,