XBlock to integrate Pumukit2 into an Open edX instance. It is intented to work along with:
This XBlocks allows to integrate PuMuKIT2 Video Platform into Open edX to add videos, upload videos, manage videos or even record personal videos. This XBlock can be used with either PuMuKIT 2.3.x or 2.4.x. This videos can have public or hidden status in PuMuKIT platform, easing the privacy of the videos. The XBlock offers different ways to integrate a PuMuKIT video into Open edX. The professor has an editing modal window to chose how to add content to the unit. In this modal window the professor has various options to integrate a video from:
- URL: Through the ID of the video in PuMuKIT.
- UPLOAD: The professor can upload a video to PuMuKIT and publish it directly from Open edX, automatically sharing the video into the Open edX unit.
- RECORDER: If the PuMuKIT plaform has enabled the Personal Recorder, this tool is also integrated into Open edX. The professor can record from his/her own personal computer a dual stream video using this XBlock in Open edX and publish it automatically in PuMuKIT and the Open edX unit.
- LIBRARY: The professor can manage his/her own videos with this XBlock.
The students will watch the video into the LMS the same way the professor watch it.
git clone [email protected]:teltek/pumukit2-opencast-video-xblock.git
Define password and domain of your Pumukit2 instance in an env.json
file
created at the root path of this repository.
DEBUG
: Django DEBUG value. Only for development environment.PROTOCOL
: Protocol used by PuMuKIT server.DOMAIN
: Domain or subdomain used to access into the naked backoffice of PuMuKIT server.SSO_URI
: URI defined to access global SSO controller in PuMuKIT2 Open edX Bundle.MANAGER_URI
: URI defined to access Manager request in Manager controller in PuMuKIT2 Open edX Bundle.IFRAME_URI
: URI defined to embed PuMuKIT videos into Open edX. This is the full URI to access Iframe request in Open edX Controller of PuMuKIT2 Open edX Bundle.VIDEO_URI
: URI defined to build the API video URL to get data of the video.PERSONAL_RECORDER_URI
: URI defined to access Personal Recorder request in Personal Recorder Controller of PuMuKIT2 Open edX Bundle. You should install Personal Recorder Bundle to make this work.UPLOAD_URI
: URI defined to access the Upload request in the Upload Controller of PuMuKIT2 Open edX Bundle.PASSWORD
: Shared secret with Open edX Bundle.SHOW_URL_TAB
: Whether to show or not the tab with the URL (ID) of the video in the Studio edit modal window.SHOW_UPLOAD_TAB
: Whether to show or not the Upload tab in the Studio edit modal window.SHOW_RECORDER_TAB
: Whether to show or not the Recorder tab in the Studio edit modal window.SHOW_LIBRARY_TAB
: Whether to show or not the Library tab in the Studio edit modal window.
Example of env.json
with default values. Change these values:
{
"DEBUG": false,
"PROTOCOL": "https",
"DOMAIN": "pumukit-example-naked-uri.com",
"SSO_URI": "openedx/sso",
"MANAGER_URI": "manager",
"IFRAME_URI": "openedx/openedx/embed",
"VIDEO_URI": "video.json",
"PERSONAL_RECORDER_URI": "personal_recorder",
"UPLOAD_URI": "upload",
"PASSWORD": "ThisIsASecretPasswordChangeMe",
"SHOW_URL_TAB": true,
"SHOW_UPLOAD_TAB": true,
"SHOW_RECORDER_TAB": false,
"SHOW_LIBRARY_TAB": true
}
sudo chown -R edxapp:edxapp /path/to/your/xblock
sudo -u edxapp /edx/bin/pip.edxapp install -e /path/to/your/xblock
Uncomment this line in common.py files if it is not already uncommented:
# XBLOCK_SELECT_FUNCTION = prefer_xmodules
Access to Studio to a given course. In Settings, Advanced Settings, add the Pumukit2 XBlock in Advanced Modules List as:
["pumukit2"]
Edit file devstack/docker-compose-host.yml
version: "2.1"
services:
...
lms:
volumes:
...
- ${DEVSTACK_WORKSPACE}/xblocks:/edx/app/edxapp/xblocks
...
studio:
volumes:
...
- ${DEVSTACK_WORKSPACE}/xblocks:/edx/app/edxapp/xblocks
git clone [email protected]:teltek/pumukit2-opencast-video-xblock.git
Define password and domain of your Pumukit2 instance in an env.json
file
created at the root path of this repository.
DEBUG
: Django DEBUG value. Only for development environment.PROTOCOL
: Protocol used by PuMuKIT server.DOMAIN
: Domain or subdomain used to access into the naked backoffice of PuMuKIT server.SSO_URI
: URI defined to access global SSO controller in PuMuKIT2 Open edX Bundle.MANAGER_URI
: URI defined to access Manager request in Manager controller in PuMuKIT2 Open edX Bundle.IFRAME_URI
: URI defined to embed PuMuKIT videos into Open edX. This is the full URI to access Iframe request in Open edX Controller of PuMuKIT2 Open edX Bundle.VIDEO_URI
: URI defined to build the API video URL to get data of the video.PERSONAL_RECORDER_URI
: URI defined to access Personal Recorder request in Personal Recorder Controller of PuMuKIT2 Open edX Bundle. You should install Personal Recorder Bundle to make this work.UPLOAD_URI
: URI defined to access the Upload request in the Upload Controller of PuMuKIT2 Open edX Bundle.PASSWORD
: Shared secret with Open edX Bundle.SHOW_URL_TAB
: Whether to show or not the tab with the URL (ID) of the video in the Studio edit modal window.SHOW_UPLOAD_TAB
: Whether to show or not the Upload tab in the Studio edit modal window.SHOW_RECORDER_TAB
: Whether to show or not the Recorder tab in the Studio edit modal window.SHOW_LIBRARY_TAB
: Whether to show or not the Library tab in the Studio edit modal window.
Example of env.json
with default values. Change these values:
{
"DEBUG": false,
"PROTOCOL": "https",
"DOMAIN": "pumukit-example-naked-uri.com",
"SSO_URI": "openedx/sso",
"MANAGER_URI": "manager",
"IFRAME_URI": "openedx/openedx/embed",
"VIDEO_URI": "video.json",
"PERSONAL_RECORDER_URI": "personal_recorder",
"UPLOAD_URI": "upload",
"PASSWORD": "ThisIsASecretPasswordChangeMe",
"SHOW_URL_TAB": true,
"SHOW_UPLOAD_TAB": true,
"SHOW_RECORDER_TAB": false,
"SHOW_LIBRARY_TAB": true
}
make lms-shell
sudo chown -R edxapp:edxapp /path/to/your/xblock
sudo -u edxapp /edx/bin/pip.edxapp install -e /path/to/your/xblock
Uncomment this line in common.py files if it is not already uncommented:
# XBLOCK_SELECT_FUNCTION = prefer_xmodules
Inside both dockers
paver update_assets lms --settings=devstack_docker
paver update_assets cms --settings=devstack_docker
Outside dockers
make lms-restart
make studio-restart
Access to Studio to a given course. In Settings, Advanced Settings, add the Pumukit2 XBlock in Advanced Modules List as:
["pumukit2"]
For more info about XBlocks, read XBlocksInfo.md.