Skip to main content
DMatheis
Participant
December 29, 2015
Question

I am using Captivate 9 and would like to add a time spent variable on the quiz so that it reports the value in my LMS (ExpertusOne).

  • December 29, 2015
  • 1 reply
  • 224 views

Does anyone have experience with ExpertusOne reports?  I used the following below but it is not reporting back in Expertus.  The value in Expertus is 00:00:00.  Thanks for your help.

Define three user variables - StartTime, EndTime and Duration.
At the start of the quiz ('On Slide Enter' of the first Question Slide). have an advanced action with the following actions.
Assign: StartTime with cpInfoElapsedTimeMS
Continue
At the end of the quiz ('On Success' or 'On Failure' of the last Question Slide or 'On Slide Enter' of Result Slide), have this advanced action.
Assign: EndTime with cpInfoElapsedTimeMS
Expression: Duration = EndTime - StartTime
Expression: Duration = Duration / 1000
Continue

The variable 'Duration' will have the time taken by the user for the Quiz in seconds.


This is the SQL information on the report in ExpertusOne which isn't reporting a value.


SELECT

temp.title "Course Title",

temp.code "Course Code",

cls.title "Class Title",

cls.code "Class Code",

per.full_name "Learner Name",

IFNULL(cmap.max_attempts,'') "Max Attempts",

detail.attempt_number "Attempt Number",

IFNULL(spli.name,'') "Attempt Status",

detail.attempt_date "Attempt Date",

detail.time_spend "Time Spent",

attend.total_attempts "Total Attempts by Learner",

IFNULL(spli1.name,'') "Class Registration Status",

IFNULL(spli2.name,'') "Class Completion Status"

FROM

slt_course_template temp

INNER JOIN slt_course_class cls ON temp.id=cls.course_id

INNER JOIN slt_enrollment enroll ON enroll.course_id=temp.id AND enroll.class_id=cls.id

INNER JOIN slt_person per ON per.id=enroll.user_id

INNER JOIN slt_course_content_mapper cmap ON cmap.course_id=temp.id AND cmap.class_id=cls.id

INNER jOIN slt_content_version cv ON cv.content_master_id=cmap.content_id

INNER JOIN slt_attendance_summary attend ON attend.user_id=per.id AND attend.course_id=temp.id AND attend.content_version_id = cv.id AND attend.class_id=cls.id AND attend.enrollment_id=enroll.id

LEFT JOIN slt_attendance_details detail ON attend.user_id=per.id AND detail.course_id=temp.id AND detail.class_id=cls.id AND detail.enrollment_id=enroll.id

AND detail.lesson_id=attend.lesson_id

LEFT JOIN slt_profile_list_items spli on spli.code=detail.status

LEFT JOIN slt_profile_list_items spli1 on spli1.code=enroll.reg_status

LEFT JOIN slt_profile_list_items spli2 on spli2.code=enroll.comp_status

WHERE 1=1

ORDER BY attend.user_id,attend.course_id,attend.class_id,attend.lesson_id

This topic has been closed for replies.

1 reply

TLCMediaDesign
Inspiring
December 30, 2015

You need to send a SCORM call to get the value into the LMS. Execute the following JavaScript.

Use this function for SCORM 1.2, the argument you pass in is in the millisecond format,

var myTime = window.cpAPIInterface.getVariableValue('your_variable');

SCORM_SaveTime(myTime);