Code Monkey home page Code Monkey logo

xblock-video's Introduction

xblock-video

Build Status Coverage Status GitHub release

The Video XBlock is for embedding videos hosted on different video platforms into your Open edX courses.

Supported video platforms:

  • Brightcove
  • Html5
  • Tencent
  • Vimeo
  • Wistia
  • Youtube

The idea of crowd-funded universal video-xblock was proposed by @natea (Appsembler) at the Open edX Conference 2016 at Stanford. It was well-received and several companies offered to sponsor the initial development.

Appsembler initially contracted with Raccoon Gang to build the wistia-xblock as a prototype (see the Github repo), and later created a new Video XBlock featuring universal pluggable interface with several video hosting providers support:

Appsembler and Raccoon Gang presented a talk about the video-xblock at the Open edX Con 2017 in Madrid.

We welcome folks from the Open edX community to contribute additional video backends as well as report and fix issues.

Thanks to InterSystems and Open University for sponsoring the initial version of the Video XBlock!

Installation

sudo -sHu edxapp
source ~/edxapp_env
# Install VideoXBlock using pip
pip install git+https://github.com/raccoongang/xblock-video.git@master#egg=video_xblock

Enabling in Studio

You can enable the Video xblock in studio through the advanced settings:

  1. From the main page of a specific course, click on Settings, Advanced Settings in the top menu.

  2. Check for the Advanced Module List policy key, and add "video_xblock" in the policy value list. Advanced Module List

  3. Click on the Save changes button.

Usage

To embed a video simply copy & paste its URL into a Video URL field.

Sample supported video URLs:

Vimeo

Vimeo is an online video platform that allows users to upload, view, and share videos. It is designed for storing and publishing professional and user-generated video content, including films, music videos, video tutorials, and much more. Vimeo offers both free and paid subscriptions, depending on how users want to use the platform.

There is a known issue related to the subtitles/transcripts' functionality. The Vimeo player will only display subtitles uploaded through the Vimeo platform account web page. To allow users to download Vimeo subtitles you'll need the Vimeo API key added to the x-block advanced settings. Transcripts uploaded through the Studio for the video block can be used only for download.

Brightcove

To successfully use videos hosted on Brightcove Videocloud service one must provide valid Brightcove account_id associated with the video. To find out your account_id go to Videocloud studio -> Admin -> Account Information.

Currently, Brightcove does not provide a free account for working with their service. A trial account is available for one month and can be activated with the help of their support team. At the moment, RG does not have an account that would allow updating and testing the functionality of the Video X-Block with the Brightcove service. Our Video X-Block is integrated with the Brightcove service, but we cannot test certain features associated with it. As a result, we cannot guarantee error-free usage of this provider.

Connect to Brightcove Platform

  1. Grab your BC_TOKEN from Brightcove Videocloud:

    1. Login to Videocloud Studio as you normally do.
    2. With any page in Studio open, open the developer tools for the browser, go to the Console, and paste in the following code:
        var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
        for (i = 0; i < cookiesArray.length; i++) {
            tmpArray = cookiesArray[i].split("=");
            if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
                cookiesObj.BC_TOKEN = tmpArray[1];
            }
        }
        window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

    and press <return>.

    1. You should see a prompt appear that contains your BC_TOKEN. BC_TOKEN sample
  2. Open Video XBlock settings, Advanced tab. Scroll down to Video API Token section.

  3. Put BC_TOKEN taken from Brightcvove into Client Token field.

  4. Click on Connect to video platform button.

Enable content encryption and/or autoquality

Given you've connected XBlock to Brightcove platform and have a Video XBlock with a video from Brightcove. You can enablevideo content encryption and/or auto-quality.

To do so:

  1. Go to Advanced settings tab.
  2. Scroll down to Brightcove content protection section.
  3. Select Autoquality or Autoquality & Encryption.
  4. Click Re-transcode this video button.

Re-transcode is performed by Brightcove's Videocloud and takes few minutes. After it's done Brightcove Video tech info section will be updated.

Tencent

TencentPlayer is used for videos hosted on tencent cloud. To test this player, you need to create a Tencent test account in the cloud. But to register for this service, you need to link a card and pass verification.

Internal RG tickets with the testing outputs:

Note: Tencent Cloud Documentation

