萬(wàn)榮澤
(廣西農(nóng)業(yè)職業(yè)技術(shù)學(xué)院 現(xiàn)代教育技術(shù)與網(wǎng)絡(luò)信息中心,廣西 南寧 530007)
各高校在網(wǎng)站建設(shè)和推廣應(yīng)用過(guò)程中普遍存在以下問(wèn)題:一是在建設(shè)學(xué)校門戶網(wǎng)站、各部門網(wǎng)站、學(xué)科網(wǎng)站和課程網(wǎng)站時(shí)各自為政獨(dú)立建設(shè),費(fèi)時(shí)費(fèi)力;二是由于各個(gè)網(wǎng)站建設(shè)技術(shù)水平參差不齊,存在許多安全漏洞;三是由于各個(gè)網(wǎng)站數(shù)據(jù)很難共享集成,無(wú)法實(shí)現(xiàn)高校所有網(wǎng)站數(shù)據(jù)信息統(tǒng)一搜索功能,大大影響網(wǎng)站使用效果。因此,為了提高高校網(wǎng)站建設(shè)和應(yīng)用水平,必須解決好高校內(nèi)部各部門網(wǎng)站之間相互獨(dú)立無(wú)法實(shí)現(xiàn)數(shù)據(jù)共享問(wèn)題以及建設(shè)網(wǎng)站的統(tǒng)一規(guī)劃和標(biāo)準(zhǔn)問(wèn)題。為此,學(xué)院信息中心經(jīng)過(guò)多年研發(fā),成功開(kāi)發(fā)了網(wǎng)站群管理系統(tǒng),并基于此系統(tǒng)建設(shè)了學(xué)院門戶網(wǎng)站、各部門子網(wǎng)站、精品課程網(wǎng)站、教學(xué)資源網(wǎng)站等,建成了包含有100多個(gè)網(wǎng)站的網(wǎng)站集群。
網(wǎng)站群是由統(tǒng)一規(guī)劃建設(shè)的若干個(gè)能夠相互共享信息、按照一定的隸屬關(guān)系組織在一起,既可以統(tǒng)一管理,也可以獨(dú)立管理自成體系的網(wǎng)站集合[1]。網(wǎng)站群的建設(shè)應(yīng)該是基于統(tǒng)一的網(wǎng)站群管理系統(tǒng)、統(tǒng)一的后臺(tái)數(shù)據(jù)庫(kù)、統(tǒng)一的監(jiān)測(cè)系統(tǒng),按部門用戶分級(jí)、分權(quán)限管理。高校網(wǎng)站群主要包括新聞?lì)惥W(wǎng)站和教學(xué)資源類網(wǎng)站,通過(guò)統(tǒng)一的網(wǎng)站群管理系統(tǒng)來(lái)構(gòu)建高校網(wǎng)站,可以方便實(shí)現(xiàn)各網(wǎng)站之間信息資源整合和數(shù)據(jù)共享。
ASP.NET是一個(gè)統(tǒng)一的Web開(kāi)發(fā)模型,它包括您使用盡可能少的代碼生成企業(yè)級(jí)Web應(yīng)用程序所必需的全面服務(wù)。ASP.NET作為.NET Framework的一部分,在基于ASP.NET技術(shù)進(jìn)行程序代碼編寫時(shí),可以直接使用.NET Framework中的類。開(kāi)發(fā)者在編寫應(yīng)用程序代碼時(shí),能使用Microsoft Visual Basic和 C#等語(yǔ)言,這些語(yǔ)言都與公共語(yǔ)言運(yùn)行時(shí)(CLR)相兼容。基于這些編程語(yǔ)言開(kāi)發(fā)ASP.NET應(yīng)用軟件,可以充分利用公共語(yǔ)言運(yùn)行時(shí)類型安全、繼承等方面的優(yōu)點(diǎn)。
網(wǎng)站群管理系統(tǒng)應(yīng)具有創(chuàng)建和管理新聞?lì)惥W(wǎng)站和教學(xué)資源類網(wǎng)站的功能。新聞?lì)惥W(wǎng)站主要包括學(xué)院門戶網(wǎng)站和各部門子網(wǎng)站,教學(xué)資源類網(wǎng)站包括各精品課程網(wǎng)站、教學(xué)資源共享網(wǎng)站等。系統(tǒng)應(yīng)具備以下功能:
(1)網(wǎng)站群后臺(tái)管理系統(tǒng):1)系統(tǒng)可以創(chuàng)建和管理不限數(shù)量的子網(wǎng)站,統(tǒng)一后臺(tái)管理系統(tǒng)上傳的子網(wǎng)站資源實(shí)現(xiàn)智能化分站點(diǎn)存放;2)系統(tǒng)應(yīng)具有全面、細(xì)致的權(quán)限管理功能,各類用戶分權(quán)限管理系統(tǒng)中的網(wǎng)站資源;3)各子網(wǎng)站菜單可以定制并自動(dòng)生成;4)網(wǎng)站群系統(tǒng)中的各子網(wǎng)站菜單信息保存于數(shù)據(jù)庫(kù)表,然后通過(guò)生成菜單XML文件并綁定Menu和TreeView等導(dǎo)航控件,從而形成網(wǎng)站菜單,以避免動(dòng)態(tài)從數(shù)據(jù)庫(kù)提取數(shù)據(jù)生成菜單而過(guò)度耗費(fèi)服務(wù)器資源;5)系統(tǒng)除了能自動(dòng)生成子網(wǎng)站菜單外,還應(yīng)支持人為技術(shù)干預(yù),靈活地組織生成各種個(gè)性化菜單,豐富網(wǎng)站的菜單導(dǎo)航方式;6)系統(tǒng)能方便進(jìn)行網(wǎng)站圖片資源的管理,圖片能批量上傳,自動(dòng)形成放大圖顯示方式。
(2)網(wǎng)站群中的各子網(wǎng)站:1)主站與各個(gè)子站的建設(shè)要基于統(tǒng)一的網(wǎng)站群平臺(tái),但彼此邏輯上相互獨(dú)立;2)在信息共享和交互方面,主站與子站整體統(tǒng)一,數(shù)據(jù)可以高度共享和交互;3)可采用欄目共享,也可以將新聞列表設(shè)為共享,其他網(wǎng)站只要調(diào)用此新聞列表,消息和新聞也就自動(dòng)進(jìn)行交互和共享;4)網(wǎng)站群系統(tǒng)在與其他業(yè)務(wù)系統(tǒng)進(jìn)行集成后,也可從業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)中提取信息并發(fā)布到網(wǎng)站上。
此外,對(duì)于教學(xué)資源類網(wǎng)站,還應(yīng)與我院現(xiàn)有教學(xué)管理信息平臺(tái)數(shù)據(jù)共享,互連互通;系統(tǒng)可統(tǒng)一管理多媒體網(wǎng)絡(luò)課程、多媒體課件、多媒體課件制作資料庫(kù)等。
系統(tǒng)的架構(gòu)設(shè)計(jì)如圖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)站菜單層級(jí)較多,而且不同菜單還需要對(duì)應(yīng)不同類別的程序功能。要科學(xué)組織管理龐大的菜單信息,對(duì)子網(wǎng)站及菜單進(jìn)行編碼非常重要。采用4位數(shù)字對(duì)子網(wǎng)站進(jìn)行編碼,如0001;子網(wǎng)站菜單編碼方法:子網(wǎng)站編碼+4位數(shù)字(一級(jí)菜單)+4位數(shù)字(二級(jí)菜單)+…,如00010003。詳見(jiàn)圖3、圖4所示。

