October 20, 2008

The SCORM 2.0 workshop in Pensacola

The SCORM Workshop held by LETSI (Learning Education Training Systems Interoperability) is over, and some clear direction emerged from the blizzard of whitepapers, informal submissions and comments over the last few months. I was very impressed by how fast they moved things forward in a few days.

The design process will be driven by use cases generated by the people who actually use SCORM applications in their work: Instructional designers, administrators, teachers, and other strategic adopters all over the world. This is significantly different from the way SCORM was originally designed, by a small community of LMS vendors and the U.S. Department of Defense, one of the BIG USERS of training and tracking.

There was a lot of acknowledgement of the fact that we don't just want to track or "interoperate" web-based interactions, but transactions that could occur just about anywhere, including simulations, instructor-led, or instructor-guided, mobile, disconnected, etc. Fuzzy human-requiring (or at least AI-requiring) interactions should not be excluded. A key take-away is that we can't limit functions to what currently exists - learners will be learning in ways we can't even imagine.

Of course backward compatibility is crucial - many of us who want more, more more also have thousands of old-school SCORM courses in our libraries that we do not want to have to revamp to a new standard.

The use of Web Services and a Service Oriented Architecture is likely in the new standard. This will (hopefully) facilitate interoperability, and the ability to modularize applications. There was some question about whether this architectural approach has been a success in other areas, and a lot of discussion about what the business case for this might be, but those questions are in the process of being answered

Also discussed was the fact that people are out there choosing to learn from many sources, social, non-authoritative, non-standard, web-based, informal, random, and there is currently no way to track or analyze data about what they are doing or how they are doing that.

Every aspect of the current SCORM standard was examined closely and will continue to be. A useful refresher on the current basic assumptions of SCORM and a suggestion for a new conceptualization of what SCORM is and should be were given in a whitepaper by Allyn Radford