Wistia

It is currently possible to use the Wistia provider in Video XBlock. However, to fully test all the functionality of the XBlock when working with this provider, a paid Wistia account is required. RG does not have such an account. Therefore, we are unable to test the functionality of transcripts that are connected to videos in the Wistia studio.

Note: There have been changes in the provision of API at this provider.

Connect to Wistia Platform

  1. Create a Wistia account and create an app. Copy the API Token in the settings.
  2. Write the API Token in the Client Token field in the X-Block settings.
  3. Uploading a video and transcripts to the Wistia service.

How to disable captions auto uploading in Wistia plugin

  1. Open your Project in Wistia Platform.
  2. Open video which you want to use with Video XBlock.
  3. Click the Video Actions drop-down menu -> Select the Customize menu item.
  4. On the left side of the screen find the Captions menu item.
  5. Turn the trigger to Off to disable native captions display in the Video XBlock.

disable captions in Wistia

HTML 5

This provider is used to play videos uploaded to the Platform or located elsewhere (the backend processes the direct URL to the video). Currently, at the backend level, the option to use Default Timed Transcript for HTML5 has been disabled through the exclusion of advanced fields: exclude_advanced_fields = ('default_transcripts', 'download_video_url') As a result, for the HTML5 provider, the fields for Default Timed Transcript and Video API Token in the Advanced Settings (located below the Enabled transcripts field) are disabled.

disable Default Timed Transcript and Video API Token in HTML_5

Additional information on downloading default transcripts

When uploading a transcript file to the platform, check the format of the file. The format of the uploaded transcript file must be .vtt or .srt. During the loading to the Video Xblock - the .vtt files are fetched directly without conversion. If the file format is .srt, then the file is converted and saved on the platform in .vtt format. If the file format is .vtt, upload it to the platform occurs without any changes.

Kown issues

  1. YouTube video hasn't been reproduced in Chrome:
    • doesnʼt work with Chrome on MacOS
    • works fine with Safari and Firefox on MacOS
    • if add a video block and default video to the same page - the video block works only after the default video was played
  2. The operation of the Brightcove service has not been fully tested, due to the need for a paid account.
  3. The transcription-receiving functionality is only available for paid Wistia plans.
  4. The Vimeo player will only display subtitles uploaded through the Vimeo platform account web page. Transcripts uploaded through the Studio for the video block can be used only for download.

Set default values in config files

Now it is possible to indicate prepopulated values for any xblock field per site installation (see note below).

Sample default settings in /edx/app/edxapp/cms.env.json:

    "XBLOCK_SETTINGS": {
      "video_xblock": {
        "threeplaymedia_apikey": "987654321",
        "account_id": "1234567890"
      }
    }

Note: here above each provided key corresponds to SITE_NAME environment variable value.

Allowed Handouts file types

  • images: .gif, .ico, .jpg, .jpeg, .png, .tif, .tiff, .bmp, .svg,
  • documents: .pdf, .txt, .rtf, .csv,
  • MSOffice: .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pub,
  • openOffice: .odt, .ods, .odp,
  • archives: .zip, .7z, .gzip, .tar,
  • other: .html, .xml, .js, .sjson,
  • transcripts: .srt, .vtt

Development

Prereqs: NodeJS >= 4.0

Install development tools and dependencies:

> make tools deps-test

Run quality checks:

> make quality

Run tests:

> make test

VideoXBlock is bundled with a set of XBlock-SDK Workbench scenarios. See workbench docs for details.

Translations

Run docker container to work with translations, tests etc.

> cd xblock-video
> docker run -it --rm --name video-xblock-tests -v $(pwd):/app seriallab/python3.5dev  bash
> cd app
> export VIRTUAL_ENV=$(pwd)
> apt-get install -y gettext
> make deps-test

To add new language for translation:

  • add appropriate language to the translations.settings.LANGUAGE variable
  • create <lang>/LC_MESSAGES/ directory and copy there the text.po file from english language
  • run:
> make compile_translations

License

The code in this repository is licensed under the GPL v3 licence unless otherwise noted.

Please see LICENSE file for details.

xblock-video's People

Contributors

