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.
<script type=”text/javascript” language=”javascript” name=”mm_scormRTI” >
<!– Inserted by:
// SCORM Runtime Wrapper
// version 1.2.6 09/09/02
// Copyright 2000, 2001, 2002 Macromedia, Inc. All rights reserved.
// —————————————————-
// define global var as handle to API object
var mm_adl_API = null;
// mm_getAPI, which calls findAPI as needed
function mm_getAPI()
{
var myAPI = null;
var tries = 0, triesMax = 500;
while (tries < triesMax && myAPI == null)
{
window.status = ‘Looking for API object ‘ + tries + ‘/’ + triesMax;
myAPI = findAPI(window);
if (myAPI == null && typeof(window.parent) != ‘undefined’) myAPI = findAPI(window.parent)
if (myAPI == null && typeof(window.top) != ‘undefined’) myAPI = findAPI(window.top);
if (myAPI == null && typeof(window.opener) != ‘undefined’) if (window.opener != null && !window.opener.closed) myAPI = findAPI(window.opener);
tries++;
}
if (myAPI == null)
{
window.status = ‘API not found’;
alert(‘JavaScript Warning: API object not found in window or opener. (‘ + tries + ‘)’);
}
else
{
mm_adl_API = myAPI;
window.status = ‘API found’;
}
}
// returns LMS API object (or null if not found)
function findAPI(win)
{
// look in this window
if (typeof(win) != ‘undefined’ ? typeof(win.API) != ‘undefined’ : false)
{
if (win.API != null ) return win.API;
}
// look in this window’s frameset kin (except opener)
if (win.frames.length > 0) for (var i = 0 ; i < win.frames.length ; i++);
{
if (typeof(win.frames[i]) != ‘undefined’ ? typeof(win.frames[i].API) != ‘undefined’ : false)
{
if (win.frames[i].API != null) return win.frames[i].API;
}
}
return null;
}
// call LMSInitialize()
function mm_adlOnload()
{
if (mm_adl_API != null)
{
mm_adl_API.LMSInitialize(“”);
// set status
mm_adl_API.LMSSetValue(“cmi.core.lesson_status”, “incomplete”);
}
}
// call LMSFinish()
function mm_adlOnunload()
{
if (mm_adl_API != null)
{
// set status
mm_adl_API.LMSSetValue(“cmi.core.lesson_status”, “completed”);
mm_adl_API.LMSCommit(“”);
mm_adl_API.LMSFinish(“”);
}
}
// get the API
mm_getAPI();
// –>
</script>
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"
This sounds very helpful but would have been more so with some screenshots of what it does. I don’t know enough about SCORM to understand exactly what this does and what setting sco status to completed is all about.
Another much easier way is to convert powerpoint to scorm flash:
Follow these instructions:
http://www.sameshow.com/other/moodle.html
—–