Yet another SCORM XBlock for Open edX®.
Supports course export/import. Editable within Open edx Studio. Saves student state and reports scores to the progress tab of the course. Currently supports SCORM 1.2 and SCORM 2004 standards.
Developed by Abstract Technology, based on edx_xblock_scorm by Raccoon Gang .
Install package with
pip install abstract-scorm-xblock
abstract_scorm_xblock
to the list of advanced modules in the advanced settings of a course.scorm
component to your Unit.imsmanifest.xml
file must be at the root of the zipped package. Make sure you don't have an additional directory at the root of the zip archive.To setup the development environment:
direnv allow
should be enough.pip install -r requirements.txt
In order to be able to develop and debug effectively some steps may be taken:
get a shell inside the container:
cd derex_project
ddc-project exec cms sh
setup the package in editable mode. This will allow for testing changes without the need to reinstall the package:
pip install -e /openedx/derex.requirements/abstract_scorm_xblock
launch the Django debug server manually and bind it on port 81
:
python manage.py cms runserver 0:81
on your browser https://studio.scorm.localhost:81 should now be available. You should now be able to insert debug code in both Python and JS files and benefit from Django runserver auto reload feature.
Tests can be run with:
ddc-project run --rm lms python manage.py lms test abstract_scorm_xblock --keepdb
The first time this command is run it will initialize the test database. Remove the --keepdb
flag if you want the test database to be created/destroyed each time.
To run a coverage report:
ddc-project run -e COVERAGE_RCFILE=../derex.requirements/abstract_scorm_xblock/.coveragerc --rm lms sh -c "coverage run manage.py lms test abstract_scorm_xblock --keepdb && coverage html"
This will produce an HTML coverage report in the abstract_scorm_xblock/htmlcov
directory.
You can also use the Makefile shortcuts:
make test
make coverage