□李紅青
( 山西廣播電視大學,山西 太原 030027)
“電大在線”教學平臺是全國電大開放教育教學的支持平臺,有關教務數據每學期需從各校的教務系統提取,1.51版本“電大在線”教學平臺系統是基于舊教務系統開發的。現在電大教務系統升級了,新、舊教務系統差異還是較大,所以導致“電大在線”教學平臺導入新版教務數據后出現了這樣那樣的數據銜接問題。現就針對近兩年“電大在線”教學平臺導入新版教務數據出現的問題作出分析,并給出了解決策略。
由于新教務學生學籍信息表與舊的不一同了,舊教務學生學籍信息表為XSJBDAB,而新教務學生學籍信息表為XSJBQKB和XSB,教學平臺原來學生注冊時需和教務庫里CRTVU的XSJBDAB表驗證學籍信息,因此啟用新教務數據后教學平臺注冊程序就出現了問題。對此問題中央電大電大在線有限公司在07年就發布了升級包程序,程序代碼:3500.rar。該補丁程序可到中央電大平臺技術支持服務器(貼心平臺)下載,具體地址:http://service.openedu.com.cn。 此升級包解決了將新版教務學生數據導入到1.51版省/分校教學平臺、實現學生注冊的功能,由于新、舊教務差異較大,目前只是實現了將學生數據導入到教學平臺完成學生的注冊功能,課程資源可以選擇以前相應教學計劃的課程進行學習。下載到升級包后,升級操作步驟如下:
第一步:導入新版教務的學生數據到SUBEDU數據庫中。通過數據庫的“數據導入/導出”方式將導入新生數據所需要的數據表從新版教務數據庫PRTVU中導入到教學平臺數據庫Subedu中,要導入到Subedu庫中的表有兩個:XSB、XSJBQKB,并保持表名不變。如果這兩個表已經在Subedu中存在,或者在導入前先將其刪除;或者在數據導入時在“編輯映射”中選擇“刪除目標表中的行”選項;
第二步:導入舊版教務的學生數據到SUBEDU數據庫中。采用與第一步相同的方式將舊版教務數據庫CRTVU中的學生數據表(xsjbdab)導入到SUBEDU數據庫中;
第三步:將補丁包中 eg目錄下的文件覆蓋掉原來d:www eg目錄下的文件。
完成上述三步后,即可實現新版教務學生在教學平臺上的注冊工作。
注意:如果在招生中包含了舊版教務下的學生數據則一定要執行第二步,這一點與以前的處理方式不同。
1.問題分析。對比新、舊教務系統,發現新、舊教務系統從管理模式上沒有太大差別,在新教務系統中,專業規則類似于舊教務中教學計劃的概念,它們之間唯一的區別是專業規則可以適應多個招生學期的教學需要,而教學計劃只能滿足一個學年招生的教學需要。
根據以上分析,中央電大處理思路如下:將專業規則作為教學計劃處理,即將專業規則存放在教學計劃信息表(Plan_Info_t)中,Grade字段值設置為“0000”,計劃名稱設置為:專業規則制定年份 + “年” + 制定學期(“春”/“秋”) + 專業名稱,如:2007年春季學期制定的法學專業的專業規則在計劃表中的計劃名稱為:2007年春法學。對此問題,中央電大發布了升級包程序,對教學平臺的數據結構進行了修改,并重新發布了導入新教務數據程序,該升級包程序代碼:3556.rar,下載方法同第一問題。
2.升級操作步驟。第一步:為了穩妥起見,請先將站點源程序和SUBEDU數據庫進行備份;
第二步:在SUBEDU數據庫中執行補丁包中SQLScript目錄下的“1.51版升級新教務修改表結構腳本.sql”中的SQL語句,進行數據庫表結構的調整;
第三步:將補丁包中www目錄下的內容按目錄結構拷貝到站點根目錄中;
第四步:可以啟動站點,瀏覽一下站點的各個功能是否運行正常。
以上步驟只需執行一次,準確無誤后再進行以下操作,同時以下步驟為每學期必須操作的步驟。
第五步:從新教務的PRTVU數據庫中導入必要的數據表到SUBEDU數據庫中,需要從新教務數據庫中導入的數據表有:1、xxdmb(學校代碼表)、2、kczb(課程總表)、3、zydmb(專業代碼表)、4、zygzb(專業規則表)、5、mkkcb(模塊課程表)、6、zygzsyndb(專業規則適應年度表)共計6個表。數據的導入可通過數據庫的“數據導入/導出”方式進行,如果在SUBEDU庫中已經存在要導入的表則有兩種操作方式:1)可以在導入數據前將上面提到的6個表刪除;或者2)在選擇好要導入的6個表后,分別選中每個表,在每個表的“編輯映射”中選擇“刪除目標表中的行”。在進行上述操作后,即可進行數據的導入操作。
第六步:在SUBEDU數據庫中執行補丁包中SQLScript目錄下的“從新教務庫導入數據后執行的語句.sql”中的SQL語句,完成教務數據到平臺的數據導入操作,如果沒有錯誤產生則導入完成。
舊教務系統的課程代碼(courseid)數據類型是數值型(int)數據,新教務系統的課程代碼(courseid)數據類型是字符型(varchar)數據,電大在線教學平臺系統里的courseid類型也是數值型。現在在新教務系統里courseid出現了02275、00974、00032等諸如此類的數據,即在數字前出現了0,若把它們直接導入教學平臺里,數值型courseid就把02275、00974、00032等處理成了2275、974、32等。針對此問題,中央電大在上面第二個問題導入教務數據前就修改了教學平臺系統里的courseid類型。雖然中央電大升級包程序3556.rar修改了教學平臺系統里表的courseid類型,但是電大在線教學平臺系統畢竟是一個大而龐雜的系統, 3556.rar升級包并沒有修改了教學平臺里所有表的courseid類型;再一問題是,3556.rar升級包雖然修改了教學平臺系統里表的courseid類型,但原來教學平臺程序員習慣了courseid類型是int型,在程序調用$courseid沒加引號,而php程序里courseid字段雖是字符型,調用$courseid時不加引號時按數值型數據處理,所以courseid本來是02275,而處理成2275了。
新舊課程代碼數據類型混亂目前發現以下幾處問題:
1.在課程里新建欄目問題。新教務系統的課程代碼courseid如果刪除前面的0后,和教務系統courseid有相同,在課程里新建欄目時按同一門課程對待了。比如:新教務系統的計算機組成原理courseid是02275,舊教務系統的高等數學(B)(1)courseid是2275,在課程計算機組成原理建欄目,提示建立成功,結果計算機組成原理里沒有建成,而建在課程高等數學(B)(1)里。解決此問題,需在修改在線平臺欄目建立程序wwwfile_post opicadminedit.php, 在調用變量$courseid沒加引號處加上單引號。
2.在線測驗功能問題。在線測驗問題涉及到courseid類型混亂的兩種情況:(1) 中央電大升級包程序3556.rar沒有修改了教學平臺在線測驗有關表的courseid類型;(2) 在線測驗程序里調用$courseid有幾處沒加引號。鑒于以上分析,我們需做以下處理:(1)修改以exam開始有關表的courseid類型為varchar;(2)修改在線測驗程序wwwexamDataInput下的insert.php、manage.php、modify.php以及wwwexam include exam_list.inc, 在調用變量$courseid沒加引號處加上單引號。
3. 學生頁面課程列表顯示問題。新教務系統的課程代碼courseid如果刪除前面的0后,和教務系統courseid有相同,學生頁面課程列表只能顯示其中一門。例如:courseid為02275的計算機組成原理和courseid為2275的高等數學(B)(1),如果學生兩門課首次選擇了計算機組成原理,課程列表會顯示計算機組成原理,再去選擇高等數學(B)(1),課程列表不顯示高等數學(B)(1),還是只顯示計算機組成原理一門,反之亦然。解決此問題,需修改在線平臺學生頁面課程列表程序wwwincludepubfunc.php, 在GetCourseName()函數調用變量$courseid沒加引號處加上單引號。
“電大在線”教學平臺是我們電大開放教育的一個核心環節,而每學期都需從教務系統導入數據。為了使教學平臺數據庫精確無誤、網上教學工作順利進行,所以需要熟練應用軟件的各項功能,做好軟件接口的平滑工作。
參考文獻:
[1]賈國祥.1.51版教學平臺新版教務學生注冊升級包[EB/OL].中央電大電大在線技術支持論壇平臺應用公告,2007-04-28.
[2]賈國祥.將新教務系統引入1.51版教學平臺升級包[EB/OL].中央電大電大在線技術支持論壇平臺應用公告,2007-09-18.