Changelog

Follow up on the latest improvements and updates.

RSS

improved

fixed

Core

Free

Interactive Video 1.5.1

Updated
  • Refactored Modal instances from Bootstrap to Modal Factory to allow more theme support.
  • Improved accessibility (WCAG 2.2) phase 1: player page.
  • Updated OEmbed providers for External Content interaction type + added support for Google Drive files.
  • Updated Rich Text interaction type to support iframe (previously, text was cleaned before being saved).
  • Various UI improvements, including RTL support
Fixed
  • Direct links without a file extension were considered audio. The player showed as a black screen. Now, direct links are considered video by default unless the extension matches the audio file extensions.
  • User grade was not updated when it decreased to 0. Now, if the grade is 0, it will be removed from the gradebook.
  • When "Autohide controls" was set, the control bar was also hidden in embed mode. Now, this setting is only applicable in default mode and distraction-free mode.
New
📢 TinyMCE plugin for Interactive Video:
With this plugin, you can add the Interactive Video activities anywhere in your course alongside other content.
📢 Course Index:
You can now enable the course index in the Interactive Video in distraction-free mode. See the new setting in the activity setting form.
image
Updated
  • Rename "completion percentage" condition:
    This was a common misunderstanding. Some users thought this was a watched percentage of the video.
image
  • Various UI improvements

new

improved

fixed

Interactive Video 1.4.5

NEW
  • Support for five new video providers:
  1. Vidyard
    : /(?:https?:\/\/)?(?:share\.vidyard\.com)\/watch\/([a-zA-Z0-9]+)/i
  2. Viostream
    : /(?:https?:\/\/)?(?:share\.viostream\.com)\/([a-zA-Z0-9]+)/i
  3. Vdocipher
    : /(?:https?:\/\/)?(?:www\.)?vdocipher\.com\/dashboard\/video\/(?:embed\/|)([a-zA-Z0-9_-]+)/i
  4. Dyntube
    : /(?:https?:\/\/)?(?:videos\.dyntube\.com|dyntube\.com)\/(?:videos|iframes)\/([^/]+)/
  5. Bunny Stream
    : /https?:\/\/iframe\.mediadelivery\.net\/(?:embed|watch|play)\/\d+\/([a-zA-Z0-9-]+)/i
Note:
Dyntube player is problematic with both UI and API. Although we support it, we recommend using their adaptive video URL instead. Additionally, some of the providers listed above do not offer an option to hide player controls; therefore, controls are always displayed unless you customize the player directly on the provider's dashboard. Finally, you'll need an API key for Vdocipher.
UPDATED
  • Back button
    : In distraction-free mode, the back-to-course-page button on the top nav bar now respects the course display option if your course format implements it. This means if the course format displays each section separately, the button will link to the relevant section page as opposed to the main page.
  • Appearance and behavior settings
    : In response to common users' requests, we added options to customize the appearance and behavior of the video player for the before and after completion states. Instructors can now hide any buttons on the control bar. Similarly, instructors can prevent learners from seeking or skipping the video unless they complete the requirements (e.g., task %, watch till the end, etc.). Additionally, we introduce new options, including rewind and fast-forward controls, the ability to autohide the control bar, and the ability to align the interaction indicators to the center of the control bar.
FIXED
  • H5P Content
    : missing strings.
Added:
Changed:
  • Storing only necessary strings from interaction types in use; therefore, reducing browser memory.
  • Storing the displayoptions array in DOM.
  • Autoplay blocked notification UI.
image
Fixed:
  • Locked chapter shows repeated notifications.
Added
  • New player event: iv:playerSeekStart with current time (before seeking) as the event detail. This does not apply to the original player. For instance, if you're showing YouTube player controls and users click on the progress bar, this iv:playerSeekStart event does not fire.
Updated
  • Course Activity interaction type 2.0 now embeds the course module content directly on the Interactive Video. This means learners can attempt the Quiz, submit the Assignment, or interact with SCORM content without leaving the Interactive Video. This also means you can turn any course module into an interaction. Here is the updated tutorial to reflect this exciting update.
Note:
When you back up
an isolated
Interactive Video activity, the reference activities are not backed up together with it. However, if you back up the whole course, all activities are backed up together. All reference activities in the Course Activity interactions will be re-linked automatically. This has been the case since 1.0.
  • Minor UI and performance improvements
Fixed
  • Completion status was not checked when the Interactive Videos were launched in a modal on the course page.
Added
📢 Interaction type:
Video Track
(paid): currently being tested, with this extension, you can set up a multi-video activity or provide alternative videos (e.g., dubbed versions).
Updated
  • Player improvement #1
    : allowing multiple instances on the same page. Videos of the same type (e.g., YouTube, Vimeo, etc.) can be initialized on the same page, provided the player nodes have unique IDs.
  • Player improvement #2
    : The
    getInfo(URL, node)
    method allows simple initialization of the video into the specific node and returns video information such as name, duration, and poster image.
  • Player improvement #3
    : Better error handling when the player is no longer active (destroyed).
  • Player improvement #4
    :
    iv:playerDestroyed
    is available on all players.
  • Player improvement #5
    : new events:
    iv:playerStart
    (triggered after first play),
    iv:playerStarted
    (triggered after first play codes are complete),
    iv:playerReload
    (triggered after a new player replaces the current player).
  • Player improvement #6
    : Interaction type plugins can now use the
    setPlayer
    method to switch players.
  • Interaction type class now has a
    main
    property that can be used to check if the current video is the main video (in a situation where there might be multiple videos, such as in Video Track extension).
  • Interaction type plugins can now listen to the window event
    closemodal
    , which is posted when the player modal on the course page is closed.
  • 100ms is added to ResizeObservers to avoid executing the observing function too frequently.
  • Reset the interaction cache on every
    annotationupdated
    event to make sure interaction is refreshed.
  • 'Last watched point' is no longer updated on every pause. Instead, the point is saved only when the user leaves the page (unloads the page and switches tabs). The change does not apply to the mobile app and embed mode.
  • DOM search improvement.
