999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Drupal的E-learning平臺構建與開發

2014-11-27 12:12:12何鳴皋尤偉光
中國教育信息化 2014年7期
關鍵詞:二次開發學校教師

何鳴皋,尤偉光

(云南大學 現代教育技術中心,云南 昆明650091)

一、E-learning的平臺建設和開發現狀

目前學校部署E-learning平臺一般有以下幾種常見模式,這幾種模式均有各自的優勢,但也存在各自的問題。

1.購買商業版的網絡教學平臺

流行的商業E-learning平臺有Blackboard[1]等。購買商業版的網絡教學平臺,可以讓學校快速獲取和使用網絡教學平臺,縮短學校構建E-learning平臺和投入應用的周期,并享受軟件供應商的相關服務。

但是隨著教學應用的不斷深入,如果需要對現有功能進行調整和改進,就存在無法對商業軟件直接進行修改的問題,即使軟件供應商能夠提供修改服務,其響應時間往往較長,而且商業軟件高昂的采購費用和升級維護費用也是學校沉重的財務負擔。

2.采用開源的網絡教學平臺

目前流行的開源E-learning平臺有Moodle和Sakai[2]等,采用成熟的開源網絡教學平臺,雖然部署的技術門檻比采購商業軟件要高,但為學校節省了大量的經費開支,還能夠與開源社區和其它采用該平臺的學校共享資源和經驗。

但是,學校無論引進哪一個網絡教學平臺,實質都是引入了該平臺已經定型的教學設計和應用流程,很可能與學校自身的實際情況和應用需求存在偏差,導致在進行應用培訓和投入實際教學的過程中難以被教師和學生接受,而且還可能會增加無謂的培訓和系統管理工作量,最終反而降低了教學效率和管理效率,甚至造成學校的網絡教學應用半途而廢。

3.自主開發網絡教學平臺

自主開發E-learning平臺,可以讓學校完全根據自身情況設計和開發滿足自身需求的網絡教學系統,然而由于E-learning系統的復雜性,從零開始開發一套Elearning平臺會耗費大量的人力和時間,在技術人員人力十分有限的學校難以實施。

4.外包開發網絡教學平臺

學校根據自身需求設計E-learning功能,交由專業的軟件開發公司進行平臺開發,從而實現按需定制開發,比直接購買成套的E-learning平臺更加切合學校的實際需求,并且學校也無需投入開發人力。

但是外包定制開發需要學校與軟件開發公司長期合作,也需要學校長期投入大量的資金。另外學校與外包公司開發人員的溝通成本也不可忽視,缺乏有效的溝通會導致外包公司開發的產品不能完全滿足學校的需要,而且外包公司的響應速度也會決定E-learning在應用過程中出現的問題是否得到及時的處理。

5.基于開源平臺二次開發

由于學校的開發人力有限,因此基于Moodle和Sakai等開源E-learning平臺進行二次開發是較為可行的方案,可以讓學校充分利用開源E-learning平臺的現成功能,大幅度縮短E-learning平臺部署和投入應用的周期,還可以讓有開發能力的學校根據自身需求對開源E-learning平臺進行修改和二次開發。然而由于開源E-learning平臺的基礎架構已經定型,二次開發大多只局限于功能微調或是開發附加的功能模塊,很難改動平臺的主體設計和現有流程結構。[3]此外,開源Elearning平臺是在不斷更新和升級的,在某一版本上深入進行修改和長時間使用,將使二次開發的版本成為該平臺的一個分支(branch),從而難以再獲取官方版本的更新和升級。

綜上所述,學校要進行網絡教學深入應用的最佳方案是根據學校自身情況分析教學和管理需求,設計符合實際情況和滿足實際需求的網絡教學流程和功能,定制開發E-learning平臺。特別是“面對信息超載和知識碎片化兩大挑戰,新建構主義認為知識體系是由感性認識、理性認識和聯想三者構成的一個類似榕樹的結構。教育是一個知識‘嫁接’過程,學會‘自嫁接’是網絡時代學習者的首要任務”。[4]然而對于學校而言,要實現“按需定制開發E-learning平臺”這一目的,需要綜合考慮資金、開發人力、開發周期、功能需求以及開發的可持續性等諸多因素,條件不同的學校需要根據自身情況對這些因素進行平衡和決策。因此,很有必要找到一種普遍適合于有一定開發能力的學校的折中開發方案,使學校既能根據自身需求定制開發E-learning平臺,又能最大限度地減少資金和開發人員投入,從而實現高效率和可控的自主開發。

