2013-05-16 60 views
1

完成某個活動後需要調用哪些JavaScript API來設置成績?現在我有三個電話:SCORM 1.2 API調用來設置成績簿中的成績

LMSSetValue("cmi.core.score.min", 0); 
LMSSetValue("cmi.core.score.max", 100); 
LMSSetValue("cmi.core.score.raw", score); 

我還設置了狀態完成:

LMSSetValue("cmi.core.lesson_status", "completed"); 

當我完成該活動作爲一名學生,我有時可以看到圖標,它告訴 活動完成(「1次嘗試」),有時不。獲得的分數永遠不會存在。

Desire2Learn的版本爲10.1

回答

1

不以任何方式SCORM的專家,但這裏有人知道得比我更多地瞭解它,使這些點:

  • 您還需要調用CommitTerminate和/或LMSFinish;你可以找到一些好的技術資源到help developers at the SCORM website,以防你不知道它們。

  • 要驗證進入學習環境的得分和狀態,可以在Web UI(內容>目錄>查看報告)中查看SCORM報告,這是查看SCORM結果的標準位置。

  • 如果分數設定在那裏,你可以讓他們到成績簿有兩種方式:

    1. 您可以預覽內容題目作爲輔導員:主題視圖下方,你會發現一個現場將成績項目與該主題相關聯。

    2. 如果DOME配置變量d2l.Tools.Content.AllowAutoSCORMGradeItem爲課程開啓,那麼應自動爲該SCORM內容對象創建成績項目。

+0

LMSCommit完成了這項工作後,LMSFinish,謝謝。 – Michal

0

正如尤說,必須使用LMSSetValue後調用LMSCommit,否則數據不會在LMS被持久化(「拯救」)。

LMSSetValue("cmi.core.score.min", 0); 
LMSSetValue("cmi.core.score.max", 100); 
LMSSetValue("cmi.core.score.raw", score); 
LMSSetValue("cmi.core.lesson_status", "completed"); 
LMSCommit(); //save in database 
LMSFinish(); //exit course 

注意,「LMSSetValue」是不是一個正式的SCORM調用,這意味着你正在使用某種形式的SCORM包裝工作。因此,我說LMSCommitLMSFinish,你可能實際上需要使用不同的語法 - 我只是猜測函數名稱。檢查你的SCORM包裝文件。重點是你需要提交(保存)並終止(完成)。

+0

我有LMSCommit沒有LMSFinish。它適用於Moodle和Scorm Cloud,但不適用於D2L,現在可以。 – Michal

+0

LMSFinish實際上在內部設置退出類型,這可能是LMSFinish做出這些事情的原因。但是,默認情況下,LMS完成後將值設置爲退出類型的「註銷」。根據SCORM規範,「暫停」用於恢復(保留),「登出」用於重新開始。所以最好用值爲'suspend'的值明確地設置退出類型來應對任何LMS。 提交和完成就足夠了。但是設置退出類型會爲LMS增加更多意義(特別是對於SCORM 2004 LMS)是否應保留這些值。 'cmi.core.exit' - SCORM 1。2 'cmi.exit' - SCORM 2004 – noboundaries