国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Scorm標(biāo)準(zhǔn)學(xué)習(xí)——Scorm RTE API與數(shù)據(jù)模型

Scorm標(biāo)準(zhǔn)學(xué)習(xí)——Scorm RTE API與數(shù)據(jù)模型

筆者在前一篇文章Scorm標(biāo)準(zhǔn)學(xué)習(xí)——基于Scorm1.2(一)中對LMS及Scorm標(biāo)準(zhǔn)體系結(jié)構(gòu)做了介紹。這里將對Scorm運行時環(huán)境(RTE)進行介紹,主要涉及RTE API和數(shù)據(jù)模型(Data Model),仍基于Scorm1.2標(biāo)準(zhǔn)。更為詳細(xì)的信息可參考Scorm1.2標(biāo)準(zhǔn)的官方文檔中關(guān)于RTE的論述。

Scorm RTE概述

Scorm標(biāo)準(zhǔn)的目的之一是使得課件與平臺相獨立,使得課件的復(fù)用和重組成為可能。CAM定義了Scorm課件的組織結(jié)構(gòu)規(guī)范,而RTE則為課件與平臺的交互提供了統(tǒng)一的標(biāo)準(zhǔn)。Scorm RTE定義了通用的內(nèi)容對象運行機制,包括Launch、API以及Data Model。 
Launch: 定義了內(nèi)容對象的發(fā)布,描述了如何啟動一個Scorm內(nèi)容對象(Asset和SCO兩種),并確立了內(nèi)容對象和LMS之間的通信機制。 
API: 定義了LMS與內(nèi)容對象之間的通信API,使得內(nèi)容對象在需要時通過API與LMS進行交互存取數(shù)據(jù)。API會將獲得的數(shù)據(jù)模型實例存儲在用戶端的內(nèi)存中(如一個JavaScript對象),并在需要時將該數(shù)據(jù)發(fā)送至LMS平臺。 
Data Model: 描述了跟蹤用戶學(xué)習(xí)通用數(shù)據(jù)模型,即內(nèi)容對象在與LMS進行通信時所依賴的數(shù)據(jù)結(jié)構(gòu),包括用戶的學(xué)習(xí)時間、完成狀態(tài)、成績等元素。LMS需要對每個用戶的每個內(nèi)容對象維護一個Data Model數(shù)據(jù)結(jié)構(gòu)。 
API提供了內(nèi)容對象與LMS通信的接口,而DM則描述了通信所使用的數(shù)據(jù)模型,API+DM使得內(nèi)容對象在不同的LMS系統(tǒng)中具有了通用性。

API接口

API由LMS提供實現(xiàn),向內(nèi)容對象暴露接口。內(nèi)容對象(以SCO為例)在需要與LMS交互時會主動調(diào)用LMS提供的API接口,LMS的API實現(xiàn)一般是以http的方式向LMS Server發(fā)出請求,最終由LMS完成數(shù)據(jù)的存取。因API暴露在前端,一般采用JavaScript腳本或Java Applet實現(xiàn)。

API函數(shù)

Scorm1.2中API函數(shù)可分為三類,如下表: 
表1 Scorm API函數(shù)分類

函數(shù)分類描述函數(shù)
Session Methods會話函數(shù):通過API實例標(biāo)記內(nèi)容對象與LMS之間的通信LMSInitialize
LMSFinish
Data-transfer Methods數(shù)據(jù)傳輸函數(shù):用于內(nèi)容對象與LMS之間的數(shù)據(jù)傳遞LMSSetValue
LMSGetValue
LMSCommit
Support Methods支持函數(shù):用于獲取輔助信息,包括錯誤信息和錯誤診斷LMSGetLastError
LMSGetErrorString
LMSGetDiagnostic

