Scorm
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
scorm
- Scorm package main data.scorm_sco
- Educational content data associated with the Scorm package.scorm_sco_tracking
- Stores the user's progress.
Scorm 1 -> n ScormScos
Scorm 1 -> n ScormScoTracking
Tutorial
- Get the Scorm package from EscolaLms\Scorm or Sample SCORM packages.
- Upload Scorm package in Zip format
/api/admin/scorm/upload
. - Start the player by specifying uuid Scorm SCO
/api/scorm/play/{uuid}
. - 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
Tests
Run ./vendor/bin/phpunit
to run tests. See tests folder as it's quite good staring point as documentation appendix.
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 packages
Scorm player
Permissions
Permissions are defined in seeder.
Todo.
The package does not support all available scorm formats #1#2