Re: [elearning tech & dev] Very basic HTML SCORM Wrapper

1,659 views
Skip to first unread message

Philip Hutchison

unread,
Sep 18, 2012, 1:33:11 AM9/18/12
to elearning-technolo...@googlegroups.com
Hi Rob

If you only need to set a completion upon launch, you can skip the frameset (here's an example that comes pretty close to what you're trying to do). Frames are only needed if you're navigating between pages while maintaining a connection to the server.

- philip



On Mon, Sep 17, 2012 at 9:41 AM, Rob Meyers <mega1...@gmail.com> wrote:
Hello eLearning Tech group.
First, I would like to thank Phillip for his SCORM wrapper and documentation. If it wasn't for his info I would never have the courage to code my own SCORM package.
On that note, I am somewhat of a newbie to JavaScript and I am having a heck of a time creating a very simple SCORM package. My agency basically uses a regular web site structure for their eLearning.
The student is given a completion the moment they launch the package and there are no tests or scoring.
The ONLY thing I need from the pipwerks wrapper is to send a "completed" value to our Saba LMS and have the tracking data feature. So that the SCORM package will ask the student if they want to start on the page they were at when they closed the browser.
I am utilizing frames, here is the diced up code I am using.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My basic SCORM wrapper</title>
<script type="text/javascript" src="SCORM_API_wrapper.js"></script>

<script type="text/javascript">

var scorm = pipwerks.SCORM;  //Shortcut
var lmsConnected = false;

function initCourse(){
 
   lmsConnected = scorm.init();
  
   if(lmsConnected){
  
      var success = scorm.set("cmi.core.lesson_status", "completed");
     
      if(success){
     
         alert("ok its complete");
     
      } else {
  
         alert("Error: Course could not be set to complete!");
  
      }
  
   } else {
  
     alert("No LMS dude!");
  
   }
}


var unloaded = false;
function unloadHandler(){
   if(!unloaded){
      scorm.save();
      scorm.quit();
      unloaded = true;
   }
}

</script>

</head>

<frameset rows="60,*" onload="initCourse()"  onunload="unloadHandler" onbeforeunload="unloadHandler" noresize border="0" frameborder="0">
    <frameset cols="*,300" noresize border="0" frameborder="0">
        <frame name="moduleBanner" scrolling="no" target="moduleContent" src="banner.htm" noresize />
        <frame name="moduleSearch" scrolling="no" target="moduleContent" src="search.html" />
    </frameset>
    <frame name="moduleContent" src="ei_00.htm" />

 <noframes>
    your browser does not support frames.
  </noframes>
</frameset>
</html>

The "ei_00.htm" is the first page of my SCORM package and it has global navigation to every page (usually around 120 pages for each module) contained within that frame.
The Saba SCORM player is giving the alert("Error: Course could not be set to complete!")
What am I missing to send the completed value? And how to I implement the bookmarking feature?
Any help from the experts for my newbie self is greatly appreciated. I'm definitely having a difficult time with just these simple features.


--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To view this discussion on the web visit https://groups.google.com/d/msg/elearning-technology-and-development/-/7nCyR2vhlVcJ.
To post to this group, send email to elearning-technolo...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/elearning-technology-and-development?hl=en.

Rob Meyers

unread,
Sep 18, 2012, 10:18:26 AM9/18/12
to elearning-technolo...@googlegroups.com
Hey Phillip,
Many thanks for the advice.
The main reason I am using a frameset is to avoid SCO madness in the imsmanifest.xml document. A prior conversation in the group led me to believe that is the best route. Once frame loads "ei_00.htm" the student can navigate to another 80 pages.  Also, we have a client side search engine in one of the frames. So even for archaic web design syntax, frameset is doing the job.
It really doesn't make sense to package these sites in a SCORM considering they are traditional, non-linear, regular websites. But it's government work so of course they are implementing the technology in a oddball fashion :|

The code I posted works perfectly in scorm.cloud. (outside of the bookmarking feature) but not in our Saba LMS. I'm going to open a ticket with Saba and report back here what they say.
Hi Rob

To post to this group, send email to elearning-technology-and-devel...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and-development+unsubscribe@googlegroups.com.

Ryan Meyer

unread,
Sep 18, 2012, 11:56:29 AM9/18/12
to elearning-technolo...@googlegroups.com, elearning-technolo...@googlegroups.com
One thing you might look into... some LMS implementations don't have their SCORM API implementation completely ready to go as soon as the page loads, or as soon as the initialize method is called. It looks like your init method is returning OK, so one approach I've used is to poll the API until I get back a value for some data element (user name or lesson_status.) Then it's safe to start setting and committing. Not sure if that's your issue, but might be worth investigating.
-Ryan

