سؤال

My company has online courses, some linear, some are more of a playground. All of the courses have a lot of media assets that we stream from our media server. The courses update our database with user results and information.

It looks like SCORM wants all of the contents of a course placed into one package. Would it be possible to stream media content to a SCORM course? Could we still save data on our own server? Any tips for a newbie?

هل كانت مفيدة؟

المحلول

Nick,

You are correct that most content providers place their SCORM content on the learning server but it does not have to be that way. With proper development, you can have all your content on your server, logging usage, displaying video and other content while maintaining proper communication with the LMS.

SCORM content uses javascript which modern browsers ban from interacting with pages between two different domains. Two URLS like www.learningserver.com and www.yourcontent.com would be blocked by default from interacting in the way that SCORM requires. Sometimes called cross domain policy.

There are a few ways to circumvent this ban. Please see: Ways to circumvent the same-origin policy

I would suggest you use a technique that employs the following:

  1. A frameset (or iframe) that includes the below code hidden and the course content below
  2. A small file that is provided with the SCORM package, that discovers the LMS API and waits for messages from the parts mentioned below using the postmessage techniques described here: https://developer.mozilla.org/en/DOM/window.postMessage. This technique works well for IE8+ and all other browsers.

    • stick with SCORM 1.2 as it is better supported
    • dynamically include http or https urls to your code. Many LMS are using HTTPS these days and you'll need to account for it.
    • all of the SCORM interaction happens here but is initiated by the content frame described below. Some methods like LMSInitialize (SCORM1.2) or LMSFinish and SetValue("cmi.core.session_time","hh:mm:ss.s") can be run independent of the content window if preferred.
    • at a minimum, most consumers of SCORM content want LMSInitialize, LMSFinish, bookmarking and session_time.
  3. A content frameset (or iframe for modernity) that communicates score or other information back to the LMS local content that communicates with the API using the postmessage technique described in the URL listed

You can find sample SCORM content in the link below:
http://scorm.com/scorm-explained/technical-scorm/golf-examples/

Use the simple examples and follow the format for the manifest and SCORM API.

نصائح أخرى

Nick, Just with like Content Delivery Networks, your media server can host the JavaScript, CSS, Movies and other assets, but you would need at minimum an HTML file that points to these that you'd package for import on a LMS. Because you may have HTTP/HTTPS protocols you need to watch out for that to. Most CDN links (I'll use cloud flare as an example - http://cdnjs.com) you'll notice don't have the protocol just "//cloudflare.com/path/to/asset.ext".

Alternatively to IFRAMEs, you can also show / hide tags in HTML, or load in external HTML sources via AJAX. Some even go as far as using http://handlebarsjs.com, http://leonidas.github.io/transparency, and other template systems for joining HTML to Data (JSON).

GL

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top