Skip to main content
Inspiring
March 4, 2016
Question

Captivate 8 - Can I use Iframe for cross domain functionality in an LMS?

  • March 4, 2016
  • 2 replies
  • 1475 views

Hi all,

I am currently using Captivate 8. I am working with a organization that until now did not use SCORM or AICC functionality in their LMS even though it has it. All their courses are "marked completed on entry".

I have been tasked to implement SCORM for all new Captivate courses which is easily done on the Captivate side, out-of-the-box.

In previous roles, with other LMS systems (Cornerstone, WBT Manager, etc.) it was an easy publish function to produce SCORM compliant files, just fill out the manifest settings in Captivate, trigger a publish, move the files to a storage area under the domain of the LMS, point the LMS to the correct load file and you're in business.

I do remember at one time a long time ago (Captivate 4 I think) I used a javascript placed in the default.htm file of Captivate's build htm file so that I could successfully launch content stored on an server that was outside the domain for the LMS. This worked back in the day, but at some point it became unnecessary and I stopped using that script.

Here is a copy of that old script:

<script language="JavaScript">

//work around cross-domain scripting

if(document.domain != "undefined" && document.domain != "")

{

  document.domain = document.domain.substring(document.domain.indexOf('.')+1);

}

</script>

Well, in this new organization the domain configuration is a little confusing. I get an API error when I launch SCORM compliant content from where they have been hosting their non-SCORM content (for many years). I get this error:

"An error has occurred:

Error - unable to acquire LMS API, content may not play properly and the results may not be recorded. Please contact technical support."

I have tried the above script, but it didn't appear to work properly (perhaps I am not implementing it properly.)

This tells me that it is a domain issue. When I ask the IS folks to load the files on a server that is under the same domain as the LMS the tests are successful!!! Cheers!

The issue is, they don't want to do that. They want the files to be stored where they have always been stored. Hence, my looking for a cross-domain solution. I have read where Iframe can be implemented, but I can find no specifics about it concerning Captivate. Has anyone done this?

Does anyone have any solutions (or can point me in the right direction)?

Thank you,

TPK

This topic has been closed for replies.

2 replies

TLCMediaDesign
Inspiring
March 5, 2016

Are you importing the manifest into the LMS?

You can use http links to the "index" files in the manifest and everything should work fine. The course needs to be wrapped in the SCORM api or at least it needs to be able to find it in the index file opener.

So in the manifest the href to the index would be something like:

http://www.somedomain.com/yourcoursename/.index.html

You'd need to separate the SCORM 1.2 files from the actual course files and create 2 packages.

So the xsd and xml files get loaded to the LMS, the rest of the files get loaded to your content area.

Inspiring
March 7, 2016

Good morning TLC Media Design,

Yes, well someone else is doing that, so I assume so. So far the initial test is positive, but the LMS admin wants me to access the files from a different server. Traditionally, I have uploaded a zipped "package" to the LMS (different LMS), but I have worked with another LMS where you just point to the files. Under both circumstances the LMSs are under the same domain. The one that I am working with now appears to behave as if it is under different domains.

TPK

RodWard
Community Expert
Community Expert
March 5, 2016