Stuart Campbell is Director of Software Development for SyberWorks, Inc., a privately held supplier of e-Learning software and training. A native of the United Kingdom, he had previously served as a Principle Software Engineer, Senior Consultant, Senior Software Engineer, and Development Specialist for companies such as Brooks Automation Inc. (Chelmsford, Mass.); Digital Equipment (South Queensferry, U.K.); and Honeywell Control Systems (Motherwell, U.K.). Among his many roles at SyberWorks, he leads the software-development process and helps to build new software releases and update kits.
What actually is SCORM? SCORM, Shareable Content Object Reference Model, is a standard for web-based e-learning that has been developed to define communication between client-side content and a runtime environment. In the context of this article, the client-side content would be the course launched by a student and the runtime environment would be a Learning Management System. The SCORM standard has undergone several version releases from SCORM v1.0 in 1999 to the SCORM 2004 3rd Edition in 2006. The purpose of this article is to look in a little more detail at the communication flow between the LMS and a course that is SCORM v2.1 compliant. The intention is not to review every possible communication but just the main calls. We will look at SCORM in the context of a SCORM course, i.e. a course that has been developed and built to communicate with a Learning Management System using the SCORM standard.
First of all, let me define a few terms that I will use and that you may hear in reference to SCORM courses:
- API (Application Programming Interface)
The SCORM standard has a defined API. The term API is not unique to SCORM but is a well known term in application development. The SCORM API is a documented set of messages that are sent between the course and the LMS. The message may require a response so that the sender of the message is guaranteed that the message has been received and processed appropriately. - Manifest
The manifest is the master file for the SCORM course that contains references to all other files that make up the complete content of the course. - Single SCO
A single SCO is the most basic and most common form of a SCORM course. All files that make up the course, regardless of the number of lessons in the course, are packaged as one SCO unit. When the course is launched within the Learning Management System, it communicates with the SCO. - Multiple SCO
A multiple SCO is where a group of files within the course can be treated as an individual SCO but packaged together with other SCOs to comprise one course. For example, the files that comprise each lesson of a SCORM course can be grouped together so that each lesson is a SCO in its own right and all the SCOs will comprise the one course.
Course Installation
For the course to be available in the Learning Management System, the SCORM package needs to be installed on the system. The method of installation will vary from LMS to LMS but will typically go through the following steps:
- The manifest file will be located and interpreted.
- The course identified in the manifest will be created in the Learning Management System and the course properties will be populated with the values defined in the manifest. These properties may include course name, creator, etc.
- The lessons of the course will be created in the LMS and the lesson properties will be populated with the values defined in the manifest. Lesson properties would include information such as the path to the lesson file, passing grade, etc.
The Learning Management System should provide a facility to overwrite an already existing SCORM course so that if updates are made to the existing course, an installation will deploy those changes.
Course Communication
Initialization
When the course is launched within its run time environment, which for our purposes is the LMS, it will detect the existence of the API and attempt to make initial communication with the Learning Management System. This is a one-time handshake to ensure that communication has been established. The SCORM course is responsible for locating the API in the child browser session that it has launched in from the parent. The API is typically deployed using JavaScript. The API call that the course uses to do this is the LMSInitialize call. When the Learning Management System receives this API message call from the course, the LMS will initialize and respond to inform the course that communication has been established. An object model has been created in memory and the properties have been initialized to default values.
Intermediary Course Communication
Once the course has been launched and initialized with the LMS, the interaction between the two is determined by the course. It will use LMSGetValue and LMSSetValue API message calls to retrieve or populate data in the object model. Bear in mind that the object model exists in memory and has not been sent to the Learning Management System.
When the course needs to write the data so it exists in the database, it will send the API message LMSCommit. The LMSCommit will be received by the Learning Management System and the data stored to the LMS. The course developer will determine when an LMSCommit is required and it will be sent to the LMS when the event is activated. This could be at the end of each lesson or it could be at the end of the course.
The LMSCommit is an optional message and does not require a response from the Learning Management System.
Finalization
When the course is completed, it will send an LMSFinish API message to the LMS. This may be triggered by an event in the course that activates the LMSFinish or it may be on the Unload event of the HTML page when the user closes the browser. The LMSFinish indicates to the LMS that the user has ended the course and any further communication between the two will be rejected. The LMSFinish also initiates the Learning Management System to store any data that has been populated in the object model and complete the unloading of the course.
The key difference between the LMSCommit and LMSFinish API message calls is that the latter will prevent further communication with the course.
The LMSFinish is a mandatory message and does not require a response from the LMS.
Learning Management System Considerations
When the LMSFinish is received by the LMS, there are several scenarios that may need to be taken into account. Some of these may be the product of errors in course development but are scenarios that have been experienced in interfacing with a SCORM compliant course:
- The SCORM course may indicate the student has failed a lesson but the score passed from the SCO may be greater than the lesson passing grade that was installed from the manifest.
- The SCORM course may indicate a lesson status for the user and pass the score of the lesson but there has been no passing grade defined for the lesson.
- It would be advantageous for the Learning Management System to provide API message logging so that a communication history may be recreated for debugging or historical purposes. Consideration should be given to the following:
- Method of storage, whether it is stored in a database or out to a file.
- Is logging on all the time or is there a switch to turn logging on or off? (There will be some overhead when logging is switched on, as opposed to being off.)
- If logging is to file, is there a log file for each course, each user, or one large SCORM log file?
- How is log data purged? When logging is stored in the database, how often is the table purged? Can the data be deleted or does it need to be archived? If logging is to a file, does the file build in size until it is manually renewed or does the logging mechanism have a trigger that automatically generates a new file? (If the file is left to grow too big, it becomes very impractical to open it in a text editor.)
Conclusions
SCORM has a proven track record in the web based e-learning world and is the accepted standard in the industry. Reputable LMS vendors should support your SCORM course out of the box. The SCORM 2004 version has added much more control and sequencing at a more granular level than SCORM v1.2 however those differences are significant enough to cause the user base to be slower in adopting the SCORM 2004 version.
- Related Videos
- Related Articles
- Ask / Related Q&A
- How Do Virtual Classrooms of Distance Learning Work?
- Birth of Distance Learning in India - BigGyan Cloud eLearning
- The Growth and Future of E-learning
- E-Learning features
- Cms and Lms – a Comparison
- Career Training Through Online Education and E-learning by 2010
- E - Learning Can As Well Be Useful For Expanding Knowledge
- Learning Management System Is Flexible, Economical Corporate Training Tool




