Giter Site home page Giter Site logo

sr258 / scorm-h5p-wrapper Goto Github PK

View Code? Open in Web Editor NEW
49.0 7.0 25.0 1.5 MB

A NodeJS application that packs H5P content into SCORM objects

Home Page: https://translate-h5p.tk/scorm-h5p/

License: MIT License

JavaScript 86.33% HTML 13.29% Dockerfile 0.38%
h5p scorm lms

scorm-h5p-wrapper's Introduction

scorm-h5p-wrapper

This utility allows you to package H5P files into SCORM files.

Advantages of packaging H5P content into SCORM

(in comparison to embedding from external sites or using the built-in H5P module of your LMS)

  • You can use H5P in any LMS that supports SCORM.
  • Scores are reported to the LMS through SCORM.
  • You don't have to rely on external sites (privacy concerns, availability).
  • You can use H5P content types which are not available in your LMS.
  • Your content will never change, so updates to the H5P core or libraries won't affect it.

Disadvantages of packing H5P content into SCORM

  • Users don't benefit from caching H5P library files across content. This means that all JavaScript, HTML and CSS files have to be downloaded for each package. If the LMS server is a bit slow, this can lead to noticeable delays in loading the content.
  • You can't use the H5P Editor in your LMS to quickly change the content. You have to store your H5P files in a separate place and edit your content on H5P.org or on another CMS that supports H5P (like a local Drupal or WordPress installation).
  • You don't benefit from updates to H5P libraries or the core.
  • The packages are a bit bigger as they include the h5p-standalone library.

As a conclusion, you should only package H5P into SCORM if there are compelling reasons to do so and if you know what you are doing! If you have administrative rights on your LMS and there is a H5P module for it, you should certainly install this module and upload your content the regular way.

Installation

  • It's a NodeJS application, so get NodeJS and NPM for your system.
  • Clone this repository
  • npm install
  • npm run copy-h5p-standalone to copy necessary files into the template directory
  • PORT=8080 npm start
  • Access the application at http://localhost:8080

Note that you must fill the placeholders for the imprint, privacy policy and license in /static. You could do this by mounting a Docker volume into /usr/src/app/static.

Example for docker-compose:

volumes:
  - ./local-dir:/usr/src/app/static

Logging

You can log successful packaging in a CSV file using two environment variables:

  • set USE_STATISTICS to true
  • set STATISTICS_FILE to a path in the filesystem where the log file should be stored. (optional, defaults to ./statistics.csv)

Example (Linux, local installation):

$ PORT=8080 USE_STATISTICS=true STATISTICS_FILE=my_statistics.csv npm start

Example (Docker):

$ docker run --name "scorm-h5p" --env USE_STATISTICS=true --env STATISTICS_FILE=/usr/src/app/logs/log.csv -p 8085:80 -v /home/USER/scorm-h5p-wrapper/logs:/usr/src/app/logs sr258/scorm-h5p:1.0

Running it without installation

There is a running version of this application at https://translate-h5p.tk/scorm-h5p/

scorm-h5p-wrapper's People

Contributors

renovate-bot avatar sr258 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

scorm-h5p-wrapper's Issues

Interactive book

I have not been able to get the wrapper to wrap the content type "interactive book" in a SCORM. It produces a blank page. Looking at the html, it seems to not incorporate the libraries. Is this a known limitation?

Concerning GDPR Healthcare

Good day,

I am working for a company in healtcare. I am a normal support technician who was asked to "Are we allowed to use this software in concerns of GDPR and personal data of patients ?" Because I dont know, what this software is for, what data you process during transformation etc, I am going to ask you. What data is processed, what is kept for how long, what are you able to see?

Yours faithfully
Philipp

H5P Scorm wrapper / Interactive Video - only track total score

Hi, I'm trying to contact Sabastian about correctly tracking 'passed' in LMS if the H5P interaction is an Interactive Video with multiple Single Answer questions within the Interactive Video. I have tried to contact Sabastian through LumiEducation and other routes without success. I hope this works.
I'm using the H5P scorm wrapper however the tracking in the LMS is not working how I want/expect. So I have an H5P interactive video with three questions. If the user answers the first question correctly and exits without finishing the LMS (Moodle and SCORM Cloud) is reporting the IV as 'Passed' without the learner answering the other two questions. Is it possible to only return a 'passed' status to the LMS when all three questions have been answered correctly, not triggered by individual questions. I have tried all the combinations of score settings (H5p question, H5p scorm wrapper and LMS setup) I can think of but nothing it working.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update Node.js to v20
  • Update dependency filesize to v10
  • Update dependency fs-extra to v11
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
Dockerfile
  • node 12-alpine
npm
package.json
  • chalk ^3.0.0
  • csv-writer ^1.5.0
  • death ^1.1.0
  • decompress ^4.2.0
  • express ^4.17.1
  • express-fileupload ^1.1.6-alpha.6
  • filesize ^6.0.1
  • fs-extra ^8.1.0
  • h5p-standalone ^2.0.2
  • lodash ^4.17.15
  • simple-scorm-packager ^0.2.3

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.