Skip to main content

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

Release files for abstract-scorm-xblock 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abstract-scorm-xblock 1.0.1
File Size Uploaded
abstract-scorm-xblock-1.0.1.tar.gz 17.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for abstract-scorm-xblock 1.0.1
File Interpreter ABI Platform
abstract_scorm_xblock-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size:38.5 kB

Release files / abstract-scorm-xblock-1.0.1.tar.gz

Download URL abstract-scorm-xblock-1.0.1.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ca0352c4409cb54e83bb600846c16b71f774de9cf87e9336da611a75ff11a376
BLAKE2b-256 checksum
How to use checksums
70d61bab357262f053c76cb5d02cf4fd771ca99da46765147038e5c4c6bbfba4
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / abstract_scorm_xblock-1.0.1-py3-none-any.whl

Download URL abstract_scorm_xblock-1.0.1-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
637e8ec0038b0d282a785d2de4b414c8190bf787df64d5981d74ceda5d5eee44
BLAKE2b-256 checksum
How to use checksums
6e307b5d6f1583a3822556edfabb42f0e4eacc97aa2114a5b475e6d7d97a5c3e
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page