z4y4ts avatar wowkalucky avatar dorosh avatar dyudyunov avatar sendr avatar opersian avatar lunyachek avatar bryanlandia avatar xahgmah avatar ihor-romaniuk avatar dmytroalipov avatar vladislavkeblysh avatar idegtiarov avatar cmltawt0 avatar tamoshaytisv avatar deniskolesnik avatar natea avatar madeira avatar otecmuxah avatar valera-rozuvan avatar pyup-bot avatar dmytronefyodov avatar ghassanmas avatar glugovgrglib avatar maximst avatar uvgengen avatar

Stargazers

Roman Edirisinghe avatar Thor Prichard avatar  avatar  avatar

Watchers

Aleksey Radchenko avatar  avatar James Cloos avatar Anton Stupak avatar  avatar  avatar Albert Smulders avatar Pete avatar  avatar  avatar Arsen Turchanikov avatar  avatar  avatar Yura [flying_pi] Braiko avatar Ihor Matviian avatar Olesya Dyachenko avatar  avatar  avatar  avatar  avatar  avatar

xblock-video's Issues

Speed menu horzontally offset from button

v0.9.2:

The speed menu appears too far to the left from the button. I am seeing this issue on: Mac OS 10.11 Chrome 62, Win 10 Chrome 61, Win 10 FF56, Win 10 IE11.

screen shot 2017-11-14 at 6 07 50 pm

screen shot 2017-11-14 at 6 02 43 pm

screen shot 2017-11-14 at 5 54 15 pm

[DepShield] (CVSS 9.8) Vulnerability due to usage of deep-extend:0.4.2

Vulnerabilities

DepShield reports that this application's usage of deep-extend:0.4.2 results in the following vulnerability(s):


Occurrences

deep-extend:0.4.2 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ rc:1.2.1
                                └─ deep-extend:0.4.2

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of parsejson:0.0.3

Vulnerabilities

DepShield reports that this application's usage of parsejson:0.0.3 results in the following vulnerability(s):


Occurrences

parsejson:0.0.3 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ socket.io:1.7.3
              └─ socket.io-client:1.7.3
                    └─ engine.io-client:1.8.3
                          └─ parsejson:0.0.3

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of sshpk:1.13.1

Vulnerabilities

DepShield reports that this application's usage of sshpk:1.13.1 results in the following vulnerability(s):


Occurrences

sshpk:1.13.1 is a transitive dependency introduced by the following direct dependency(s):

karma-coveralls:1.1.2
        └─ coveralls:2.11.16
              └─ request:2.79.0
                    └─ http-signature:1.1.1
                          └─ sshpk:1.13.1

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of debug:2.6.9

Vulnerabilities

DepShield reports that this application's usage of debug:2.6.9 results in the following vulnerability(s):


Occurrences

debug:2.6.9 is a transitive dependency introduced by the following direct dependency(s):

eslint:2.13.1
        └─ debug:2.6.9

eslint-config-edx-es5:2.0.0
        └─ eslint:3.19.0
              └─ debug:2.6.9

eslint-plugin-import:1.16.0
        └─ debug:2.6.9
        └─ eslint-import-resolver-node:0.2.3
              └─ debug:2.6.9

karma:1.7.1
        └─ body-parser:1.18.2
              └─ debug:2.6.9
        └─ connect:3.6.5
              └─ debug:2.6.9
              └─ finalhandler:1.0.6
                    └─ debug:2.6.9

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Delete student state fails from Staff Debug Info

Steps to Repro:

  1. Log in to LMS as Staff user
  2. Browse to Video XBlock instance
  3. Click Staff Debug Info
  4. Click "Delete Student State"

Expected result:
Student state successfully deleted

Actual result:
"Failed to delete student state for selected user. Unknown error occurred." and a 400 error in the Network Pane. Test server has * in ALLOWED_HOSTS.

screen shot 2018-01-26 at 4 43 10 pm

[DepShield] (CVSS 7.4) Vulnerability due to usage of stringstream:0.0.5

Vulnerabilities

DepShield reports that this application's usage of stringstream:0.0.5 results in the following vulnerability(s):


Occurrences

stringstream:0.0.5 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ request:2.81.0
                                └─ stringstream:0.0.5

karma-coveralls:1.1.2
        └─ coveralls:2.11.16
              └─ request:2.79.0
                    └─ stringstream:0.0.5