如表1所示,Scorm標(biāo)準(zhǔn)中定義了8個API函數(shù)(Scorm2004稍有不同),其具體功能如下: 
LMSInitialize: 初始化函數(shù),負(fù)責(zé)在當(dāng)前學(xué)習(xí)的內(nèi)容對象和LMS之間建立通信連接,并從LMS取得該當(dāng)前用戶關(guān)于當(dāng)前內(nèi)容對象的學(xué)習(xí)記錄信息,即整個DM數(shù)據(jù)結(jié)構(gòu)。內(nèi)容對象在載入時均會通過該方法獲得初始運行時數(shù)據(jù)。函數(shù)成功執(zhí)行返回"true”(字符串,非布爾值,下同),否則返回"false”。 
LMSFinish: 結(jié)束函數(shù),結(jié)束一個內(nèi)容對象與LMS的通信連接。內(nèi)容對象在退出前均會調(diào)用該方法。通常實現(xiàn)時,該方法會調(diào)用LMSCommit提交一次最近的數(shù)據(jù)。當(dāng)LMS平臺在API實現(xiàn)時,選擇HTTP協(xié)議進行無狀態(tài)通信,則該函數(shù)本身將不產(chǎn)生數(shù)據(jù)通信,僅僅是調(diào)用LMSCommit提交一次數(shù)據(jù)。成功執(zhí)行返回"true”,否則返回"false”。 
LMSSetValue: 負(fù)責(zé)更新一個數(shù)據(jù)模型的屬性值。該方法原型為LMSSetValue(element, value),參數(shù)element標(biāo)識要設(shè)置的屬性,value則是屬性的值。內(nèi)容對象在需要更改DM的某一屬性值時會調(diào)用該函數(shù),如當(dāng)用戶完成學(xué)習(xí)一個內(nèi)容對象后需將該內(nèi)容對象的cmi.core.lesson_status更新為completed。通常該函數(shù)只是更新客戶端內(nèi)存中該屬性的值,而非直接提交至LMS平臺。函數(shù)成功執(zhí)行返回"true”,否則返回"false”。 
LMSGetValue: 獲取一個數(shù)據(jù)模型的屬性值。該方法有一個element參數(shù),表示屬性名。通常該方法直接從客戶端內(nèi)存中取出所需的值。成功執(zhí)行則返回對應(yīng)的屬性值,否則返回空字符串。 
LMSCommit: 提交函數(shù),負(fù)責(zé)將客戶端內(nèi)存中目前的RTE數(shù)據(jù)提交至LMS平臺,由平臺完成最后的分析寫入工作。采用JS實現(xiàn)的API可用AJAX進行數(shù)據(jù)提交。成功返回"true”,否則返回"false”。 
LMSGetLastError: 獲得錯誤碼,當(dāng)內(nèi)容對象調(diào)用API時返回"false"或產(chǎn)生其他錯誤時,可調(diào)用該函數(shù)獲得具體的錯誤代碼,API實現(xiàn)中需要設(shè)置相應(yīng)的錯誤碼。 
LMSGetErrorString: 獲得錯誤碼對應(yīng)的字符串說明,參數(shù)為錯誤碼。 
LMSGetDiagnostic: 獲得針對當(dāng)前錯誤的診斷信息,參數(shù)為錯誤碼。

錯誤碼

Scorm1.2定義的錯誤碼如表2(Scorm2004錯誤碼定義更為詳細(xì)): 
表2 Scorm1.2錯誤碼

錯誤碼描述
0無錯誤
101一般錯誤
201參數(shù)無效
202元素屬性無子節(jié)點(children屬性)
203屬性非集合類型,無count屬性
301LMS未初始化
401未實現(xiàn)的數(shù)據(jù)元素模型
402無效的setvalue操作,傳遞的element是關(guān)鍵字
403元素屬性只讀
404元素屬性只寫
405錯誤的數(shù)據(jù)類型

Data Model

Scorm1.2 RTE數(shù)據(jù)模型部分定義了跟蹤內(nèi)容對象的數(shù)據(jù)結(jié)構(gòu)。LMS平臺需要為每個用戶的每個內(nèi)容單元維護一組數(shù)據(jù)模型實例,該實例數(shù)據(jù)記錄了該用戶對應(yīng)于該內(nèi)容對象的學(xué)習(xí)狀態(tài)(如分?jǐn)?shù)、進度、完成狀態(tài)等)。DM中所有的屬性均以cmi開頭,以”.“分隔。同時數(shù)據(jù)模型中定了了三個關(guān)鍵字:version、children、_count,保留的關(guān)鍵字受LMS管理,且均為只讀(如使用LMSSetValue設(shè)置_version屬性,則會返回false,且API應(yīng)在實現(xiàn)時將錯誤碼置為402)。 
version: 標(biāo)識了LMS平臺支持的數(shù)據(jù)模型版本,該屬性不可用于數(shù)據(jù)模型元素上(即只能以cmi._version方式獲取) 
children:
 返回某一數(shù)據(jù)模型元素的所有子屬性(元素),以字符串形式返回,并以執(zhí)行的分隔符分隔 