圖3 網(wǎng)站菜單數(shù)據(jù)庫(kù)表(宣傳部子網(wǎng)站部分菜單)

圖4 網(wǎng)站群管理系統(tǒng)子網(wǎng)站及菜單編碼
在實(shí)現(xiàn)創(chuàng)建子網(wǎng)站的系統(tǒng)功能時(shí),需要生成網(wǎng)站編號(hào)、子網(wǎng)站文件夾、網(wǎng)站初始程序文件、網(wǎng)站初始菜單等重要網(wǎng)站信息。創(chuàng)建子網(wǎng)站程序流程如圖5所示:

圖5 創(chuàng)建子網(wǎng)站流程圖
(1)系統(tǒng)把生成好的網(wǎng)站編號(hào)保存于 session[“webcode”]中,并在創(chuàng)建網(wǎng)站菜單 XML文件(如0001.xml)、創(chuàng)建網(wǎng)站文件夾(Web0001)時(shí)應(yīng)用,如:myxmlfile="./xmlFile/"+Session["webcode"]+".xml",string str=Server.MapPath("../Web"+Session["webcode"])。
(2)在創(chuàng)建完子網(wǎng)站后再次進(jìn)入,系統(tǒng)則在網(wǎng)站管理員選擇子網(wǎng)站時(shí)獲取Session["webcode"]的值,然后利用Session["webcode"]值綁定對(duì)應(yīng)子網(wǎng)站的菜單XML文件,如:XmlDataSource1.DataFile="./xml-File/"+Session["webcode"]+".xml",同時(shí)匹配子網(wǎng)站的環(huán)境配置文件,如:content1.SecurityPolicyFile="Web"+Session["webcode"]+".config";
(3)進(jìn)入網(wǎng)站群管理系統(tǒng)后,可以添加、刪除、修改對(duì)應(yīng)編號(hào)子網(wǎng)站的菜單XML文件,每個(gè)菜單項(xiàng)可設(shè)置對(duì)應(yīng)為不同的程序功能,如普通網(wǎng)頁(yè)內(nèi)容管理、SWF文件內(nèi)容管理、圖片內(nèi)容管理、PPT內(nèi)容管理、錄像內(nèi)容管理等。
(4)通過(guò)子網(wǎng)站環(huán)境配置文件Web0001.config定義各子網(wǎng)站圖片、錄像等素材存放的路徑,克服了一般網(wǎng)站群系統(tǒng)把所有子網(wǎng)站的素材都?xì)w于同一目錄存放的缺點(diǎn),方便單個(gè)子網(wǎng)站的獨(dú)立遷移。
網(wǎng)站群管理系統(tǒng)后臺(tái)導(dǎo)航采用目錄樹(shù)形式、子網(wǎng)站前臺(tái)采用下拉菜單形式、管理菜單采用網(wǎng)格分層縮進(jìn)方式,如圖6所示。
3.3.1 采用網(wǎng)格分層縮進(jìn)方式管理網(wǎng)站菜單功能的實(shí)現(xiàn)技術(shù)
首先利用SQL語(yǔ)句:

