Cory Shain
Best way to report partial user progress to LMS
by Cory Shain - Monday, 18 May 2015, 8:22 PM
 

I have an Adapt course that contains a lot of content and has no real need for assessment. We're essentially using it as a resource clearinghouse on a particular topic. However, I would like to be able to track how much of it a user has completed/viewed and report this percentage as a grade to the LMS, and then set a pass-fail threshold (so, you pass if you've looked at 50% or more of the components with pageLevelProgress enabled, fail otherwise). I haven't found a great way of doing this so I'm reaching out for suggestions.

It doesn't look like direct SCORM reporting of percent complete is possible (?), so the alternative I was pursuing was to insert little assessments in each page, the grades from which would then be sent as scores to the LMS. However, I've been getting some surprising results with this approach. For example, "_isAssessmentPassed" sets to "true" as soon as ANY of the assessments is passed. And more importantly, no grade is sent to the LMS until ALL assessments have been attempted. Since my goal is to track completion progress, it's essential to be able to send scores incrementally to the LMS as assessments are completed, with unattempted assessments defaulting to 0/failure.

Does anyone have suggestions as to how to do what I'm trying to do?

Picture of Matt Leathes
Re: Best way to report partial user progress to LMS
by Matt Leathes - Tuesday, 19 May 2015, 10:01 AM
 

Hi Cory

The current assessment plugin only allows for one assessment per SCO - because SCORM only allows for one score per SCO.

Kineo have been working on a more advanced version - I'm pretty sure the plan is to focus on getting this updated, upgraded, documented and out to the community once we've got v2 of the framework out.

However I would do what you're after by hacking in the contrib-spoor extension. If you look at the function persistSuspendData you'll see that it's storing a series of binary values that represents how many blocks have been completed in the course i.e. a string 111111000000 means that the user has completed the first 6 blocks but not the last six and therefore has completed 50% of the course.

My only warning would be that many LMSes treat 'passed' and 'failed' as being the same as 'completed'. Some will therefore remove a course from your list of active courses once passed/failed/completed is set. Some might automatically generate a new attempt, so the next time the user goes in it's as if they're starting the course for the first time again.