The purpose of this document is to list down things that we need to change for new video Xblock or not to carry forward from old video Xmodule. This also includes to list down issues with current Xmodule
Areas of improvement
Xmodule to Xblock:
Javascript tests
Bokchoy tests
CDN URLS
Youtube dependencies
No Youtube dependency in sense of encodings i.e. pipeline
Video Component UI
...
Based on current video xmodule we are moving to have video xblock which can bring improvements in overall video workflow process.
Roll out plan
Nimisha Asthagiri (Deactivated) I'm bringing this as part of document instead of comment area, this is useful information that i'm thinking to keep it here.
Talking to Scott Dunn about this, here's a thought on 2 alternative rollout plans for you to consider. Curious to see which one pans out (or another plan altogether).
- Plan A. Duplicate and Prune in iterative releases
Create a shell video xBlock, but then duplicate all the existing code into the new xBlock. Initial release includes all existing code. Then iterate on the new xBlock by incrementally removing all the extra fluff that's no longer needed. Refactor at each iteration with clean-code practices in mind.
Minus: Would need to make sure the team follows through on all the tech debt items before completing the project. Also need to make sure we are aggressive about refactoring.
Plus: May be a faster path; aiming for practical improvement, not perfection - Plan B. Start from scratch
Re-implement the video xBlock altogether, including all functionality (and possibly tests as well). Would still use the existing code as reference to rebuild the new one.
Minus: May be hard to estimate/scope this out.
Plus: May result in cleaner code but it really depends on whether the team is rethinking from first principles or will end up copying and pasting anyway.