Load SCORM packages into Open edX courses
Project description
Abstract Scorm XBlock
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 .
Installation
Install package with
pip install abstract-scorm-xblock
Usage
- Add
abstract_scorm_xblock
to the list of advanced modules in the advanced settings of a course. - Add a
scorm
component to your Unit. - Upload a zip file containing your content package. The
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. - Publish your content as usual.
Development
Setup
To setup the development environment:
- create a Python3 virtualenv. If direnv is installed a
direnv allow
should be enough. - install derex with
pip install -r requirements.txt
- setup the derex project. Read https://derex.page/quickstart.html#quickstart for further informations.
Development and Debugging
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.
Running tests
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
Caveats
- If a SCORM package is deleted from the course "Files & Uploads" section, the Import/Export functionality will export a course with a broken XBlock.
TODO
- Delete extracted old SCORM packages from default storage
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file abstract-scorm-xblock-1.0.1.tar.gz
.
File metadata
- Download URL: abstract-scorm-xblock-1.0.1.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca0352c4409cb54e83bb600846c16b71f774de9cf87e9336da611a75ff11a376 |
|
MD5 | 4973ee8b5f03f6a8da97c0b3b7e269a9 |
|
BLAKE2b-256 | 70d61bab357262f053c76cb5d02cf4fd771ca99da46765147038e5c4c6bbfba4 |
Provenance
File details
Details for the file abstract_scorm_xblock-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: abstract_scorm_xblock-1.0.1-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 637e8ec0038b0d282a785d2de4b414c8190bf787df64d5981d74ceda5d5eee44 |
|
MD5 | bdd38fe98ae53d05193e0194a440a84e |
|
BLAKE2b-256 | 6e307b5d6f1583a3822556edfabb42f0e4eacc97aa2114a5b475e6d7d97a5c3e |