二、Drupal適宜E-learning開發的原因分析

Drupal[5]是一個用PHP語言開發的,在互聯網上被眾多網站所采用的CMS(ContentManagementSystem)[6]。開源的Drupal平臺包含功能強大的CMS核心組件,并且已有一些現成的E-learning相關模塊,更重要的是Dru pal還提供了一整套用于開發Web應用的API(ApplicationProgrammingInterface),因此基于Drupal進行網絡教學平臺構建和開發,適合有一定自主開發能力,并希望能夠按本校實際需求定制開發的學校。作為沒有條件或不想過多投入開發人力的學校,也可以利用Drupal的基礎架構和現有的E-learning相關模塊,快速構建一個Elearning平臺。

總體而言,基于Drupal的網絡教學平臺具有以下優勢和特點:

1.成熟穩定的CMS架構

Drupal的基礎組件包含了構成CMS的所有核心功能,如用戶管理、角色權限、內容節點(node)發布等等,這些核心組件同樣是構成E-learning平臺的基礎。

2.豐富的功能模塊

Drupal的擴展模塊(module)種類繁多,包括博客、電子商務、即時通訊、視頻媒體、E-learning等等,用戶可以根據自己的應用需求選擇其中的模塊進行自由組合和定制,從而獲得一套滿足自身需求的CMS。[7]

3.開源平臺

Drupal是用GNUGPL 協議發布的自由軟件,同其它開源的E-learning平臺一樣,用戶可以獲得其完整的源代碼并進行二次開發。[8]

4.按需定制開發

學校在應用成套的E-learning平臺過程中,往往會遇到以下兩個問題:

(1)功能需求問題

系統中的功能不能滿足需求,需要在平臺框架內開發新的功能模塊。這種情況只要了解開源平臺的結構和模塊實現,并擁有開發能力,就可以在原系統上進行二次開發。

(2)教學流程問題

現有E-learning平臺的應用流程或整體架構與學校實際情況和需求差距較大,需要對系統主體結構進行大的調整和修改。 由于E-learning系統不同于網站、博客、資源平臺等通用性較強的CMS系統,而是更接近于MIS(managementinformationsystem),與實際應用需求高度相關,因此,使用DrupalAPI進行E-learning的應用開發,可以讓學校對于開源平臺的二次開發不再局限于修改和打補丁,而是能夠根據自身需求設計并實現完整的功能流程。

5.快速開發

基于Drupal進行E-learning開發的高效性體現在三個方面:

(1)DrupalAPI

Drupal是一套面向對象(OO)的WebAPI,Drupal本身的核心組件和模塊都是使用DrupalAPI開發而來。DrupalAPI的意義在于:

1)函數封裝

DrupalAPI封裝了PHP語言對數據庫、文件、圖片等數據的底層操作,提高了開發效率,并且避免了開發者自己實現底層操作可能造成的安全漏洞。

2)內部數據

DrupalAPI能夠快速調用Drupal系統內部全局變量和用戶數據,與手工進行SQL查詢相比,大幅度提高了開發效率。

3)權限掛鉤

通過DrupalAPI的權限掛鉤(hook)將模塊開發限制在Drupal的用戶權限框架內,開發者不用自己實現權限控制,從而提高功能模塊的安全性。

4)界面主題接口

提供了完整的界面主題(theme)接口,將模塊業務與界面分離,使開發者可以快速開發出與系統界面風格完全一致的模塊。

(2)模塊調用

Drupal可以在模塊中靈活調用其它模塊已經實現的功能。模塊的相互調用最大限度地避免了重復開發,提高了開發效率。

(3)模塊開源

Drupal的模塊也是開源的,可以參照與所需功能基礎結構相近的模塊進行二次開發,也可以直接對模塊進行修改。

6.模板和展示

通過Drupal的站點(Sites)功能,教師可以靈活地進行模板和主題定制,將自己的網絡課程整體對外展示,適用于精品課程網站、開放課程、教學成果評比等。