Examsoon CompTIA exam 220-701 braindump
By: Adela1987 | 17/12/2009If you are looking to pass 220-701 exam, then Examsoon is for you. Getting Examsoon 220-701 is like having an automatic guarantee of passing it. This exam is tough, but with the proper learing tools by your side, passing 220-701 is a snap.
The Optimum Process to Compile a Vast Stream of Communications to Your Site
By: Dale Dupree | 16/12/2009accomplish a flow of business... for free. I know that you have probably heard about different theories and strategies designed to achieve free transactions, from social bookmarking to blog commenting etc, however, although numerous of the usually recognized no cost methods do offer a certain level of effectiveness, there is only one that can truly become both a huge short term and a long term source of business.This often
Courses for MCSE Training Simplified
By: Jason Kendall | 16/12/2009If you're reading this it's possible that either you're considering a career change into IT and an MCSE certificate appeals to you, or you're someone with a certain amount of knowledge and you know that you need a qualification such as MCSE.
Adobe CS4 Design Training Providers Considered
By: Jason Kendall | 16/12/2009A variety of different training programs are in existence for individuals looking to get into the IT industry. For assistance in selecting the right one for you, seek out a training provider with assistance to help you find which career will match your characteristics, and then run through the actual job role, in order for you to know it's the right one for you. Computer courses cover a big spectrum of disciplines.
Pass4side ccnp 642-825 Exam Topics
By: Adela1987 | 16/12/2009It is well known that 642-825 exam test is the hot exam of Cisco certification. Pass4side offer you all the Q&A of the 642-825 real test . It is the examination of the perfect combination and it will help you pass 642-825 exam at the first time!
Wealthy Affiliate University Services for Internet Marketers
By: Martinact420 | 16/12/2009The Wealthy Affiliate University is full of services that greatly benefit Internet marketers and help to facilitate a high level of learning. Our program does not only offer the most elaborate training available, or the most complete set of tools found in one place online. We offer services such as web hosting, chat forums, your own personalized profile and blog, job posting systems, our own currency, and more! By enrolling in the Wealthy Affiliate University, you gain access to every training r
Training for CompTIA Network Plus Support Examined
By: Jason Kendall | 15/12/2009In the modern world, support workers who can solve problems with PC's and networks, and offer regular solutions to users, are indispensable in every sector of the business environment. As we are getting progressively beholden to advanced technology, we also inevitably become more dependent on the commercially qualified network engineers, who maintain those systems.
What to Eat to get sexy six pack abs
By: Owen Linnen | 15/12/2009Want to know what you should be eating to cut belly fat, lose wieight and get six pack abs? Lucky I'm going to tell you.
“Distributor-Modeled” Training
By: Stuart Campbell | 26/10/2009 | E-LearningThis article discusses how Distributor-Modeled training can be used to improve your organization’s relationships with distributors by enabling you to provide them with better service, support, and functionality, while decreasing your costs and increasing revenues.
Web 3.0, Schmeb 3.0
By: Stuart Campbell | 08/10/2009 | E-LearningStuart Campbell, Director of Software Development for SyberWorks, Inc discusses the advent of Web 3.0 and the next generation Internet.
SCORM and the Learning Management System
By: Stuart Campbell | 24/09/2009 | E-LearningThe purpose of this article is to look in a little more detail at the communication flow between the LMS and a course that is SCORM v2.1 compliant. The intention is not to review every possible communication but just the main calls. We will look at SCORM in the context of a SCORM course, i.e. a course that has been developed and built to communicate with a Learning Management System using the SCORM standard.
e-Learning in "the Cloud"
By: Stuart Campbell | 08/09/2009 | E-LearningThis article looks at the advantages and disadvantages of "cloud computing."
Best Practices for Building Student-Friendly Courses
By: Stuart Campbell | 03/08/2009 | E-LearningAt SyberWorks, we’ve developed quite a few courses, and seen many more that others have done. And though course development “best practices” should be common sense, they are often violated. So we wanted to offer our own best guidelines for building student-friendly courses.
Improving On-The-Job Training with LMS and e-Learning Tools
By: Stuart Campbell | 28/05/2009 | E-LearningOn-the-job training (OJT) is common in both large and small organizations. It is usually done informally, with an experienced colleague or mentor overseeing or teaching the trainee. It may take place in a classroom, on the plant floor, or in any other place where work is being performed.
Considerations When Integrating a Learning Management System (LMS) with Salesforce.com
By: Stuart Campbell | 18/03/2009 | E-LearningMany corporations want to integrate their Learning Management Systems with other software that they use to run their businesses. SalesForce.com has become the dominant player in the customer-relationship-manager (CRM) software segment, and since SyberWorks receives many requests to integrate our SyberWorks Learning Management System with it, I thought we should look at this type of integration project.