SCORM 1.2 API示例/教程

Hoo*_*gie 5 api scorm

我花了相当多的时间来搜索SCORM 1.2 API教程/示例,结果证明这是一项相当困难的任务.

我找到的唯一样本是:http: //www.vsscorm.net/2009/05/30/ground-rules/

这是一个可靠的教程,但我想从其他来源找到更多信息.

所有建议表示赞赏.

Nat*_*ith 10

就像Andrew提到的那样,自己完全实现SCORM真的很难.我相信Moodle甚至不支持Scorm 2004.相比之下,

AICC非常容易实现,但是在完成时更难以重定向......并且功能较少.

在我的系统中,我实现了最小的功能集,以支持使用Articulate等工具生成的简单课程.不同的课程以不同的顺序调用api或在模型中获取/设置不同的值,因此您需要密切测试任何新的课程格式.这是我发现最困难的部分是补偿不同课程所表现出的不同行为.

您提到的vsscorm实际上是我已经找到的关于如何实现服务器端的最好的逐步解释我认为他实现了越来越多的60个帖子.
http://www.vsscorm.net/

一旦与服务器通信,Rustici docs和Run-Time API参考对于引用模型值描述和默认值非常有用
http://scorm.com/scorm-explained/technical-scorm/run-time/run-时间-参考/

Pipwerks有一些有趣的工具和博客文章,尽管他们主要关注课程创建.
http://pipwerks.com/downloads/

也是ADL的文档但是我看了很长时间. http://www.adlnet.gov/scorm/scorm-version-1-2/

如果您下载Scorm 1.2版本(基本运行时调用)并将下面发布的代码放在课程根目录中的html文件中,然后通过Web服务器在浏览器中打开该页面,它将使课程认为它在LMS足以不抱怨并将记录它所做的所有api调用.
http://scorm.com/scorm-explained/technical-scorm/golf-examples/

<html>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script>
        var API = {};

        (function ($) {
            $(document).ready(setupScormApi());

            function setupScormApi() {
                API.LMSInitialize = LMSInitialize;
                API.LMSGetValue = LMSGetValue;
                API.LMSSetValue = LMSSetValue;
                API.LMSCommit = LMSCommit;
                API.LMSFinish = LMSFinish;
                API.LMSGetLastError = LMSGetLastError;
                API.LMSGetDiagnostic = LMSGetDiagnostic;
                API.LMSGetErrorString = LMSGetErrorString;

                window.open("shared/launchpage.html", "popupname","resizable,scrollbars,status");
            }
            function LMSInitialize(initializeInput) {
                displayLog("LMSInitialize: " + initializeInput);
                return true;
            }
            function LMSGetValue(varname) {
                displayLog("LMSGetValue: " + varname);
                return "";
            }
            function LMSSetValue(varname, varvalue) {
                displayLog("LMSSetValue: " + varname + "=" + varvalue);
                return "";
            }
            function LMSCommit(commitInput) {
                displayLog("LMSCommit: " + commitInput);
                return true;
            }
            function LMSFinish(finishInput) {
                displayLog("LMSFinish: " + finishInput);
                return true;
            }
            function LMSGetLastError() {
                displayLog("LMSGetLastError: ");
                return 0;
            }
            function LMSGetDiagnostic(errorCode) {
                displayLog("LMSGetDiagnostic: " + errorCode);
                return "";
            }
            function LMSGetErrorString(errorCode) {
                displayLog("LMSGetErrorString: " + errorCode);
                return "";
            }
            function displayLog(textToDisplay){
                var loggerWindow = document.getElementById("logDisplay");
                var item = document.createElement("div");
                item.innerText = textToDisplay;
                loggerWindow.appendChild(item);
            }
        })(jQuery);
    </script>
    <div id="logDisplay">
    </div>
</html>
Run Code Online (Sandbox Code Playgroud)