To make it easier, break your folders out as follows.


*where (n) is the sco number you are referencing

This structure will allow for easier sharing and referencing of objects. It will also allow for
easy packaging of courseware.

Break your courseware into SCO's. There are countless methods of how to do this, but the concept is
simple. If the content can teach something as a stand-alone unit then it is a SCO. Many people make
each lesson a SCO. This is simple and conformant to the specification, but may not truly get to the
level of granularity SCORM, in theory, talks about.

Now to create a simple course, first download the latest SCORM API from and
reference it in the  of your HTML as follows. 
NOTE: you must reference this file in all your HTML pages. This file contains basic functions used
to communicate with the LMS.

Second, you must initialize communication with the LMS anytime a SCO is launched and finish
communication when a SCO is closed. 

With this in mind ask yourself:
 “Is this the first page of my SCO?” 
If your answer is yes then you must initialize this page to the LMS. To initialize you SCO to the
LMS simply call LMSInitialize() from the API. Do this by placing this function in the onLoad event
of the body of the document as seen here.  BE SURE TO CHECK if this
page has already been initialized or you will get an error trying to re-initialize a page that is
already “talking” to the LMS.

Third, go through the SCO asking yourself “Is this the last page of my SCO?” When you can say yes
this is the last page, you need to finish communication with the LMS. Do this by placing LMSFinish()
in the onunload event of the body of the document as seen here.  

The previous stps deal with setting up communication with the LMS. Now, if you need your SCO to
“talk” to the LMS it can. You can use any of a number of functions listed in the SCORM 1.2
Specification such as cmi.studata which gets data about the student form the LMS. I am not going to
go through all that, but they are explained in the specification if you need to use them. 

Making metadata. This step is probably the most overlooked, yet most important step in the process.
The point of the metadata is to allow easy searching of the content in a repository. 

Metadata is simply a file that describes all graphics, media, files , and so on in your course. To
crate these files you can use our Metadata Generator Beta or you can do it by hand. Since we have
the tool I will not describe how to do it by hand. 

Create a Manifest file. This file is used by the LMS to determine, in what order, you want your
course materials displayed. It also delivers to the LMS a list of all resources used in your course.
Again, we have a Beta Manifest Generator you can use to complete this process.

Download the Conformance Test Suite from ADLNET.ORG  and test you r content and metadata to see if
you have done everything right.

That is all that is required to pass conformance. We understand that this may be complicated. This
is why we offer training, consulting and tools to help in the process. If you need any of our
services please let me know. Thank you for giving us the chance to serve you.