Skip to content
On this page

Scorm

swaggercodecovphpunitdownloadsdownloadsdownloads

What does it do

This package is used to store and manage SCORM packages.

Installing

  • composer require escolalms/scorm
  • php artisan migrate
  • php artisan db:seed --class="EscolaLms\Scorm\Database\Seeders\DatabseSeeder"
  • php artisan db:seed --class="EscolaLms\Scorm\Database\Seeders\PermissionTableSeeder"

Database

  1. scorm - Scorm package main data.
  2. scorm_sco - Educational content data associated with the Scorm package.
  3. scorm_sco_tracking - Stores the user's progress.
Scorm 1 -> n ScormScos
Scorm 1 -> n ScormScoTracking

Tutorial

  1. Get the Scorm package from EscolaLms\Scorm or Sample SCORM packages.
  2. Upload Scorm package in Zip format /api/admin/scorm/upload.
  3. Start the player by specifying uuid Scorm SCO /api/scorm/play/{uuid}.
  4. The package supports tracking user progress, to achieve this, you need to send an authorization token in the header.

Endpoints

  • /api/admin/scorm/upload - Upload ZIP Scorm Package into app local storage.
  • /api/scorm/play/{uuid} - SCORM SCO player.

All the endpoints are defined in swagger swagger

Tests

Run ./vendor/bin/phpunit to run tests. See tests folder as it's quite good staring point as documentation appendix.

Test details codecovphpunit

How to use this on frontend.

Endpoint /api/scorm/play/{uuid} returns the html file with the <iframe>.

html
<html lang="en">
...
<iframe src="api/storage/{scorm-version}/{uuid}/index.html"></iframe>
...
</html>

Admin panel

List of Scorm packagesList of Scorm packages

Scorm playerScorm player

Permissions

Permissions are defined in seeder.

Todo.

The package does not support all available scorm formats #1#2