...
Create content API (api/v1/create/content or update) along with content metadata should store following values against the content
Code Block 'scormValues': { 'entry': <First SCO to be launched>, 'version': <scorm2004/SCORM_1.2- to decide which API to be used> 'grademethod': <Grading method to give score to the user in case of multiple attempts> }
Tables to be populated after reading
imsmanifest.xml
file. (populate scom data tables given in here)
Code Block |
---|
onScormPackageUpload(zipPath) {
if (!file_exists(zipPath . '/imsmanifest.xml')) {
throw_error('uploaded zip is not a scorm file')
} else {
readIMSManifestFile(zipPath . '/imsmanifest.xml')
}
}
function readIMSManifestFile($manifestfile) {
1. Load and read the imsmanifest.xml file
2. Things needed to be stored against the content
a. scorm version -> Read the manifest->metadata->shemaversion
b. The first sco to be set as 'entry' against the content
3. Poulate the #__scorm_scoes table and #__scorm_scoes_data after reading all the items and resources
} |
Table #__scorm_scoes
id | bigint(10) | AUTO_INCREMENT |
content_id | bigint(10) | |
title | varchar(255) | |
scormtype | varchar(5) | |
manifest | varchar(255) | |
organization | varchar(255) | |
parent | varchar(255) | |
identifier | varchar(255) | |
launch | longtext |
Table #__scorm_scoes_data
id | bigint(10) | AUTO_INCREMENT |
sco_id | bigint(10) | |
name | varchar(255) | |
value | longtext |
SCORM consumption through player
...