三、基于Drupal的E-learning平臺的體系結構(見圖1)

圖1 基于Drupal的E-learning系統結構

1.操作系統

Drupal需要PHP運行環境和MySQL數據庫,可以使用Apache、nginx等httpd服務,因此可以在Windows操作系統中運行,但首選的運行環境應該是原生的LAMP(Linux+Apache+MySQL+PHP)環境。在后臺數據處理中可以使用Linux中的Perl語言及其DBI(Database Interface)數據庫接口模塊編寫腳本,直接操作數據庫中的數據,從而大幅度提高E-learning平臺的開發和維護管理效率。

2.基礎的CMS平臺

Drupal的核心組件包含了構建一套CMS的所必需的基礎元素,直接基于這些核心組件開發E-learning應用模塊,可以避免重復勞動,提高開發效率。

(1)用戶(user)

提供了可定制的用戶個人信息的字段,例如Elearning平臺中必要的學生姓名、性別、學號、學院、專業、年級、培養層次等個人信息字段都可以直接定義,不需要開發者自己實現。

(2)角色(role)

實現角色群組劃分以及不同角色對模塊的訪問權限,例如學生、教師、教研室主任、系統管理員等角色。

(3)內容節點(node)

在Drupal中,核心組件已經包括了內容發布功能,而且用戶發布的所有內容都以節點(node)的形式保存,通過Drupal的大綱(book)模塊,節點可以與其它節點以大綱的形式關聯,成為其它節點的子節點或父節點。

3.面向E-learning應用的模塊組合

Drupal現有的一些功能模塊可以直接用于組建Elearning系統以及學習社區,模塊的靈活應用和組合可以避免類似功能的重復開發。

(1)評論(comment)

評論模塊可以讓用戶對node中的內容發表評論,從而實現了最基本的交互討論。

(2)搜索(search)

搜索模塊讓用戶搜索現有的所有節點內容,實現對E-learning平臺的資源檢索。

(3)測驗(quiz)

測驗模塊是一個功能完整的在線測試和問答模塊,可以讓教師創建課程練習或考試,試題可以是單選、多選、判斷、問答等多種題型,并且提供學生答題情況和成績的統計報表。

(4)投票(poll)

投票模塊可以讓教師發起一個問卷,收集學生對某一問題的看法。

(5)論壇(forum)

論壇模塊可以讓教師建立課程或主題的論壇,構建網上學習社區。

(6)博客(blog)

博客模塊可以讓教師建立自己的個人博客,學生可以通過評論博客文章與教師及其他學生交互。[9]

(7)站內短信(privatemsg)

短信模塊可以實現師生以及生生間的點對點信息交互。

(8)實時聊天(drupalchat)

實時聊天模塊提供了Drupal系統內的即時信息(IM)交互功能,教師和學生在線時可以進行在線答疑和交流。

(9)文件上傳(upload)

上傳模塊提供了穩定、統一的文件上傳接口,可以嵌入到節點發布的表單內,實現教師的課件或資料上傳以及學生的作業提交。

(10)大綱(book)

大綱模塊可以將E-learning平臺內的所有節點用樹狀的大綱串聯起來,網絡課程內容可以按教科書的章節層層建立,與課程相關的教輔資料、練習、討論等內容也能夠關聯到課程節點中,使網絡課程層次清晰,便于導航和訪問。

(11)所見即所得編輯器(wysiwygimagefield)

所見即所得編輯器讓教師能夠將圖片或Microsoft Word文件等帶有格式的內容粘貼到E-learning系統中,便于在線創建和編輯課程內容。

(12)在線課程(course)

在線課程模塊是專門為教師發布課程內容而設計開發的模塊集合,直接能夠用于網絡課程的發布。

(13)媒體資源(media)

媒體資源模塊是一個基于樹狀目錄的資源庫,教師和學生可以共同分門別類地創建資源目錄并上傳多媒體資源,例如音頻、視頻、課件、參考資料等等。

四、使用DrupalAPI進行E-learning應用開發

