Skip to content

Commit

Permalink
v0.5.0 release
Browse files Browse the repository at this point in the history
See CHANGELOG.md for release details.
  • Loading branch information
z4y4ts authored Mar 14, 2017
2 parents 99e7c55 + 08d8173 commit 116d21e
Show file tree
Hide file tree
Showing 79 changed files with 4,247 additions and 1,716 deletions.
6 changes: 6 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,17 @@ engines:
channel: "eslint-3"
fixme:
enabled: true
markdownlint:
enabled: true
checks:
MD024: # Multiple headers with the same content
enabled: false # Disabled because of CHANGELOG.md
radon:
enabled: true
ratings:
paths:
- "**.css"
- "**.js"
- "**.md"
- "**.py"
exclude_paths: []
7 changes: 6 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# EditorConfig helps developers define and maintain
# consistent coding styles between different editors and IDEs.
#
# Grab a plugin for your editor of choice here http://editorconfig.org/#download

root=true

[*]
Expand All @@ -8,7 +13,7 @@ indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.yml]
[*.{yml,md}]
indent_size = 2

[Makefile]
Expand Down
7 changes: 5 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
"extends": "eslint-config-edx",
"extends": "eslint-config-edx-es5",
"globals": {
"videojs": true,
"domReady": true
"domReady": true,
"getTranscriptUrl": true,
"showStatus": true,
"gettext": true
},
"rules": {
"no-underscore-dangle": [
Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,11 @@ htmlcov/
.tox/
.coverage
.coverage.*
coverage/
.cache
nosetests.xml
coverage.xml
coverage*.xml
coverage*.json
*,cover
.hypothesis/

Expand Down Expand Up @@ -88,6 +90,9 @@ ENV/
# Rope project settings
.ropeproject

# Locally installed npm packages
node_modules/

# Bower components
bower_components/

Expand Down
5 changes: 5 additions & 0 deletions .pydocstyle
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[pydocstyle]
# Open edX style dictates to always use multiline docstrings (reason to exclude D200 error code).
# Multi-line docstring summary should start at the second line (D203).
# 1 blank line should not be required before class docstring (D212).
ignore = D200,D203,D212
42 changes: 27 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,41 @@
language: python
sudo: false
python:
- "2.7.10"
- "2.7.13"
- 2.7.10
- 2.7.13

addons:
apt:
packages:
- ruby1.9.3
# Install binary package for lxml to speed up build
- python-lxml

cache:
pip: true
directories:
- node_modules # NPM packages
- node_modules # NPM packages

before_install:
# Install latest stable NodeJS version. Required for eslint.
- nvm install stable
# Install binary package for lxml to speed up build
- sudo apt-get -qq update
- sudo apt-get install -y python-lxml
# Install latest stable NodeJS version. Required for eslint.
- nvm install stable
- gem install coveralls-lcov

install:
- make dev-install

before_script:
- make deps-test
# Install eslint, eslint-config-edx and their dependencies
- make tools
# Install bower, eslint, eslint-config-edx-es5 and their dependencies
- make tools
- make deps-test

script:
- make quality-py
- make quality-js
- make test-py
- make quality-py
- make quality-js
- make test

after_success:
- coveralls
- make coveralls
notifications:
slack:
secure: BmwAxUvohFcruAoIjqcw35q7xbWWl7BV+ABaWO4Fxc+hC20tPNzQUjMLgzYboMtaiBLncMpiFhriv2KCQs6khKtnertZPKfhG01FP/vQ2FPYF3p5K2ZvCsfkTeSKKtohmH0rMCuuRu/Wt3ACbcX/9KMc7Lrn0knaUyqTApJm24HVCkCsnL5MDkZT3AxnuCURdYaq+BTiPWJnmyZMrRNxGH/WcperVy0T4LxYnhpg6xGnyfyip0IDXOGp77pn5LcDiqhE3ISthH170arGxWyBvwLdeTSqTN8hViGqOVe9oBy5GrdNvNsqVRN6MLONSQNOnNT8P+F1m7h7sRohvFG0ZcJK6spKA7QhUGk8Wj6Kp5hdOK/cAd786HfusdJkRLUgyW1TAj/LsUE/z5VQgxoN8GtjSLtEjiHLTW1ueGxJ48LODFjzT7MptUyvSf98EK9emVbgYoGE2d0HkXDv9hqF63n8yGc7rGMNvS0I0e9nQ+9QdPjkT4KTNpJgiRDtrFK/8/P4hmgmEYXvC1//t5H+BrVMymH2v/+jvwn56zb+RbvK8yt7wHLgtENxEECQWy6QgYXUry3AfMOsaBOpVCW/ATCotM1+lkyjb0YLTmRNuTfJx2hvUc1gxJPr1WUZur4Cz87fVWUM9k4aFD9gKeR1JOTMc71leQNAmdYVDI0ypMc=
15 changes: 15 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
This is a joint effort of Appsembler and Raccoon Gang to enhance
Open edX ecosystem. We welcome open-source community to add more
video-backends as well as fix issues.

Alexander Kryklia <kryklia@gmail.com>
Alexander Marenich <alexander.marenich@raccoongang.com>
Alexander Zayats <alexander.zayats@gmail.com>
Anton Stupak <anton.stupak@raccoongang.com>
Andrey Doroshenko <dorosshh@gmail.com>
Dmitry Shyshov <xahgmah@gmail.com>
Nate Aune <nate@noderabbit.com>
Olena Persianova <olena.persianova@raccoongang.com>
Valera Rozuvan <valera.rozuvan@gmail.com>
Vladas Tamoshaitis <amd.vladas@gmail.com>
Vladimir Ganzii <ganziy.vova@gmail.com>
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Change Log

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## [0.5.0] - 2017-03-14

### Added

- Html5 video support.
- Manual uploaded transcripts validation: file extension and size.
- Code stabilization:
- Python unit tests.
- JS unit tests foundation.

### Changed

- UI improvements in Studio:
- Split Video XBlock settings into Basic & Advanced tabs.
- Display only fields relevant to selected video.
- Move all python dependencies into setup.py to simplify XBlock installation.

### Fixed

- Various bugs.

## [0.4.0] - 2017-02-07

### Added

- Brightcove content protection and auto-quality
- On API authentication uploads two custom Ingest Profiles:
- Creates new API credentials with required permissions
- HLS for auto quality
- HLSe for auto qualify & encryption

- Add new UI controls after a user has authenticated against Brightcove API:
- View video tech info
- Send video re-transcode request on a Brightcove side

- Default transcripts upload
- Allows to fetch transcripts from the platform and store them into XBlock.
- Supports: Brightcove, Youtube & Wistia.
- Brightcove & Wistia require API authentication before default transcripts
upload can work.

### Fixed

- Various bugfixes and improvements.
22 changes: 17 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,41 @@ all: quality test
clean:
-rm -rf node_modules/

test: test-py
test: test-py test-js

test-py:
nosetests video_xblock --with-coverage --cover-package=video_xblock

test-js:
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start
karma start video_xblock/static/video_xblock_karma.conf.js
sh -e /etc/init.d/xvfb stop

quality: quality-py quality-js

quality-py:
pep8 . --format=pylint --max-line-length=120
pylint -f colorized video_xblock
pydocstyle -e

quality-js:
eslint video_xblock/static/js/

deps:
pip install -r requirements.txt
bower install
dev-install:
# Install package using pip to leverage pip's cache and shorten CI build time
pip install --process-dependency-links -e .

deps-test:
pip install -r test_requirements.txt
bower install

tools:
npm install "eslint@^2.12.0" eslint-config-edx "eslint-plugin-dollar-sign@0.0.5" "eslint-plugin-import@^1.9.2"
npm install

coveralls:
coveralls-lcov -v -n video_xblock/static/coverage/PhantomJS\ 2.1.1\ \(Linux\ 0.0.0\)/lcov.info > coverage.json
coveralls --merge=coverage.json

package:
echo "Here be static dependencies packaging"
32 changes: 28 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,31 @@
# xblock-video

[![Build Status](https://travis-ci.org/raccoongang/xblock-video.svg?branch=dev)](https://travis-ci.org/raccoongang/xblock-video)
[![Coverage Status](https://coveralls.io/repos/github/raccoongang/xblock-video/badge.svg?branch=dev)](https://coveralls.io/github/raccoongang/xblock-video?branch=dev)

# xblock-video
[![GitHub release](https://img.shields.io/github/release/raccoongang/xblock-video.svg)](https://github.com/raccoongang/xblock-video/releases)

XBlock to embed videos hosted on different video platform into your courses.

The idea of crowd-funded universal video-xblock was brought to the
audience by Nate (Appsembler) on Open edX Con 2016 in Stanford.
It was well-received and first funds were gathered.

The development was initiated by Raccoon Gang team, basing on
previously developed wistia-xblock. Raccoon Gang guys created universal
pluggable interface and implemented several video-backends:

- Brightcove
- Html5
- Vimeo
- Wistia
- Youtube

Appsembler and Raccoon Gang are presenting the talk on the story of
video-xblock on Open edX Con 2017 in Madrid.

We welcome open-source community to add more video-backends as well as
fix issues.

## Installation

```shell
Expand All @@ -13,7 +34,6 @@ source ~/edxapp_env
# Clone and install xblock
git clone https://github.com/raccoongang/xblock-video.git
cd xblock-video
pip install -e .
# Install Python and JavaScript dependencies
make deps
```
Expand All @@ -38,22 +58,26 @@ TODO
## Development

Install dependencies and development tools:

```shell
> make deps deps-test tools
```

Run quality checks:

```shell
> make quality
```

Run tests:

```shell
> make test
```

## License

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

Please see `LICENSE` file for details.
17 changes: 17 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"devDependencies": {
"bower": "^1.8.0",
"eslint": "^2.12.0",
"eslint-config-edx-es5": "2.0.0",
"eslint-plugin-dollar-sign": "0.0.5",
"eslint-plugin-import": "^1.9.2",
"jasmine-core": "^2.5.2 ",
"karma": "^1.5.0",
"karma-jasmine": "^1.1.0",
"karma-phantomjs-launcher": "^1.0.2",
"karma-coverage": "^1.1.1",
"karma-coveralls": "^1.1.2",
"karma-chrome-launcher": "^2.0.0"

}
}
5 changes: 0 additions & 5 deletions requirements.txt

This file was deleted.

Loading

0 comments on commit 116d21e

Please sign in to comment.