Fixed
  • In some non-standard themes, the modal backdrop was not hidden/removed after the video modal was closed.

new

improved

fixed

Interactive Video 1.4.1

Added
📢 Interaction type:
Audio Track
(paid): provides alternative audio tracks
📢 Interaction type:
Rajab's Game
(free): gamifies learning with levels, collectable badges, and a leaderboard (individual and group).
image
image
  • Event: iv:playerVolumeChange for when the player is muted/unmuted.
Updated
  • RuTube player updates
    :
  1. Update the pause event listener
  2. Controls can now be hidden.
  3. Video quality can now be set.
  • Skip Segment interaction type
    :
The skip segments can now be set as optional, allowing learners to still view the segments and choose to skip them by clicking the skip button. For example, if your video contains a segment where you explain or show the answer keys, you can force skip this segment before completion. After the interactive video is complete, the answer key segment becomes optional, so learners can choose to watch or skip that segment.
image
  • Annotation interaction type
    :
A huge update in version 1.3, adding three new annotation items, including
Video, Audio, and Mute
. Video and audio are synced with the main video. The instructor can add a presenter's video, a sign-language interpreter video, or an alternative video that covers the entirety of the original video. Similarly, they can mute a certain segment of the video and replace it with a different audio. This update also brings a huge performance improvement by reducing DOM manipulation instances.
  • Course Activity interaction type
    (paid):
A small update that allows XP to be awarded partially based on the grade in the reference activity. For example, if the reference activity is a Quiz and the learner receives 75% in that quiz, they will also be awarded 75% of the XP assigned.
  • Improvement on earned XP calculation, especially after the instructor updates XP after the activity is attempted.
  • Minor UI improvements
Fixed
  • Strange behavior in Moodle 5.0.1+ (Build: 20250620) in which the hidden posterimagefile field showed an error when the user created a new activity.

new

improved

Core

Sub-plugin

Free

Pro

Interactive Video 1.4.0

New
📢 New paid interaction type: Reaction
To enhance social learning on the Interactive Video, Reaction offers learners and instructors various methods to connect and interact, including reactions, public comments, private Q&As, and private notes.
📢 Ability to set default settings for each interaction type per course level
With this time-saving feature, you can use an existing interaction as a default for the specific interaction type. When you add a new interaction across the course, the default settings will apply automatically.
image
📢 Ability to align the activity card in the middle of the course page
image
📢 Subtitle support for DASH and HLS videos
If the video source contains text track data, a selection menu will be displayed, similar to other sources, including YouTube and Vimeo.
Update
  • Performance improvement on the report page.
  • Interactive video course settings and defaults are now backed up and restored when a course backup/restore is performed.

new

improved

fixed

Core

Free

Interactive Video 1.3.1

Add:
  • New appearance setting: Full-width poster image. This option will allow the poster image on the course page to fill up the available space instead of being restricted to 200px.
image
Before
image
After
image
  • Resized popup view: Full-width view is not always the best option. This resized-view option allows the video to be displayed in a narrow view on the course page. It's up to users -- there is no related setting.
image
  • New event: iv:playerPlay for when video plays or resumes. Unlike iv:playerPlaying, which is conditioned by whether the player uses animation frame, iv:playerPlay fires only once.
Update:
  • No longer force aspect ratio to 16:9 on default view
  • No longer change dark-mode value to 0 when distraction-free is unchecked on the activity form. Instead, it will be handled programmatically (i.e., if distraction-free is 0, dark-mode is 0).
  • Improve error handling with Vimeo videos (e.g., displaying the message from Vimeo if the video becomes inaccessible).
  • On the course page, when an activity is used in the restriction condition, the page will be reloaded when the player modal is dismissed with overall completion: completed.
Fixed:
  • Live video sometimes showed a NaN timestamp.
  • Keyboard shortcut E for enlarge/resize player, not L.
  • Keyboard shortcuts did not work when the main control bar was hidden.

new

improved

fixed

Interactive Video 1.3.0

New
  • New interaction type: Course Activity
  • Keyboard shortcuts in both player and editor modes
image
image
Improved
  • Download the update from GitHub rather than BuyMeACoffee
  • Upgrade Bootstrap Icons to 1.13.1
  • Use Moodle's modal in place of Bootstrap modal for better accessibility and better theme support (e.g., snap theme)
  • UI and accessibility improvements
Fixed
  • Incorrect mapping items in define_decode_contents
  • Error when Chapter is not enabled by admin.
Load More