采用DrupalAPI[10]進行模塊開發比直接用PHP語言的底層函數進行開發效率要高得多,因為DrupalAPI已經封裝了數據庫讀寫、表單提交、查詢搜索、數據表格、數據分頁、權限控制、界面格式化等幾乎所有組成Web應用的要素。

1.E-learning開發中常用的DrupalAPI(見表1)

(1)表單(form)API

表單API封裝了text,checkbox,radiobox,textarea等表單元素,可以讓開發者快速構建一個復雜的復合表單。

(2)數據庫(db)API

數據庫(db)API是DrupalAPI中最關鍵的接口之一,它封裝了PHP的數據庫操作函數,當前(Drupal7)的DatabaseConditionAPI進一步封裝了SQL語句,開發者只需指定所要操作的字段和相關數據就能對數據表進行讀寫操作,極大地提高了開發效率。

(3)權限掛鉤(hook_permission)

權限掛鉤可供開發者定義模塊的多種權限,例如訪問、修改、管理等,這些權限又可以賦予不同的用戶角色,從而能夠構建多層次的E-learning系統結構。例如在線考試的試題庫,普通教師擁有試題錄入的權限,教研室主任擁有試題審核的權限等。

(4)全局變量(global)API

提供了快速調用系統內部數據,例如用戶個人信息字段的接口,開發效率遠高于手工編寫查詢數據庫表的代碼。

(5)分頁(pager)

分頁在Web界面開發中是一個繁雜的問題,需要將一個數據表中的所有數據以行列表格顯示,并自動分成若干頁,而且要有頁碼和導航條。Drupal的Pager API可以快速實現這一功能,開發者所要做的只是設定每頁顯示的記錄數而已。

(6)界面主題(theme)API

提供了系統內所有數據的格式化顯示,使模塊的界面完全無縫嵌入到E-learning網站的總體界面風格之中。

表1 E-learning開發常用的Drupal API列表

2.通用的Drupal模塊開發流程

(1)確定模塊名稱

在modules目錄下創建模塊目錄和文件,例如results_table。模塊名稱既是APIhook的前綴,也是數據庫中相關表的名稱或前綴。

(2)實現hook_help()

主要是模塊的文字描述,使模塊出現在Drupal的模塊管理器中。

(3)實現hook_permission()

定義了模塊的顯示、編輯、管理等權限,之后可以在Drupal的權限管理界面中設置哪些用戶群組(角色)擁有哪些權限。

(4)實現hook_menu()

使模塊出現在Drupal的導航菜單中,也就是指定進入模塊的入口鏈接,以及入口的回調函數(即主界面)。

(5)編寫主界面函數

首先指定所要顯示的數據表的列名和對結果進行排序的列,并構建查詢對象,然后在執行查詢時指定表格每頁顯示的行數。最后將查詢結果保存到行數組中,并顯示結果和分頁。

(6)啟用模塊

在Drupal的模塊管理器中啟用模塊。

可以看出,Drupal API采用了簡潔的面向對象編程(OOP)的架構,僅需很少的代碼就實現了Web應用開發中必需的數據庫查詢、分頁、表格、導航等操作和界面元素,有效提高了開發效率。

五、結語

使用基于Drupal的E-learning系統,可以讓學校在單純的E-learning應用和復雜的二次開發之間找到一種折中方案。這種模式特別有利于E-learning環境中構建教師應用技術解決教學問題的知識平臺的形成,因為“這種知識將要解決的問題(即信息技術整合于學科教學過程所遇到的問題),都屬于沒有確定的解決方案的‘劣性問題’(Wicked Problem)——它們的解決方案只能依賴于每位教師的認知靈活性且在三種知識的結合與交叉中去尋找”。[11]因此,基于Drupal的E-learning平臺的開發和應用前景十分廣闊。

[1]張漢玉,穆肅,任友群.學習管理系統的社會性交互功能比較——基于對Blackboard、Moodle、Sakai的調查與使用體驗[J].現代遠程教育研究,2013(2):38-44.

[2]翟菁.SAKAI與MOODLE的比較研究[J].軟件導刊,2008(9):33-34.

[3]葉海松.Moodle的二次開發與設計[J].電化教育研究,2007(4):50-55.

