摘要: 隨著互聯網技術的迅猛發展,網站已成為發布信息和信息傳播的重要平臺。目前,幾乎每一個大學的各部門和院系都有自己的網站,而這些網站通常是互相獨立的,這帶來了維護和使用上的不便,也增加了維護網站的成本和崗位。在本文中,我們將針對此情況提出一種功能模塊可動態共享的,開發成本極低的網站群系統解決方案。所提供的解決方案將在多站點之間實現單點登錄;并能將功能模塊,如'新聞' , '下載'等模塊有選擇的實現共享;而各網站之間又各站點又都具有一定的獨立性。這一方案是基于開放源碼的內容管理系統—— XOOPS來實現的。
關鍵詞: 多站系統;XOOPS;CMS;內容管理系統;單點登陸;開源平臺
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)26-7356-02
A Multi-websites Solution for University Based on Open Source CMS
CHEN Ying1, SUN Jian-hong1, HE Jian-wei2
(1.Engineering College of Hong he University, Mengzi 661100 China;2.Yunnan Jiaotong College, Kunming 650501, China)
Abstract: With the rapid development of Internet technology, the website has become an important platform for releasing information. As a result, almost every university’s departments and faculties have their own website; and these websites usually are independent each other. In this paper, we will propose a dynamic, cost-effective and efficient multi-sites solution. The proposed solution will implement Single Sign-On (SSO) in campus network through a simple method; and a dynamic mechanism will be represented on share function modules, such as share ‘news’, ‘download’ modules. This scheme is designed based on the open source content management system, XOOPS.
Keywords: Multi-Website System; XOOPS;CMS;Single Sign-on;Open Source
本文討論的多站系統將由一個主站+若干子站點組成,子站點的數目可以隨時增減。主站點作為學校的門戶網站,子站點作各院系和部門的網站。主站點可有選擇的與子站點共享部分模塊和用戶信息,用戶信息的共享使多站系統實現單點登陸,而模塊的共享可整合資源,并降低維護成本和勞力。各子站點與主站點之間又相互具有一定的獨立性,可以單獨安裝功能模塊和選擇自己的主題界面。
依照上面所述需求分需,下面我們將詳細介紹此方案。本方案將基于國際上有名的開源CMS平臺——XOOPS上實現。
1 應用的技術基礎
XOOPS 全稱為eXtensible Object Oriented Portal System,意為可擴展的面向對象的門戶系統。 XOOPS可通過模塊的擴展在web框架上為小型、中型甚至大型網站提供解決方案。
XOOPS 的體系結構如圖1所示。它具有如下幾個基本功能:
·內核模塊化:XOOPS 的內核由幾個模塊組成。每個核心模塊可獨立升級。
·XOOPS 功能基于模塊化設計,每個功能模塊均可以方便的安裝和卸載。
·XOOPS使用Smarty模板引擎將業務邏輯開發和內容表達設計工作分離。Smarty模板作為程序員和設計師溝通的橋梁,將內容和模板融合編譯成最終的網頁呈現出來,并利用緩存機制提高訪問速度。
2 實現方法
首先,應用XOOPS平臺進行統一布置安裝。主站點和子站點的數據表應用前綴來進行區分,如圖2所示。
融合每個網站的7個用戶信息表可實現了在多站系統中的單點登陸。我們還可以采用同樣的方法,通過融合功能模塊的數據表來有選擇的實現功能模塊的共享來整合資源。
2.1 用戶數據表的融合
圖2是初始安裝后主站點和子站點1的數據表示意圖.。主站的數據表以‘main’來標示,子站點1的數據表以‘sub1’來標示,通過MySQL融合數據表引擎來對數據表進行融合,SQL代碼片段如下所示:
DROP TABLE sub_1_groups;
CREATE TABLE sub_1_groups (
groupid smallint(5) unsigned NOT NULL auto_increment,
name varchar(50) NOT NULL default '',
………
KEY groupid (groupid),
KEY group_type (group_type)
) TYPE=MERGE UNION=(main_groups) INSERT_METHOD=FIRST;
……………..
DROP TABLE sub_1_users;
CREATE TABLE sub_1_users (
uid mediumint(8) unsigned NOT NULL auto_increment,
name varchar(60) NOT NULL default '',
uname varchar(25) NOT NULL default '',
………
PRIMARY KEY (uid),
KEY uname (uname),
KEY email (email),
KEY uiduname (uid,uname),
KEY unamepass (uname,pass)
) TYPE= MyISAM ENGINE=MERGE UNION=(main_users) INSERT_METHOD=FIRST;
通過用戶數據表的融合,就建立起了主站點和子站點1的聯系,它們的系統結構由圖3來進行描述。
2.2 多個子站的系統擴展
利用前面融合數據表的方法可將子站n與主站進行數據表融合,則可將系統擴展為多站系統。得到的多站系統體系結構如圖4所示。
2.3 多站系統功能擴展
我們可用前小節融合用戶信息表的方法,有選擇地將各站點的功能模塊數據表進行數據融合,實現功能模塊共享,同時可保留各子站點安裝各自功能模塊的權限,保證各站點之間的相互獨立性和個性。
3 解決方案的實際應用效果分析
在本節中,將以實際的應用例子來測試和分析前述的方案。系統由Linux(Ubuntu)+Apache +MySQL + XOOPS搭建。系統由一個主網站和3個子站點組成。依照前面所述的技術,我們實現了3個子網站同主站點共享‘新聞模塊’、‘下載模塊’和‘用戶信息’。XOOPS的快速建站平臺只花費我們2個人力不到一周的時間,并實現了單點登錄,資源共享等功能。
4 結束語
在本文中,我們僅通過簡單的方法,就得到了一個動態而高效的多站系統。該解決方案還可以用于其他領域,如大公司、政府等。但是,與現在基于web2.0理念設計的信息系統相比,我們的多站系統方案還欠缺很多。正如文獻[1-3]所討論的,web 2.0門戶系統應作為長遠的建設目標,這也是我們今后工作的重點。由于本文提出的多站系統解決方案的高效、低成本和很短的建設周期等特點,高校完全可以在短期內利用本方案對信息系統進行改造,作為一種極佳的從Web 1.0到Web 2.0的過渡解決方案來使用。
參考文獻:
[1] Carlson P A.Web portals and faculty development[J].Frontiers in Education,2002,2(2).
[2] Zirpins C,Weinreich H,Bartelt A,et al.Advanced Concepts for Next Generation Portals[C].12th International Workshop on Database and Expert Systems,Applications,2001:501-506.
[3] Wynn M,Zhang S J.Web Portals in SMEs–Two Case Studies[C].Internet and Web Applications and Services,2008,ICIW '08,Third International Conference,2008:303-308.
[4] XOOPS[EB/OL].http://en.wikipedia.org/wiki/XOOP.
[5] 金震宇.政府網站群建設思路分析[J].信息化建設,2009(3):36-37.