Sent from my iPhone
To view this discussion on the web visit https://groups.google.com/d/msg/elearning-technology-and-development/-/tYsktyJTJ8kJ.
To post to this group, send email to elearning-technolo...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and...@googlegroups.com.

Rob Meyers

unread,
Sep 21, 2012, 10:02:10 AM9/21/12
to elearning-technolo...@googlegroups.com
Ryan thanks for the advice!
Again I'm a JavaScript n00b, so I had to google how to poll with the language. That might be the issue because our Saba LMS is notorious for sending false positives on attempts by the student before the SCORM package fully loads. Big issue considering we only allow a certain amount of attempts with our tests.
Saba considers trouble shooting code "content creation" so I am off to figure it all out on my own. Not to dis on the pipwerks but I am also having pretty good luck with Rustic software's SCORM driver. I think it will be awhile, but I'll report back when I figure out how to package a non-scoring SCORM package for the buggy Saba LMS.

Philip Hutchison

unread,
Sep 21, 2012, 1:18:27 PM9/21/12
to elearning-technolo...@googlegroups.com
Hi Rob

No offense taken. SCORM Driver has been one of Rustici Software's primary money makers for years... they had a strong financial incentive to ensure SCORM Driver works with quirky LMSs, and they've done a great job.

My wrapper is more of a labor of love, and has only been updated based on my own use of the wrapper and the feedback of others. Since I don't use Saba, I can't say for sure how well it works in Saba. However, I can say that my wrapper follows the SCORM guidelines, so when it doesn't work, it's likely due to a quirk in the LMS's handling of the SCORM run-time environment. Saba is known to have quirks.

If you happen to pinpoint any issues with Saba and the pipwerks wrapper, please let me know.

Good luck with your course!
- philip



To view this discussion on the web visit https://groups.google.com/d/msg/elearning-technology-and-development/-/tEyH5MifpYsJ.

To post to this group, send email to elearning-technolo...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and...@googlegroups.com.

John Campbell

unread,
Sep 21, 2012, 1:28:58 PM9/21/12
to elearning-technolo...@googlegroups.com
The fact people are comparing pipwerks to SCORM Driver as peers says a lot, Philip.  Cheers.

take care,

jpc

Estes Ethan

unread,
Sep 21, 2012, 1:31:22 PM9/21/12
to elearning-technolo...@googlegroups.com
ditto on that, Phillip.
-EÆ


Philip Hutchison

unread,
Sep 25, 2012, 12:48:21 PM9/25/12
to elearning-technolo...@googlegroups.com
Thanks, guys!

Ted Powers

unread,
Apr 8, 2013, 12:06:50 PM4/8/13
to elearning-technolo...@googlegroups.com
Hi Patricia
If you are using the default player in SABA, you may want to try the 3x/5 player to see if the course works better once it is outside the SABA api framework. You could be dealing with some code that is breaking if you are on cross domain. Some SABA systems do have this configuration. 
I would try that first and see if your code is breaking or working. 
Are you also using SCORM1.2 or 2004?


On Apr 8, 2013, at 10:50 AM, P. Moura <pkm...@gmail.com> wrote:

Hi Phillip

I am brand new to all of this, so forgive me if it's a silly question. I've heard about your SCORM wraper and was wandering if it can help me in the following situation:

I have done my first animation in Adobe Edge, that generates the files in HTML5. Now I would like to add it in the middle of a content page, inside a lesson, on Moodle. The problem is that is not an easy way to do it (as it used to be in flash). I researched and didn't find any way to go...

Should I convert the HTLM5 files into a SCORM object? Is that the only way to go? How the wrapper can help me?

Thank you very much for any tip!
Patricia
Thanks, guys!



take care,

jpc




Hi Rob

Hi Rob

To post to this group, send email to elearning-technology-and-developm...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To view this discussion on the web visit https://groups.google.com/d/msg/elearning-technology-and-development/-/tYsktyJTJ8kJ.
To post to this group, send email to elearning-technology-and-developm...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To view this discussion on the web visit https://groups.google.com/d/msg/elearning-technology-and-development/-/tEyH5MifpYsJ.
To post to this group, send email to elearning-technology-and-devel...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and-development+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/elearning-technology-and-development?hl=en.

--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To post to this group, send email to elearning-technology-and-devel...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and-development+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/elearning-technology-and-development?hl=en.

--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To post to this group, send email to elearning-technology-and-devel...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and-development+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/elearning-technology-and-development?hl=en.

--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To post to this group, send email to elearning-technology-and-devel...@googlegroups.com.
To unsubscribe from this group, send email to elearning-technology-and-development+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/elearning-technology-and-development?hl=en.

--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elearning-technology-and...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages