Why a scorm package cannot be reverse engineered to open and edit its contents?

7.2k views Asked by At

I have a set of scorm learning courses and I want to edit them, to add new pages and content, not just alter existing ones. So, after searching the web I couldn't find a way to edit any scorm content in any existing tool.

Do you experts know what are the reasons for not having an scorm editing tool?

PS: It's scorm 2004 packages.

3

There are 3 answers

0
tom creighton On BEST ANSWER

Content packages are just zips containing two major pieces - the imsmanifest.xml and the content. The manifest file tells the LMS how the content is organized (like the table of contents in a book) and what resources make up the content/course (like a packing slip). And the content is what the LMS shows to the learner as the course, basically SCOs (generally web pages, swf, etc) and assets (images, pdf, supporting stuff).

What Brian G is saying is that the resources that make up the content might not be able to be modified, they could be swfs from a flash project or some other compiled software.

But that doesn't mean you can't add sequencing or other content, you just need to unzip the content package, modify the manifest right, add your new SCOs, and zip up your new content as a package.

Say for instance you have a package that has 3 SCOs and you want to add an intro page. You can do that by adding another <item> to the <organization> and then the path to what the LMS would deliver <resource> under <resources>.

<organizations default="course">
    <organization identifier="course">
        <title>The course</title>
        <!-- add another item for your intro -->
        <item identifier="intro" identifierref="INTRO">
            <title>Introduction</title>
        </item>
        <item identifier="sco1" identifierref="SCO1">
            <title>SCO 1<title>
        </item>
        <item identifier="sco2" identifierref="SCO2">
            <title>SCO 2<title>
        </item>
        <item identifier="sco3" identifierref="SCO3">
            <title>SCO 3<title>
        </item>
    </organization>
</organizations>
<resources>
    <resource identifier="INTRO" type="webcontent" adlcp:scormType="sco" href="scos/my_intro.html">
        <file href="scos/my_intro.html" />
        <!-- possible other needed files, or other resources needed -->
        <dependency identifierref="APIWRAPPER" />
    </resource>
    <resource identifier="SCO1" type="webcontent" adlcp:scormType="sco" href="scos/sco1.html">
        <file href="scos/sco1.html" />
    </resource>
    <!-- other sco resources -->
    <resource identifier="APIWRAPPER" type="webcontent" adlcp:scormType="asset">
        <file href="assets/APIWrapper.js" />
    </resource>
</resources>

ADL modified an open source project to do content packaging. It's called Reload and it is designed to help you create the manifest and package your content. It also will open existing packages and allow you to make edits. You can download it here http://www.adlnet.gov/wp-content/uploads/2011/07/ADL_SCORM_2004_RELOAD_Editor_1_1.zip .. There's also more resources and info on ADL's site: http://www.adlnet.gov/scorm/ .

The CAM book in the SCORM Document Suite has all the gritty details about packaging your content. The SN book goes over everything to know about sequencing. You can find the books here: http://www.adlnet.gov/wp-content/uploads/2011/07/SCORM_2004_4ED_v1_1_Doc_Suite.zip

Another resource by ADL are the Content Developer and ISD guides. They have tips, guidance, and examples for developers working with SCORM. http://www.adlnet.gov/scorm-users-guides-for-instructional-designers-and-programmers-are-now-available/

1
Sergey Snegirev On

What you call SCORM Content is in fact simply Web Content that can communicate to a LMS using SCORM API. So your question is exactly equivalent to "Why a webpage cannot be reverse engineered to edit its contents" or "Why a Flash movie cannot be reverse engineered".

The correct answer is "Because whoever created the files didn't want you to". And also "They can be hacked.. to some limited extent..".

Most e-learning courses (that's what SCORM is usually used for) are produced in one of the rapid authoring tools, e.g. Adobe Captivate, Articulate Storyline, Articulate Presenter, Lectora and others. These tools use source files that contain all course content, metadata, resources, images, media etc. They output a mix of Flash and HTML files that can be edited to the same extent you can hack anything you see on web, but without sources your question is like asking "Why this nice image I downloaded cannot be reverse egineered into vectors and layers and opened in Photoshop".

In fact, some tools (like CourseLab) use exact same XML file for storing/editing contents and displaying the contents. Only in the former case it is loaded into the editor, and in the latter case it is played back via a JS-based player.

If you outline the exact problem that you're facing (right now it seems like you're just venting your frustration), people might be able to help you better.

0
Coupey On

I think you're misunderstanding what SCORM is - it's just an API and data model for SCO <-> LMS communication. How the content itself is developed isn't part of the SCORM standard, that's up to the individual developer to decide and implement.