內(nèi)容管理系統(tǒng)的設(shè)計(jì)和選型
作者:理想轉(zhuǎn)貼自:理想帝國(guó)
原文出處:http://www.chedong.com/tech/cms.html關(guān)鍵詞:"content manage system" cms 內(nèi)容管理系統(tǒng)
內(nèi)容摘要:
內(nèi)容管理系統(tǒng)概述
內(nèi)容管理系統(tǒng)的選型
廣告管理系統(tǒng)的選型
論壇/社區(qū)系統(tǒng)的選型
所見即所得編輯器的選型
圖片上傳和文件管理組件
內(nèi)容管理系統(tǒng)概述內(nèi)容管理系統(tǒng)是一個(gè)很泛的概念:從商業(yè)門戶網(wǎng)站的新聞系統(tǒng)到個(gè)人的Weblog都可以稱作發(fā)布系統(tǒng)。
框架型:本身不包含任何應(yīng)用實(shí)現(xiàn),只是提供了底層框架,具體應(yīng)用需要一定的二次開發(fā),比如Cocoon,Vignette;
應(yīng)用型:本身是一個(gè)面向具體類型的應(yīng)用實(shí)現(xiàn),已經(jīng)包含了新聞/評(píng)論管理,投票,論壇,WIKI等一些子系統(tǒng)。比如:postNuke xoops等;
但無論如何,在發(fā)布系統(tǒng)選型之前,首先了解自己的實(shí)際需求是最重要的:想根據(jù)現(xiàn)成系統(tǒng)將自己的需求硬往上照搬是非常不可取的。訪問量,權(quán)限控制和各種功能需求。每個(gè)模塊和功能自己都比較清晰一點(diǎn)以后,再去網(wǎng)上找找類似的實(shí)現(xiàn):你會(huì)發(fā)現(xiàn)其實(shí)每個(gè)環(huán)節(jié)到目前上都有比較成熟的實(shí)現(xiàn)了,而且還在不斷完善和發(fā)展中,如果沒有:你的需求太特殊,或者可以嘗試分解成更小的系統(tǒng)組合實(shí)現(xiàn)。
內(nèi)容管理系統(tǒng)被分離成以下幾個(gè)層面:各個(gè)層面優(yōu)先考慮的需求不同
后臺(tái)業(yè)務(wù)子系統(tǒng)管理(管理優(yōu)先:內(nèi)容管理):新聞錄入系統(tǒng),BBS論壇子系統(tǒng),全文檢索子系統(tǒng)等,針對(duì)不同系統(tǒng)的方便管理者的內(nèi)容錄入:所見即所得的編輯管理界面等,清晰的業(yè)務(wù)邏輯:各種子系統(tǒng)的權(quán)限控制機(jī)制等;
Portal系統(tǒng)(表現(xiàn)優(yōu)先:模板管理):大部分最終的輸出頁面:網(wǎng)站首頁,子頻道/專題頁,新聞詳情頁一般是各種后臺(tái)子系統(tǒng)模塊的各種組合,這種發(fā)布組合邏輯是非常豐富的,Portal系統(tǒng)是負(fù)責(zé)以上這些后臺(tái)子系統(tǒng)的組合表現(xiàn)管理;
前臺(tái)發(fā)布(效率優(yōu)先:發(fā)布管理):面向最終用戶的緩存發(fā)布,和搜索引擎spider的URL設(shè)計(jì)等……
內(nèi)容管理和表現(xiàn)的分離:很多成套的CMS系統(tǒng)沒有把后臺(tái)各種子系統(tǒng)和Portal分離開設(shè)計(jì),以至于在Portal層的模板表現(xiàn)管理和新聞子系統(tǒng)的內(nèi)容管理邏輯混合在一起,甚至和BBS等子系統(tǒng)的管理都耦合的非常高,整個(gè)系統(tǒng)會(huì)顯得非常龐雜。而且這樣的系統(tǒng)各個(gè)子系統(tǒng)捆綁的比較死,如果后臺(tái)的模塊很難改變。但是如果把后臺(tái)各種子系統(tǒng)內(nèi)容管理邏輯和前臺(tái)的表現(xiàn)/發(fā)布分離后,Portal和后臺(tái)各個(gè)子系統(tǒng)之間只是數(shù)據(jù)傳遞的關(guān)系:Portal只決定后臺(tái)各個(gè)子系統(tǒng)數(shù)據(jù)的取舍和表現(xiàn),而后臺(tái)的各個(gè)子系統(tǒng)也都非常容易插拔。內(nèi)容管理和數(shù)據(jù)分發(fā)的分離:需要要Portal系統(tǒng)設(shè)計(jì)的時(shí)候注意可緩存性(Cache Friendly)性設(shè)計(jì):CMS后臺(tái)管理和發(fā)布機(jī)制,本身不要過多考慮“效率”問題,只要最終頁面輸出設(shè)計(jì)的比較Cacheable,效率問題可通過更前端專門的緩存服務(wù)器解決。此外,是除了面向最終瀏覽器用戶外,還要注意面向搜索引擎友好(Search engine Friendly)的URL設(shè)計(jì):通過URL REWRITE轉(zhuǎn)向或基于PATH_INFO的參數(shù)解析使得動(dòng)態(tài)網(wǎng)頁在鏈接(URI)形式上更像靜態(tài)的目錄結(jié)構(gòu),方便網(wǎng)站內(nèi)容被搜索引擎收錄;
這里,我把在內(nèi)容發(fā)布系統(tǒng)選型中找到的一些資料總結(jié)如下:
內(nèi)容管理系統(tǒng)的選型
關(guān)鍵詞:CMS Content Manage System
CMS行業(yè)研究http://www.cmswatch.comhttp://www.cmsreview.comhttp://www.cmsinfo.orgCMS討論郵件列表http://www.cms-list.org
商業(yè)軟件和開源項(xiàng)目列表:http://directory.google.com/Top/.../Content_Management/
推薦:基于XML的發(fā)布框架http://cocoon.apache.org/
具體實(shí)現(xiàn)復(fù)雜程度可能會(huì)根據(jù)需求的不同而不同,但越是大型的系統(tǒng)越是需要分工:將內(nèi)容(數(shù)據(jù)),表現(xiàn)(模板)和應(yīng)用邏輯(程序)盡可能分離和對(duì)這3 者的管理。
Portal---門戶系統(tǒng) Open source Projects: http://jportlet.sourceforge.net/ Apache Software Foundation: Jakarta JetSpeed 1.3JetSpeed home page: http://jakarta.apache.org/jetspeed/site/index.html JetSpeed Portlet API: http://cvs.apache.org/viewcvs/jakarta-jetspeed/proposals/portletAPI/http://www.liferay.com/home/index.jsp http://basicPortal.com/ http://www.jahia.org/ http://jporta.sourceforge.net/ 商業(yè)軟件:BEA WebLogic Portalhttp://edocs.bea.com/wlp/docs81/javadoc/com/bea/Portal/model/Portlet.html IBM Websphere Portalhttp://www.software.ibm.com/wsdd/zones/Portal/ Oracle Portal Developer Kithttp://Portalstudio.oracle.com/ 其它: PSMLhttp://jakarta.apache.org/jetspeed/site/psml.htmlBEA: Web Logic Portal 4.0http://www.bea.com/products/weblogic/Portal/index.shtmlIBM: WebSphere Portal 2.1http://www-4.ibm.com/software/webservers/Portal/ iPlanet: iPlanet Portal Server 3.0http://www.iplanet.com/products/iplanet_Portal/home_Portal.htmlOracle: Oracle 9i Portalhttp://www.oracle.com/ip/deploy/ias/Portal/index.htmlSAP Portal:http://www.iviewstudio.comEpicentric Portal:http://www.epicentric.com/solutions/products/efs/參考:Wafer:Java開發(fā)框架研究http://www.waferproject.org/index.html門戶(Portal)系統(tǒng)相關(guān)開發(fā)框架:http://udoo.51.net/mt/archives/000011.html
廣告管理系統(tǒng)
關(guān)鍵詞:ad server
廣告系統(tǒng)和內(nèi)容的分離,可以大大降低系統(tǒng)之間的關(guān)聯(lián)度。專業(yè)行業(yè)研究網(wǎng)站:http://adres.internet.com相關(guān)廠商和開源項(xiàng)目:http://directory.google.com/...../Ad_Management/?il=1http://directory.google.com/...../Servers/Advertising/?tc=1http://www.jspin.com/home/apps/admanage?cob=winedithttp://www.scriptdex.com/dex/php_ad_management.shtml
推薦:http://www.phpadsnew.com/ 功能性比較強(qiáng) http://oasis.sourceforge.net/ 免費(fèi) 基于日志記錄和定期導(dǎo)入MYSQL統(tǒng)計(jì),可以負(fù)載50萬請(qǐng)求/每小時(shí) 以上如果看重廣告的第3方特性,可以選擇第三方服務(wù):http://www.doubleclick.net/http://www.allyes.com/
論壇/社區(qū)系統(tǒng) 關(guān)鍵詞: BBS FORUM論壇軟件介紹:http://directory.google.com/.../Message_Boards/推薦:http://www.phpBB.comPHP + MySQL open sourcehttp://www.vbulletin.com/order/PHP + MySQL 有付費(fèi)的商業(yè)支持85-160$http://www.jivesoftware.com/products/pricing.jsp商業(yè)論壇系統(tǒng),1000$-2500$ 有知識(shí)庫擴(kuò)展應(yīng)用http://yazd.yasna.com/features.jsp基于 Java
所見即所得(WYSIWYG)編輯器在內(nèi)容的錄入管理方面,所見即所得是比較重要的,這樣可以大大簡(jiǎn)化對(duì)系統(tǒng)中布局排版的需求;跒g覽器的WYSIWYG(所見即所得)編輯器是CMS設(shè)計(jì)中,編輯工具的主要考慮方面。目前主要是通過javascript調(diào)用IE或其他瀏覽器的內(nèi)置方法實(shí)現(xiàn)。其中基于IE5.5瀏覽器的實(shí)現(xiàn)最為簡(jiǎn)潔。這里有一個(gè)完整的例子:http://www.devarticles.com/printpage.php?articleId=90http://www.devarticles.com/printpage.php?articleId=116主要功能:
能夠通過javascript實(shí)現(xiàn)的基本功能:加粗,斜體字,居中,添加鏈接,添加圖片,模式切換:HTML和文本模式的切換,
Word垃圾代碼過濾
圖片上載接口:圖片上載通過其他獨(dú)立模塊實(shí)現(xiàn)。 選型指標(biāo):
不依賴服務(wù)器端代碼:只通過javascript或客戶端控件實(shí)現(xiàn)代碼,可以保證以后系統(tǒng)遷移的方便。
WORD垃圾代碼過濾 可視化編輯器大全:http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html推薦:http://www.aine.be/aynhtml/
圖片/文件上傳組建圖片和文件等非結(jié)構(gòu)化數(shù)據(jù)還是分別使用另外的服務(wù)解決比較好。這樣可以大大簡(jiǎn)化CMS本身的復(fù)雜程度。推薦:文件上傳:Apache Commons項(xiàng)目http://jakarta.apache.org/commons/ImageJ:圖片處理縮略圖生成和水印等http://rsb.info.nih.gov/ij/