查詢出菜單表的記錄。其中replace(space((Len(NodeCode)/4-1)*4),",' ')用于產(chǎn)生菜單名稱前的空格個(gè)數(shù),有了合適的空格個(gè)數(shù)進(jìn)行填充,然后把數(shù)據(jù)綁定給DataGrid控件,層級(jí)縮進(jìn)的效果就形成了。
3.3.2 管理網(wǎng)站群系統(tǒng)及子網(wǎng)站菜單XML文件的技術(shù)
(1)第一步:在新建子網(wǎng)站時(shí),系統(tǒng)自動(dòng)創(chuàng)建本子網(wǎng)站的菜單XML初始文件,命名規(guī)則:課程編號(hào)+XML,如:0001.xml,與子網(wǎng)站一一對(duì)應(yīng)。


圖6 系統(tǒng)導(dǎo)航、菜單及菜單功能管理圖
(2)第二步:初建網(wǎng)站完成后,可登錄進(jìn)入后臺(tái)管理系統(tǒng),動(dòng)態(tài)添加、修改本子網(wǎng)站的菜單項(xiàng)目和功能,并把菜單信息保存在數(shù)據(jù)庫(kù)表中,然后循環(huán)讀取菜單數(shù)據(jù)表生成菜單本子網(wǎng)站的完整XML文件。此功能可動(dòng)態(tài)實(shí)現(xiàn)不同菜單對(duì)應(yīng)不同程序功能,如:管理圖文混排網(wǎng)頁(yè)信息、管理上傳flash文件、管理圖片信息、管理留言信息、生成在線測(cè)試頁(yè)面等。
(3)第三步:利用生成好的菜單XML文件,前臺(tái)結(jié)合Mneu控件綁定形成下拉菜單,后臺(tái)結(jié)合TreeView控件綁定形成目錄樹(shù)導(dǎo)航,這樣可以減少對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),大大提高系統(tǒng)運(yùn)行效率。
3.3.3 系統(tǒng)前臺(tái)、后臺(tái)導(dǎo)航菜單的實(shí)現(xiàn)技術(shù)
(1)網(wǎng)站前臺(tái)頁(yè)面導(dǎo)航菜單實(shí)現(xiàn)的主要技術(shù)思想:假設(shè)用戶訪問(wèn)站群子網(wǎng)站的地址是 http://172.16.1.11:803/web0073/index.aspx,0073是本子網(wǎng)站的編號(hào),把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"對(duì)應(yīng)本子網(wǎng)站的XML文件,形成本網(wǎng)站的菜單。
(2)后臺(tái)管理系統(tǒng)導(dǎo)航采用Treeview控件綁定XML文件實(shí)現(xiàn),其實(shí)現(xiàn)基本原理與前臺(tái)頁(yè)面采用Menu控件綁定XML文件一樣。
本系統(tǒng)基于SWFUpload開(kāi)發(fā)了大文件和多文件管理功能,非常方便用于錄像等大容量文件的上傳,同時(shí)方便批量上傳圖片和網(wǎng)頁(yè)附件。SWFUpload是一個(gè)flash Player和js相結(jié)合而成的文件上傳插件,它提供開(kāi)源JavaScript類庫(kù),上傳功能強(qiáng)大,能較好支持.NET開(kāi)發(fā)環(huán)境。
基于SWFUpload實(shí)現(xiàn)大文件和多文件上傳功能的方法如下:
(1)把SWFUpload包括的所有程序文件及目錄復(fù)制到網(wǎng)站群管理系統(tǒng)開(kāi)發(fā)項(xiàng)目根目錄下,然后設(shè)計(jì)文件上傳功能頁(yè)面AdminUploadFile.aspx、后臺(tái)上傳程序頁(yè)面upload.aspx。
(2)設(shè)計(jì)好文件上傳功能頁(yè)面AdminUploadFile.aspx的相關(guān)參數(shù):
1)引入SWFUpload的幾個(gè)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"/>
對(duì)于新聞?lì)惖木W(wǎng)站,為了增強(qiáng)網(wǎng)頁(yè)的訪問(wèn)速度及系統(tǒng)安全性、穩(wěn)定性、易搜索性,需要把后臺(tái)上傳的新聞信息生成靜態(tài)網(wǎng)頁(yè)后再對(duì)外發(fā)布。本系統(tǒng)采用自定義網(wǎng)站模板的方式生成靜態(tài)網(wǎng)頁(yè)技術(shù)。該技術(shù)的關(guān)鍵是先把網(wǎng)頁(yè)公共部分制作成一個(gè)網(wǎng)頁(yè)模板,變化部分采用特殊字符代替。在系統(tǒng)生成靜態(tài)網(wǎng)頁(yè)前,程序首先讀取預(yù)定的網(wǎng)頁(yè)模板,然后查詢到各條記錄的數(shù)據(jù),用于替換網(wǎng)頁(yè)模板中的特殊字符,同時(shí)按規(guī)律給網(wǎng)頁(yè)命名并保存在網(wǎng)站相應(yīng)的目錄下。部分核心代碼如下:

系統(tǒng)自2007年開(kāi)始開(kāi)發(fā)使用,至今已經(jīng)過(guò)多次升級(jí)改版,取得較好應(yīng)用效果,體現(xiàn)如下:一是依托本系統(tǒng)已經(jīng)成功建設(shè)學(xué)院的門戶網(wǎng)站及各部門子網(wǎng)站30多個(gè);二是成功建設(shè)了49門精品課程網(wǎng)站,其中國(guó)家級(jí)1門、自治區(qū)級(jí)6門、院級(jí)42門;三是依托本系統(tǒng)開(kāi)發(fā)的多媒體網(wǎng)絡(luò)課件獲得較多榮譽(yù),其中榮獲全國(guó)多媒體課件大賽一等獎(jiǎng)1項(xiàng)、二等獎(jiǎng)1項(xiàng),優(yōu)秀獎(jiǎng)1項(xiàng),榮獲全區(qū)多媒體課件大賽多項(xiàng)。依托本課題的“教學(xué)資源建設(shè)與共享信息平臺(tái)的研究與實(shí)踐”獲2012年廣西高等教育自治區(qū)級(jí)教學(xué)成果二等獎(jiǎng)。本系統(tǒng)持續(xù)多年開(kāi)發(fā)應(yīng)用,實(shí)現(xiàn)多項(xiàng)技術(shù)創(chuàng)新:一是基于Web的大文件和多文件傳輸技術(shù);二是網(wǎng)站群中各子網(wǎng)站上傳的圖片、錄像、課件等素材實(shí)現(xiàn)智能分站點(diǎn)存放技術(shù),利于子網(wǎng)站獨(dú)立遷移;三是網(wǎng)站集群建設(shè)和管理技術(shù),所有子網(wǎng)站統(tǒng)一后臺(tái)管理,無(wú)限數(shù)量創(chuàng)建和管理子網(wǎng)站。
依托本系統(tǒng),我院已形成了建設(shè)和推廣網(wǎng)站的良好機(jī)制,目前學(xué)院信息中心只需要投入1名技術(shù)人員,一年就可建設(shè)幾十個(gè)子網(wǎng)站,取得較好應(yīng)用效果。今后,將持續(xù)升級(jí)開(kāi)發(fā)網(wǎng)站群管理系統(tǒng),應(yīng)用最新網(wǎng)站開(kāi)發(fā)技術(shù),增強(qiáng)系統(tǒng)功能及安全性,進(jìn)一步提高系統(tǒng)應(yīng)用價(jià)值。
[1]陸峰驊.高職院校網(wǎng)站群的建設(shè)研究與應(yīng)用[J].電腦知識(shí)與技術(shù),2011,18(7):4 513-4 515.
[2]郭廣軍,謝東,李魏豪.基于CMS的網(wǎng)站系統(tǒng)開(kāi)發(fā)技術(shù)研究及應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(11):2 500-2 502.
[3]李偉利,高寶,許興.內(nèi)容管理系統(tǒng)與高校信息化建設(shè)[J].實(shí)驗(yàn)技術(shù)與管理,2011,28(5):244-246.
[4]侯靜,鄧可君,劉福東.CMS在高校網(wǎng)站群建設(shè)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2011,28(4):220-222.