---
title: "Escolalms Scorm"
description: "This is the SCORM component of EscolaLMS, an open-source Polish LMS built on Laravel, published separately on Packagist so it can be dropped into any Laravel application. It handles the unglamorous half of SCORM hosting: accept a zip, parse the manifest, unpack it to storage, expose a player endpoint, and persist per-learner tracking into three tables — package, SCO, and SCO tracking."
canonical_url: "https://scorm-tools.com/tools/escolalms-scorm"
last_updated: "2026-10-31T10:22:00.258Z"
---

This is the SCORM component of EscolaLMS, an open-source Polish LMS built on Laravel, published separately on Packagist so it can be dropped into any Laravel application. It handles the unglamorous half of SCORM hosting: accept a zip, parse the manifest, unpack it to storage, expose a player endpoint, and persist per-learner tracking into three tables — package, SCO, and SCO tracking.

Parsing is delegated to `devianl2/laravel-scorm`; the value added here is the API surface, the tracking strategies for 1.2 and 2004, the permission seeders and a Swagger definition. Two endpoints do the work, one to upload and one to play, and the player is returned as HTML wrapping an iframe, which makes it straightforward to embed in a decoupled front end.

Be clear about scope before adopting it. It is a backend component, not a product: there is no authoring, no conformance testing, no reporting beyond the tracking rows, and the maintainers' own README links two open issues admitting the package "does not support all available scorm formats". A 2004 2nd Edition manifest is simply refused.

Maintenance is quiet rather than dead. Thirteen stars, CI and coverage wired up, tests worth reading as documentation, but the last push was January 2025. Treat it as stable-and-parked: fine to build on, unlikely to gain features, and you should expect to maintain your own fork if you hit an edge case.
