Forced view - special use case


Another blog and example output, due to a question by a user today. 

“I have groups of slides. Each group consists of a handful of slides that has event video on each slide and nothing else. The videos autoplay. The user can enter these groups at any point and must watch each video before being redirected back to a main menu. “

After I had gotten all details, I created this example file. The assets panel in 11.5 was very useful as you can see. Only Chapter 1 has been worked out with 4 slides containing event videos. For Chapter 2 and 3 only one slide is available with a back to menu button. Try it out: you can start with any video, but then the sequence will be linear: 1-2-3-4, 2-3-4-1, 3-4-1-2 and 4-1-2-3 are all possible. You can use the Chapter 1 button on the main menu as many times as you wish. It should be foolproof. However… you have to watch the videos from start till end.

The embedded movie is at a fixed resolution. The project is published as Scalable HTML and you can also play it directly in any resolution from this link.



Four Boolean variables were created: v_one, v_two, v_three, v_four. They are meant to track each if a video has been viewed completely. Only when all variables are toggled to 1, will the learner being returned to the main menu slide. The default value is 0 and will be set by a shared action (see later).

Events and actions

Enter event of video slides 1-2-3-4

This event is used to trigger an advanced action which will check the value of the 4 variables. If they have all the value 1, the learner will be navigated back to the menu slide. Have a look at  the Preview of this action:

Exit event of video slides 1-2-3

For the first three video slides this event is used to trigger a simple action, similar to this one for the first slide:

Assign v_one with 1

Only the variable is different for the second and third slide. Since the sequence is linear, after that event the playhead will continue to the next slide. There is no pausing point on the slide, which makes it possible to use this event.

Exit event of video slide 4

The action is now more complicated, because two situations are possible:
  1. All video slides are viewed (learner started with first video)
  2. Not all video slides are viewed (learner did not start with first video)

The first situation means that the learner will be navigated to the main menu slide, the second that he still has to view video 1 and maybe more. This means we need a conditional advanced action. Here is the screenshot:

Since the exit event has also to toggle the variable v_four, I used two decisions. The first one ‘Always’ is toggling that variable. The second decision is the conditional one described above.

Success event of the Video buttons (Chapter 1 slide)

You would expect them to trigger a simple ‘Jump to Slide’ action. However, since the learner will return to the menu slide, and can restart viewing Chapter 1, there is a need to reset the variables. This event was used for that purpose as well. It is a perfect example of an action where a shared action can save a lot of time, because it will have only one parameter: the slide to jump to. All variables, and the literal ‘0’ do not have to be parameters. Here is the screenshot of a filled in action for the first video button:

Since both remaining chapters will have a similar group of video slides, this approach can be used there as well, to reuse the same variables. The advanced actions described before, can be duplicated and edited. The shared action can be used as it is without any change.

2 responses
Hi Lieve, I wanted to share something with you that we ran into with autoplay in Cp and Chrome this week. We self-host our courses through a web server and not an LMS, so I don’t know what role an LMS would play in this issue. The event that led to involving our web dev team was that suddenly all the autoplay videos froze on the opening image. They loaded and were connected, but they wouldn’t play. After much back and forth with the web development team, this is what we discovered: Browsers are tightening media playback with each new version and the choice to allow autoplay media or not is a user preference. This preference could be forced on users if they are part of a corporation, and they might not have control over it. If a user has decided not to allow autoplaying media, they will not be able to access this content at all. There’s a lot of information on Chrome’s autoplay policy here and their recommendations for how to handle media playback: * Key Point: Don't ever assume a video will play, and don't show a pause button when the video is not actually playing. So, this is what we came up with until we can redo all of the autoplay slides (yes, we’ve started tackling it this week). Since this media is contained within an iframe, you can inform the browser to allow delegation of the autoplay API to the iframe content which might fix this for many users. On each iframe HTML tag, you can add the attribute: allow=”autoplay” For this example it would look like this: The recommendation is to add this attribute to all your iframes, but to also re-enable media controls just in case the user has disabled autoplay. I thought I’d pass this along in case anyone else is running into it. Kind regards, Dawn Brinker White, M.A. Instructional Development Manager SMART Solutions – Global Professional Learning M: +1.336.848.1767 S: 3636 Research Road NW Calgary, AB CANADA T2L 1Y1 [cid:image001.png@01D5542C.820AAE90] [cid:image002.png@01D5542C.820AAE90] Join the conversation on [cid:image003.jpg@01D5542C.820AAE90] [cid:image004.jpg@01D5542C.820AAE90] [cid:image005.jpg@01D5542C.820AAE90] From: Sent: Friday, August 16, 2019 11:53 AM
I learned to live with AutoPlay disabled since quite a while, but thanks for the information. Never liked invasive websites with lot of noise and videos. Even before Autoplay was disabled I never would embed a movie that started playing automatically.