文/高 君
隨著信息技術在我國高校的深入應用,以及網絡化教學的逐步推進,許多高校都采用了網絡教學平臺作為日常教學的一種輔助手段。在傳統的教學模式中,教師和學生在固定的地點(教室),固定的時間(上課時間)進行一對多的傳授,這種模式限制了學習的時間和空間。隨著社交網絡、移動終端等科技的發展,現在的學子們已經是e時代的學生,他們從小特別熟悉網絡環境,熟悉各類電子產品的操作。他們在正式的上課場合可能表現得非常內向、保守,不愿意在課堂上回答教師的問題或者表達自己的意見;但當他們處在虛擬化的網絡世界時,一切顧慮和羞澀都會被拋在腦后,他們會對所有感興趣的話題侃侃而談,他們愿意在深夜打開網絡查看同學的討論、完成作業,他們愿意隨時隨地通過手機查看課程的新內容。網絡教學平臺拓展了教學的時間與空間,有助于加強師生之間的交流,提高教學效果。而如何經濟、快速、高效地建立起一套適合高校自身業務流程的網絡教學平臺并將其用好,是國內各高校普遍面臨的問題。
在實踐中,各高校在搭建網絡教學平臺時,主要采取了以下三種方式:
1. 直接采購商業產品
目前國內外都有較為成熟的商業網絡教學平臺,例如Blackboard和清華教育在線。這些商業產品能夠幫助高校快速地完成相關系統的部署,并且高校不需要投入人力到系統的開發中去,避免直接解決相關技術問題,只需要與相關服務商溝通具體的使用需求即可。但這些商業產品往往價格不菲,而且需要按年支付服務費用。當高校需要根據自身業務流程定制功能時,服務商可能不愿意單獨為某個學校進行開發,或者可能會索取高昂的開發費用,給高校帶來較大的經濟負擔。
2.完全依靠自身力量進行開發
國內某些高校自身擁有一支獨立的開發團隊,可以完全依靠自身的力量,結合實際業務需要定制開發一套網絡教學平臺。由于整個系統都由高校完成,所以開發出來的系統對高校已有業務的集成程度很高,可以充分滿足各種獨特需求。清華大學、新加坡國立大學采取的都是這種模式。
然而,能夠維持一支獨立開發團隊的高校畢竟是少數,同時這支隊伍既要編寫出符合業務需求的系統,又要保證系統的健壯性和穩定性。復旦大學于2004年通過完全自主開發的方式建設了“虛擬校園”系統。但到2010年時,由于維護成本和開發成本顯著上升,最終放棄了這種開發模式。
3.使用開源的課程管理系統
隨著開源運動的興起,出現了一批如Sakai(http://sakaiproject.org)、Moodle(http://moodle.org)這樣的開源網絡教學平臺。由于這些開源軟件一般也是免費軟件,所以采用這些軟件會大大減少相關高校的軟件采購投入,減輕高校的資金負擔。但是,要將這些開源軟件用好,往往需要配套一批熟悉技術的相關人員進行系統保障;同時,這些開源軟件的開發者主要來自于西方國家,他們對于國內高校的相關需求了解不足,界面與文檔的中文支持也有所欠缺,甚至還存在一些僅存在于中文環境下的問題。如果需要針對高校已有業務流程進行二次開發,開始的學習曲線較為陡峭,在沒有指導的情況下會比較困難。國外使用這些開源軟件的高校一般會組成一個社區,相互交流使用經驗、分享開發模式、協調新功能的開發、溝通軟件中的問題、提供相應的補丁,以互惠的方式進行合作。而國內目前缺少這樣的組織,所以每個高校在采用開源軟件時,都需要重復一次學習過程,探索開發模式,使得開源軟件的應用效果與國外相比存在明顯差距。
復旦大學自2010年起對Sakai系統進行有針對性的研發,根據復旦大學既有的業務流程,對Sakai系統進行了二次開發。截至目前,復旦大學在Sakai的開發上積累了大量的經驗,希望能夠在國內建立相關的社區組織,提供更加符合國內情況的系統,降低其他高校在采用同樣解決方案時的難度,共同推動Sakai系統在國內的應用。
Sakai系統于2004年由印第安納大學、麻省理工學院、斯坦福大學、密歇根大學等高校合作開發。全世界超過300所高校使用Sakai系統,其中包括許多世界一流大學,如哥倫比亞大學、牛津大學、劍橋大學、加州大學伯克利分校、耶魯大學等。目前項目的開發主要依靠社區成員(包括高校、商業公司、志愿者)和Sakai基金會。
Sakai系統提供了網絡教學中的許多常見功能,如課程大綱、發布通知、發放課件、在線作業與考試、在線討論、花名冊、站點統計等。能夠滿足各類教學的需要。此外,Sakai社區中還有許多高校為特定目的開發的第三方工具(如LDAP認證、CAS集成)可以直接使用。
Sakai社區相當活躍,系統的發展方向、問題匯總等幾乎都在社區內完成,保證了Sakai的需求直接來自于高校,開發人員也部分來自于高校,最終問題修正的確認也有高校完成。大量的部署實例保證了Sakai在系統配置方面的易配置性,以及良好的擴展性。目前使用Sakai系統的高校中,用戶最多的是印第安納大學,擁有超過13萬的活躍用戶,使用10臺服務器搭建系統集群。
國內的Sakai應用尚處于起步階段,從圖1這張Sakai部署地圖來看,大多數的部署都集中在歐美,中國范圍內的部署案例還相當少。

圖1 Sakai部署情況

圖2 2012年下學期的每日用戶登錄情況
復旦大學于2010年以Sakai系統為基礎,搭建了新一代的校內網絡管理平臺eLearning(http://elearning.fudan.edu.cn)。系統于2010年秋季學期開始試運行,2011年春季學期開始正式使用。目前,累計使用過系統的用戶超過2萬人,累計開設了超過1500個課程站點,覆蓋近2000門課程;在沒有任何獎勵與懲罰措施的情況下,本學期有超過20%的本科生課程使用此系統作為教學的輔助手段,開通了課程站點。無論從應用的范圍還是開設的課程量來看,復旦大學eLearning系統都居于國內Sakai應用的前列。表1是系統投入正式使用以來的開課情況。
圖2是2012年下學期的每日用戶登錄情況。系統的日均獨立訪問用戶約為2500~3000人(7日平均),日均訪問量約為4500~6000人次,單日獨立訪問用戶最高約為3500人。作為參考,目前復旦大學的所有本專科生、研究生人數總共約為3萬人。考慮到教師數量相對學生較少,以及研究生課程因教學性質而較少使用網絡教學平臺,目前的數字已經能夠說明學生(尤其是本科生)使用網絡教學平臺的頻率已經相當高。
從每小時用戶登錄情況統計結果來看,最高的小時登錄人數達到560人。從實際監控情況看,同時在線人數最高達到600人。系統的登錄高峰在20:00至23:00,很少有傳統的教學活動在這個時間段內進行,網絡教學平臺的使用時間與傳統教學的時間段是互補的,網絡教學平臺的使用拓展了教學的時間,為教學提供了另一片空間。
圖3是系統自試運行以來用戶登錄規律圖,圖中使用不同的顏色標記用戶每周登錄系統的次數。在使用系統的用戶中,超過60%每周登錄系統2次以上,約50%每周登錄系統3次及以上,約20%每周登錄系統5次或以上。考慮到正常的課程教學一般每周只有2次課堂教學時間,對于許多用戶而言,網絡教學平臺的使用時間已經超過了課堂教學的時間。

表1 系統投入使用以來的開課情況
如果對Sakai系統進行功能驗證,那么直接使用Sakai社區提供的二進制版本直接部署就可以滿足需要。但如果要將Sakai系統在中文環境下用好,并且與已有的校內各類業務數據及流程進行整合,讓其更好地提供教學服務,那就必須針對高校的具體情況進行二次開發。
由于Sakai系統的主要開發者的母語多屬于印歐語系,對于東亞地區的語言文字缺乏必要的了解,所以在開發時也較少考慮中文環境的特殊情況。由此,Sakai中存在著一些僅存在于中文環境下的特殊問題,如PDF導出、E-mail通知發送等。復旦大學通過近幾年的實踐,逐步解決了這些問題,并且將相關補丁反饋給了Sakai社區,形成了良好的互動。此外,由于Sakai在中國大陸的部署實例還較少,再加上這些先期部署的高校并沒有將相應的頁面、文檔等翻譯反饋給社區,導致Sakai官方版本的簡體中文支持較差。隨著最近幾年復旦大學逐步將相關內容漢化,并反饋給Sakai社區,簡體中文的支持度已經大大提升。
對于學生規模較小,課程數量也較少的高校而言,或許可以通過完全手工維護的方式,管理用戶名單、課程名單、選課名單。但是對于中等規模以上的高校而言,完全手工維護會帶來大量的重復機械勞動,并可能產生一定的誤操作。如果考慮到有些業務數據可能在學期內會發生變化(如選課信息),那么完全手工維護就成了一項完全不可行的操作。所以,有必要將Sakai系統與校內已有的數據進行整合,減輕管理員的日常工作,避免誤操作。

圖3 用戶登錄Sakai的規律
Sakai系統提供了兩種與既有系統集成的方式,即“推”和“拉”兩種。前者通過Sakai系統提供的Quartz自動任務定期將其他業務系統的數據推送到Sakai系統中來;后者是通過實現Sakai系統中的各個相關接口,當系統需要相關業務數據時,直接到業務系統的數據庫中進行讀取操作。在復旦大學,由于牽涉到的業務系統較多,規則配置復雜,所以我們不使用“拉”的方式,而是采取“推”的方式進行數據同步。基本流程如圖4所示。復旦大學通過現有的共享數據平臺,先將其他業務系統中的相關數據進行集成,然后將數據推送到eLearning系統(Sakai)的同步到數據庫中,然后通過Quartz提供的計劃任務每天將這些信息定期更新到Sakai系統中來。通過這種方式,我們向eLearning系統中同步了本科生、研究生、留學生、教職工、博士后、附屬醫院醫生的基本信息,以及本科生和研究生的課程信息、開課信息、選課信息,使得校內發生的任何人員變化、課程變化和選課變化都能夠即時同步到eLearning系統中。

圖4 采取“推”的方式進行數據同步的基本流程
在系統整合方面,目前復旦大學所完成的主要還是從其他系統中獲取相關基本信息,而Sakai系統本身其實提供了非常易于拓展的接口來實現更多更加強大的功能。例如在Sakai系統中匯總成績,然后將成績反饋給教務系統,實現數據互通,甚至可以將Sakai改造后包含選課的功能。其他高校完全可以根據自己的實際需求來進行相關開發。
復旦大學在部署Sakai的過程中,積累了大量的經驗,修正了原有系統的許多問題,同時針對國內高校的具體情況,開展了大量的開發工作。我們希望能夠借鑒Sakai社區的運作方式,以高校互相協作的方式,推動Sakai系統在國內高校的應用。為此,復旦大學于2012年4月推出了Sakai復旦共享版(http://sakai.fudan.edu.cn)。
其主要特點如下:
1. 基于Sakai項目的官方版本,并隨著官方版本升級,可以及時獲得官方版本中的新功能和新補丁。
2. 更適合國內教學環境:針對Sakai系統對中文支持不全面的問題,強化功能、文檔方面的中文支持。
3. 自 Sakai復旦共享版發布開始,復旦大學的eLearning系統將以此為基礎,作為一個分支版本進行開發和維護,以復旦大學的實際系統為部署案例,保證版本的可用性。
4. 對于Sakai中設計不合理之處進行了修改。如Sakai官方版本中,姓名被分拆為“姓”和“名”兩個字段。這個設置對于程序的識別能力要求過高,尤其對于少數民族和外籍人士的姓、名甄別存在相當大的困難,影響了人員信息自動化操作。所以在Sakai復旦共享版中,姓、名被合并成一個字段進行處理。
5. 靈活的源代碼管理模式。Sakai官方版本使用Subversion作為版本控制軟件,導致了若以官方版本為起點開發分支時很難兼顧官方版本的代碼升級。Sakai復旦共享版使用了分布式版本控制軟件Mercurial進行代碼管理。為希望以復旦版為基礎進行進一步定制開發的高校免除了后顧之憂,可以放心定制所需要的功能,又能夠方便地將復旦版中的更新融入到修改后的系統中。
6. 采用與Sakai官方版本相同的ECL(Educational Community License) 2.0協議授權。保證了以此為基礎進一步開發的程序盡量可以公開,也可以作為私有代碼不公開。也由此允許商業公司加入共同開發的行列。
盡管復旦大學在Sakai的開發和使用中積累了大量的經驗,但是僅靠復旦大學是難以構建一個互助的協作社區的。國外高校恰恰是擁有這樣一個社區組織,才得以在高校間進行合作,維護項目的良性發展。反觀國內,以高校為主導的開源軟件乏善可陳,相關的開源社區更是寥寥無幾。所以,復旦大學希望國內有興趣的高校一同加入進來,奉獻各自的力量,共同推動Sakai系統在國內的應用。
參與的高校可以根據自己的特點為社區做出貢獻:開發能力較強的可以為系統修補Bug、提供補丁、開發新功能;外語能力較強的,可以幫助翻譯頁面文字和完善文檔;推廣應用較好的,可以分享相關的推廣經驗,以此達到協作與共贏的效果。