Today: May 22, 2012
JCA Solutions - The SCORM Authority
Simple SCORM LMS Adapter
E-mail
Untitled Document

Simple SCORM Learning Management System (LMS) Adapter (SSLA) v1.8


Price: $5,000.00


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

Need to quickly get your Learning Management System (LMS) SCORM 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 RTE-3 data. What that means to you is that once you implement SSLA, in your LMS, you will have access to SCORM 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 corerct response was for each question, how long it took the student to answer the question and whether each question was correct or incorrect.
Download the Server Integration Documentation

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



On Load Diagramsimple

Description

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 Diagramsimple

Description

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 Diagramsimple

Description

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 storeage 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

Session Storage data format:


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

"cmi.suspend_data":"","cmi.core.lesson_location":"",

"cmi.core.total_time":"0000:00:00","cmi.core.entry":

"ab-initio","cmi.core.score.raw":"",

"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":[""],

"cmi.core.student_id":"001DEFAULTSTUDENT",

"cmi.launch_data":[""],

"cmi.student_data.mastery_score":[""],

"cmi.student_data.max_time_allowed":[""],

"cmi.student_data.time_limit_action":[""],

"cmi.core.credit":["credit"],

"cmi.core.lesson_mode":["normal"]}


* 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.

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

studentId
This variable represents the id for the student that is launching the course. The student will need to have an id that you can use to tie results back to your system. It may be necessary to use a server side language to initialize this variable at runtime. Example: this.studentId = '<?PHP echo(strStudentId); ?>';

courseId
This variable represents the id for the course that you are launching. Think of a course as a imsmanifest file. Any time you launch an imsmanifest file into the SCORM player you are launching a course. That course will need to have an id that you can use to tie results back to your system. It may be necessary to use a server side language to initialize this variable at runtime. Example: this.courseId = '<?PHP echo(strCourseId); ?>';

courseRootDirectory

Set this to the directory where your courses will be stored. It may be necessary to use a server side language to initialize this variable at runtime. Example: <?PHP echo(strCourseDirVariable); ?>

storageMediaType

If you are running this on a server set it to "server". If you are running locally for testing set it to "cookie". If you set this variable to "server" then the SCORM player will use AJAX to communicate with the server URLs defined in this.setDataURL and this.getDataURL

setDataURL

Defines the server page that the SCORM player should post data to so that the SCORM data for this session can be persisted in the database. Data is persisted per course, per SCO, per student. You will need these pieces of information when submitting information to your database.

getDataURL

Defines the server page that the SCORM player should retrieve data from that the SCORM data that was persisted earlier during this session can be retrieved from the database. Data is persisted per course, per SCO, per student. You will need these pieces of information when submitting information to your database.

Download the Server Integration Documentation to see the full list

Features

* SCORM 1.2 Conformant

* Tracks data from any SCORM 1.2 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

* Comes with 5 hours of implementation support

* Supports objectives, scoring, lesson status,and more [Full List]

* 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

 

* Read the SSLA License Agreement


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 signoff 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.


FAQ

* What exactly will your system do? Will my LMS be able to run
courses written using SCORM?

 

SSLA is a JavaScript library that will parse the SCORM XML files, create a table of contents for the course, launch the course, and track all the SCORM user data that is sent from the course to the LMS. Adding SSLA to your LMS will make your LMS 100% SCORM 1.2 conformant, we guarantee it or your money back.


* What is the cost of the installation?


We provide 4 hours of installation support absolutely free. If you need more than that, which most people do not, we charge $94.00 an hour for additional hours.

 

* Will my LMS need a great deal of refactoring?

 

This answer is always "It depends". Usually the LMS does not require much refactoring because the SSLMS is a JavaScript wrapper that works externally to your existing LMS. All that you will need to do is provide a mechanism to save data, usually a database and some server side page that AJAX requests can be sent to.

 


* Will we receive any support or documentation?

 

We provide 4 hours of installation support absolutely free. If you need more than that, which most people do not, we charge $94.00 an hour for additional hours. We also provide full code documentation and examples. We also have a 100% money back guarantee. If you are not able to successfully integrate the Simple SCORM LMS Adapter into your system you do not owe us any money.

 

We do have a maintenance plan that is 20% of the original contract paid yearly ($1,000.00/yr.) if you wish to have a maintenance agreement with us. This maintenance agreement entitles you to all upgrades available as long as your maintenance agreement is in effect. If you do not have a maintenance agreement you will still receive free upgrades to the Simple SCORM LMS Adapter for all upgrades made to your major version. For example if you purchase version 1.5 then any upgrades made to the major version 1.x you would receive at no extra charge.


Important Documents

Operating Systems and Browsers
  • Safari 4.0 (530.17) / XP SP3
  • Safari 4.0.2 / OS X 10.5.7
  • Chrome 2.0.172.33 / XP SP3
  • Chrome 2.0.172.33 / Vista
  • IE 6.0 / Vista
  • IE 7.0 / Vista
  • IE 8.0 / Vista
  • IE 6.0 / XP SP3
  • IE 7.0 / XP SP3
  • IE 8.0 / XP SP3
  • IE 8.0 / Server 2003 SP2
  • IE 6.0 / Server 2003 SP2
  • FireFox 3.5 / OS X 10.5.7
  • FireFox 3.0 / Vista
  • FireFox 3.5 / Vista
  • FireFox 3.0 / XP SP3
  • FireFox 3.5 / XP SP3
  • FireFox 3.0 / Server 2003 SP2
  • FireFox 3.5 / Server 2003 SP2
  • Opera 9.64 / XP SP3
  • Opera 9.64 / Vista

Server Languages
  • PHP
  • ASP
  • Cold Fusion

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


Bugs and UpdatesNo bugs currently reported.