new

improved

fixed

Core

Free

Interactive Video V1.0.3

Added
  • Two URL parameters to control the player appearance:
    dm
    for dark mode and
    df
    for distraction-free mode. Example:
    https://yourmoodlesite.com/mod/interactivevideo/view.php?id=1&dm=1&df=1
    ;
  • Allow extension plugins to include js methods on the mod_form. To enable this, the plugin must add an element on the mod_form with the class '.requirejs' and the data attribute
    data-plugin
    value as the amd module name. Example:
    <div class="requirejs" data-plugin="local_ivanalytics/main"></div>
    . The plugin must implement the method
    mform
    to add the required JS code.
  • convertHMSToSeconds
    in the base class to convert HH:MM:SS/MM:SS/SS to seconds.
  • Ability to lock the top navigation when watching the video on a modal on the course page.
  • checkautoplay
    to pre-check if the browser allows autoplay video on mute. Use
    player.allowAutoplay
    to check.
  • New events:
    interactionrefresh
    (after the refresh button is clicked),
    iv:autoplayBlocked
    (as soon as the player method
    load
    runs.)
  • active
    class to
    #message
    element of the current/visible interaction.
Fixed
  • Player didn't fire
    ivplayerReady
    event if the browser blocked autoplay.
  • Share-moment link included
    embed=1
    if the link was created from the modal.
  • onPaused
    method was not implemented on
    beforeunload
    event, resulting in the watched time not being saved.
Updated
  • Spotify player sometimes shows the preview version of the music tracks depending on the browser and user login. In this case, the interactions might be cut off. So, when the player is in preview mode, users will now get an error message before the player is destroyed.
  • Kill all client-side background processes and event listeners if the video is invisible and paused for 30 minutes on the view page and 10 minutes on the interactions page. If the video already ends, the processes will be killed after 5 minutes of inactivity.
  • Get processed data from the server only once for each interaction. Processed data will be saved to this.cache object with the annotation id. When the interaction is relaunched in the same session, the cached version will be used; therefore, releasing some burden from the server. This applies to the view page only. On the interaction page, new data is fetched every time the interaction is launched.
  • Notify users if the browser blocks autoplay and encourage them to allow it on the current site.
  • Kill the interactive video if autoplay is blocked on the Brave browser. (We'll re-enable it in the future when the Brave browser stops overly blocking the
    play
    method.)
  • Improve the ability for other plugins to extend the mod_form and completion conditions/states, and more importantly, make sure removing or disabling the related plugins does not cause any completion issues.
  • Improve accuracy in calculating the time spent on interaction. For instance, resume counting when the interaction is relaunched and pause counting when the interaction is no longer active (e.g. activity closed or video playing).
  • Right-click on the timestamp on the interaction list to quick-edit the interaction's timestamp. Right-click on the input to set the value to the current time.
  • Minor accessibility/UI/UX improvements