Note: You are currently viewing documentation for Moodle 2.5. Up-to-date documentation for the latest stable version of Moodle may be available here: SCORM FAQ.

Template:Scorm

How can I create SCORM content?

Some people hand-code SCORM objects using HTML, JavaScript, and sometimes SWF files. There are some templates provided by ADL and by others, which make this process easier.

Others use SCORM authoring software to generate SCORM packages. This process is easier for non-technical users, but not as foolproof, and problems are more difficult to solve when they involve authoring sofware. See Tools for creating SCORM content for a list of options.

Is there a definitive source for SCORM information?

Yes. That is Advanced Distributed Learning (ADL), the organization that wrote the SCORM standard.

You can download documentation and samples form ADL's Web site. Documentation for SCORM 1.2 in several languages is available here: http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A}

There are also content package examples, for various types of content packaging, is available here: http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/Documents/SCORMContentPackageExamples.zip

My SCORM Module doesn't function properly

  • Make sure you are running Moodle 1.9.3 or 1.8.7 or higher, a large number of SCORM related bugs have been fixed in these versions. see Changelog here
  • Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like Reload to see if it works there.
  • Post a copy of your SCORM object in the SCORM Repository and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.

What version of SCORM is supported?

  • Moodle 1.9.5 is certified SCORM 1.2 compliant.
  • SCORM 2004 is not completely supported in Moodle at this stage. Parts of the API have been implemented, but others such as Navigation and Sequencing have not yet been implemented. It is unlikely at this stage that it will be completed by the time Moodle 2.0 is released, however it is being actively worked on.
SCORM 2004 development requires funding! See SCORM 2004 in Moodle for details.
  • AICC objects are supported in Moodle 1.9.3 or 1.8.7 and higher - unfortunately the availability of publicly accessible AICC objects is limited, so testing has been rather difficult. If you have any AICC objects you are willing to share, please upload them to the SCORM Repository
  • SCORM 2.0 has not been released yet by ADL, and Moodle does not support any of it at this stage.

What's the best way to ask for help in the SCORM Forum

When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:

  • Be prepared to provide a SCORM package that illustrates your problem - if you don't then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.
  • Always start your report with version information - preferably the information displayed on the Admin -> Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix. With this it will be clear how you are running your Moodle instance, on what platform, and at which version. This will quickly expose issues where a simple upgrade will solve your problem.
  • Run your problematic SCORM package through debugging (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.
  • If you're using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you've run into one, it's likely that someone else has also dealt with it, and will recognize it.

Debugging a SCORM Module

If you have a problematic SCORM object, and you are running Moodle 1.9.3+ or greater, then you can take advantage of the Moodle SCORM API Interactions Log to see exactly what information is being sent to and from your SCORM object. The usefulness of this is that it allows you to determine what is failing: your SCORM object, or Moodle.

  1. Access your site as an admin user
  2. Go to Administration > Server > Debugging
  3. Change the Debug Messages field to DEVELOPER: Extra debug messages for developers
  4. Access the SCORM activity that you want to debug. A new window will open with the API Interactions log in it. As you move through the SCORM content, look for the call to the LMS to set or get the variable that you're needing.

You can also submit this API Interactions log when asking for assistance on the SCORM Forum. Some SCORMing Moodlers know the common SCORM variables by heart, and can tell you exactly what isn't happening just by looking at the log.

SCORM and the Gradebook

  • please see FAQ:My SCORM Module doesn't function properly
  • Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly. Moodle 2.0 contains some new controls that allow a teacher to override the behaviour as set by the SCORM object to allow for greater more flexible control. (see MDL-11501 for more information on this)
  • Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The Grading Method setting for SCORM objects is meant to account for that.

If you have the Grading Method set to Highest grade, Average grade, or Sum grade, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook.

If your SCOs do not report cmi.core.score.raw, then the best Grading Method setting is Learning Objects. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of learning objects for which learners got a 1.

On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based Grading Method options, such as Highest grade, Average grade, or Sum grade, and not Learning Objects.

If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.

slash arguments warning when I add/update SCORM obects in my course

As of Moodle 1.9.3 SCORM forces what is referred to as "slash arguments" - Unfortunately, some PHP servers don't allow this method and your SCORM objects may not display. This affects IIS 5 and earlier, and some Apache servers. Under IIS 5 and earlier, a workaround using an ISAPI re-write tool can be used, Apache users should look at this link: https://docs.moodle.org/en/Installation_FAQ#Uploaded_files_give_.22File_not_found.22 - A check on the admin/health.php page is also made to see if slasharguments is supported - visit http://yourmoodlesite/admin/health.php to check to see the status of slasharguments on your server.

SCORM doesn't work on Godaddy Host

Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/health.php - but the fix involves adding a php.ini or php5.ini file with the following text:

AcceptPathInfo
cgi.fix_pathinfo=1

Zlib warning when I add/update SCORM objects in my course

Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don't handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is "zlib.output_compression"

Manifest not found error

This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:

  • imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process.
  • when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML
  • The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.
  • Starting late 2009, early 2010, Articulate Presenter has been publishing packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file. The LMS will give a "Manifest not found" error when encountering this. To find this problem, unzip the scorm package and open imsmanifest.xml in a text editor. Delete the extra lines in the file. Resave the file and zip all files into a new compressed .zip package.

File not found error

You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme.

What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.

Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you'll find a place where organizations and resources for those organizations are designated:

<organizations default="TOC1"> 
        <organization identifier="TOC1"> 
           <title>SCORM Test</title>
           <item identifier="I_SCO0" identifierref="SCO0">
           <title>Library Quiz</title>
           <adlcp:masteryscore>0</adlcp:masteryscore>
        </item>
        </organization>
     </organizations>
     <resources>
        <resource identifier="SCO0" type="webcontent" adlcp:scormtype="sco" href="scorm.html">
           <file href="scorm.html"/>
           <dependency identifierref="ALLRESOURCES" />
        </resource> 
        <resource identifier="ALLRESOURCES" type="webcontent" adlcp:scormtype="asset">
           <file href="scorm.html" />
           <file href="scorm.js" />
           <file href="swfobject.js" />
           <file href="scorm.swf" />
           <file href="scormwrapper.js" />
        </resource>
     </resources>
  </manifest>

In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf.

What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it's very likely that the scorm object won't be able to load at all.

Sometimes the files aren't missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!

Large SCORM package will upload to Moodle, but will not display

If you get a blank page after filling in the title, description, and selecting a large SCORM file, it's likely that the file you are trying to upload is too big for the php zip library to handle - you must use external zip/unzip binaries

For help setting the zip and unzip system paths, see here: https://docs.moodle.org/en/System_paths#Path_to_zip

For discussion of this issue: http://moodle.org/mod/forum/discuss.php?d=119194#p522513

How do I clear an attempt for a student

To clear attempts by a student:

  1. Go to the SCORM activity and select the link "View reports for x users"
  2. Select the attempt or attempts you want to clear using the checkbox
  3. Select Delete in the drop-down box at the bottom of the page

My SCORM activity shows as completed, but there's no score in the gradebook

Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The Grading Method setting for SCORM objects is meant to account for that.

If you have the Grading Method set to Highest grade, Average grade, or Sum grade, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook.

If your SCOs do not report cmi.core.score.raw, then the best Grading Method setting is Learning Objects. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of learning objects for which learners got a 1.

On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based Grading Method options, such as Highest grade, Average grade, or Sum grade, and not Learning Objects.

If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.

See also

Online resources