_count: 返回一個數(shù)據(jù)模型元素集合中包含的元素總數(shù),僅用于集合類型的數(shù)據(jù)模型

數(shù)據(jù)類型

Scorm1.2為各種數(shù)據(jù)模型元素定義了如下類型: 
表3 Scorm1.2數(shù)據(jù)類型

數(shù)據(jù)類型描述
CMIBlank空字符串
CMIBooleanbool字符串ture或false
CMIDecimal帶小數(shù)的數(shù)字
CMIFeedback描述interaction屬性中的內(nèi)容的結(jié)構(gòu)
CMIIdentifier字母數(shù)字混合的字符串,不包含空格和非打印字符,不超過255
CMIInteger整數(shù)(0, 65536)
CMISInteger有符號整數(shù)(-32768, 32768)
CMIString255ASCII字符串,不超過255
CMIString4096ASCII字符串,不超過4096
CMITime時間類型,HH:MM:SS.SS
CMITimespan時間間隔,格式同上
CMIVocabulary單詞表,類似枚舉類型

數(shù)據(jù)模型元素

數(shù)據(jù)模型元素可以分為9類,參見表4-表12。 
cmi.core: 核心數(shù)據(jù),該組中元素屬性LMS必須支持 
cmi.suspend_data: 暫存數(shù)據(jù),存儲內(nèi)容對象在恢復(fù)時所需的特定數(shù)據(jù) 
cmi.launch_data: 內(nèi)容對象運行時所需的數(shù)據(jù) 
cmi.comments: 關(guān)于內(nèi)容對象的評論數(shù)據(jù),一般來自用戶評論 
cmi.comments_from_lms: LMS平臺對內(nèi)容對象的評論信息 
cmi.objectives: 針對內(nèi)容對象的個人目標(biāo)集合 
cmi.student_data: 基于用戶偏好的內(nèi)容對象自定義信息,如運行時間限制 
cmi.student_preference: 針對內(nèi)容對象的用戶偏好設(shè)置 
cmi.interactions: 用戶交互信息 
表4 cmi.core元素屬性

屬性名類型描述
cmi.core._childrenCMIString255返回所有屬性
cmi.core.student_idCMIIdentifier當(dāng)前用戶(學(xué)生)ID
cmi.core.student_nameCMIString255當(dāng)前用戶名
cmi.core.lesson_locationCMIString255該用戶學(xué)習(xí)當(dāng)前內(nèi)容對象的位置(如一個swf中的第幾頁)
cmi.core.creditCMIVocabulary是否有學(xué)分(credit/no-credit)
cmi.core.lesson_statusCMIVocabulary內(nèi)容對象狀態(tài)(passed/completed/failed/incomplete/browsed/not attempted)
cmi.core.entryCMIVocabulary進入內(nèi)容對象的動作(ab-initio/resume/空)
cmi.core.score._childrenCMIString255返回score的子屬性
cmi.core.score.rawCMIBlank/CMIDecimal最后一次成績
cmi.core.score.minCMIBlank/CMIDecimal最低成績
cmi.core.score.maxCMIBlank/CMIDecimal最高成績
cmi.core.total_timeCMITimespan學(xué)習(xí)總時間
cmi.core.lesson_modeCMIVocabulary內(nèi)容對象學(xué)習(xí)狀態(tài)(normal/review/browse)
cmi.core.exitCMIVocabulary退出途徑(time-out/suspend/logout/空)
cmi.core.session_timeCMITimespan當(dāng)次學(xué)習(xí)時間

表5 cmi.suspend_data元素屬性

