Good morning. I really need some expert advice here. I'm not a coding kind of person (yet), so I'm not sure what the problem is, but I need to get it resolved quickly.
I appreciate your help - thank you in advance!
Background:
My company finally allowed us to upgrade from Captivate 6 to Captivate 7. I was working on a project in 6, and I then converted it up to 7 with no problems.
Our dinosaur Peoplesoft AICC LMS servers don't handle a lot of things well, but I was able to publish HTML5 / AICC reporting in Captivate 6. We cannot use SWF output here.
I selected the same options for Captivate 7 for publishing, but the page stops loading at the attached "loading" screen.
I'm including the respective Captivate published index files below.
My uneducated guess is something around the content loader and/or the fact that it seems to be looking for SCORM, but the server is AICC. Maybe there's some kind of global AICC setting I'm missing in the application?
Index.html files:
---CAPTIVATE 6 START--WORKS--
<!--/* Copyright © 2003-2007 Rustici Software, LLC All Rights Reserved. www.scorm.com */-->
<HTML>
<HEAD>
<meta name='viewport' content='initial-scale = 1, minimum-scale = 1, maximum-scale = 1'/>
<meta http-equiv="x-ua-compatible" content="IE=9">
<TITLE>Captivate E-Learning Course</TITLE>
<script language="JavaScript1.2" src="scormdriver.js"></script>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script language="JavaScript1.2">
var g_bIsInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
var SD = window; // setup a reference to the SD
// this is the flag for triggering the custom comms
SD.AICC_USE_CUSTOM_COMMS = true;
//ShowDebugWindow();
var num_tries = 0;
var total_tries = 10;
var checker;
function LoadContent(){
// Do nothing - this function is required by the driver
}
function OnLoad_Activities(){
checker = setInterval(CheckForAICCComm,100);
}
function defineCustomAICCCommunication()
{
// override this function from the SCORM Driver to handle the custom comms
//aghose: this one is in AICCComm
window.CustomAICCCommunication = function(strAICCURL, strPostData, strRequestType, strCallBack) {
WriteToDebug('in MakeHttpPostCall');
WriteToDebug('Details of Call:');
WriteToDebug("AICCURL:"+String(strAICCURL));
WriteToDebug("Post Data:"+strPostData);
WriteToDebug("RequestType:"+strRequestType);
WriteToDebug("CallBack:"+strCallBack);
WriteToDebug("---End Details of Call---");
//Uncomment this line to run across domain for HTML5
//document.getElementById('AICCPostRouter_HTML').contentWindow.makeHT TPPost(String(strAICCURL), strPostData, strRequestType, strCallBack);
return;
/*var CaptivateAICCMovie = document.getElementById('AICCPostRouter').contentWindow.Captivate;
CaptivateAICCMovie = window.frames["AICCPostRouter"].document.getElementById('Captivate');
WriteToDebug("CaptivateAICCMovie:"+CaptivateAICCMovie);
//var x = window.frames["AICCPostRouter"].document.getElementById('Captivate');
//console.log("Trying to obtain movie using frames elements:"+x);
if(typeof CaptivateAICCMovie == 'object'){
CaptivateAICCMovie.makeHTTPPost(String(strAICCURL), strPostData, strRequestType, strCallBack);
}*/
}
}
//for adobe
function InitializeCalls()
{
WriteToDebug("In InitializeCalls()");
//this has to be here for the Router SWF- this is the first call it makes
//now load the actual content SWF
document.getElementById('scormdriver_content').contentWindow.EmbedSWF ();
}
function CheckForAICCComm(){
num_tries += 1;
WriteToDebug("CP: In CheckForAICCComm, trial num: " + num_tries);
if(num_tries > total_tries){
WriteToDebug("CP: In CheckForAICCComm exceeded total tries...aborting further calls to this function.");
clearInterval(checker);
return;
}
if(typeof(window.AICCComm.MakeGetParamRequest) == 'function'){
WriteToDebug("CP: AICCComm has been initialized.");
clearInterval(checker);
/*if(window.AICCComm.blnAppearsToBeCrossDomain == true)
document.getElementById('AICCPostRouter').contentWindow.EmbedSWF();
else
document.getElementById('scormdriver_content').contentWindow.EmbedSWF ();*/
defineCustomAICCCommunication();
scormdriver_content.LoadActivities();
}
}
//create the callback that we're passing through
window.ProcessLMSResult = function(requestType, responseStr)
{
WriteToDebug("In ProcessLMSResult with:"+requestType+","+responseStr);
//catch the callback from the SWF and pass it along to the AICCComm frame
window.AICCComm.ProcessLMSResult(requestType, responseStr);
};
function UnloadActivities()
{
scormdriver_content.UnloadActivties();
}
</script>
</HEAD>
<frameset rows="100%,0%,0%,0%,0%" onload="OnLoad_Activities()" border="0" onbeforeunload="UnloadActivities()" onunload="UnloadActivities()">
<frame id ="scormdriver_content" name="scormdriver_content" src="index_AICC.html">
<frame name="AICCComm" src="AICCComm.html">
<frame name="rusticisoftware_aicc_results" src="blank.html">
<frame name="NothingFrame" src="blank.html">
<!--Uncomment below line to run across domain for HTML5 -->
<!--frame id="AICCPostRouter_HTML" name="AICCPostRouter_HTML" src="AICCPostRouter_HTML.html"-->
</frameset>
<noframes>
Your browser must be able to view frames for this content to display.
</noframes>
</HTML>
-------------------------------
--CAPTIVATE 7 START--DOES NOT WORK--
<!--/* Copyright © 2003-2007 Rustici Software, LLC All Rights Reserved. www.scorm.com */-->
<HTML>
<HEAD>
<meta name='viewport' content='initial-scale = 1, minimum-scale = 1, maximum-scale = 1'/>
<meta http-equiv="x-ua-compatible" content="IE=9">
<TITLE>Microsoft Free e-learning signup demonstration</TITLE>
<script language="JavaScript1.2" src="scormdriver.js"></script>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script language="JavaScript1.2">
var g_bIsInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
var SD = window; // setup a reference to the SD
// this is the flag for triggering the custom comms
SD.AICC_USE_CUSTOM_COMMS = true;
//ShowDebugWindow();
var num_tries = 0;
var total_tries = 10;
var checker;
function LoadContent(){
scormdriver_content.LoadContent();
}
function DoCPExit()
{
if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))
{
window.parent.DoCPExit();
}
else
{
window.close();
}
}
function OnLoad_Activities(){
var lFrameset = document.getElementById("myFrameset");
var newFrame = document.createElement("frame");
newFrame.id = "scormdriver_content";
newFrame.name = "scormdriver_content";
var lParamString = window.location.toString().split("?")[1];
if(lParamString != undefined)
lParamString = "?" + lParamString;
else
lParamString = "";
newFrame.src="index_AICC.html" + lParamString;
newFrame.onload = function(e)
{
//console.log("Starting checker");
checker = setInterval(CheckForAICCComm,100);
};
lFrameset.insertBefore(newFrame,lFrameset.firstChild);
}
function defineCustomAICCCommunication()
{
// override this function from the SCORM Driver to handle the custom comms
//aghose: this one is in AICCComm
window.CustomAICCCommunication = function(strAICCURL, strPostData, strRequestType, strCallBack) {
WriteToDebug('in MakeHttpPostCall');
WriteToDebug('Details of Call:');
WriteToDebug("AICCURL:"+String(strAICCURL));
WriteToDebug("Post Data:"+strPostData);
WriteToDebug("RequestType:"+strRequestType);
WriteToDebug("CallBack:"+strCallBack);
WriteToDebug("---End Details of Call---");
//Uncomment this line to run across domain for HTML5
//document.getElementById('AICCPostRouter_HTML').contentWindow.makeHT TPPost(String(strAICCURL), strPostData, strRequestType, strCallBack);
return;
/*var CaptivateAICCMovie = document.getElementById('AICCPostRouter').contentWindow.Captivate;
CaptivateAICCMovie = window.frames["AICCPostRouter"].document.getElementById('Captivate');
WriteToDebug("CaptivateAICCMovie:"+CaptivateAICCMovie);
//var x = window.frames["AICCPostRouter"].document.getElementById('Captivate');
//console.log("Trying to obtain movie using frames elements:"+x);
if(typeof CaptivateAICCMovie == 'object'){
CaptivateAICCMovie.makeHTTPPost(String(strAICCURL), strPostData, strRequestType, strCallBack);
}*/
}
}
//for adobe
function InitializeCalls()
{
WriteToDebug("In InitializeCalls()");
//this has to be here for the Router SWF- this is the first call it makes
//now load the actual content SWF
document.getElementById('scormdriver_content').contentWindow.EmbedSWF ();
}
function CheckForAICCComm(){
num_tries += 1;
WriteToDebug("CP: In CheckForAICCComm, trial num: " + num_tries);
if(num_tries > total_tries){
WriteToDebug("CP: In CheckForAICCComm exceeded total tries...aborting further calls to this function.");
clearInterval(checker);
return;
}
if(typeof(window.AICCComm.MakeGetParamRequest) == 'function'){
WriteToDebug("CP: AICCComm has been initialized.");
clearInterval(checker);
/*if(window.AICCComm.blnAppearsToBeCrossDomain == true)
document.getElementById('AICCPostRouter').contentWindow.EmbedSWF();
else
document.getElementById('scormdriver_content').contentWindow.EmbedSWF ();*/
defineCustomAICCCommunication();
scormdriver_content.LoadActivities();
}
}
//create the callback that we're passing through
window.ProcessLMSResult = function(requestType, responseStr)
{
WriteToDebug("In ProcessLMSResult with:"+requestType+","+responseStr);
//catch the callback from the SWF and pass it along to the AICCComm frame
window.AICCComm.ProcessLMSResult(requestType, responseStr);
};
function UnloadActivities()
{
scormdriver_content.UnloadActivties();
}
</script>
</HEAD>
<frameset id="myFrameset" rows="100%,0%,0%,0%,0%" onload="OnLoad_Activities()" border="0" onbeforeunload="UnloadActivities()" onunload="UnloadActivities()">
<!--frame id ="scormdriver_content" name="scormdriver_content" src="index_AICC.html"-->
<frame name="AICCComm" src="AICCComm.html">
<frame name="rusticisoftware_aicc_results" src="blank.html">
<frame name="NothingFrame" src="blank.html">
<!--Uncomment below line to run across domain for HTML5 -->
<!--frame id="AICCPostRouter_HTML" name="AICCPostRouter_HTML" src="AICCPostRouter_HTML.html"-->
</frameset>
<noframes>
Your browser must be able to view frames for this content to display.
</noframes>
</HTML>