Forum Discussion
Delay Learner Through Course
If your LMS supports delayed release (1), use four separate courses. If the LMS supports prerequisites and availability dates (2), use those features instead. If you must deliver the training as a single Storyline course, using SCORM suspend data timestamps (3) is a viable approach.
Avoid localStorage-only solutions for compliance or mandatory training. If your LMS does not support either option 1 or 2, then you can consider option 3.
Option 3:
The overall workflow is straightforward. The learner completes Lesson 1, the course stores a completion timestamp, the learner exits the course, and when they return later Storyline reads the saved timestamp. If the required time period has passed, the next lesson becomes available.
This solution requires a few Storyline variables and some JavaScript. As Storyline variables change, their values are written to SCORM suspend data during LMS commits and restored when the learner resumes the same attempt. Because the timestamp is stored by the LMS rather than the browser, the delay can continue correctly even if the learner clears their browser cache, changes browsers, or resumes the course from a different computer.
The main limitation is that the learner must resume the same LMS attempt and the LMS must preserve suspend data between sessions. If a new attempt is started or the learner's progress is reset, the stored timestamps will also be reset.
See the attached video demonstrating a mockup of this solution as tested on ScormCloud. Example: if the learner exits the course with 50 seconds remaining, the timer continues running in the background. When the course is relaunched, the countdown reflects the elapsed time rather than restarting from where it previously stopped. The timer is not literally "running in the background" while the course is closed. What actually happens is:
- The course saves the completion timestamp.
- The LMS stores that timestamp in suspend data.
- When the learner returns, the course compares the saved timestamp with the current time.
- The remaining time is recalculated.
From the learner's perspective, however, it behaves exactly as if the timer continued running while the course was closed. In this example, I used a 1-minute delay for testing purposes, but it can easily be changed to whatever duration is required.
Related Content
- 1 year ago