Quiz answers are not retained on relaunch of Scorm - scorm1.2

I am using Scorm 1.2. Here I am unable to display the quiz answers given by the user on relaunch of Scorm Package.
Please let me know the process to store quiz results as I am already saving this data in cmi.interactions.
Actually it is happening only in Chrome as the cookie is null while relauching.
Rest all browsers it is working fine.Is there a way to resolve it

Sounds like something is getting packed into a cookie? If so, thats not SCORM technically. But as mentioned prior SCORM 1.2 interactions were optional and may not be supported by the LMS. Therefore you may be packing them into a cookie?
If it's using SCORM 1.2, you can try my bookmarklet to see what an active session is storing. http://www.cybercussion.com/bookmarklets/SCORM. I built it for 2004 first but added some base SCORM 1.2 in as well which may help with the transparency.

Check whether the hosted LMS supports cmi.interaction elements. At SCORM 1.2 most of the elements are optional for LMS implementation. Check for below error codes,
Error code, LMSGetLAstError()
401 - Not implementation error.
205 - Incorrect data type.
Also make sure set cmi.exit to "suspend" to resume with the saved SCORM data on subsequent launch.
Please refer the RTE documents (https://stackoverflow.com/a/17700430/1341062) for more details,

Related

How to utilize xapi or scorm content packages

I am coding an LMS. Backend and UI is almost ready. Our first intention was to code our own content studio but using existing studios are way quicker. We want to use rise and rise gives the following exports:
This is a github repo of xapi and scorm 2004 exports. As you can see, index.html (scormcontent/index.html in scorm2004) is working perfectly. UI is intact and it is saving progression value internally.
My question is how can I get that data and save it to my own database (I know how to use a database, I just cant get the data stream from scorm).
After I save those values to my database, I also need to insert them back into the scorm or xapi when the user opens website.
If you guys can just show me how to retrieve that data, I can do everything from there. I read something about an endpoint??
Note: Functions at the bottom of index.html such as finishQuiz() are not working, at least I couldnt make them work.
Another Note: I really don't want iframe please
See my answer to Get the scorm values from the LMS
SCORM is a set of standards defining not only APIs for communication but also structures for packaging learning content. You will need to implement one of the SCORM APIs (SCORM 1.2 is probably easiest if you want to support most authoring tools and don't need any of the advanced sequencing features of SCORM 2004) or xAPI.
If you are going to implement xAPI you will want to look into how to implement it as an "LRS" (i.e. the server that consumes xAPI data from a learning activity) as xAPI doesn't normally refer to LMSes. Since you will also want to serve the content rather than just consume the data they generate, you might want to opt to implement cmi5, which builds on xAPI to also define a packaging format to replace SCORM.

Send quiz interaction text to LMS

I am trying to implement the SCORM 1.2 in one of my LMS using the following site as a reference:
www.vsscorm.net
It is running perfectly. But I am not able to save the Quiz question text into the database.
The following information gets stored in database:
cmi.interactions.0.type
cmi.interactions.0.student_response
cmi.interactions.0.correct_responses.0.pattern
cmi.interactions.0.result
cmi.interactions.0.weighting
cmi.interactions.0.latency
cmi.interactions.0.objectives.0.id
I googled and get to know that the question text is stored in cmi.interactions.n.text, which is somehow not storing in the database.
Or maybe SCROM 1.2 doesn't support it. Since I am a newbie in SCORM, any expert advice will be highly appreciated. Thank you.
cmi.interactions.n.text does not appear to be part of the RTE specification (see "technical specification here: https://adlnet.gov/adl-research/scorm/scorm-1-2/), so is unlikely to work in a lot of LMSs. (Also see https://support.scorm.com/hc/en-us/articles/206166436-Question-Descriptions-in-SCORM-1-2 and https://support.scorm.com/hc/en-us/articles/206166696-Questions-Answers-and-how-much-you-can-report-in-SCORM-1-2-and-2004)
There isn't a great way to store this data using the SCORM 1.2 interaction model. SCORM 2004 added a "description" data point that is commonly used to store this value.
The couple of references to the .text element that I saw were customizations for a particular LMS.

Track Flash Based Course Percentage

I'm developing Flash module with AS3 now. I need to package it with SCORM 1.2.
I want to track percentage of the user when accessing my flash module. My flash module consist of single file that loads swfs. Let's say I should loads 10 swfs. When the user load 1-5, i hope it tracked as 50%.
Is it possible to do with SCORM 1.2?
I'm fairly familiar with flash but new to SCORM. I've stumble upon the Philip Hutchison's tutorials and several SCORM 1.2 document for from ADL for several days. So far haven't manage a success.
Since SO doesn't allow someone with as little rep as I to comment and ask for clarification, I'm going to have to go by assumption for some of this. The short answer is no. However, it depends what you plan to do with that progress percentage in the end.
If it is to be used in some sort of report or display within an LMS, you'll need to use an official element for just such a thing, and hope your LMS can use it. Unfortunately, SCORM 1.2 won't cut it for you there. In SCORM 2004, however, you can utilize the "cmi.progress_measure" element. See section 4.2.18 in the SCORM 2004 4th Edition RTE specification. Note: It is common to see completion percentage in an LMS related to multi-SCO packages, where the percentage of completed SCO's within a package is displayed - especially in the case of SCORM 1.2.
If the requirement is to simply store the current slide number or total number of slides viewed for the sole purpose of having this percentage value available to the SCO itself, you can simply store and retrieve this value using the "cmi.suspend_data" element in either 1.2 or 2004.
Now, using Flash's ExternalInterface to communicate between Flash and Javascript is a different question entirely. And so is how to utilize the SCORM API once you have the rest in place. Again, I cannot comment to request clarification, so I cannot say for certain what the question is exactly.

SCORM - set in read only mode

We have implemented simple LMS based on Basic Web Player which is part of SharePoint Learning Kit. Now we are looking for way to be able to set SCORM in read only, eg for teacher review or parent.
Is there any SCORM data model option or options which can be set to disable it's content for editing?
You don't simply develop a SCORM API
I have been in the process of developing a LMS-RTE and a SCO for roughly a year of constant refinements and extensions. The quintessential truth I have learned is that almost everybody does a terrible job.
The SCORM standard is, at best, a little loose... Any feature present in the SCO <-> RTE interactions must be mirrored on both sides. If the LMS-Vendor ads a review feature every SCO has to implement it too. There is no way to force behavior on the SCO from the LMS side, since too many fields are optional. Even worse there is no way to automatically inspect a SCO and determine if a certain field was used and the SCO behaved as expected.
So theoretically cmi.mode preset to review should do the trick, but almost every content vendor I have encountered ignores this setting. I think everything you can get out of here is the answer: Yes it's possible, but only if the SCO supports this feature.
I personally found found logging of SCO <-> RTE communication the best solution to determine wich behavior the SCO could possibly be capable of. If you log all get and all set requests to different logs and log wich properties are touched by the SCO, you will get a idea of what the SCO can do.
I think you can use cmi.mode data model element. Could you explain more, please?

To Develop LMS and Scorm Sequesncing Engine

We want a LMS(coded in ASP.NET/vb.net) which is able to import SCORM packages & display it to learner for viewing content. I am totally new to SCORM and have been shifted to this project. I want to know how can I access SCORM Assessment object's (Test) result, like Learner ID, passed/fail, time.
Can you please guide me what will I need to implement in ASP.NET code to accomplish my goal ?
Task that I have done so far is,
Reading a manifest zip file, unzipping the file and get all information from the file(content name,description,items and launching page) and when user clicks on a particular course a pop up window is launching the page.
I eagerly want to know what I can do next to communicate with the LMS with the APIs. Shall I need to develop my own LMS to get the result,If there is a quiz which is running, all I need to know is the no of questions attempted by the user, whether the user is pass or fail and I need to store all information in the database for individual user so that I can review the result afterwards.
So the task remaining.
Tracking mechanism to deliver the content.
SCORM/LMS sequencing engine that controls the navigation between parts of SCORM conformant course.
Please help.
SLK at codeplex provides a good starting point. However, if you are truly wanting to provide an in-house written SCORM play that is fully compliant, you have a major task ahead of you. In essence there are three party you need to fully develop:
CAM - the unzipping process, which it sounds like you have already achieved.
RTE - the javascript host for SCORM, providing the 8 specified methods. Behind this you also need to implement the SCORM object model, which SLC does help with. If you have implemented all of this, then there should be data entries on the data model that indicate completion etc.
SN - the sequencing and navigation processing. This is significantly the most complex part. I am still in the process of trying to implement this, using SLC, and it is hard. It is the completion of this that will potentially give you more information that will enable you to know what has been done.
it is also worth looking at scorm.com, who are a consultancy, but provide a lot of useful information about the scorm standard.
That is true. SCORM is one of these stadarts where you can implement as little as possible. But you will need some of Javascript with a Backend-Script (JSON to the rescue) so you can track the scorm data, and save it your database.
But let me tell you this: This is the easiest task! Making your own course-creator is a whole other beast.

Resources