Introducing Dynamic SCORM
At a glance
- Lightweight package, live content: Dynamic SCORM exports a tiny ZIP containing just a manifest and an HTML loader. Course content loads live from Slate's servers when learners open the course.
- Update without re-uploading: Click "Publish Update" in Slate and every active Dynamic SCORM package picks up the changes instantly. No re-exporting, no re-uploading to your LMS, no re-assigning learners.
- Same tracking, same standards: Dynamic SCORM supports SCORM 1.2, 2004 3rd Edition, and 2004 4th Edition. Completion, score, and bookmarking work identically to static exports.
- Best for frequently changing content: Compliance training, onboarding, product knowledge, and multi-LMS deployments benefit the most.
- Pro plan, Early Access: Dynamic SCORM is available now on the Pro plan.
SCORM packages are snapshots. The moment you export, the content is frozen. Fix a typo, update a policy, swap out a screenshot: every change means re-exporting, re-uploading to a staging LMS, re-testing, deploying to production, and sometimes re-assigning learners. Multiply that across a few courses and a couple of LMS platforms, and content updates start eating real time.
Slate now offers Dynamic SCORM: a lightweight package type that loads course content live from Slate's servers. Upload the package to your LMS once. After that, every content update you make in Slate reaches your learners without touching the LMS again.
How static SCORM works (and where it breaks down)
A traditional SCORM export bundles everything into a single ZIP file: the course player, all your text and layout data, images, audio, documents, and configuration files. The result is a fully self-contained package. Upload it to your LMS and it works, even offline.
The tradeoff is that the package is a snapshot. The moment you export, it is frozen. Need to fix a typo in a compliance module? Re-export, re-upload. Updated your product screenshots? Re-export, re-upload. Added a new lesson to onboarding? Re-export, re-upload. Every change, no matter how small, restarts the cycle.
For courses that rarely change, this is fine. For everything else, it creates friction that slows teams down and discourages frequent updates.
How Dynamic SCORM works
A Dynamic SCORM export produces a lightweight ZIP containing only two things: the SCORM manifest (which tells the LMS how to register the course) and a small HTML file that acts as a loader.
When a learner opens the course in their LMS, the loader connects to Slate's servers and pulls the latest version of your course content. The learner sees and takes the course normally. From their perspective, nothing is different.
Behind the scenes, a wrapper bridges the communication between Slate's course player and your LMS. SCORM tracking works identically: completion status, scores, and bookmarking are all reported back to the LMS the same way they are with a static export.
Updating content
This is where Dynamic SCORM changes your workflow. When you need to update a course, you edit it in Slate and click Publish Update. That is it. Every active Dynamic SCORM package for that course, across every LMS where it has been uploaded, reflects the changes on the next learner session.
Most content changes work through Publish Update without needing a new export:
- Editing text, images, or media
- Adding, removing, or reordering lessons
- Adding or removing content blocks
- Updating theme and styling
A small number of changes require exporting and uploading a new Dynamic SCORM package because they affect the SCORM manifest, which is written at export time:
- Adding or removing an assessment: This changes the manifest structure that the LMS uses for scoring and sequencing.
- Changing the passing score: The passing threshold is set in the manifest, and the LMS reads it when the course is first registered.
For everything else, Publish Update handles it.
Static vs. Dynamic SCORM
| Feature | Static SCORM | Dynamic SCORM |
|---|---|---|
| Content updates | Re-export and re-upload | Click Publish Update |
| Internet required | No | Yes |
| Media handling | Bundled in package | Loaded from Slate |
| SCORM versions | 1.2, 2004 3rd, 2004 4th | 1.2, 2004 3rd, 2004 4th |
| Tracking | Completion, score, bookmarking | Identical |
| Plan required | Free (1.2), Standard, or Pro | Pro |
Neither option is universally better. The right choice depends on how often your content changes and whether your learners need offline access.
When to use each
Dynamic SCORM is a good fit when:
- You update course content frequently (compliance, onboarding, product training)
- You manage courses across multiple LMS platforms and want a single update point
- You want to skip the re-upload and re-testing cycle in your LMS for simple content updates
Static SCORM is the better choice when:
- Learners need offline access or your LMS is not connected to the internet
- You need a fully self-contained archive for regulatory or legal purposes
- Your content is stable and will not change frequently after publishing
Requirements
- Pro plan: Dynamic SCORM is available on Pro plans.
- Active Slate account: Dynamic SCORM packages load content from Slate's servers. If your account becomes inactive, learners will not be able to access the course.
- Internet access for learners: Since content loads live, learners need an internet connection when taking the course.
Dynamic SCORM is currently in Early Access. It is fully functional and available to all Pro subscribers, but it is a new feature and we are actively refining it based on real-world usage.
Media library integration
Slate's media library is aware of Dynamic SCORM. If you try to delete an image or file that is actively used in a Dynamic SCORM package, you will see a warning before the deletion goes through. This is the same protection that already exists for Preview Links, Reviews, and Share & Track links.
Get started
Pro subscribers can try Dynamic SCORM now by opening the export dialog in Slate, selecting LMS Package, and choosing Dynamic SCORM as the package type. For step-by-step instructions, see the Dynamic SCORM documentation.