karma-phantomjs-launcher:1.0.4
        └─ phantomjs-prebuilt:2.1.15
              └─ request:2.81.0
                    └─ stringstream:0.0.5

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Caption and transcript buttons should be blue when reloading xblock after they are selected

Steps to reproduce:

  1. Browse to video with captions and transcripts
  2. Click caption button
  3. Click transcript button
  4. Navigate away from the page
  5. Return to the page

Expected: Transcript button is highlighted/blue. Transcripts pane displays. Caption button highlighted/blue. Captions display on video after clicking play button.

Actual: Transcript and caption buttons gray. Transcript pane displays. Captions display on video after clicking play button.

screen shot 2018-01-26 at 12 08 04 pm

[DepShield] (CVSS 7.5) Vulnerability due to usage of engine.io-client:1.8.3

Vulnerabilities

DepShield reports that this application's usage of engine.io-client:1.8.3 results in the following vulnerability(s):


Occurrences

engine.io-client:1.8.3 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ socket.io:1.7.3
              └─ socket.io-client:1.7.3
                    └─ engine.io-client:1.8.3

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of debug:2.3.3

Vulnerabilities

DepShield reports that this application's usage of debug:2.3.3 results in the following vulnerability(s):


Occurrences

debug:2.3.3 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ socket.io:1.7.3
              └─ engine.io:1.8.3
                    └─ debug:2.3.3
              └─ socket.io-adapter:0.5.0
                    └─ debug:2.3.3
              └─ socket.io-client:1.7.3
                    └─ engine.io-client:1.8.3
                          └─ debug:2.3.3
                    └─ debug:2.3.3
              └─ debug:2.3.3

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 9.8) Vulnerability due to usage of lodash:4.17.4

Vulnerabilities

DepShield reports that this application's usage of lodash:4.17.4 results in the following vulnerability(s):


Occurrences

lodash:4.17.4 is a transitive dependency introduced by the following direct dependency(s):

eslint:2.13.1
        └─ inquirer:0.12.0
              └─ lodash:4.17.4
        └─ lodash:4.17.4
        └─ table:3.8.3
              └─ lodash:4.17.4

eslint-config-edx-es5:2.0.0
        └─ eslint:3.19.0
              └─ lodash:4.17.4

karma:1.7.1
        └─ combine-lists:1.0.1
              └─ lodash:4.17.4

karma-phantomjs-launcher:1.0.4
        └─ lodash:4.17.4

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

3PM API key no longer populated from XBlock settings

Since 0.9.0 it looks like auto-populating the 3PM API key field value from the XBlock settings dictionary is no longer working. Account Id population from settings still works. I've Xed out the real values.

cms.env.json setting:
cms.env.json XBlock settings

Account id is set on new BCove video:
account id

...but not for 3PM API key:
no 3pm api key

Captions and transcripts don't work in Safari

Tested with Mac OS High Sierra Safari 11 and Mac OS El Capitan Safari 10, same results.
JS errors in console and Captions, Transcripts don't work (no captions appear, interactive transcript column doesn't appear. Languages do appear in menu)

screen shot 2017-11-15 at 2 46 29 pm

@wowkalucky

bad path to vendor font

In static/vendor/css/video-js.min.css

