萬榮澤
(廣西農(nóng)業(yè)職業(yè)技術(shù)學(xué)院 現(xiàn)代教育技術(shù)與網(wǎng)絡(luò)信息中心,廣西 南寧 530007)
各高校在網(wǎng)站建設(shè)和推廣應(yīng)用過程中普遍存在以下問題:一是在建設(shè)學(xué)校門戶網(wǎng)站、各部門網(wǎng)站、學(xué)科網(wǎng)站和課程網(wǎng)站時各自為政獨立建設(shè),費時費力;二是由于各個網(wǎng)站建設(shè)技術(shù)水平參差不齊,存在許多安全漏洞;三是由于各個網(wǎng)站數(shù)據(jù)很難共享集成,無法實現(xiàn)高校所有網(wǎng)站數(shù)據(jù)信息統(tǒng)一搜索功能,大大影響網(wǎng)站使用效果。因此,為了提高高校網(wǎng)站建設(shè)和應(yīng)用水平,必須解決好高校內(nèi)部各部門網(wǎng)站之間相互獨立無法實現(xiàn)數(shù)據(jù)共享問題以及建設(shè)網(wǎng)站的統(tǒng)一規(guī)劃和標準問題。為此,學(xué)院信息中心經(jīng)過多年研發(fā),成功開發(fā)了網(wǎng)站群管理系統(tǒng),并基于此系統(tǒng)建設(shè)了學(xué)院門戶網(wǎng)站、各部門子網(wǎng)站、精品課程網(wǎng)站、教學(xué)資源網(wǎng)站等,建成了包含有100多個網(wǎng)站的網(wǎng)站集群。
網(wǎng)站群是由統(tǒng)一規(guī)劃建設(shè)的若干個能夠相互共享信息、按照一定的隸屬關(guān)系組織在一起,既可以統(tǒng)一管理,也可以獨立管理自成體系的網(wǎng)站集合[1]。網(wǎng)站群的建設(shè)應(yīng)該是基于統(tǒng)一的網(wǎng)站群管理系統(tǒng)、統(tǒng)一的后臺數(shù)據(jù)庫、統(tǒng)一的監(jiān)測系統(tǒng),按部門用戶分級、分權(quán)限管理。高校網(wǎng)站群主要包括新聞類網(wǎng)站和教學(xué)資源類網(wǎng)站,通過統(tǒng)一的網(wǎng)站群管理系統(tǒng)來構(gòu)建高校網(wǎng)站,可以方便實現(xiàn)各網(wǎng)站之間信息資源整合和數(shù)據(jù)共享。
ASP.NET是一個統(tǒng)一的Web開發(fā)模型,它包括您使用盡可能少的代碼生成企業(yè)級Web應(yīng)用程序所必需的全面服務(wù)。ASP.NET作為.NET Framework的一部分,在基于ASP.NET技術(shù)進行程序代碼編寫時,可以直接使用.NET Framework中的類。開發(fā)者在編寫應(yīng)用程序代碼時,能使用Microsoft Visual Basic和 C#等語言,這些語言都與公共語言運行時(CLR)相兼容?;谶@些編程語言開發(fā)ASP.NET應(yīng)用軟件,可以充分利用公共語言運行時類型安全、繼承等方面的優(yōu)點。
網(wǎng)站群管理系統(tǒng)應(yīng)具有創(chuàng)建和管理新聞類網(wǎng)站和教學(xué)資源類網(wǎng)站的功能。新聞類網(wǎng)站主要包括學(xué)院門戶網(wǎng)站和各部門子網(wǎng)站,教學(xué)資源類網(wǎng)站包括各精品課程網(wǎng)站、教學(xué)資源共享網(wǎng)站等。系統(tǒng)應(yīng)具備以下功能:
(1)網(wǎng)站群后臺管理系統(tǒng):1)系統(tǒng)可以創(chuàng)建和管理不限數(shù)量的子網(wǎng)站,統(tǒng)一后臺管理系統(tǒng)上傳的子網(wǎng)站資源實現(xiàn)智能化分站點存放;2)系統(tǒng)應(yīng)具有全面、細致的權(quán)限管理功能,各類用戶分權(quán)限管理系統(tǒng)中的網(wǎng)站資源;3)各子網(wǎng)站菜單可以定制并自動生成;4)網(wǎng)站群系統(tǒng)中的各子網(wǎng)站菜單信息保存于數(shù)據(jù)庫表,然后通過生成菜單XML文件并綁定Menu和TreeView等導(dǎo)航控件,從而形成網(wǎng)站菜單,以避免動態(tài)從數(shù)據(jù)庫提取數(shù)據(jù)生成菜單而過度耗費服務(wù)器資源;5)系統(tǒng)除了能自動生成子網(wǎng)站菜單外,還應(yīng)支持人為技術(shù)干預(yù),靈活地組織生成各種個性化菜單,豐富網(wǎng)站的菜單導(dǎo)航方式;6)系統(tǒng)能方便進行網(wǎng)站圖片資源的管理,圖片能批量上傳,自動形成放大圖顯示方式。
(2)網(wǎng)站群中的各子網(wǎng)站:1)主站與各個子站的建設(shè)要基于統(tǒng)一的網(wǎng)站群平臺,但彼此邏輯上相互獨立;2)在信息共享和交互方面,主站與子站整體統(tǒng)一,數(shù)據(jù)可以高度共享和交互;3)可采用欄目共享,也可以將新聞列表設(shè)為共享,其他網(wǎng)站只要調(diào)用此新聞列表,消息和新聞也就自動進行交互和共享;4)網(wǎng)站群系統(tǒng)在與其他業(yè)務(wù)系統(tǒng)進行集成后,也可從業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫中提取信息并發(fā)布到網(wǎng)站上。
此外,對于教學(xué)資源類網(wǎng)站,還應(yīng)與我院現(xiàn)有教學(xué)管理信息平臺數(shù)據(jù)共享,互連互通;系統(tǒng)可統(tǒng)一管理多媒體網(wǎng)絡(luò)課程、多媒體課件、多媒體課件制作資料庫等。
系統(tǒng)的架構(gòu)設(shè)計如圖1所示。
圖1 網(wǎng)站群管理系統(tǒng)技術(shù)架構(gòu)圖
網(wǎng)站群管理系統(tǒng)角色用戶分為:系統(tǒng)管理員、網(wǎng)站管理員、網(wǎng)站信息管理員、欄目信息發(fā)布審核員和信息瀏覽者。系統(tǒng)工作流程如圖2所示。
圖2 網(wǎng)站群系統(tǒng)按角色、分權(quán)限管理流程圖
網(wǎng)站群管理系統(tǒng)需要管理的網(wǎng)站數(shù)量很大,一些教學(xué)資源類網(wǎng)站菜單層級較多,而且不同菜單還需要對應(yīng)不同類別的程序功能。要科學(xué)組織管理龐大的菜單信息,對子網(wǎng)站及菜單進行編碼非常重要。采用4位數(shù)字對子網(wǎng)站進行編碼,如0001;子網(wǎng)站菜單編碼方法:子網(wǎng)站編碼+4位數(shù)字(一級菜單)+4位數(shù)字(二級菜單)+…,如00010003。詳見圖3、圖4所示。
圖3 網(wǎng)站菜單數(shù)據(jù)庫表(宣傳部子網(wǎng)站部分菜單)
圖4 網(wǎng)站群管理系統(tǒng)子網(wǎng)站及菜單編碼
在實現(xiàn)創(chuàng)建子網(wǎng)站的系統(tǒng)功能時,需要生成網(wǎng)站編號、子網(wǎng)站文件夾、網(wǎng)站初始程序文件、網(wǎng)站初始菜單等重要網(wǎng)站信息。創(chuàng)建子網(wǎng)站程序流程如圖5所示:
圖5 創(chuàng)建子網(wǎng)站流程圖
(1)系統(tǒng)把生成好的網(wǎng)站編號保存于 session[“webcode”]中,并在創(chuàng)建網(wǎng)站菜單 XML文件(如0001.xml)、創(chuàng)建網(wǎng)站文件夾(Web0001)時應(yīng)用,如:myxmlfile="./xmlFile/"+Session["webcode"]+".xml",string str=Server.MapPath("../Web"+Session["webcode"])。
(2)在創(chuàng)建完子網(wǎng)站后再次進入,系統(tǒng)則在網(wǎng)站管理員選擇子網(wǎng)站時獲取Session["webcode"]的值,然后利用Session["webcode"]值綁定對應(yīng)子網(wǎng)站的菜單XML文件,如:XmlDataSource1.DataFile="./xml-File/"+Session["webcode"]+".xml",同時匹配子網(wǎng)站的環(huán)境配置文件,如:content1.SecurityPolicyFile="Web"+Session["webcode"]+".config";
(3)進入網(wǎng)站群管理系統(tǒng)后,可以添加、刪除、修改對應(yīng)編號子網(wǎng)站的菜單XML文件,每個菜單項可設(shè)置對應(yīng)為不同的程序功能,如普通網(wǎng)頁內(nèi)容管理、SWF文件內(nèi)容管理、圖片內(nèi)容管理、PPT內(nèi)容管理、錄像內(nèi)容管理等。
(4)通過子網(wǎng)站環(huán)境配置文件Web0001.config定義各子網(wǎng)站圖片、錄像等素材存放的路徑,克服了一般網(wǎng)站群系統(tǒng)把所有子網(wǎng)站的素材都歸于同一目錄存放的缺點,方便單個子網(wǎng)站的獨立遷移。
網(wǎng)站群管理系統(tǒng)后臺導(dǎo)航采用目錄樹形式、子網(wǎng)站前臺采用下拉菜單形式、管理菜單采用網(wǎng)格分層縮進方式,如圖6所示。
3.3.1 采用網(wǎng)格分層縮進方式管理網(wǎng)站菜單功能的實現(xiàn)技術(shù)
首先利用SQL語句:
查詢出菜單表的記錄。其中replace(space((Len(NodeCode)/4-1)*4),",' ')用于產(chǎn)生菜單名稱前的空格個數(shù),有了合適的空格個數(shù)進行填充,然后把數(shù)據(jù)綁定給DataGrid控件,層級縮進的效果就形成了。
3.3.2 管理網(wǎng)站群系統(tǒng)及子網(wǎng)站菜單XML文件的技術(shù)
(1)第一步:在新建子網(wǎng)站時,系統(tǒng)自動創(chuàng)建本子網(wǎng)站的菜單XML初始文件,命名規(guī)則:課程編號+XML,如:0001.xml,與子網(wǎng)站一一對應(yīng)。
圖6 系統(tǒng)導(dǎo)航、菜單及菜單功能管理圖
(2)第二步:初建網(wǎng)站完成后,可登錄進入后臺管理系統(tǒng),動態(tài)添加、修改本子網(wǎng)站的菜單項目和功能,并把菜單信息保存在數(shù)據(jù)庫表中,然后循環(huán)讀取菜單數(shù)據(jù)表生成菜單本子網(wǎng)站的完整XML文件。此功能可動態(tài)實現(xiàn)不同菜單對應(yīng)不同程序功能,如:管理圖文混排網(wǎng)頁信息、管理上傳flash文件、管理圖片信息、管理留言信息、生成在線測試頁面等。
(3)第三步:利用生成好的菜單XML文件,前臺結(jié)合Mneu控件綁定形成下拉菜單,后臺結(jié)合TreeView控件綁定形成目錄樹導(dǎo)航,這樣可以減少對數(shù)據(jù)庫的訪問,大大提高系統(tǒng)運行效率。
3.3.3 系統(tǒng)前臺、后臺導(dǎo)航菜單的實現(xiàn)技術(shù)
(1)網(wǎng)站前臺頁面導(dǎo)航菜單實現(xiàn)的主要技術(shù)思想:假設(shè)用戶訪問站群子網(wǎng)站的地址是 http://172.16.1.11:803/web0073/index.aspx,0073是本子網(wǎng)站的編號,把0073保存在 Session[“webcode”]中,然后采用Menu控件綁定菜單XML文件:
<asp:XmlDataSource ID="XmlMenu"runat="server"XPath="/Item/Item/Item"></asp:XmlData-Source>,其中XmlMenu.DataFile="~/admin/XMLFile/"+Session["mycode"]+".xml"對應(yīng)本子網(wǎng)站的XML文件,形成本網(wǎng)站的菜單。
(2)后臺管理系統(tǒng)導(dǎo)航采用Treeview控件綁定XML文件實現(xiàn),其實現(xiàn)基本原理與前臺頁面采用Menu控件綁定XML文件一樣。
本系統(tǒng)基于SWFUpload開發(fā)了大文件和多文件管理功能,非常方便用于錄像等大容量文件的上傳,同時方便批量上傳圖片和網(wǎng)頁附件。SWFUpload是一個flash Player和js相結(jié)合而成的文件上傳插件,它提供開源JavaScript類庫,上傳功能強大,能較好支持.NET開發(fā)環(huán)境。
基于SWFUpload實現(xiàn)大文件和多文件上傳功能的方法如下:
(1)把SWFUpload包括的所有程序文件及目錄復(fù)制到網(wǎng)站群管理系統(tǒng)開發(fā)項目根目錄下,然后設(shè)計文件上傳功能頁面AdminUploadFile.aspx、后臺上傳程序頁面upload.aspx。
(2)設(shè)計好文件上傳功能頁面AdminUploadFile.aspx的相關(guān)參數(shù):
1)引入SWFUpload的幾個js文件
2)設(shè)置SWFUpload的相關(guān)參數(shù)
5)web.config的配置
設(shè)置:<sessionState mode="InProc"></sessionState>,在<system.web>元素內(nèi)設(shè)定:<httpRuntime maxRequestLength="2097151"executionTimeout="600"/>
對于新聞類的網(wǎng)站,為了增強網(wǎng)頁的訪問速度及系統(tǒng)安全性、穩(wěn)定性、易搜索性,需要把后臺上傳的新聞信息生成靜態(tài)網(wǎng)頁后再對外發(fā)布。本系統(tǒng)采用自定義網(wǎng)站模板的方式生成靜態(tài)網(wǎng)頁技術(shù)。該技術(shù)的關(guān)鍵是先把網(wǎng)頁公共部分制作成一個網(wǎng)頁模板,變化部分采用特殊字符代替。在系統(tǒng)生成靜態(tài)網(wǎng)頁前,程序首先讀取預(yù)定的網(wǎng)頁模板,然后查詢到各條記錄的數(shù)據(jù),用于替換網(wǎng)頁模板中的特殊字符,同時按規(guī)律給網(wǎng)頁命名并保存在網(wǎng)站相應(yīng)的目錄下。部分核心代碼如下:
系統(tǒng)自2007年開始開發(fā)使用,至今已經(jīng)過多次升級改版,取得較好應(yīng)用效果,體現(xiàn)如下:一是依托本系統(tǒng)已經(jīng)成功建設(shè)學(xué)院的門戶網(wǎng)站及各部門子網(wǎng)站30多個;二是成功建設(shè)了49門精品課程網(wǎng)站,其中國家級1門、自治區(qū)級6門、院級42門;三是依托本系統(tǒng)開發(fā)的多媒體網(wǎng)絡(luò)課件獲得較多榮譽,其中榮獲全國多媒體課件大賽一等獎1項、二等獎1項,優(yōu)秀獎1項,榮獲全區(qū)多媒體課件大賽多項。依托本課題的“教學(xué)資源建設(shè)與共享信息平臺的研究與實踐”獲2012年廣西高等教育自治區(qū)級教學(xué)成果二等獎。本系統(tǒng)持續(xù)多年開發(fā)應(yīng)用,實現(xiàn)多項技術(shù)創(chuàng)新:一是基于Web的大文件和多文件傳輸技術(shù);二是網(wǎng)站群中各子網(wǎng)站上傳的圖片、錄像、課件等素材實現(xiàn)智能分站點存放技術(shù),利于子網(wǎng)站獨立遷移;三是網(wǎng)站集群建設(shè)和管理技術(shù),所有子網(wǎng)站統(tǒng)一后臺管理,無限數(shù)量創(chuàng)建和管理子網(wǎng)站。
依托本系統(tǒng),我院已形成了建設(shè)和推廣網(wǎng)站的良好機制,目前學(xué)院信息中心只需要投入1名技術(shù)人員,一年就可建設(shè)幾十個子網(wǎng)站,取得較好應(yīng)用效果。今后,將持續(xù)升級開發(fā)網(wǎng)站群管理系統(tǒng),應(yīng)用最新網(wǎng)站開發(fā)技術(shù),增強系統(tǒng)功能及安全性,進一步提高系統(tǒng)應(yīng)用價值。
[1]陸峰驊.高職院校網(wǎng)站群的建設(shè)研究與應(yīng)用[J].電腦知識與技術(shù),2011,18(7):4 513-4 515.
[2]郭廣軍,謝東,李魏豪.基于CMS的網(wǎng)站系統(tǒng)開發(fā)技術(shù)研究及應(yīng)用[J].計算機工程與設(shè)計,2010(11):2 500-2 502.
[3]李偉利,高寶,許興.內(nèi)容管理系統(tǒng)與高校信息化建設(shè)[J].實驗技術(shù)與管理,2011,28(5):244-246.
[4]侯靜,鄧可君,劉福東.CMS在高校網(wǎng)站群建設(shè)中的應(yīng)用[J].實驗技術(shù)與管理,2011,28(4):220-222.