Forum Discussion
Delay Learner Through Course
Is there a way to delay a learner's ability to take lessons or courses? I have a safety course, but my company demands that the learner take the course over 4 days time. So can I either create 1 course with 4 lessons and have the lessons delay 24 hours (or, say, 16 hours) for each lesson? Or 4 courses where you have a prerequisite and a delay?
3 Replies
- JudyNolletSuper Hero
You need to talk to your LMS team to determine if it's possible to set up 4 separate courses and assign them in order with a delay in-between.
I vaguely recall an old discussion that mentioned using JavaScript to unlock parts of a single course on different days. (Alas, I can't help with that.) That option would allow you to develop and assign just one course.
In either case, be sure it's clear to the users that they'll need 4 separate sessions to complete the material.
- AndrewBlemings-Community Member
I'm in agreement with Judy. An LMS is designed in large part with exactly this in mind, the scheduled assignment of learning content at appropriate times.
It is possible to use JavaScript to both determine the date as well as have the course gate content based on that date, but best I know it would require putting a cookie on the user's computer. It could handle multiple users on one computer depending on how the cookies are setup, but if anyone (including IT) clears the cookies, everyone not finished would lose their progress.
- NedimCommunity Member
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