‧前言
在本報告中教材樣板主要延續CMU LSAL SCORM Content Developer Guide(http://www.lsal.cmu.edu) 報告中所提出之10個教材樣版,並針對國內教材設計及製作之需求,應用SCORM 2004相關技術功能,在本文中將介紹其中Multipage SCO相關之應用樣板,範例程式下載請至www.elearn.org.tw/eLearn/download/sp5/template.zip(約6mb)。
‧多頁式學習元件之內部進度追蹤樣板(Multipage-SCO progress tracking template)
簡介
在SCORM規範中(包含SCORM 1.2及SCORM 2004),皆以學習元件為基礎追蹤學員之學習進度,對於SCO內部則無法追蹤,目前在教材設計時,因為版面之美觀或是學習元件內容較長,皆會將一個學習元件分成多個頁面,換言之由多個頁面組成一個學習元件,因此設計此樣版追蹤學員於學習元件中之學習進度。

如上圖,假設一個學習元件由4個頁面組成,將學員之學習進度分成4等分,當學員閱讀完第一個頁面(Asset-1)時,將學習進度設定為0.25,同理學員閱讀完第二個頁面(Asset-2)時,將學習進度設定為0.5,如此即可追蹤學員於學習元件內之學習進度。
實作步驟
■ 首先應用框架頁(Frameset)組合多個內容頁(HTML頁面),並將該本框架頁包裝成學習元件(Sharable Content Object,SCO)。
■ 應用程式計算本學習單元之完成比率。

■ 應用data model回傳學習進度(cmi.progress_measure)。
套用樣版步驟
■ 打開範例檔案夾,將欲製作多頁SCO的教材網頁檔案複製至資料夾中。
■ 打開示範教材”DemoCase01”資料夾,以文字編輯工具開啟”navigate.htm”檔案。
■ 找到” // Manage page navigation [Add file name here.. ]” 字樣,將陣列元素的檔案名稱依序改成教材網頁檔案名稱,範例如下圖紅色方框所示:

圖一 修改內置檔案
■ 可依網頁檔案多寡增減陣列元素,只需改變PageArray[…]中之索引編號即可。
範例(Example)
在套用Inter-SCO progress tracking template之後,將會出現一”學習進度及簡易導覽列”,除導覽列外,學習進度資訊包含二個部分,包含”學習進度百分比”及”目前所閱讀之頁面”兩大資訊,學習進度之計算由”目前所閱讀過之頁面”與”總頁面數”之比率決定,如下例,總頁面數為5頁,目前由第一頁閱讀至第三頁,因此學習進度為60%。

同上例,若繼續閱讀至第4頁,則學習進度則將自動更新為80%。

‧多頁式學習元件之內部書籤樣板(Multipage-SCO bookmarking)
簡介
在SCORM規範中,由於是以學習元件為學習記錄之基礎,因此大多數平台所提供之書籤功能(bookmarking)仍只能記錄至學員前次學習時離開之學習元件,若該學習元件之中又是由多個頁面組成,學習平台將只能回溯至前次離開之學習元件之第一個頁面,而無法由該元件前次離開之頁面繼續閱讀,因此設計此樣板,應用SCORM所提供之data model - cmi.suspend_data,做為學習元件內部分書籤。
在套用Inter-SCO bookmarking template之後,學習元件將會記錄學員目前所閱讀之頁面,透過API寫入cmi.suspend_data中,當學員離開該後,系統會將資訊(cmi.suspend_data, data model之一個欄位)存入資料庫中,當下次再進入該學習元件時,系統再將資訊(cmi.suspend_data)取出,再利用程式載入上次離開時所閱讀之頁面。

實作步驟
■ 首先應用框架頁(Frameset)組合多個內容頁(HTML頁面),並將該本框架頁包裝成學習元件(Sharable Content Object,SCO)。
■ 當學員離開時,由程式記錄離開之頁面,並將資訊經由SetValue(“cmi.location”,Page2)回傳至伺服器(學習管理平台)。
■ 當學員再次進入該學習元件時,應用GetValue(“cmi.location”)查詢學員前次離開之頁面,再應用程式將頁面自動導向該頁面。
套用樣版步驟
■ 打開範例檔案夾,將欲製作多頁SCO的教材網頁檔案複製至資料夾中。
■ 打開示範教材”DemoCase01”資料夾,以文字編輯工具開啟”navigate.htm”檔案。
■ 找到” // Manage page navigation [Add file name here.. ]” 字樣,將陣列元素的檔案名稱依序改成教材網頁檔案名稱,範例如下圖紅色方框所示:

■ 可依網頁檔案多寡增減陣列元素,只需改變PageArray[…]中之索引編號即可。
範例(Example)
在套用Inter-SCO bookmarking template之後,學習元件可以透過cmi.suspend_data記錄學員在多頁面學習元件(multi-page SCO)之學習進度,可與學習平台所提供之書籤(bookmarking)功能結合,使得學員可以更精確的記錄其學習進度,如下圖當學員閱讀至第一個學習單元之第三個頁面,當學員離開該學習單元後,將資訊記錄於cmi,suspend_data中,當學員再進入本學員時,將可由第三頁繼續閱讀。

‧平台瀏覽列與多頁式學習元件(multipage SCO)瀏覽列之整合
簡介
SCORM教材必須要搭配學習平台才可以記錄學員在閱讀過程中所產生之學習記錄,把SCORM教材匯入學習平台後,學習平台會依教材中的imsmanifest.xml之設定來呈現該教材,因此學習平台會提供一個使用者介面--課程瀏覽介面給學員閱讀,
通常在這個介面中會提供"上一單元",及"下一單元"之按鈕給學員,這兩個按鈕的功能用來閱讀每一個學習元件"SCO",所以當學員按"下一單元"鈕,學習平台會去伺服器端找到下一個學習元件給學員.
但一個學習元件的內容可大可小,可能不是一個頁面所能容納,所以教材設計人員會把學習元件的內容切割成多個頁面,所以常有人叫這種學習元件為Multipage SCO,在Multipage SCO中因為要給學員瀏覽整個學習內容,所以教材設計人員又只好為了Multipage SCO 再設計一個導覽列,

所以學員開始感到困擾,因為有兩個導覽列,而且這兩個導覽列功能非常相近,只是一個是在控制整個教材,另一個只用來控制學習元件內部之導覽,

實作步驟
為了解決這個問題,必須將兩個導覽列整合成一個,同時可以分為兩大步驟
■ 應用adl.nav.request串連學習元件,SCORM 2004的規範中提供了一個新的data model---adl.nav.request,呼叫這個data model等於是按下教材導覽列的前後頁功能,所以當學員閱讀完某個學習單元後(在某章節之最後一頁),學習元件要自動觸發”下一學習單元”之指令;同理當學員在回溯閱讀至某學習單元之第一頁時,該學習元件要自動觸發”上一單元”之指令,因此平台並不需要另外提供一組導覽列,提供學員瀏覽”前後單元”;簡而言之,就是在某個Multipage SCO之學習元件最後一頁及第一頁加入adl.nav.requet之data model,在該Multipage SCO的最後一頁加上SetValue("adl.nav.request","continue") ,同時在該Multipage SCO之第一頁加上SetValue("adl.nav.request","previous")。
■ 其次應用adl所提供之設定功能將平台所提供之導覽列之”前後頁”功能關閉。

範例(Example)
經由以上兩大步驟後,重新載入該課程後,首先發現該課程平台所提供之”前後頁功能”己經被隱藏,同時進入課程閱讀時,學員只需使用學習元件所提供之一組瀏覽介面即可進行學習,下圖為實際載入該課程之畫面。
