UNPKG

simple-scorm-packager

Version:
136 lines (120 loc) 5.45 kB
`version 0.2.7` ## Documentation Creates SCORM package from source directory. * Supported Scorm versions: * SCORM 1.2 * SCORM 2004 3rd Edition * SCORM 2004 4th Edition ## Installation ```bash npm install simple-scorm-packager ``` ## Initialization Options Object {type} [default] * `version` {string} ['1.2'] Version of SCORM schema. Available options: * '1.2' * '2004 3rd Edition' alias '2004.3' alias '2004v3' * '2004 4th Edition' alias '2004.4' alias '2004v4' * `organization` {string} [''] Company name * `language` {string} ['en'] Language of the package ( ISO ) * `title` {string} [''] * `identifier` {string} [null] If empty, identifier is generated using: \`${package.author || 'com'}.${organization || 'company'}.${title || ''}.${generated uuid}\` * `masteryScore` {number} [80] * `startingPage` {string} ['index.html'] * `source` {string} ['./'] The path to files from which the package will be created * `package` {object} Available options: * `zip` {boolean} [false] Archives package (`NAME_VERSION_DATE.zip`) * `appendTimeToOutput` {boolean} [false] Add full Unix time milliseconds to the zip file output, so repeated builds are unique (`NAME_VERSION_DATE_TIMESTAMP.zip`) * `outputFolder` {string} ['./scorm'] The folder path where you want the zip file * `size` {number} [null] Provide the package size in bytes, automatically calculated when not set, * `name` {string} [\`{$title}\`] Package name, defaults to scorm title * `author` {string} [''] Author name, used as default for vcard if not provided * `version` {string} [process.env.npm_package_version || '1.0.0'] Package version * `organization` {string} [\`${organization}\`] Company name * `date` {string} [current date YYYY-MM-DD] Package date * `vcard` {object} : * `author` {string} [\`${package.author}\`] Author name * `org` {string} [\`${package.organization}\` || \`${organization}\`] Organization name, defaults to `organization` * `tel` {string} [''] Telephone number(s) * `address` {string} [''] Address * `mail` {string} [''] E-mail contact * `url` {string} [''] website url * `description` {string} [''] Provide the course description or the Project Information * `keywords` {array} [[]] Keywords * `duration` {string} ['PT0H0M0S'] The time the media takes to play through, format PT#H#M#S * `typicalDuration` {string} [\`${package.duration}\` || 'PT0H0M0S'] The time it will take for a typical learner to fully experience the program, format PT#H#M#S * `requirements` {array of objects of the following structure} [[]] * `type` {string} The type of requirement, eg.: Browser, Os * `name` {string} The name of the type of requirement, eg.: Microsoft Internet Explorer * `version` {string} The minimum version of the requirement * `rights` {string} [\`© ${organization || ''}. All rights reserved.\`] Copyright information ## Programatic usage ```javascript var scopackager = require('simple-scorm-packager'); scopackager({ version: '2004 4th Edition', organization: 'Test Company', title: 'Test Course', language: 'fr-FR', identifier: '00', masteryScore: 80, startingPage: 'index.html', source: './myProjectFolder', package: { version: "0.0.1", zip: true, outputFolder: './scormPackages' } }, function(msg){ console.log(msg); }); ``` ## Adding it to npm scripts If you are packaging a project which utilizes npm and has a package.json file, follow the instructions below for adding a SCORM packager to your npm scripts. 1. Create a JavaScript file (typically at the root of your project in the same directory as package.json) `scoPackager.js` 2. The file should contain code to execute this package. Example: ```javascript var scopackager = require('simple-scorm-packager'); var path = require('path'); const config = { version: '1.2', organization: 'My Amazing Company', title: 'Test Course', language: 'en-US', masteryScore: 80, startingPage: 'index.html', source: path.join(__dirname, 'build'), package: { version: process.env.npm_package_version, zip: true, author: 'Firstname Lastname', outputFolder: path.join(__dirname, 'scorm_packages'), description: 'A test of the course packaging module', keywords: ['scorm', 'test', 'course'], typicalDuration: 'PT0H5M0S', rights: `©${new Date().getFullYear()} My Amazing Company. All right reserved.`, vcard: { author: 'Firstname Lastname', org: 'My Amazing Company', tel: '(000) 000-0000', address: 'my address', mail: 'my@email.com', url: 'https://mydomain.com' } } }; scopackager(config, function(msg){ console.log(msg); process.exit(0); }); ``` 3. In the scripts portion of your package.json, add the following: `"package-scorm": "node scoPackager.js"` (replace the .js file name with the name (and path) of the file containing your script from step 2) 4. You can now package your project for SCORM by running `npm run package-scorm` from the command line. ## USE IT AS CLI if installed globally you can use it directly in command line ```bash $ simple-scorm-packager or $ scopackager ```