亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用HTAs編寫Moodle試題導(dǎo)入文件生成工具

        2010-04-12 00:00:00代永平
        中國教育信息化 2010年11期

        摘 要:Moodle是目前應(yīng)用廣泛的開源網(wǎng)絡(luò)教學(xué)平臺,提供了試題導(dǎo)入功能,但要求文件符合一定格式規(guī)范。本文通過編寫HTAs,解決試題編寫、生成試題導(dǎo)入文件的問題。

        關(guān)鍵詞:Moodle;HTAs;DHTML

        中圖分類號:TP311.5文獻(xiàn)標(biāo)識碼:A 文章編號:1673-8454(2010)21-0085-04

        一、引言

        Moodle(Modular Object-Oriented Dynamic Learning Environment),即:模塊化面向?qū)ο蟮膭?dòng)態(tài)學(xué)習(xí)環(huán)境,是一套基于社會建構(gòu)主義理論設(shè)計(jì)開發(fā)的開放源代碼的網(wǎng)絡(luò)教學(xué)平臺,體現(xiàn)了以學(xué)生為中心的創(chuàng)新教育理念。目前全球已有54793個(gè)注冊的Moodle站點(diǎn),超過200萬注冊用戶通過這一系統(tǒng)進(jìn)行學(xué)習(xí)。在中國Moodle同樣得到了廣泛普及。

        Moodle系統(tǒng)功能強(qiáng)大,涉及教學(xué)環(huán)節(jié)的諸多方面,下面僅就涉及考試(測驗(yàn))試題題庫方面遇到的輸入問題提出一種解決方案。

        二、問題的提出與分析

        Moodle提供了在線試題輸入功能,通過在Web頁面直接編輯題目,提交至服務(wù)器。該方式存在一些不便之處。從輸入過程看,每編輯一道題需要先選擇題型,然后在試題輸入頁面進(jìn)行詳細(xì)的設(shè)置并輸入,包括題目分?jǐn)?shù)、各答案選項(xiàng)的反饋信息、整體反饋信息等,完成后需要提交保存方可編輯下一道題目,使得這一過程繁瑣而低效。從習(xí)慣差異看,Moodle沒有單項(xiàng)選擇和多項(xiàng)選擇之分,其填空題型等同于簡答題,而完型題等同于我們的填空題,這在理解上帶來了不便。

        Moodle同樣提供了導(dǎo)入導(dǎo)出試題文件的功能,通過導(dǎo)入,批量輸入多道題目,這可以解決在線編輯的低效問題。從這一角度切入,可以編寫離線試題文件生成工具,并且從界面上提供符合國人習(xí)慣的試題編輯方式,最終通過它生成符合標(biāo)準(zhǔn)的試題文件導(dǎo)入Moodle。

        Moodle對試題文件的格式做了規(guī)定,并支持多種類型的試題文件。比較常用的有GIFT、Moodle XML、MissingWord、Aiken等,其中Moodle XML格式是Moodle專有的試題導(dǎo)出導(dǎo)入格式。通過對比研究,該格式適應(yīng)多種題型,最適合試題導(dǎo)入。Moodle XML格式遵循W3C的XML1.0規(guī)范,它的一般格式是:

        questionname

        What is the answer to this question?

        ……

        1 ……

        answer for question

        …… //更多的answer節(jié)點(diǎn)

        ……

        通過研究該格式,弄清各個(gè)節(jié)點(diǎn)的含義,下一步即考慮采用何種技術(shù)開發(fā)應(yīng)用程序。

        Moodle官方網(wǎng)站(www.moodle.org)已經(jīng)提供了由Vyatcheslav Yatskovsky編寫的用于試題輸入的Word模板,利用Word提供試題輸入界面,以VBA代碼生成試題文件。該模板以MIT許可協(xié)議授權(quán)用戶使用,稍加漢化即能滿足批量試題輸入的要求。由于Word操作的靈活,使得編輯試題時(shí)出錯(cuò)改錯(cuò)的機(jī)率較高。另外,仍然存在題型理解差異問題,使用起來還是不便。因此有必要編寫符合國人習(xí)慣的應(yīng)用程序。

        Moodle的試題最終以網(wǎng)頁的形式呈現(xiàn),如果以編輯網(wǎng)頁的形式輸入試題,則可以實(shí)現(xiàn)編寫時(shí)的題目內(nèi)容、格式與將來呈現(xiàn)出來的題目保持一致。本文開發(fā)的Moodle試題導(dǎo)入文件生成工具實(shí)質(zhì)上是一個(gè)特殊的HTML編輯器,我們可以把多道題目以文本或HTML的形式直接輸入頁面,使其成為頁面的某個(gè)元素或者某個(gè)元素的值,利用腳本從HtmlDocument對象可以獲取該元素對象,從而得到題目本身的內(nèi)容。

        Microsoft提供了HTML應(yīng)用程序(HTAs)的示例程序:Microsoft HTML Editor,直接利用DHTML的支持就能實(shí)現(xiàn)Web編輯。該示例為Moodle試題導(dǎo)入文件生成工具的編寫提供了思路和支持。

        當(dāng)用戶編輯完題目后,利用XML DOM對象,即可生成題目對應(yīng)的Moodle XML的節(jié)點(diǎn)。所有節(jié)點(diǎn)生成后,就可以生成Moodle XML類型的試題文件。

        三、問題解決方案

        1.HTML頁面元素與XML節(jié)點(diǎn)的對應(yīng)是實(shí)現(xiàn)目標(biāo)的關(guān)鍵

        用戶在頁面上編輯的內(nèi)容最終要成為XML節(jié)點(diǎn)的數(shù)據(jù),因此首先要解決編輯內(nèi)容與XML節(jié)點(diǎn)的對應(yīng)。本文使用帶有name屬性的HTML容器元素

        實(shí)現(xiàn)這種對應(yīng)。

        以選擇題為例:當(dāng)用戶輸入題目后,該題目題干內(nèi)容最終成為questiontext/text節(jié)點(diǎn)的值。可以在頁面上生成元素,并設(shè)置containtEditable屬性為true,使用戶可以編輯該元素的內(nèi)容。最后利用div對象的innerHTML或innerTEXT屬性獲取題目內(nèi)容,然后賦予questiontext/text節(jié)點(diǎn)值。同理,對于選項(xiàng)部分(常見的為4個(gè)選項(xiàng)),可以在頁面上生成4個(gè)元素,實(shí)現(xiàn)各答案選項(xiàng)與answer/text節(jié)點(diǎn)的對應(yīng),如圖1所示。

        對于其他必要的節(jié)點(diǎn),如等亦可考慮使用

        或者根據(jù)編程需要采用其他元素。

        2.Moodle試題導(dǎo)入文件生成工具的框架

        編寫該工具實(shí)際上就是編寫一個(gè)包含腳本的HTML文件,以.hta為擴(kuò)展名,從而成為HTAs??梢允褂靡延械腤eb編輯器編寫。其主要內(nèi)容如下:

        Moodle試題導(dǎo)入文件生成工具--Moodle XML 格式

        ......

        以上元素中,

        從界面上提供一個(gè)編輯區(qū),多個(gè)元素提供用戶交互,比如“添加題目”按鈕調(diào)用AddQuestion()腳本函數(shù)在編輯區(qū)添加表示一道題目的各個(gè)頁面元素。

        3. 頁面元素的布局

        解決了HTML元素與XML節(jié)點(diǎn)對應(yīng)的問題以及界面上如何操作來添加這些HTML元素后,必須考慮這些頁面元素的布局,以便提供良好的用戶界面。本文采用了布局表格,以單項(xiàng)選擇題為例,采用如圖2所示的布局:

        以上是一個(gè)2×2表格(以下稱為題目布局表),cell(1,1)用來顯示小題號,cell(1,2)用來裝入元素,cell(2,1)用來為題目附加分?jǐn)?shù)值,而cell(2,2)則嵌入另一個(gè)布局表(以下稱為答案布局表),此處為4×2表格。每行的第2列裝入元素,此表格可有更多的行表示更多選項(xiàng)。每行第1列用來裝入一個(gè)控件元素,比如對單選題,使用單選按鈕,所有按鈕具有相同的name屬性,使用戶在界面上能選擇正確選項(xiàng)。更為重要的是,Moodel XML要求提供客觀性題型(選擇題、判斷題等)的正確答案,并使用XML節(jié)點(diǎn)的fraction屬性值保存,以便系統(tǒng)評分。使用控件元素可以根據(jù)其checked屬性值,獲知題目正確答案項(xiàng)。

        同樣的布局也適用于其他題型,判斷題實(shí)質(zhì)上是只有兩個(gè)選項(xiàng)的單選題,對應(yīng)答案布局表格只有兩行;問答題和論述題這些主觀性題型則不需要嵌入答案布局表,改為用控件滿足外觀要求。

        對于填空題(對應(yīng)Moodle的Cloze題型),目前仍然在輸入時(shí)存在一定難度。按照Moodle的規(guī)定,空缺處的表示方法最簡單的是格式字符串:“{分值:SHORTANSWER:=答案}”,并且該字符串以文本形式嵌入題干。該題型可以有兩種考慮,一種是在編輯題干部分時(shí),需要填空的位置用腳本添加文本框,導(dǎo)出時(shí)把該文本框替換為格式字符串,該方法在界面上比較美觀;另一種仍然保留答案布局表,用來保存填空處的答案,而編輯題干時(shí)在需要填空的位置用特殊符號占位,導(dǎo)出時(shí)把特殊符號替換為格式字符串。

        至此,每一道題目都對應(yīng)頁面上一個(gè)題目布局表,該表賦予name=“tbQuestion”。然而要實(shí)現(xiàn)多種題型輸入,并且便于腳本處理,應(yīng)該把同類型題目歸類,因此頁面上使用容器

        把同一題型的所有題目布局表裝入其中,并使用ID屬性區(qū)別不同題型。題型容器中可加入一些元素表示大題名稱,大題分?jǐn)?shù)等,使得界面更加美觀。典型的單選題示例如圖3。

        4.生成頁面元素

        DHTML提供了各種動(dòng)態(tài)生成頁面元素的技術(shù),例如:document對象的createElement方法,多種頁面元素的innerHTML屬性、insertAdjacentHTML方法等等,利用這些技術(shù)可以編寫腳本生成上面所述的布局表和其中的各種元素,并把它們加入頁面。為簡化編程,可以利用現(xiàn)有的Web編輯器,預(yù)先編輯好不同題型對應(yīng)的布局內(nèi)容(模版),并各自保存為文件,需要時(shí)直接從文件中讀取這些HTML文本加入網(wǎng)頁。

        比如對于單選題,可用singlechoice.htm文件保存布局模版,當(dāng)需要生成一道單選題時(shí),AddQuestion()腳本函數(shù)利用FileSystemObject對象讀取該文件,處理后加入題型容器中:

        fso = new ActiveXObject(\"Scripting.FileSystemObject\");

        f = fso.OpenTextFile(\"singlechoice.htm\", 1);

        cXTMdan=f.ReadAll();

        f.Close();

        ...... // 模版處理

        sc.insertAdjacentHTML(\"beforeEnd\",cXTMdan);

        5. XML節(jié)點(diǎn)的生成及Moodle XML 文件的導(dǎo)出

        當(dāng)用戶導(dǎo)出題目時(shí),要根據(jù)每道題生成相應(yīng)的XML節(jié)點(diǎn)樹。利用腳本可以生成XML document對象并生成根節(jié)點(diǎn):

        var objXMLDoc=new ActiveXObject(\"Microsoft.XMLDOM\");

        objXMLDoc.loadXML(\"\");

        使用該對象的createnode方法即可生成所需的節(jié)點(diǎn),并加入XML document對象,最終使用save方法保存為文件。

        同樣為簡化編程,參照布局模版文件的方式,把不同題型的節(jié)點(diǎn)樹以xml文件(模版)的形式存放,利用XML數(shù)據(jù)島(xml data island)嵌入網(wǎng)頁。

        例如,單選題節(jié)點(diǎn)樹以singlechoice.xml保存,內(nèi)容如下:

        單選題名稱

        單選題題干

        ……// 其他相關(guān)節(jié)點(diǎn)

        選項(xiàng)1

        網(wǎng)頁中以元素嵌入,這樣在導(dǎo)出單選題時(shí),首先克隆該數(shù)據(jù)島的節(jié)點(diǎn)樹,然后加入objXMLDoc,簡化了編程。

        oNodes=quizTypeXML_sc.XMLDocument.documentElement.cloneNode(true);

        objXMLDoc.firstChild.appendChild(oNodes);

        當(dāng)最終導(dǎo)出Moodle XML 文件時(shí),首先獲取頁面中所有的題目布局表(name=“tbQuestion”),然后依次對每一個(gè)布局表生成對應(yīng)題型的XML節(jié)點(diǎn)樹,并根據(jù)該布局表中的元素與節(jié)點(diǎn)樹中的節(jié)點(diǎn)的對應(yīng)關(guān)系,依次修改節(jié)點(diǎn)值,最后利用XML document對象的save方法即可生成文件。

        oTbQuestions=oEditArea.all(“tbQuestion”);

        nQuestions=oTbQuestions.length;

        for(i=0;i

        ......//判斷題型、生成節(jié)點(diǎn)樹、編輯節(jié)點(diǎn)值

        }

        objXMLDoc.save(<導(dǎo)出文件路徑>);

        四、結(jié)束語

        筆者通過編寫Moodle試題導(dǎo)入文件生成工具,較好地解決了在Moodle中輸入題目的問題。界面友好,符合國人習(xí)慣,實(shí)現(xiàn)了WYSIWYG的編輯風(fēng)格,規(guī)范編輯降低出錯(cuò)的幾率,在Moodle教學(xué)中收到了良好的效果。

        本工具不足之處在于,忽略了題目的一些細(xì)節(jié)內(nèi)容,比如對答題的總體反饋,對每個(gè)選項(xiàng)的反饋等,這些都可以根據(jù)要求加入,并在界面上提供設(shè)置,供不同用戶的需要。另外,由于采用HTAs實(shí)現(xiàn),只適用于Microsoft Windows和IE6以上系統(tǒng)。

        參考文獻(xiàn):

        [1]Moodle XML format.http://docs.moodle.org/en/Moodle_ XML.

        [2]HTML Applications.http://msdn.microsoft.com/en-us/library/ms536471(v=VS.85).aspx.

        [3]DHTML Reference.http://msdn.microsoft.com/en-us/library/ms533050(v=vs.85).aspx.

        [4]Extensible Markup Language 1.0.http://www.w3.org/TR/1998/REC-xml-19980210.

        (編輯:隗爽)

        日韩少妇高潮在线视频| a级毛片毛片免费观看久潮喷| 四虎永久免费影院在线| 五码人妻少妇久久五码| 最新国产激情视频在线观看| 亚洲av日韩综合一区久热| 中文字幕乱码免费视频| 婷婷一区二区三区在线| 精品蜜桃av免费观看| 无码无套少妇毛多18p| 久久精品人人做人人爽电影蜜月| 中文字幕人成人乱码亚洲| 亚洲av区一区二区三区| 亚洲国产精品无码久久一线| 国产国语熟妇视频在线观看| 亚洲国产一区二区三区最新| 日本55丰满熟妇厨房伦| 无码AV午夜福利一区| 女人18毛片aa毛片免费| 欧美黑寡妇特a级做爰| 欧美亚州乳在线观看| 久久伊人中文字幕有码久久国产 | 在线综合亚洲欧洲综合网站| 超碰Av一区=区三区| 中文字幕人妻久久一区二区三区| 日韩在线 | 中文| 一本无码人妻在中文字幕免费| 中出高潮了中文字幕| 你懂的视频网站亚洲视频| 日本阿v片在线播放免费| 亚洲午夜精品久久久久久人妖| 久久伊人精品只有这里有| 亚洲日本国产精品久久| 中文字幕一区在线观看视频| 免费黄色福利| 一本大道久久a久久综合精品| 国产免费一区二区三区免费视频| 欧美aⅴ在线| 久久综合久中文字幕青草| 欧洲乱码伦视频免费| 日韩精品人妻系列无码专区免费 |