JCA Solutions


Simple SCORM Learning Management System (LMS) Adapter (SSLA)





Need to quickly get your Learning Management System (LMS) SCORM 1.2 and 2004 conformant so that you can install, launch, and track course data? If you answered YES you are in the right place. Simple SCORM LMS Adapter (SSLA) connects into any existing system and can be implemented in just a few hours. The beauty of the system is that the bulk of the code runs on the user's PC. Because of this, SSLA does not cause increased load on the server and there is no modification needed on the existing server during implementation. It also does not matter what language or database the server uses.

The Simple SCORM LMS Adapter (SSLA) collects ALL of the SCORM 1.2 and 2004 data. What that means to you is that once you implement SSLA, in your LMS, you will have access to SCORM 1.2 and 2004 course data such as student scores on quizzes, completion status on lessons, and how much time the student spent in the lesson. Your students will be able to leave a course and return to where they left off in the course (bookmarking). SSLA also supports collecting interaction data for quizzes. This means, that if your SCORM course supports it, you can collect when each question was answered, what the students response was and what the correct response was for each question, how long it took the student to answer the question and whether each question was correct or incorrect.


Click here to view Frequently Asked Questions about SSLA.


If you would like a demonstration of the administration functionality or for more information please contact This email address is being protected from spambots. You need JavaScript enabled to view it.



Please click below to see the introduction and demonstration videos:

Part 1 - Review with Client

Part 2 - config.js

Part 3 - utils.js and Demos


Read on for the laundry list of technical data on how the system works and the SCORM data that SSLA supports.

On Load Diagram

When the API is loaded, data from the LMS is sent through the Custom Data Parser (PHP, ASP, ColdFusion) to the local Session Storage on the students computer. This initializes the data that will be needed to begin the course. If the course has been entered before, this data will be used to return the course data to the state of the previous session.


Run-Time Diagram

Once the Session Storage has been populated, an event is triggered to load the course into a child window or frameset of the API Adapter. This ensures that the course is not launched until the data is available to support it. Once the course is launched, the course issues an initialization request and makes the connection with the API Adapter. The course can then get and set data to and from the API Adapter.


Setting Data

When data is set from the course to the API Adapter that data is first saved in a local Session Storage on the Client Side then the data is also transferred to the Custom Data Parser and from there to the LMS via form post or form get action. The Custom Data Parser will save the entire contents of the Session Storage to the LMS Database and can also parse the Session Storage data and forward specific pieces of the Session Storage data to the proper fields in the LMS Database. As an example, administrators may want to track grades or status in a separate field. That data can be parsed from the Session Storage and copied into a separate field within the LMS Database.


Getting Data

The course may issue a get request to the API Adapter. The resulting action would be to pull the requested data from the Session Storage on the client side. A get request does not require a connection to the database.


On Unload Diagram

When the course is unloaded the window or frameset that contained the course is closed and the Session Storage data is saved to the LMS database through the Custom Data Parser.


Data Format

The data storage format is JSON and is stored, via AJAX, into a table in your LMS database [SQL table example]. The data is stored per student, per SCO using the following code example.