The "Ilities"
  • Accessibility: The ability to locate and access instructional components from one remote location and deliver them to many other locations.
  • Adaptability: The ability to tailor instruction to individual and organizational needs.
  • Affordability: The ability to increase efficiency and productivity by reducing the time and costs involved in delivering instruction.
  • Durability: The ability to withstand technology evolution and changes without costly redesign, reconfiguration or recoding.
  • Interoperability: The ability to take instructional components developed in one location with one set of tools or platform and use them in another location with a different set of tools or platform.
  • Reusability: The flexibility to incorporate instructional components in multiple applications and contexts.
  • Regarding SCORM 2.0, Radford suggested an approach where SCORM would support three separate domains which would remain agnostic to each other: Content, Communications, and Learning, Education and Training (LET) Support.

    From his white paper:
    "SCORM can be conceptualized and described in many ways. After the last few weeks of papers and interaction and seemingly conflicting requirements in some areas I now find it useful to think of SCORM as having the potential to serve diverse community needs through a focus in three separate 'domains' under which most other requirements can be categorized."

    "..the design of the infrastructure and applications within it are declared out of scope where SCORM is concerned but the communications between applications/systems for the purposes of meeting LET requirements are in scope. By way of example, SCORM should not be dictating how a repository should store and manage content but it should provide for interaction between a repository and a front-end application. It could be said that cross domain scripting became a problem because content got mixed up with communications..."


    During the workshop, the "ility" Reusability was reexamined. What exactly do people mean by it? Do we still want it? At what level should content be resusable? The individual asset? The whole SCO? What constitutes a SCO anyway?

    The working group on Sequencing organized the submissions they had received into 3 general conceptual groups:


    1. Sequencing functions should be moved to the content developer's domain, within the SCO or within the manifest.

    2. There is still value to be had with sequencing being handled by the LMS, but the current spec is bad and should be replaced. The goal would be a rules-based sequencing engine controlled by the LMS, which would allow content developers to author sequencing rules using a finite defined set o primitives.

    3. A big change in architecture needs to be made to make sequencing workable. Papers suggested a new, layered approach where the higher levels allow instructional designers to work directly with sequencing, and a set of reusable object oriented components to handle higher order sequencing functions.

    The group considered a possible dual solution which extends the current data model to fully accomodate giving control over to the content devloper, but also creating a simple rules-based engine to be used by the LMS for those that prefer that type of workflow. I could see very different types of tools being developed to take advantage of these options.


    Moving onward!


    How can you take part in shaping the new SCORM?
  • Participate in the Wiki: submit use cases, white papers, informal submissions. LETSI's online discussions, working groups, and meetings are open to the public. Signing up for the Wiki is free
  • Join Letsi ($100) to become a voting member


    Look for LETSI at:

    DECOM Conference, Sestri Levante, Italy, October 23, 2008
    Learning 2008 in Orlando, October 26-29
    eLearning Guild's DevLearn, San Jose, California, November 11-14

    Your input is being requested on use cases, functionality, prioritization, etc.

    So, if you use SCORM, or think your organization may use SCORM in the future, stand up and be counted!

    Related stories:
  • LETSI SCORM 2.0 page
  • Why LETSI matters by Aaron Silvers
  • LETSI/SCORM 2.0 Wrap Up and Thanks!
  • For more articles on scorm, web development, powerpoint and other topics, see The Designspace

    Posted by emeiselm at 02:08 PM | Comments (0)

    April 26, 2008

    Captivate 3 Quizzes marking "failed" when quiz is not completed

    We use Captivate 3 quizzes sometimes with our Docent 6.5 LMS. Usually the quizzes have multiple parts or "SCOs" but occasionally we build one that has only one part.

    Sometimes people launch a quiz but need to quit before they are done taking it, and in such cases we would prefer it be marked "incomplete" and allow them another chance to take the quiz. Usually we would also prefer any failed quiz to be allowed to be retaken.

    But, by default, Captivate sees any failure to reach the mastery score as completions.

    There is an easy fix,
    suggested by Franck Buland on the Adobe Captivate forums

    simply modify the [project].htm file at lines 95, 96, 97.

    Change this:

    } else if ( strFSCmd == "LMSSetValue" || strFSCmd=="SetValue") {
    strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\",\"' + strFSArg2 + '\");');
    CaptivateObj.SetVariable(strFSArg3, strErr);

    to this:

    } else if ( strFSCmd == "LMSSetValue" || strFSCmd=="SetValue") {
    if (strFSArg1=="cmi.core.lesson_status") {
    if (strFSArg2 == "failed") strFSArg2 ="incomplete";
    }

    strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\",\"' + strFSArg2 + '\");');
    CaptivateObj.SetVariable(strFSArg3, strErr);

    The bold text is what is inserted. It tests the value of what the captivate quiz is sending for cmi.core.lesson_status. If it is failed, it is changed to "incomplete".

    Posted by emeiselm at 04:29 PM | Comments (0)

    May 12, 2007

    A SCORM-compatible learning module template: Part 6 of 6

    Branching behavior

    Several branching functions are included in js/branchingToolkit.js and are available to be used in your modules. Note: These haven't been thoroughly tested!
    InsertList: This function inserts a new pages into the page list right after the current page To use, you must add a second PageArray to the pageArray.js file, called PageArray2, containing the pages to be inserted.
    function insertList(){
    	 for(var i=0; i< PageArray2.length; i++) { 
    	parent.data.PageArray.splice((window.parent.data.znThisPage-1),0,PageArray2[i]);
    	parent.data.determineParents();
    	} 
    	wipePageNo();
    	wipeNavBar();
    	printNavBar();
         }
    	  function writeArray(){
    	  for(var i=0; i< parent.data.PageArray.length; i++) { 
    	  document.getElementById('writeItHere').innerHTML +=(parent.data.PageArray[i].url +" " + parent.data.PageArray[i].title +'
    '); } }

    addOnePagetoEnd: The following function pushes just one new page at a time into the page list. To use, add title, url, chapter and level information to the "mystring" line, similar to what you did when filling out each line in the page array.


    function addOnePagetoEnd() {
    mystring=({title:'I am new',url:'page303.htm',chapter:0,level:1});
    parent.data.PageArray.push(mystring);
    document.getElementById('NavBar').innerHTML = ('');
    parent.data.determineParents();//haven't testedd yet but you have to run determineParents after modifying the array
    wipePageNo();
    wipeNavBar();
    printNavBar();}



    replaceAllPages: This function replaces the entire page list with a new list.
    To use, you must add a second PageArray to the pageArray.js file, called PageArray2.

    function replaceAllPages() {
    	parent.data.PageArray=parent.data.PageArray2;
    	parent.data.determineParents();
    	wipePageNo();
    	wipeNavBar();
        printNavBar();
        NextPage(); }
     //**end branching toolkit**//
    
    

    For more articles on scorm, web development, powerpoint and other topics, see The Designspace

    Posted by emeiselm at 11:37 AM | Comments (0)

    A SCORM-compatible learning module template: Part 5 of 6

    Part 1: Features, Outline your Module
    Part 2: Creating the Navigation
    Part 3: Other Configuration Elements
    Part 4: Start Building Your Pages
    Part 5: Modifying the CSS Styles
    Part 6: Branching Behavior

    Modifying the CSS styles

    The css styles are defined in several sheets. Any of the styles can be overridden by adding a new definition for the selector to /css-local/userStyles.js or to individual pages or even individual elements on a page. YOU WILL NOT BE ABLE TO change any of the files inside the css/ folder but you can add your own overrides to userStyles.css.

    If you need special text styles or need to control the positioning of content-specific elements, add those to the userStyles file.

    css/allBrowsers.css contains most of the styles used. These include the pseudo-class selectors, and the styles that define the structure of the page, including most of the navBar.

    A few Internet Explorer-specific styles are included in includes/headContent.htm, using a conditional comment to hide them from all other browsers. These were unavoidable, since IE still has some unique differences. These override their counterparts in allBrowsers.css.

    css/print.css removes the Navbar when printing to make the document fit the page better.

    css/header.css contains styles for header and footer.

    css/stylesMac.css is not being used at this time.

    css/styles800x600 is experimental for use with smaller screens or low resolution monitors, but is not really working well yet.


    How to override a style

    Let's say you wanted to change the style of all h4 elements to dark blue. In userStyles.css, add the following:

    h4 {
    color: #003366
    }

    That's all there is to it! Of course you can also create your own styles as well. userStyles.css is already included in the headContent file so it will automatically be picked up if there is anything in it.




    Part 1: Features, Outline your Module

    Part 2: Creating the Navigation

    Part 3: Other Configuration Elements

    Part 4: Start Building Your Pages

    Part 5: Modifying the CSS Styles

    Part 6: Branching Behavior


    For more articles on scorm, web development, powerpoint and other topics, see The Designspace

    Posted by emeiselm at 11:35 AM | Comments (0)

    A SCORM-compatible learning module template: Part 4 of 6

    Part 1: Features, Outline your Module
    Part 2: Creating the Navigation
    Part 3: Other Configuration Elements
    Part 4: Start Building Your Pages
    Part 5: Modifying the CSS Styles
    Part 6: Branching Behavior

    Start building your pages

    Now you are ready to start building pages.

    Important: You will find that Dreamweaver 8 does a much better job of displaying this module, complete with all the Server Side Includes, than earlier versions. It is possible to use earlier versions, but you will only see the central content area of the page, and not the Header/Footer areas or Navbar area.



    Note: Typical Dreamweaver-generated javascripts used for rollover images and creating popup windows are already included in the template. You do not need to add them again.

  • MM_openBrWindow
  • MM_swapImage
  • MM_swapImgRestore
  • MM_preloadImages
  • MM_findObj


    The content area


    Start adding your own content to the module

    1. Open page01.htm and look at the source code.

      Module Template - Put Content below this line

      Find the lines that say:


      "*****Put content below this line!!!****"

      and


      "*********Put content above this line!!!******"

      Add your content between these lines! The area between these two comments is the only area in this file you should need to modify, except if you wish to hide chapter and page titles as described below.

    2. If you do not want the automatic Chapter and Page titles to show, simply add the following to your css-local/userStyles:
      
      

      #pageTitle {
      display:none;
      visibility:hidden;
      }




    The Standard Layout Grid

    A grid has been devised to facilitate a standard look for all the modules. The grid consists of two columns, with a width ratio of 67% to 33%. The order and width of the columns can vary as needed, but try to keep the overall ratio the same wherever possible.

    Click the image below to see the two columns highlighted in red.


    Module Template -Grid layout



    Layout Examples
    Some examples of the use of the grid are shown below for inspiration. Click each image to see enlarged view.









    Module Template - Nova 3
     

    Module Template - Nova 2
     


    Module Template - Nova 4
     

    Module Template - Nova 5
     


    Module Template - Nova 6
     



    For more articles on scorm, web development, powerpoint and other topics, see The Designspace

    Posted by emeiselm at 11:32 AM | Comments (0)

    A SCORM-compatible learning module template: Part 3 of 6

    Other configuration variables: chapterArray, docTitle and headerTitle

    In the same file as the pageArray, you will find several other variables: chapterArray, docTitle, and headerTitle.

    The chapterArray can be filled out with chapter titles if desired. This is optional - the chapter and page titles can both be hidden if not needed.

    The docTitle and headerTitle are required. The docTitle is the title that shows up at the top of every window -in other words the <title> tag on each page. The headerTitle is the title which shows up in the blue header at the top of each page.


    Chapter and Page Titles

    If you want, you may have Chapter titles and Page titles show up automatically on every page, or on only the pages you choose.




    1. You must fill in the Chapter titles in /js-local/pageArray.js

      Look for:


      var chapterArray

      and add the chapter titles.

      Add chapters as necessary, observing the usual caution about the punctuation at the end of the array.
      chapterArray: Add Chapter titles to the chapterArray


    2. How it works
      Once the titles are filled in, when the page is loaded, the module looks for a div with the id "subTitleBar". If it finds this on the page, it populates it with the chapter and page titles you entered into the arrays, and styles them per the CSS style sheets.

    3. To remove this functionality from any page, delete the line highlighted in yellow, shown below. Be very careful not to remove the lines above or below it.

      subTitleBar




    For more articles on scorm, web development, powerpoint and other topics, see The Designspace

    Posted by emeiselm at 11:29 AM | Comments (0)

    A SCORM-compatible learning module template: Part 2 of 6


    Create the Navigation

    The Page Array controls all navigation within the module


    The engine that drives most of the module is the Page Array. The Page Array, a variable located in js-local/pageArray.js, is simply a list of all the pages in your module. It contains information about each page: the button title, page title, what chapter, and what outline level it is on. The navbar, "Previous" and "Next" buttons are based on the Page Array.

    What does all this stuff mean?

    Find the file js-local/pageArray.js and duplicate it to make a backup copy. Then open the original file js-local/pageArray.js


    Don't be intimidated by all the code on this page. You will simply be adding titles to the list of pages.


      Look for the line: "var PageArray" as shown here (approx line 50.)

    look for this line
    (Click to enlarge image)

    You can see that there is a line for each page in the module. Each line in the Array contains the following:

    • buttonTitle: this is the title that you want to appear on the associated button in the navbar
    • pageTitle: this is the full title that you want to appear on the page itself (you can turn this off if desired)
    • url: this is the relative path to the page from the root folder of the module.
    • chapter: (0 and up) the chapter number, starting with 0.
    • level: (1 and up) In the navbar, buttons for pages at level 1 will always show up. Buttons for pages with level numbers greater than 1 will only be displayed when you click on a button for a page in that chapter. The effect is that when you click on the opening page of any chapter, the menu expands to show what is in that chapter. All of this behavior is easily customized to your needs using CSS styles and level numbers.

     


    How to add the data for your module structure

      pageArray(Click to enlarge)

      Carefully replace the button and page titles with the titles from your outline. Add the relative URL's for each page. You may use any filename for your pages, not just page01, page02, etc. However if you choose to change the name of the first page, "page01.htm", please be sure to change it in the "index.htm" page as well or the frameset will open with a "not-found" error. It is very important that you DO NOT DELETE ANY PUNCTUATION, so be careful when you are pasting in titles. If you do, and cannot find what you deleted, use the backup file you just created, and try again. Every line in the array gets a comma after it, except for the last one.

      Note: make sure the number of chapters in the Chapter Array matches the number in the Page Array.


    Examples of completed pageArrays

    For the simple outline shown here

      Module Template - array for simple outline
       



      the page array would look like this:


      pageArray for simple outline


      and would result in this navbar:


      navbar from simple outline


      For the more complex hierarchical outline shown here:

      Hierarchical Structure outline


      the page array would look like this:


      array for hierarchical


      and would result in this navbar, with Chapter III shown open.


      navbar for hierarchical outline





    For more articles on scorm, web development, powerpoint and other topics, see The Designspace

    Posted by emeiselm at 11:27 AM | Comments (0)

    April 26, 2007

    A SCORM-compatible learning module template: Part 1 of 6


    Features

    This HTML template is designed to simplify the creation of SCORM-compatible learning modules. Some of the features include:

    • SCORM compatibility: The required elearning SCORM communication functions are built in so the module can communicate its status to a Learning Management System (LMS).
    • Requires no server-side languages or processing other than Server Side Includes (SSI's). Javascript/DHTML-based.
    • Bookmarking: last page browsed is automatically stored in the LMS.
    • Dynamic navigation: The navigation, page titles, and pages left to view are all automatically generated.
    • Built-in styles: The look and feel has been set up so all you need to do is add text and use styles like H1, H2, and a few classes. The styles adapt to different browsers and screen sizes.
    • Pretty printing: Navbar disappears when printing, creating a cleaner, more efficient printout.
    • Branching capability:
      • replace entire page list with a single click to create another version of the module.
      • Insert pages with a single click.
      • Add pages to end of current page list.
    • Direct linking to pages when not under scorm control. Although the module is structured as a frameset by necessity, linking directly to specific pages is possible when no LMS is present, so module can be used as reference outside the LMS. (Direct linking would break the SCORM communication link).

      Example of a finished module based on the template. The look of the template has changed slightly since this article was first written.
    The navigation bar on this module is an example of the current template style.

     


    Getting Started


    Get the files


    Download the template files here




    Module-specific folders


    You will notice that several of the directories have two versions - a "global" version and a "local" version ("css-local," "includes-local," and "js-local"). There is also a "media" folder which is where you will put your module-specific images. This is because on our production server, we use a version control process where the global folders are replaced with symlinks, so that changes to the template will immediately update all templates on the server. Changes made in the local folders will affect that module only.


    The files in the "local" directories and files can be modified as needed, and can be used to override many global settings. For example, the CSS styles can be changed by adding styles to the file "css-local/userStyles.css."




    The directory structure of each module.




    Outline your module's structure

    Start by outlining your entire learning module. List all the pages you want to include. You can change the list after you get started, so don't worry if there are items you aren't sure about.The module structure can be very simple as shown in Example 1, or more structured with chapters and sections as shown in Example 2. This template can accommodate up to four levels if needed.


    Example 1

    The outline below shows a flat structure, with all pages on the same hierarchical level. In this example, all items would be on level 1.

     

    This is the navbar that results from this outline. Links to all items are visible at all times.

    Simple structure outline

     

    navbar from simple outline

    Example 2

    This outline shows a more complex hierarchical structure with chapters and sub-sections. In this example, the Competency Criteria page and the Chapter Introductions would be on level 1 and the Subtopics would all be on level 2.

     

    This is the navbar that results from this outline. Only the top level (level1) items are visible at all times. Other levels are visible when browsing any page in the respective chapter. NOTE: each page on level 1 should have a different chapter number.

    Hierarchical Structure outline

    array for hierarchical outline

     



    For more articles on scorm, web development, powerpoint and other topics, see The Designspace

    Posted by emeiselm at 09:35 PM | Comments (0)

    March 30, 2007

    Create multi-sco learning modules using the Reload Editor: Part III

    Reload Editor Tutorial Part III - Adding Attributes

    1. Once you have added some resources, they become available to select in the Referenced elements menu in the Item's Attributes.

      To associate an item with its resource, under Organization, select the item. Its Attributes appear below.

      Reload - referenced Element



    2. You may change the item name at the top of the attributes area to the title of the SCO.

      Reload - Changed Name

    3. You will notice in the example shown we have three items, but have only 2 resources listed so far. The third item has no resources to choose from. This is because we are going to add a quiz resource, which cannot be imported as we did with the other resource files, since it is a dynamic page which does not actually exist on the server. All we have available for this resource is a URL, which can be used by creating a new resource:

      Right-click the Resources icon, and select Add Resource.

      Reload - add dynamic resource

      Paste in the full LMS launch URL of the quiz or other dynamic content.
      [Note on Questionmark Perception: If you are adding a Questionmark Perception quiz here, you may generate the complicated SCORM launch URL using the Perception Content Packager.]

      Reload - paste in Quiz URL



    4. Now the URL you pasted in is available to be associated to the item.

    5. Reload - select dynamic resource

    6. Add SCORM sequencing information by right-clicking each item and selecting Edit SCORM
    7. Reload - edit scorm



    8. Enter the mastery score for each item as shown. Use 0 for items that should act as if they are unscored.
      Reload - mastery score 0
    9. Use 80 or whatever is appropriate for scored items.
      Reload - mastery score 80

      Before using the Prerequisites settings, check to see if your LMS supports this part of the SCORM 1.2 specification. For example they are not supported by SumTotal 6.5.

      For articles on web development, powerpoint and other topics, see The Designspace

      Posted by emeiselm at 08:06 PM | Comments (0)

      Create multi-sco learning modules using the Reload Editor: Part II

      Reload Editor Tutorial Part II -Create course Structure

      1. The item called "Organizations" represents the entire Learning Module. This is the trunk of the course-structure tree you will build. The individual SCO's you have imported will be items within an "organization" that is contained within the main "Organizations" item.

      2. Right click "Organizations" item. Select Add Organization.

      3. Reload - Add Organization


      4. Next, add an Item (this will be one of the SCO's) to the Organization you just created. Right click it and select "Add Item"

      5. Reload - Add Item


      6. The package will now look like this:
      7. Reload - one item added


      8. Next we need to select the resources that will be used to open the SCO. Drag the index page for the first SCO to the Resources folder in the Content Package side:

      9. Reload - drag to resources folder


        Posted by emeiselm at 08:05 PM | Comments (0)

        Create multi-sco learning modules using the Reload Editor: Part I

        Reload Editor Tutorial Part I - Create a package and import resources

        With an emphasis on use for SumTotal 6.5 and SCORM 1.2

        Once you have completed building a single learning module (called a "SCO" or "Shareable Content Object" in SCORM terms), you will probably want to link it together with a quiz or with other learning module SCO's.

        To piece together multiple SCO's into a single learning module, you will need to replace the manifests created with each SCO with a single manifest that lists all of them. The Reload Editor is a tool which will allow you to create manifests which aggregate all types of learning modules together into a larger package.


        The Reload Editor is available free from http://www.reload.ac.uk. The Reload editor works on Mac or PC, and requires the Java Runtime Environment which will have to be installed on a PC. (see instructions that come with the editor.)

        1. Create a new ADL SCORM 1.2 package:
          Reload - Create New package



        2. Save the newly created package file to a new folder. The new file screen looks like this:

        3. Reload - Initial Screen


        4. Import the SCO files that will be used in this combined module by clicking the Import icon:

          Reload - clickImport


          You can also simply drag them into the package Files folder:

          Reload - drag Import


        5. Your project should now look like something like this:

          Reload - package w/ 2 sets of files

        6. or this example, with three items (shown opened to display their resources) Reload Editor screen 1



          For articles on web development, powerpoint and other topics, see The Designspace

          Posted by emeiselm at 08:04 PM | Comments (0) | TrackBack

          Make any web-based Powerpoint presentation scorm compatible

          It's easy to export Powerpoint presentations to the web, but they aren't automatically scorm compatible. To add simple scorm capability to your web-export, do the following:

          This will add a button that will allow the user to mark the sco complete. 1. Add this to the head section of outline.htm or the final slide.


          Add the following onload statement to the body tag:

          <body onload=\"mm_adlOnload(); Load()\">
          
          To add a button that lets the user manually set the sco status to "completed", find the text of the last slide title (the text of the last link in the navbar on the left) and add this button after it.


          To have the sco automatically mark itself complete upon closing, add the following onunload and onbeforeunload statements to the body tag:
           
          onbeforeunload="mm_finishFrm"  onunload="mm_finishFrm"
          
          For articles on web development, powerpoint and other topics, see The Designspace

          Posted by emeiselm at 07:58 PM | Comments (0) | TrackBack

          March 22, 2007

          SCORM in 5 minutes or less, with pictures!

          Disclaimer: This is intended only to provide only the most basic understanding of what SCORM is.



          SCORM (Shareable Content Object Reference Model) is a world-wide standard set of specifications for communication between elearning content and learning management systems.

          A learning module using SCORM version 1.2 can communicate the following:

          • the instruction to launch an elearning module and start communicating.
          • scoring and tracking information - student data, timing, lesson status, scores, interactions, "pass/fail"
          • proprietary information that only the module understands. The Learning Management System (LMS) stores and retrieves such data without understanding it.
          • bookmarking information
          • the instruction to close communication.

          Additionally, a manifest packaged with the module tells the LMS


          • what, if any, modules come next.


          Examples of messages conveyed by SCORM communication


          scormMessages.jpg



          A SCORM-compliant learning module sends its data via client-side javascript to an "API Adapter" which relays it on to the LMS (MLearning).

          The API Adapter translates and relays commands to the LMS.
          adapter.jpg


          An API adapter is simply a Java or flash object sitting somewhere in the browser window, often in a hidden frame. You can think of it as a translator between Javascript and whatever language the LMS understands.



          What are the minimum ingredients of a SCORM-compliant module?

          Learning Module and Manifest = minimum package
          manifest.jpg

          To create the simplest scorm-compliant module, commands are added to key events in the module, such as when the page opens and closes, which tell the LMS to open or close a communication session, and to set the status of the lesson correctly.

          The LMS must have some way of knowing the structure of the course, and where to find the different pieces, so a "manifest" must be created for EVERY SCORM course. This is simply an xml file which details the course structure and which resources are associated with each piece of the structure.



          That's the basic idea behind SCORM: a common language that all LMS's and learning modules can use, so that modules can be shared and packaged in different ways. The key word is MODULAR! The same module can be used by itself or in combination with other modules, so there really should be no reference WITHIN a module to external modules that could change.

          For articles on web development, powerpoint and other topics, see The Designspace

          Posted by emeiselm at 12:02 PM | Comments (0)