Cross-domain communication and SCORM 1.2 wrapper

734 views
Skip to first unread message

Aaron Adams

unread,
Sep 4, 2015, 10:18:38 AM9/4/15
to eLearning Technology and Development
We have a training site that we are attempting to run as a course in an LMS.  We are trying to do this with a SCORM 1.2 wrapper from Pipwerks, but we cannot get it to work.  Seems the wrapper will only allow us to load a static HTML page, but our content is a dynamic site that makes calls to the database and runs in a PHP framework.  We see the possibility of providing a link from the wrapper directly to the content, but it seems the LMS is blocking access.  We don't have control over the LMS settings.  What are we doing wrong?

Philip Hutchison

unread,
Sep 4, 2015, 11:52:19 AM9/4/15
to elearning-technolo...@googlegroups.com
Hi Aaron

The SCORM wrapper has no bearing on cross-domain communication.

SCORM courses typically feature a master page ('interface' page) with content loaded into an iframe. If your content (the stuff that displays in the iframe) is not hosted on the same domain as the LMS, you will run into cross-domain scripting limitations. This affects all websites and browsers, and is not specific to SCORM courses.

SCORM just provides a way for the course to communicate with the browser. It does this via JavaScript. If your content is not on the same domain as the LMS, your course's JavaScript will not be allowed to communicate with the LMS for security purposes.

Also, the pipwerks SCORM wrapper also has no bearing on loading pages -- it does not load pages, that's up to your course developers to work out. All the wrapper does is simplify the SCORM calls that are sent between the LMS and the course.

If you want to load external content into a course in the LMS, here's how I would handle it:

1) Create a master page that loads your content into an iframe. This master page also loads the pipwerks SCORM wrapper. 
2) Upload the master page to the LMS as part of a SCORM package. Now that the master page is in the LMS, it can communicate with the LMS because it's on the same domain.
3) Use EasyXDM (or similar) to facilitate communication between the master page (on the LMS domain) and the content residing in the iframe (hosted on your domain).

Use case: You create a function in the master page called 'completeCourse'. Your content in the iframe can't invoke 'completeCourse' directly due to cross-domain scripting limitation, so your content page uses EasyXDM to trigger the master page to execute 'completeCourse'.

There are many resources online describing how to handle this kind of cross-domain communication. It's not SCORM-specific -- the SCORM functions will all be limited to what you make available to EasyXDM in your master page.

Good luck 
- philip



On Fri, Sep 4, 2015 at 6:51 AM, Aaron Adams <aaron...@gmail.com> wrote:
We have a training site that we are attempting to run as a course in an LMS.  We are trying to do this with a SCORM 1.2 wrapper from Pipwerks, but we cannot get it to work.  Seems the wrapper will only allow us to load a static HTML page, but our content is a dynamic site that makes calls to the database and runs in a PHP framework.  We see the possibility of providing a link from the wrapper directly to the content, but it seems the LMS is blocking access.  We don't have control over the LMS settings.  What are we doing wrong?

--
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/d/optout.

Reply all
Reply to author
Forward
0 new messages