@font-face{font-family:VideoJS;src:url(font/VideoJS.eot?#iefix) 

font/ should be fonts/

[DepShield] (CVSS 7.5) Vulnerability due to usage of sshpk:1.13.0

Vulnerabilities

DepShield reports that this application's usage of sshpk:1.13.0 results in the following vulnerability(s):


Occurrences

sshpk:1.13.0 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ request:2.81.0
                                └─ http-signature:1.1.1
                                      └─ sshpk:1.13.0

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.4) Vulnerability due to usage of hoek:2.16.3

Vulnerabilities

DepShield reports that this application's usage of hoek:2.16.3 results in the following vulnerability(s):


Occurrences

hoek:2.16.3 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ request:2.81.0
                                └─ hawk:3.1.3
                                      └─ boom:2.10.1
                                            └─ hoek:2.16.3
                                      └─ hoek:2.16.3
                                      └─ sntp:1.0.9
                                            └─ hoek:2.16.3

karma-coveralls:1.1.2
        └─ coveralls:2.11.16
              └─ request:2.79.0
                    └─ hawk:3.1.3
                          └─ boom:2.10.1
                                └─ hoek:2.16.3
                          └─ hoek:2.16.3
                          └─ sntp:1.0.9
                                └─ hoek:2.16.3

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

The Video XBlock isn't compatible with Hawthorn

The current XBlock version (as of writing this issue) breaks the Hawthorn edxapp when installed. Mainly because it requires installing pycaptions.

pycaptions isn't maintained anymore and depends on and and conflicting requirements such as:

  • lxml
  • beautifulsoup4
  • and others

I tried to upgrade pycaptions but stopped after realizing that it's not maintained anymore:

I also found that webvtt-py could be used, but it turns out that it only support Python 3+. I tried to support that as well:

Oh, I didn't also mention that this XBlock needs a couple of updates to the XBlock to make it render:

Needless to say it was a rabbit hole. I surrender with honor. I would appreciate it if you can take a look.

[DepShield] (CVSS 7.5) Vulnerability due to usage of d:1.0.0

Vulnerabilities

DepShield reports that this application's usage of d:1.0.0 results in the following vulnerability(s):


Occurrences

d:1.0.0 is a transitive dependency introduced by the following direct dependency(s):

eslint:2.13.1
        └─ es6-map:0.1.5
              └─ d:1.0.0
              └─ es6-iterator:2.0.1
                    └─ d:1.0.0
              └─ es6-symbol:3.1.1
                    └─ d:1.0.0
              └─ event-emitter:0.3.5
                    └─ d:1.0.0
        └─ escope:3.6.0
              └─ es6-weak-map:2.0.2
                    └─ d:1.0.0

eslint-plugin-import:1.16.0
        └─ es6-set:0.1.5
              └─ d:1.0.0

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.4) Vulnerability due to usage of lodash.cond:4.5.2

Vulnerabilities

DepShield reports that this application's usage of lodash.cond:4.5.2 results in the following vulnerability(s):


Occurrences

lodash.cond:4.5.2 is a transitive dependency introduced by the following direct dependency(s):

eslint-plugin-import:1.16.0
        └─ lodash.cond:4.5.2

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Post-processing failure during collectstatic

Run

./manage.py cms collectstatic --settings=aws

or

./manage.py lms collectstatic --settings=aws

Post-processed 'js/student-view/video-xblock.js' as 'js/student-view/video-xblock.4fa3aa72ab58.js'
Post-processing 'vendor/css/video-js.min.css' failed!

Traceback (most recent call last):
  File "./manage.py", line 116, in <module>
    execute_from_command_line([sys.argv[0]] + django_args)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 346, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py", line 394, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute
    output = self.handle(*args, **options)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 168, in handle
    collected = self.collect()
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 120, in collect
    raise processed
ValueError: The file 'vendor/css/font/VideoJS.eot' could not be found with <openedx.core.storage.ProductionStorage object at 0x7f278c03e990>.

Languages selected differ between transcript and caption buttons

Introduced in 0.9.4

Not a major issue, but whichever language is last selected from either the caption hover menu or transcript hover menu will determine the language of both captions and transcript. But the selected value may still show a different value from what actually appears in the captions and transcript.

In this, the menu shows Spanish selected while the captions and transcript are in French.

screen shot 2018-01-19 at 5 14 49 pm

@wowkalucky

[DepShield] (CVSS 9.8) Vulnerability due to usage of lodash:3.10.1

Vulnerabilities

DepShield reports that this application's usage of lodash:3.10.1 results in the following vulnerability(s):


Occurrences

lodash:3.10.1 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ lodash:3.10.1

karma-coverage:1.1.1
        └─ lodash:3.10.1

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

English .srt to .vtt 'malformed' message in Chrome

Chrome (Mac OS X , Chrome 57.0.2987.133) message:

Text Track parsing errors for /preview/xblock/block-v1:Appsembler+APPTEST01+2016+type@video_xblock+block@461f4da4b1ed4aa99f81b38e6d776e91/handler/srt_to_vtt/?/asset-v1:Appsembler+APPTEST01+2016+type@asset+block@setting_up_alerts.srt
index.min.js:9 VIDEOJS: ERROR: b {name: "ParsingError", code: 0, message: "Malformed WebVTT signature."}