JSON data
$.ajax({
url : http://someURL.com/set.php,
type: 'POST',
async: true,
data : {
"name": name,
"theData": value,
"activityId": 'act001',
"studentId": 'stu001',
"timestamp": new Date().getTime()
},


<sco_name> - sco_name is the name of the SCO as defined in the manifest.xml file

name = <sco_name>

value = {"cmi.core.lesson_status":"incomplete",

"cmi.suspend_data":"A",

"cmi.core.lesson_location":"1",

"cmi.core.total_time":"00:00:05.0",

"cmi.core.entry":"ab-initio",

"cmi.core.score.raw":"0",

"cmi.core.score.min":"",

"cmi.core.score.max":"",

"cmi.comments":"",

"cmi.comments_from_lms":"No comment",

"cmi.objectives._count":"0",

"cmi.interactions._count":"0",

"cmi.student_preference.audio":"",

"cmi.student_preference.language":"",

"cmi.student_preference.speed":"",

"cmi.student_preference.text":"",

"cmi.core.student_name":"Student,Joe",

"cmi.core.student_id":"1",

"cmi.launch_data":"",

"cmi.student_data.mastery_score":"80",

"cmi.student_data.max_time_allowed":"",

"cmi.student_data.time_limit_action":"exit,message",

"cmi.core.credit":"credit",

"cmi.core.lesson_mode":"normal",

"cmi.core.session_time":"00:00:04"}

* The data above is an example of a data string from the Adapter to the LMS database. It does not contain all the Supported Data Model Elements within SSLA.


toc_data: contains the name of the sco and its status. Used for multi-SCO packages.

name = toc_data
value = {"aryCompletionStatus":{<sco_name>:"passed"}}

Tells your LMS if the course has started a session:

name = initilaize
value = {<sco_name>:"true"}

OR

value = {<sco_name>:"false"}

Tells your LMS if the course has ended a session:

name = finish
value = {<sco_name>:"true"}

OR

value = {<sco_name>:"false"}


Supported SCORM Methods and Elements
  • LMSInitialize = function (empty_string_needed)
  • LMSFinish = function(empty_string_needed)
  • LMSCommit = function(empty_string_needed)
  • LMSGetValue = function(data_model_element)
  • LMSSetValue = function(data_model_element, value)
  • LMSGetLastError = function()
  • LMSGetErrorString = function(error_code)
  • LMSGetDiagnostic = function(error_code)

List of Supported Data Model Elements


Configuration Options

For all the config option definitions go to http://jcasolutions.com/ssla/ssla_docs/ssla.html?class=Config

Features
SCORM 1.2 and 2004 Conformant
Tracks data from any SCORM 1.2 or 2004 conformant course package
Full SCORM Data Model Reporting and Debugging
Comes with open license to use and modify the code base
No monthly, yearly, or per user fees. One time fee only
Comes with 5 hours of implementation support
Supports objectives, scoring, lesson status,and more
Comes with sample server implementations in PHP, ASP, and ColdFusion
Can use any database, comes with sample MySQL database .sql file
API Adapter written in JavaScript so the processing load is on the client not the server
Require additional features? Contact us

Warranty and Support

The JCA Solutions warranty period goes into effect after the proposed solutions is signed off on as completed by the client. Client will have up to 10 business days after the final installation is completed to either sign-off on the product or report any bugs or issues. If no bugs or issues are reported within 10 business days the project will be considered completed and the warranty period will begin. The warranty period will run for 30 calendar days. During this time JCA Solutions will fix, at no additional cost, any issues or bugs that arise with the software due to JCA Solutions workmanship and that are within the scope of the original contract, agreement, or work order. After the warranty period is over, if the client has elected to sign a Lifecycle Maintenance and support option on the contract then that option will be in affect at that time. Also, at this time the client may, if they have not yet done so, elect to purchase Lifecycle Maintenance on the product.

The cost of this option is 20% of the original contract price and covers maintenance, upgrades, and bug fixes to SSLA. The intent of maintenance agreement is to maintain the current working system as security, operating systems, database versions, and other supporting technologies may change.


Important Documents

Server Languages
  • PHP
  • ASP
  • Cold Fusion

* Can support any server side language that can accept post and get AJAX calls


Bugs and Updates

No bugs currently reported.

About JCA Solutions

JCA Solutions is a consulting company, specializing in Sharable Content Object Reference Model (SCORM) and e-learning technologies. We strive to meet the needs of each and every customer on a personal level. We are process-oriented and pride ourselves in our attention to detail. Our focus is on SCORM and our goal is to create value for our customers by providing consultants to support our client's courseware development process or provide tools to streamline SCORM conformance.

Get in touch

JCA Solutions
8815 Conroy Windermere Rd.
#549
Orlando, FL
32835

Phone: 321-296-8166

Toll Free: 1-800-305-8159

support@jcasolutions.com

Connect With Us