7 Replies
Ned Whiteley

Hi Ashley,

In the attached example, I have created a counter, which consists of a small box moving along a motion path for 30 seconds (unfortunately the system only allows a maximum of 59 seconds and so for ease of calculation I have set it to 30). When it gets to the end of its path it adds 0.5 to a variable called Counter and then repeats the animation. As a result, every minute the slide is displayed is represented by one count on the Counter variable.

Although the slide's timeline ends after 5 seconds, the Jump to Next Slide is completed when the Counter variable changes. The value that you set in the condition of that trigger (i.e. the required value of Counter) determines the slide changeover point -- for a 30 sec delay, counter equals 0.5; for a 2 minute delay, counter equals 2 and so for 2 hour delay, counter equals 120.

It works fine for short timings and should work just as well for two hours, but I didn't wish to wait that long to find out. For the purpose of this example, the Jump to Next Slide occurs when the counter equals 1 (i.e. after 1 minute). To change it to suit your requirements, just click on the number 1.00 link in the trigger and alter it as necessary.

If you have any queries, just get back to me.

Phil Mayor

seems odd to keep a user on one slide for 2 hours just for compliance reason, if they have to have a two hour break, I would use javascript to get the current time and then unlock when 2 hours have passed.

I may be worth putting a timer on the screen to let them know how long they have to wait.

If you want to use a timer there are plenty of examples on here, also it is probably better to use a reciprocating layer to measure time.

Ben McKinstry

Hi Ashley,

In each slide you want the user to be locked at, you need to set a variable of the time and date they start the slide(maybe add minutes for length of time they have to read it?) Only set this if the variable itself is set to 0.

You would then also need a JavaScript function that would check the time set in the first variable and see if it is equal or greater than the current time, if it is, show the next button. Reset the variable above to 0. So it resets on next slide.

Doing it this way would allow the user to close the page and return later, whilestill maintaining the correct times and lockout (granted resume data and suspend data is all working).

Consideration: if the user waits 2 hours, then returns, but closes the course before moving again, once they return again they will be locked out for another 2 hours because at this point the first variable will have been 0

 

I hope this helps

Scott Esker

Ned, 

Great idea! I tested this a few times under different circumstances and it seems to work well. Thanks for sharing!

One thing I noticed: While taking the course in my browser (Chrome), I switched to a different tab and the animation/timer stopped (which makes sense but thought I should mention). 

Scott Esker

Ned,

It's not necessarily a problem. In fact, it's probably the way most people would prefer it to act since it's likely a learner trying to work on other things when they're supposed to be watching a compliance video in the module. 

When going back to the module's tab, It doesn't reset the timer. Rather, it picks up from where it left off. I'm assuming that screen/browser window isn't "active" so it's pausing the animation. On the other hand, when working on the opposite screen of my dual monitors, the animation/timer did continue to count. 

Again, a great idea and creative way to do a timer beyond 1000 seconds!

Ned Whiteley

Thanks Scott,

I agree that it is probably the right way for it to work. I wouldn't want to be the unsuspecting user who thought they could just set it up in the background and come back to the tab two hours later only to find that they still had two hours to wait !!

Anyway, I'm glad it works OK and your additional information regarding the browser tabs is also useful for anyone else reading this (including me !).