Here is the .srt, I just added a .txt extension to be able to upload here.
setting_up_alerts.srt.txt

[DepShield] (CVSS 9.8) Vulnerability due to usage of cryptiles:2.0.5

Vulnerabilities

DepShield reports that this application's usage of cryptiles:2.0.5 results in the following vulnerability(s):


Occurrences

cryptiles:2.0.5 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ request:2.81.0
                                └─ hawk:3.1.3
                                      └─ cryptiles:2.0.5

karma-coveralls:1.1.2
        └─ coveralls:2.11.16
              └─ request:2.79.0
                    └─ hawk:3.1.3
                          └─ cryptiles:2.0.5

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Studio hangs on srt_to_vtt call when host not localhost

To reproduce:

  1. Browse to Studio on a domain other than 127.0.0.1 or localhost
  2. Create a Video XBlock instance
  3. Upload SRT caption files
  4. Preview instance in Studio
  5. AJAX calls to /preview/xblock/block-v1:.../handler/srt_to_vtt/?/asset-v1:XXX+type@[email protected]... will time out after 1 min with a 504 error
  6. Subsequent requests to Studio will also return 504

This occurs when browsing directly to Studio port or via Nginx.

504 errors loading

It is resolved with the changes in this diff.

diff --git a/video_xblock/mixins.py b/video_xblock/mixins.py
index 14588e2..fea15d3 100644
--- a/video_xblock/mixins.py
+++ b/video_xblock/mixins.py
@@ -325,7 +325,7 @@ class TranscriptsMixin(XBlock):
             webob.Response: WebVTT transcripts wrapped in Response object.
         """
         caps_path = request.query_string
-        caps = requests.get(request.host_url + caps_path).text
+        caps = requests.get(request.scheme+'://127.0.0.1' + caps_path).text
         return Response(self.convert_caps_to_vtt(caps))
 
     @XBlock.handler

Honestly, I'm not really sure why it is a problem. We have an XHR request sent to the handler_url for srt_to_vtt, which then makes a Python requests requests.get to the same domain.

(I suspect that this other change would also need to be made... )

diff --git a/video_xblock/mixins.py b/video_xblock/mixins.py
index 14588e2..0245683 100644
--- a/video_xblock/mixins.py
+++ b/video_xblock/mixins.py
@@ -302,7 +302,7 @@ class TranscriptsMixin(XBlock):
         """
         trans_path = self.get_path_for(request.query_string)
         filename = self.get_file_name_from_path(trans_path)
