Scorm
What does it do
This package is used to store and manage SCORM packages.
Installing
composer require escolalms/scormphp artisan migratephp 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 ScormScoTrackingTutorial
- 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