PHPackages                             devianl2/laravel-scorm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. devianl2/laravel-scorm

ActiveLibrary

devianl2/laravel-scorm
======================

PEOPLEAPS scorm package

4.0.1(3y ago)47213.4k↑11%36[8 issues](https://github.com/devianl2/laravel-scorm/issues)[1 PRs](https://github.com/devianl2/laravel-scorm/pulls)2MITPHPPHP ^7.4 || ^8.0

Since Apr 23Pushed 3mo ago9 watchersCompare

[ Source](https://github.com/devianl2/laravel-scorm)[ Packagist](https://packagist.org/packages/devianl2/laravel-scorm)[ RSS](/packages/devianl2-laravel-scorm/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (3)Versions (38)Used By (2)

Laravel Scorm Handler
=====================

[](#laravel-scorm-handler)

If you want to be a collaborator, feel free to raise a ticket and mention your email.

*Design for Laravel LMS*
------------------------

[](#design-for-laravel-lms)

[![N|Solid](https://camo.githubusercontent.com/7a3c65e109ebb3744896fd05f729f0f95f631929be9e4a7ffa5ee2797cb7ddf9/68747470733a2f2f70656f706c656170732e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032302f31312f70322d30312d30312e706e67)](https://www.peopleaps.com)

Laravel Scorm Handler is a laravel package that simplify scorm package contents (zip file) into laravel storage.

Highlight of this package:

- Zipfile handler with auto extract and store sco into database
- Store user CMI data into database
- Get user last learning data

*Things you must know before you install:*
------------------------------------------

[](#things-you-must-know-before-you-install)

1. You have a domain/subdomain to serve scorm content
2. Scorm content folder/path must be outside from laravel application (Security issue).
3. Virtual host to point domain/subdomain to scorm content directory (E.g: /scorm/hashed\_folder\_name/)
4. Uploaded file should have the right permission to extract scorm files into scorm content directory
5. This package will handle folder creation into scorm content directory (E.g: /scorm/{auto\_generated\_hashname}/imsmanifest.xml)

Step 1:
-------

[](#step-1)

Install from composer (For flysystem v1)

```
composer require devianl2/laravel-scorm:"^3.0"
```

Install from composer (For flysystem v2/v3)

```
composer require devianl2/laravel-scorm
```

Step 2:
-------

[](#step-2)

Run vendor publish for migration and config file

```
php artisan vendor:publish --provider="Peopleaps\Scorm\ScormServiceProvider"
```

Step 3:
-------

[](#step-3)

Run config cache for update cached configuration

```
php artisan config:cache
```

Step 4:
-------

[](#step-4)

Migrate file to database

```
php artisan migrate
```

Step 5 (Optional):
------------------

[](#step-5-optional)

***Update SCORM config under `config/scorm`***

- update scorm table names.
- update SCORM disk and configure disk @see config/filesystems.php

```
    'disk'  =>  'scorm-local',
    'disk'  =>  'scorm-s3',

 // @see config/filesystems.php
     'disks' => [
         .....
         'scorm-local' => [
            'driver'     => 'local',
            'root'       =>  env('SCORM_ROOT_DIR'), // set root dir
            'visibility' => 'public',
        ],

        's3-scorm' => [
            'driver' => 's3',
            'root'   => env('SCORM_ROOT_DIR'), // set root dir
            'key'    => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_SCORM_BUCKET'),
        ],
        .....
     ]

```

***Update SCORM translations under `resources/lang/en-US/scorm.php`***

- SCORM runtime errors exceptions handler, *(Check next example)*
- Copy and translate error msg with key for other locale as you wish.

*After finishing don't forget to run `php artisan config:cache`*

Step 6 (Optional):
------------------

[](#step-6-optional)

**Usage**

```
class ScormController extends BaseController
{
    /** @var ScormManager $scormManager */
    private $scormManager;
    /**
     * ScormController constructor.
     * @param ScormManager $scormManager
     */
    public function __construct(ScormManager $scormManager)
    {
        $this->scormManager = $scormManager;
    }

    public function show($id)
    {
        $item = ScormModel::with('scos')->findOrFail($id);
        // response helper function from base controller reponse json.
        return $this->respond($item);
    }

    public function store(ScormRequest $request)
    {
        try {
            $scorm = $this->scormManager->uploadScormArchive($request->file('file'));
            // handle scorm runtime error msg
        } catch (InvalidScormArchiveException | StorageNotFoundException $ex) {
            return $this->respondCouldNotCreateResource(trans('scorm.' .  $ex->getMessage()));
        }

        // response helper function from base controller reponse json.
        return $this->respond(ScormModel::with('scos')->whereUuid($scorm['uuid'])->first());
    }

    public function saveProgress(Request $request)
    {
        // TODO save user progress...
    }
}

```

***Upgrade from version 2 to 3:***Update your Scorm table:

- Add entry\_url (varchar 191 / nullable)
- Change hash\_name to title
- Remove origin\_file\_mime field

***Upgrade from version 3 to 4:***Update your Scorm table:

- Add identifier (varchar 191)

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance50

Moderate activity, may be stable

Popularity48

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 61.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~43 days

Recently: every ~263 days

Total

37

Last Release

324d ago

Major Versions

1.0.15 → 2.02021-05-06

2.0.6 → 3.02022-02-11

3.0.9 → 4.0.02022-09-28

3.x-dev → 4.0.12022-09-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/258988219cf511bbd9c2809a6ba1653006dee578e2db26cb813aa99f6a24a319?d=identicon)[devianl2](/maintainers/devianl2)

---

Top Contributors

[![devianl2](https://avatars.githubusercontent.com/u/23150573?v=4)](https://github.com/devianl2 "devianl2 (66 commits)")[![KhaledLela](https://avatars.githubusercontent.com/u/3756884?v=4)](https://github.com/KhaledLela "KhaledLela (38 commits)")[![CThomas87](https://avatars.githubusercontent.com/u/801969?v=4)](https://github.com/CThomas87 "CThomas87 (1 commits)")[![Kreshnik](https://avatars.githubusercontent.com/u/1788349?v=4)](https://github.com/Kreshnik "Kreshnik (1 commits)")[![sandermenke](https://avatars.githubusercontent.com/u/9716820?v=4)](https://github.com/sandermenke "sandermenke (1 commits)")

### Embed Badge

![Health badge](/badges/devianl2-laravel-scorm/health.svg)

```
[![Health](https://phpackages.com/badges/devianl2-laravel-scorm/health.svg)](https://phpackages.com/packages/devianl2-laravel-scorm)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M508](/packages/pimcore-pimcore)[concrete5/core

Concrete core subtree split

20166.1k52](/packages/concrete5-core)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)[flarum/core

Delightfully simple forum software.

201.4M2.3k](/packages/flarum-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