-        transcript = requests.get(request.host_url + request.query_string).text
+        transcript = requests.get(request.scheme + '://127.0.0.1' + request.query_string).text
         response = Response(transcript)
         headerlist = [
             ('Content-Type', 'text/plain'),

@wowkalucky @z4y4ts

Cross-origin violation messages for srt_to_vtt but not for vtt

Safari 10.0.2 giving message "Cross-origin text track load denied by Cross-Origin Resource Sharing policy" loading this URL

/preview/xblock/block-v1:Appsembler+APPTEST01+2016+type@video_xblock+block@461f4da4b1ed4aa99f81b38e6d776e91/handler/srt_to_vtt/?/asset-v1:Appsembler+APPTEST01+2016+type@asset+block@setting_up_alerts.srt

but not this one, which plays correctly:

/asset-v1:Appsembler+APPTEST01+2016+type@asset+block@Getting_Started_with_HL7_Settings_in_EnsembleRU.vtt

from the render_player IFRAME in Studio.
Both have the same domain and schema as the host page and iframe.

Duplicate transcripts shown in Studio edit

In Studio edit > Advanced, click Fetch Transcripts from ThreePlay. Transcripts will appear in the list above. Click Fetch Transcripts again. Duplicate transcripts appear above.

Studio edit view

However, the player will only show one copy of each. So for end-user, it's no problem, but for Studio user it may be confusing.

Player only shows one copy of each

[DepShield] (CVSS 7.4) Vulnerability due to usage of lodash.find:4.6.0

Vulnerabilities

DepShield reports that this application's usage of lodash.find:4.6.0 results in the following vulnerability(s):


Occurrences

lodash.find:4.6.0 is a transitive dependency introduced by the following direct dependency(s):

eslint-plugin-import:1.16.0
        └─ lodash.find:4.6.0

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of debug:2.2.0

Vulnerabilities

DepShield reports that this application's usage of debug:2.2.0 results in the following vulnerability(s):


Occurrences

debug:2.2.0 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ socket.io:1.7.3
              └─ socket.io-parser:2.3.1
                    └─ debug:2.2.0

karma-phantomjs-launcher:1.0.4
        └─ phantomjs-prebuilt:2.1.15
              └─ extract-zip:1.6.5
                    └─ debug:2.2.0

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Can't save a new video xblock component with same BrightCove account id as default set in XBLOCK_SETTINGS

To reproduce:

  1. Set new default account id in the XBLOCK_SETTINGS; e.g.,
XBLOCK_SETTINGS:
  "video_xblock": {
    "account_id": "610060920001"
  ...
}
  1. Add a new video xblock component
  2. Enter a BrightCove video URL
  3. Save
  4. Edit
  5. Notice that the Account Id is set to 610060920001
  6. Save again
  7. You will get an error message "Account id can not be empty. Please enter a valid BrightCove account id"

error screenshot

It's a bit strange, since the lines of code that seem to be involved don't look like they have changed for a while, but this is new.

https://github.com/raccoongang/xblock-video/blob/dev/video_xblock/video_xblock.py#L227-L229

The error makes sense looking at the code—the logic seems wrong. It will throw an exception any time the default account_id is not changed, but if we use the XBLOCK_SETTINGS to set a good default account_id then it should not have to be changed.

Are you able to reproduce this?

[DepShield] (CVSS 7.4) Vulnerability due to usage of lodash.endswith:4.2.1

Vulnerabilities

DepShield reports that this application's usage of lodash.endswith:4.2.1 results in the following vulnerability(s):


Occurrences

lodash.endswith:4.2.1 is a transitive dependency introduced by the following direct dependency(s):

eslint-plugin-import:1.16.0
        └─ lodash.endswith:4.2.1

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of debug:2.6.8

Vulnerabilities

DepShield reports that this application's usage of debug:2.6.8 results in the following vulnerability(s):


Occurrences

debug:2.6.8 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ tar-pack:3.4.0
                                └─ debug:2.6.8

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of fstream:1.0.11

Vulnerabilities

DepShield reports that this application's usage of fstream:1.0.11 results in the following vulnerability(s):


Occurrences

fstream:1.0.11 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ tar:2.2.1
                                └─ fstream:1.0.11
                          └─ tar-pack:3.4.0
                                └─ fstream:1.0.11
                                └─ fstream-ignore:1.0.5
                                      └─ fstream:1.0.11

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Duplicate language menus appearing

in v0.9.2 (was an issue in 0.9.1 also)

Whether or not the interactive transcript displays, it is easy to make more than one, overlapping language menu appear. The rollover appear/disappear behavior seems a little buggy, too--sometimes the little arrow shows closed while the language menu is still open.

Same issue in Mac 10.11 Chrome 62, Win10 Chrome 61, Win10 FF56, Win 10 IE11

screen shot 2017-11-14 at 6 23 10 pm

screen shot 2017-11-14 at 6 02 55 pm

screen shot 2017-11-14 at 5 56 01 pm

[DepShield] (CVSS 8.2) Vulnerability due to usage of tunnel-agent:0.4.3

Vulnerabilities

DepShield reports that this application's usage of tunnel-agent:0.4.3 results in the following vulnerability(s):


Occurrences

tunnel-agent:0.4.3 is a transitive dependency introduced by the following direct dependency(s):

karma-coveralls:1.1.2
        └─ coveralls:2.11.16
              └─ request:2.79.0
                    └─ tunnel-agent:0.4.3

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of ws:1.1.2

Vulnerabilities

DepShield reports that this application's usage of ws:1.1.2 results in the following vulnerability(s):


Occurrences

ws:1.1.2 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ socket.io:1.7.3
              └─ engine.io:1.8.3
                    └─ ws:1.1.2
              └─ socket.io-client:1.7.3
                    └─ engine.io-client:1.8.3
                          └─ ws:1.1.2

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of is-my-json-valid:2.16.1

Vulnerabilities

DepShield reports that this application's usage of is-my-json-valid:2.16.1 results in the following vulnerability(s):


Occurrences

is-my-json-valid:2.16.1 is a transitive dependency introduced by the following direct dependency(s):

eslint:2.13.1
        └─ is-my-json-valid:2.16.1

eslint-config-edx-es5:2.0.0
        └─ eslint:3.19.0
              └─ is-my-json-valid:2.16.1

karma-coveralls:1.1.2
        └─ coveralls:2.11.16
              └─ request:2.79.0
                    └─ har-validator:2.0.6
                          └─ is-my-json-valid:2.16.1

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Update development documentation

Reported by @bryanlandia:

edxapp@precise64:~/venvs/edxapp/src/video-xblock$ make deps
make: *** No rule to make target `deps'.  Stop.

It is also missing a bower install to get the standard (non-test) dependencies. Am I missing something?

  • There seems to be a version incompatibility issue with the dev dependencies in package.json.
edxapp@precise64:~/venvs/edxapp/src/video-xblock$ npm install
npm WARN package.json @ No repository field.
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.11.0","iojs":"*"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"iojs":">= 1.0.0","node":">= 0.12.0"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=4"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"iojs":">= 1.0.0","node":">= 0.12.0"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm ERR! peerinvalid The package eslint does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] wants eslint@^2.9.0
npm ERR! peerinvalid Peer [email protected] wants eslint@>=1.0.0
npm ERR! peerinvalid Peer [email protected] wants [email protected] - 3.x

npm ERR! System Linux 3.2.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! cwd /edx/app/edxapp/venvs/edxapp/src/video-xblock
npm ERR! node -v v0.10.37
npm ERR! npm -v 1.4.28
npm ERR! code EPEERINVALID
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /edx/app/edxapp/venvs/edxapp/src/video-xblock/npm-debug.log
npm ERR! not ok code 0

[DepShield] (CVSS 7.5) Vulnerability due to usage of tar:2.2.1

Vulnerabilities

DepShield reports that this application's usage of tar:2.2.1 results in the following vulnerability(s):


Occurrences

tar:2.2.1 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ tar:2.2.1
                          └─ tar-pack:3.4.0
                                └─ tar:2.2.1

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.5) Vulnerability due to usage of tough-cookie:2.3.2

Vulnerabilities

DepShield reports that this application's usage of tough-cookie:2.3.2 results in the following vulnerability(s):


Occurrences

tough-cookie:2.3.2 is a transitive dependency introduced by the following direct dependency(s):

karma:1.7.1
        └─ chokidar:1.7.0
              └─ fsevents:1.1.2
                    └─ node-pre-gyp:0.6.36
                          └─ request:2.81.0
                                └─ tough-cookie:2.3.2

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

[DepShield] (CVSS 7.4) Vulnerability due to usage of lodash.findindex:4.6.0

Vulnerabilities

DepShield reports that this application's usage of lodash.findindex:4.6.0 results in the following vulnerability(s):


Occurrences

lodash.findindex:4.6.0 is a transitive dependency introduced by the following direct dependency(s):

eslint-plugin-import:1.16.0
        └─ lodash.findindex:4.6.0

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

End users having trouble finding accordion settings

Two different users, one a developer, who have been regular users of Studio edit and the XBlock did not realize that the "3Play media transcripts" section could be opened for more settings. I think we improve the UX, make it more obvious that these are openable sections. Maybe by moving the +/- to the left of the section headers and making them larger this would be fixed. Also, it might help to have a stronger dividing line on the bottom of the group of accordion sections, so it is apparent that the next field, "Player Id" is not under the heading of "3Play media transcripts"

Rendering of Django templates fails in Ironwood after a video_xblock is rendered

We have two significant pages that are rendered using django templates in our Ironwood environment, the logout page and the 'reset your password' reminder email. After a request for a page that includes a video-xblock from the ironwood-rg branch has been responded to, the responding process no longer renders other django templates correctly, because utils.py:render_template() modifies engine.dirs with the path to its own templates.

Clarify help text for transcripts upload in Advanced tab

Help text reads: "Click below to specify a language and upload an .srt transcript file for that language."
I did not realize until today that you can also upload a .vtt file directly. Please clarify or correct the help text.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.