[4]宋述強,鐘曉流,李海霞,焦麗珍,李婷,白薇琳.教育信息化的實踐趨勢、理論動態與技術前沿——兼論《現代教育技術》雜志2013年選題策劃[J].現代教育技術,2013(1):5-8.

[5]About Drupal[EB/OL].https://drupal.org/about.

[6]盛安元,黃存東,張前進.基于開源軟件D rupal工程實踐[J].武漢工業學院學報,2012(2):65-67.

[7]孫方.基于D rupal電子學檔平臺設計與實現[J].現代教育技術,2012(1):98-102.

[8]GNU GeneralPublic License[EB/OL].http://www.gnu.org/licenses/gpl.htm l.

[9]郭玲.基于Drupal構建精品課程網站的實踐與探討[J].硅谷,2011(16):139.

[10]API reference[EB/OL].https://api.drupal.org/api/drupal.

[11]何克抗.TPACK——美國“信息技術與課程整合”途徑與方法研究的新發展(下)[J].電化教育研究,2012(6):47-56.

猜你喜歡
二次開發學校教師
最美教師
快樂語文(2021年27期)2021-11-24 01:29:04
教師如何說課
甘肅教育(2020年22期)2020-04-13 08:11:16
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
未來教師的當下使命
西門子Easy Screen對倒棱機床界面二次開發
學校推介
留學生(2016年6期)2016-07-25 17:55:29
奇妙學校
圓我教師夢
吐魯番(2014年2期)2014-02-28 16:54:42
基于Pro/E二次開發的推土鏟參數化模塊開發
主站蜘蛛池模板: 老司机久久精品视频| av一区二区三区高清久久| 色综合天天综合中文网| www成人国产在线观看网站| 四虎永久免费地址在线网站| 99国产精品免费观看视频| 欧美啪啪一区| 国产精品九九视频| 在线日本国产成人免费的| 色综合久久久久8天国| 国产91丝袜| 国产91无毒不卡在线观看| 在线免费无码视频| 亚洲精品无码久久毛片波多野吉| 欧美成人区| 在线观看亚洲成人| 全部无卡免费的毛片在线看| 亚洲AV电影不卡在线观看| 欧美色视频在线| 日韩区欧美区| 扒开粉嫩的小缝隙喷白浆视频| 黄色网在线| 久久亚洲国产视频| 国产在线观看第二页| 热re99久久精品国99热| 欧美亚洲激情| 亚洲国产高清精品线久久| 国产精品美人久久久久久AV| 日韩无码真实干出血视频| 日韩色图区| 亚洲精品日产精品乱码不卡| 成人国产免费| 美女内射视频WWW网站午夜 | 国产AV无码专区亚洲A∨毛片| 国产精品美女在线| 国产一区二区福利| 中美日韩在线网免费毛片视频| 日本黄色a视频| 在线看免费无码av天堂的| 91福利国产成人精品导航| 亚洲欧洲国产成人综合不卡| 99人妻碰碰碰久久久久禁片| 色综合中文综合网| 免费va国产在线观看| 国产清纯在线一区二区WWW| 亚洲天堂啪啪| 亚洲一区二区在线无码| 成人国产精品视频频| 亚洲欧美另类日本| 在线观看精品自拍视频| 国产无码精品在线| 欧美日韩亚洲国产| 欧美精品综合视频一区二区| 99九九成人免费视频精品| 日韩成人高清无码| 国产成年无码AⅤ片在线| 日韩中文字幕免费在线观看| 毛片基地美国正在播放亚洲| 国产噜噜噜视频在线观看| 日本午夜视频在线观看| 亚洲av片在线免费观看| 在线五月婷婷| 国产精品美女免费视频大全| 18禁黄无遮挡免费动漫网站| 久久福利片| 中文字幕人妻无码系列第三区| 久久五月视频| 国产无码精品在线播放| 99视频在线免费观看| 免费久久一级欧美特大黄| 91精品国产福利| 欧美在线视频a| 中文毛片无遮挡播放免费| 成人午夜福利视频| 国产无码网站在线观看| 日本草草视频在线观看| 无码丝袜人妻| 无遮挡国产高潮视频免费观看| 伊人狠狠丁香婷婷综合色| 91精品伊人久久大香线蕉| 不卡视频国产| 国产一在线|