Feature Owner: James Derick Billate
Module: Deliver
Priority: Must
Date: July 7 2026
Executive Summary
What is this feature?
SCORM Export allows a Creator to package a WyzQuests quest into a SCORM-compliant ZIP file that can be uploaded into external Learning Management Systems such as Moodle, Blackboard, Canvas, and other SCORM-compatible platforms. The feature translates quest content into an interoperable package with an imsmanifest.xml, launch page, SCORM wrapper, and SCORM data model functions for learner progress and completion tracking.
Why does it matter?
Manual export and import of learning content is time-consuming and error-prone. Creators who need to deliver the same training program across multiple LMS platforms may otherwise rely on spreadsheets, documents, local files, and repeated manual setup. SCORM Export gives Creators a standardized package that helps preserve quest structure, launch behavior, completion state, score, and learner progress signals in a format that other LMS platforms understand.
What's the MVP scope?
Per quest export.
SCORM 1.2 export.
SCORM 2004 export.
Mastery score input and validation.
SCORM ZIP generation with manifest and launch files.
1. User Pain Point & Solution
John created an interactive training program in WyzQuests and wants to copy it to Moodle, Blackboard, and Canvas. Without SCORM Export, he must manually transfer content through spreadsheets, Word documents, and local files. This process can take weeks for a large training program and increases the chance that content is missed, corrupted, inconsistent, or inaccessible.
Pain Points
Emotional: Frustrated, dismayed, tired, unsettled, and hopeless after repeated manual transfer issues.
Functional: No transparent package format, error-prone copying, wrong input of data, LMS incompatibility, missing data, corrupted data, and possible data leak/cybersecurity risk.
Business: Automatic packaging and SCORM standardization make courses easier to move into other LMS platforms, reduce manual QA effort, improve transfer speed, and help WyzQuests act as a complete authoring tool.
2. User Pain Point & Solution
Diagnose: SCORM export can reveal incompatibilities when quest data cannot be represented cleanly in LMS-ready export format.
Design: Provides the initial LMS-ready setup and launch structure without requiring the Creator to manually rebuild lesson design in another platform.
Develop: Packages quest content, launch files, manifest data, progress handling, and SCORM wrapper scripts into a ZIP file through one export action.
Deliver: Provides a compatible and concise version of the training program for SCORM-compliant LMS delivery.
3. USER FLOWS
Entry Points: Creator chooses a quest/training program and opens the share/export workflow from the quest editor.
Success Criteria: Creator clicks Export, selects a SCORM version, and successfully downloads a ZIP file to local storage.
Main Path (Happy Path)
Creator opens a quest.
Creator clicks the Share or Export button.
Creator chooses SCORM Export.
Creator selects SCORM 1.2 or SCORM 2004.
Creator enters or confirms mastery score.
Creator clicks Export Quest.
System validates quest ID, SCORM version, mastery score, and ownership.
System generates the SCORM package.
Browser downloads the ZIP file.
Creator sees a success alert after export.
No Data: Alert the Creator that the quest data does not exist.
API Error: Terminate the export process and display the proper error code/message.
Permission Denied: Stop the export request and prevent the package from being generated.
Decision Points:
IF quest is available and exportable THEN allow export ELSE show quest error.
IF SCORM version is valid THEN continue package generation ELSE show version validation error.
IF mastery score is valid THEN continue package generation ELSE show validation error.
IF export fails THEN show export error and allow retry ELSE download ZIP file.
IF quest ownership cannot be verified THEN return unauthorized/forbidden response ELSE continue export.
4. Information Architecture
Primary Information
Quest name.
Quest ID.
SCORM version.
Mastery score.
Export status.
Secondary Information
Export message.
SCORM package filename.
Quest launch URL.
SCORM manifest metadata.
Tertiary Information
Completion status.
Success status.
Score data.
Resume location.
Suspend data.
Actions
Primary CTA
"Export Quest"
Secondary Actions
Select SCORM 1.2.
Select SCORM 2004.
Enter mastery score.
Retry export.
Close export dialog.
5. Data Requirements
Frontend Needs
Quest ID.
Quest information.
Node/canvas metadata.
SCORM version.
Mastery score.
Export loading state.
API Calls Frontend Will Make
POST
/api/creator/export/single-scoGET
/api/creator/share/scorm?id={questId}
6. Performance Considerations
Database Optimization
SCORM Export does not require a dedicated database table because it acts as file generation logic.
Quest fetching should select only fields required for the SCORM package.
Ownership verification should happen before package generation to avoid unnecessary ZIP work.
Large quests may need future optimization for asset collection, package generation time, and streaming responses.
7. Security & Authorization
Who Can Access This Feature?
Administrator: No access.
Reviewer: No access.
Creator: Full access.
Learner: View access (even non-logged).
Agency Admin: No access.
8. Error Handling
Current Existing Error Handling
Invalid credentials -> 401 Unauthorized.
Expired session -> 401 Unauthorized with redirect to login.
Missing quest ID -> 400 Bad Request.
Invalid SCORM version -> 400 Bad Request.
Invalid mastery score -> 400 Bad Request.
Quest not found -> 404 Not Found.
Unauthorized quest export -> 403 Forbidden or 401 Unauthorized.
SCORM export failed -> error response with export failure message.
Internal Server Error -> 500 Internal Server Error.
9. Testing Checklist
Happy Path
Pick a quest.
Click the share/export button.
Choose SCORM Export.
Choose SCORM 1.2.
Enter valid mastery score.
Click Export Quest.
ZIP file downloads successfully.
ZIP includes
imsmanifest.xml.ZIP includes
index.html.ZIP includes
scorm-wrapper.js.ZIP includes
scorm-functions.js.Upload ZIP to SCORM Cloud.
Launch quest from SCORM Cloud.
Complete quest and verify completion status is recorded.
Repeat export using SCORM 2004.
Edge Cases
Unauthorized account attempts export.
Quest not found.
Missing quest ID.
Invalid SCORM version.
Invalid mastery score.
Quest has missing or archived nodes.
Quest has large canvas metadata.
Export request fails during ZIP generation.
SCORM LMS cannot locate API object.
Learner exits midway and resume behavior needs validation.
10. OPEN QUESTIONS
Should there be a more detailed progress notification for exporting quests?
Should all SCORM data models be implemented for each version?
Should SCORM Cloud pass evidence be attached before marking final acceptance complete?
Should exported packages include local copies of assets instead of iframe launch to hosted WyzQuests player?
Should Creators be blocked from exporting quests that are not published or approved?
11. OUT OF SCOPE
Full review of all RTE content models.
Additional non-SCORM content model implementation.
Multi-SCO Adventure export.
xAPI export.
Offline full-content SCORM package with all assets embedded.
Advanced SCORM sequencing rules.
12. SUCCESS METRICS
Complete SCORM package is generated in a ZIP folder.
Success alert appears after export.
SCORM 1.2 package uploads and launches in SCORM Cloud.
SCORM 2004 package uploads and launches in SCORM Cloud.
Completion status can be recorded by a SCORM-compliant LMS.
18. DEPENDENCIES
This feature depends on
Clerk Authentication.
Quest Details.
Quest Canvas Metadata.
Supabase Database.
JSZip package generation.
SCORM manifest templates.
SCORM wrapper and function templates.
This feature depends on this
Quest or Project Creation.
Quest Editor.
Public Share/Export Modal.
SCORM Launch Page.
19. TIMELINE & OWNERSHIP
Backend: James Derick Billate
Frontend: James Derick Billate
QA: Internal development testing
Estimated Completion: Feature completed.
Note: API Endpoints and Schema please refer to its Technical Documentation