屬性名類型描述
cmi.suspend_dataCMIString4096存儲自定義暫存數(shù)據(jù)

表6 cmi.launch_data元素屬性

屬性名類型描述
cmi.launch_dataCMIString4096存儲內(nèi)容對象運行時所需數(shù)據(jù)

表7 cmi.comments元素屬性

屬性名類型描述
cmi.commentsCMIString4096存儲評論數(shù)據(jù)

表8 cmi.comments_from_lms元素屬性

屬性名類型描述
cmi.comments_from_lmsCMIString4096存儲LMS關(guān)于內(nèi)容對象的評論數(shù)據(jù)

表9 cmi.objectives元素屬性

屬性名類型描述
cmi.objectives._childrenCMIString255返回所有屬性
cmi.objectives._countCMIInteger返回集合中元素總數(shù)
cmi.objectives.n.idCMIIdentifier一個目標(biāo)對象ID
cmi.objectives.n.score._childrenCMIString255獲得score子屬性
cmi.objectives.n.score.rawCMIBlank/CMIDecimal目標(biāo)分?jǐn)?shù)
cmi.objectives.n.score.minCMIBlank/CMIDecimal目標(biāo)分?jǐn)?shù)最小值
cmi.objectives.n.score.maxCMIBlank/CMIDecimal目標(biāo)分?jǐn)?shù)最大值
cmi.objectives.n.statusCMIVocabulary目標(biāo)完成狀態(tài)(passed/completed/failed/incomplete/browsed/not attempted)

表10 cmi.student_data元素屬性

屬性名類型描述
cmi.student_data._childrenCMIString255返回子屬性
cmi.student_data.mastery_scoreCMIDecimal分?jǐn)?shù)閾值(及格分)
cmi.student_data.max_time_allowedCMITimespan最大允許時間
cmi.student_data.time_limit_actionCMIVocabulary超時后動作
(exit,message/exit,no message/
continue,message/continue,no message)

表11 cmi.student_preference元素屬性

屬性名類型描述
cmi.student_preference._childrenCMIString255返回子屬性
cmi.student_preference.audioCMISInteger聲音控制
cmi.student_preference.languageCMIString255偏好語言
cmi.student_preference.speedCMISInteger速度
cmi.student_preference.textCMISInteger音頻文字

表12 cmi.interactions元素屬性

屬性名類型描述
cmi.interactions._childrenCMIString255返回所有屬性
cmi.interactions._countCMIInteger返回集合中元素總數(shù)
cmi.interactions.n.idCMIIdentifier某一交互ID
cmi.interactions.n.objectives._countCMIInteger交互目標(biāo)集合中總數(shù)
cmi.interactions.n.objectives.n.idCMIIdentifier交互的目標(biāo)ID
cmi.interactions.n.timeCMITime交互完成時間
cmi.interactions.n.typeCMIVocabulary交互類型
(true-false/choice/fill-in/matching/
performance/sequencing/likert/numeric)
cmi.interactions.n.correct_responses._countCMIInteger存儲一個交互的答案數(shù)
cmi.interactions.n.correct_responses.n.patternCMIFeedback存儲一個交互的答案
cmi.interactions.n.weightingCMIDecimal一個交互的權(quán)重
cmi.interactions.n.student_responseCMIFeedback用戶提供的答案
cmi.interactions.n.resultCMIVocabulary由用戶答案計算的交互結(jié)果
(correct/wrong/unanticipated/neutral/x.x)
cmi.interactions.n.latencyCMITimespan交互時間間隔
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
在線教育資訊-產(chǎn)業(yè)標(biāo)準(zhǔn)--【原義光】精通SCORM系列之二:SCORM RET概述
LMS scorm1.2 JAVA開發(fā)經(jīng)歷
面向?qū)W習(xí)對象的網(wǎng)絡(luò)課程設(shè)計與開發(fā)
SCORM2004引用CMI的數(shù)據(jù)
學(xué)習(xí)的大數(shù)據(jù)也許是XAPI,你知道么
Flash動畫包裝成SCORM1.2標(biāo)準(zhǔn)的SCO - CourseOL課件制作服務(wù) 課件制...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服