Skip to main content

s3scorm plugin for Tutor

Project description

Using SCORM modules in multi-server deployments offer a number of challenges. A full list of scenarios and solutions can be found in this document.

Basically a SCORM component is a set of files packed in a zip file that includes all assets to display and control its behaviour. This file is uploaded in Studio, stored and unpacked in the default file storage and displayed in the LMS from there.

SCORM components are inserted in the LMS as an iframe by the SCORM Xblock plugin. When the SCORM XBlock is configured as graded, it will call an API located at the parent window to communicate the result of the activity to the LMS. When the SCORM assets are served from an origin different than the url of the LMS, this will usually fail due to cross-origin restrictions imposed by the browser.

Scalable LMS implementations require that the file storage is located outside of the LMS and CMS workloads, typically in an object storage service like AWS S3. In this scenario the standard configuration may allow SCORM blocks to be displayed, but the grading function will certainly fail.

This plugin addresses this issue to make graded SCORM XBlocks work.

https://img.shields.io/badge/linting-pylint-yellowgreen

How it works

This plugin will add a reverse proxy statement to the lms matcher in the Caddyfile, so that requests to LMS_BASE/scorm/ will be proxied to the S3 endpoint corresponding to the bucket. This will cause that all SCORM assets will be served from the same origin url as the LMS. The effect is that the scorm components will be able to access the api located at the parent window.

To have the

Installation

pip install git+https://github.com/aulasneo/tutor-contrib-s3scorm

Configuration

This plugins require that you setup these two parameters. There are no defaults, so leaving any of them not configured will cause an error.

  • S3SCORM_BUCKET (mandatory): name of the bucket (e.g., openedx-my-file-bucket)

  • S3SCORM_ENDPOINT (mandatory): S3 endpoint. E.g., s3.us-east-1.amazonaws.com.

  • S3SCORM_PATH (optional): Path inside the bucket where the ‘scorm’ directory is located. Include a leading slash and no trailing slash (e.g. “/openedx/media”). Defaults to empty path (root of the bucket).

Optional parameters:

  • S3SCORM_USE_SSL: Default true.

Usage

tutor plugins enable s3scorm

License

This software is licensed under the terms of the AGPLv3.

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

tutor_contrib_s3scorm-19.0.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tutor_contrib_s3scorm-19.0.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file tutor_contrib_s3scorm-19.0.0.tar.gz.

File metadata

  • Download URL: tutor_contrib_s3scorm-19.0.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.6

File hashes

Hashes for tutor_contrib_s3scorm-19.0.0.tar.gz
Algorithm Hash digest
SHA256 f7450a3cabb3a6b8879934f832a337cab4ef584d1a95b9fa27b313c7c4d844bd
MD5 2820f88936145777dc90de9841c1cc50
BLAKE2b-256 7ba9fa458e7df4f1114def8033f799525c7d1bb6cf37e7a8084af039f35010ac

See more details on using hashes here.

File details

Details for the file tutor_contrib_s3scorm-19.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tutor_contrib_s3scorm-19.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8934dc82b3d09cb475e0b67a64da137e3a273748569ddc6e376b3c1b51b345cc
MD5 c95dd373d19f3fe6c8949c2f1d031fde
BLAKE2b-256 0b5d4e5122cbcb27c646e9b4a136ade7bc35f9f354cfb7b857b7721abbb61106

See more details on using hashes here.

Supported by

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