Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abstract-scorm-xblock-1.0.1.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

abstract_scorm_xblock-1.0.1-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

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

Hashes for abstract-scorm-xblock-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ca0352c4409cb54e83bb600846c16b71f774de9cf87e9336da611a75ff11a376
MD5 4973ee8b5f03f6a8da97c0b3b7e269a9
BLAKE2b-256 70d61bab357262f053c76cb5d02cf4fd771ca99da46765147038e5c4c6bbfba4

See more details on using hashes here.

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

Hashes for abstract_scorm_xblock-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 637e8ec0038b0d282a785d2de4b414c8190bf787df64d5981d74ceda5d5eee44
MD5 bdd38fe98ae53d05193e0194a440a84e
BLAKE2b-256 6e307b5d6f1583a3822556edfabb42f0e4eacc97aa2114a5b475e6d7d97a5c3e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page