Skip to content

Releases: cybercussion/SCOBot

2020 Update, 'nolms' event for handling (or not) an alert

20 May 16:43
Compare
Choose a tag to compare

This is a minor update which can fire a 'nolms' event you can listen for. Then opt to expose a modal, toast, alert, or other display to inform the student the LMS could not be connected.

This is mainly for situations where we have a Same-Origin-Policy or CORS issue.
a.domain.com vs b.domain.com where JavaScript cannot talk to the SCORM Runtime API.

Resume event for possible user prompt

11 May 00:33
Compare
Choose a tag to compare

SCOBot (full) will fire a 'resume' event allowing you the opportunity to decide if you want to prompt the user "do you want to resume?" and then handle it accordingly.
SCOBot caches suspend data within its public settings SB.set("suspend_data", "{pages: []}"); to reset it to the default.

4.1.5

04 Mar 21:16
Compare
Choose a tag to compare

Minor fix to local Runtime API to return a 403 for a uninitialized value. This didn't really throw many SCORM Errors as its a light weight mimic, but there was a issue with some 3rd Party content expecting this error code in order to function properly. Adjusted tests to similarly check for this. Altered SCOBotBase to supply a 'getLastError' which will return a error object containing error code, message, and diagnostic. This was previously handled within SCOBot or other means (events) but now has a public API if you need to check.
Updated version/dates to correct last release (4.1.4).

4.1.4

26 Feb 17:47
Compare
Choose a tag to compare

This provides a fix to SCOBots ability to automate the max_time_allowed. In doing prior code cleanup a bug was introduced which broke the ISODurationToCentisecs function within SCOBotBase.js. Unit tests have been added to now test the function. Please update if you use this feature.

4.1.3

01 Jan 17:03
Compare
Choose a tag to compare

Updated copyright dates, and versions. Implemented a fix to interactions numeric data types when passed as a string it would result in a empty string. This was caught in the latest build/unit tests.

4.1.2

24 Oct 18:36
Compare
Choose a tag to compare

Added options for supporting Sequence and Navigation calls in SCORM 2004 content. This gives you the added capability of setting a default 'adl.navigation.request' if you want to automatically continue, or exit for example after the SCO Terminates. Typical behavior (depending on the LMS platform) may be to leave your SCO just hanging out after Terminate is called. Unless you actually visually build something that informs the student their information is no longer tracked, it could and has confused students. So the short bonus is, you could actually exit the content.
The deeper strategy:
SCORM 2004 Implementations typically allow you to request a navigation request like continue, previous, choice, exit, exitAll, abandon, abandonAll, suspendAll. You should familiarize yourself with what these all do, as they may make your content 'less friendly' too students if for example you keep calling 'exitAll' and it kicks them out of the entire lesson.
You can make decisions about implementing your own strategies about remediation, or skipping content based on performance. You could call 'previous' to make the student go backwards and re-take something. You could request '{target=INTRO}choice' to jump to a sibling identifier. This does however put more ownership on making your content more aware of its surroundings in a bundled lesson. You could place extra parameters in launch data to dynamically inject some of that vs. hard coding it (for example). SCOBot may include a decision engine based on more parameters at a later date. It will mainly require expanded imsmanifest.xml construction which can have dependancies on a packaging system, or hand coding XML. So if a strategy is built out, it would have to coincide with added features to the SCOBot Packager or a manual adjustment in XML.

4.1.1

05 Aug 21:32
Compare
Choose a tag to compare

This mainly is a patch to allow people that encounter multiple Runtime APIs being exposed at the same time. This has been on the radar for a little while, and though rare it does happen. Its either the Platform translating SCORM 1.2 or 2004 into a common student attempt or its negligence exposing either API or API_1484_11 simultaneously. Typically one of the API's will not respond but the other will. So due to this, its setup now so you can specify your 'preferred_API' in the SCOBot Base module.
Commonly when SCO's get packaged you specify the version of SCORM you want to use. SCOBot originally would search SCORM 2004, then 1.2 and finally will fail over local if you allow it. In the above situation you could have a platform exposing 1.2 and 2004 runtimes. SCOBot would connect to 2004, but 1.2 was the intended API to communicate on.
If you do not have this problem, or see having this issue downstream it is a low-priority update.

4.1.0

23 May 00:29
Compare
Choose a tag to compare

This rolls in major changes to how and when scoring can happen. In prior patches introduced a new boolean for only setting score and status on finish which is SCORM for cmi.exit of '', normal, timeout and logout. There are cases where some platforms leave you in 'review' mode even though you suspended your attempt. And if you built your content to stop taking student answers in other modes than normal that could wreck your user expierience.
Corrected a boolean vs string comparistion on startup. If SCOBot cannot initialize the Runtime API it will now throw an exception.
Another important note, it is very important before you begin interacting with SCOBot, that you only do so after the 'load' event is fired. This means the page 'loaded' event has triggered, and SCORM has been initialized. You can take alternative action if an exception is thrown, but this commonly means something went wrong.

4.0.10

22 May 22:32
Compare
Choose a tag to compare

This update patched SCOBot with a more strict check on whether it was able to initialize. Previously 'true' and 'false' were returned, and the statement was checking for a boolean. This corrects a situtation where technically there was no LMS API present.

4.0.9

22 May 18:47
Compare
Choose a tag to compare

Adjustment to SCOBot Managed Status. When you 'setTotals' and are using interactions and objectives, SCOBot was calculating the score for you. You also may just call 'happyEnding' if enabled which will auto-score the attempt to satisfactory. Lastly, you may not want to status the attempt until the very end, commonly called finish or timeout. Certain platforms launch your suspended attempts in review if they think they've been graded. The 'doNotStatusUntilFinish' boolean was added to stop SCOBot from reporting status and score until the very end if and when the need arises.

Do to the complex nature of platforms, use-cases and interpretations of 'graded', 'finshed' and other terms used throughout this genre it's not surprising these situations occur. Updated WIKI to support more information about SCORM Modes, Credit and Behaviors for more info on this.