隨筆 - 19, 文章 - 93, 評論 - 17, 引用 - 0
          數據加載中……

          CMS和Portal選擇

          內容管理系統(CMS)/發布系統 的設計和選型

          內容管理系統概述


          內容管理系統是一個很泛的概念:從商業門戶網站的新聞系統到個人的Weblog都可以稱作發布系統。
          • 框架型:本身不包含任何應用實現,只是提供了底層框架,具體應用需要一定的二次開發,比如Cocoon,Vignette;
          • 應用型:本身是一個面向具體類型的應用實現,已經包含了新聞/評論管理,投票,論壇,WIKI等一些子系統。比如:postNukexoops等;

          但無論如何,在發布系統選型之前,首先了解自己的實際需求是最重要的:想根據現成系統將自己的需求硬往上照搬是非常不可取的。訪問量,權限控制和各種功能需求。每個模塊和功能自己都比較清晰一點以后,再去網上找找類似的實現:你會發現其實每個環節到目前上都有比較成熟的實現了,而且還在不斷完善和發展中,如果沒有:你的需求太特殊,或者可以嘗試分解成更小的系統組合實現。

          內容管理系統被分離成以下幾個層面:各個層面優先考慮的需求不同

          1. 后臺業務子系統管理(管理優先:內容管理):新聞錄入系統,BBS論壇子系統,全文檢索子系統等,針對不同系統的方便管理者的內容錄入:所見即所得的編輯管理界面等,清晰的業務邏輯:各種子系統的權限控制機制等;
          2. Portal系統(表現優先:模板管理):大部分最終的輸出頁面:網站首頁,子頻道/專題頁,新聞詳情頁一般就是各種后臺子系統模塊的各種組合,這種發布組合邏輯是非常豐富的,Portal系統就是負責以上這些后臺子系統的組合表現管理;
          3. 前臺發布(效率優先:發布管理):面向最終用戶的緩存發布,和搜索引擎spider的URL設計等……
          ??????內容管理和表現的分離:很多成套的CMS系統沒有把后臺各種子系統和Portal分離開設計,以至于在Portal層的模板表現管理和新聞子系統的內容管理邏輯混合在一起,甚至和BBS等子系統的管理都耦合的非常高,整個系統會顯得非常龐雜。而且這樣的系統各個子系統捆綁的比較死,如果后臺的模塊很難改變。但是如果把后臺各種子系統內容管理邏輯和前臺的表現/發布分離后,Portal和后臺各個子系統之間只是數據傳遞的關系:Portal只決定后臺各個子系統數據的取舍和表現,而后臺的各個子系統也都非常容易插拔。

          ??????內容管理和數據分發的分離:需要要Portal系統設計的時候注意可緩存性(Cache Friendly)性設計:CMS后臺管理和發布機制,本身不要過多考慮“效率”問題,只要最終頁面輸出設計的比較Cacheable,效率問題可通過更前端專門的緩存服務器解決。

          ??????此外,就是除了面向最終瀏覽器用戶外,還要注意面向搜索引擎友好(Search engine Friendly)的URL設計:通過URL REWRITE轉向或基于PATH_INFO的參數解析使得動態網頁在鏈接(URI)形式上更像靜態的目錄結構,方便網站內容被搜索引擎收錄;

          ---------------    ---------------     ---------------                    
          |新聞管理子系統| | BBS論壇子系統| | 商城子系統 |
          --------------- --------------- ---------------
          | \ / | \ / 內
          | ----------|--- \ / 容 <== 業務子系統(零件生產)
          | / | \ \ / 管
          --------------- | --------------- 理
          |專題制作子系統| | |全文檢索子系統|
          --------------- | ---------------
          \ | /
          -------------------------|---------------------------------------------
          \ | / 頻
          --------------- 道 <== Portal系統(產品組裝)
          | Portal 系統 | 管
          --------------- 理
          |
          -------------------------|---------------------------------------------
          | 前
          | 臺 <== 發布系統(分發代理)
          --------------- 發
          |前臺發布系統 | 布
          ---------------
          / \
          / \
          --------------- ---------------
          | 用戶瀏覽器 | |Search Engine|
          --------------- ---------------

          這里,我把在內容發布系統選型中找到的一些資料總結如下:

            內容管理系統的選型

            關鍵詞:CMS Content Manage System

            CMS行業研究
            http://www.cmswatch.com/
            http://www.cmsreview.com/
            http://www.cmsinfo.org/

            CMS討論郵件列表
            http://www.cms-list.org/

            商業軟件和開源項目列表:
            http://directory.google.com/Top/Computers/Software/Internet/Site_Management/Content_Management/

            推薦:基于XML的發布框架
            http://cocoon.apache.org/

            具體實現復雜程度可能會根據需求的不同而不同,但越是大型的系統越是需要分工:將內容(數據),表現(模板)和應用邏輯(程序)盡可能分離和對這3 者的管理。

            Portal---門戶系統
            Open source Projects:
            http://jportlet.sourceforge.net/
            Apache Software Foundation: Jakarta JetSpeed 1.3
            JetSpeed 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/

            商業軟件:
            BEA WebLogic Portal - http://edocs.bea.com/wlp/docs81/javadoc/com/bea/Portal/model/Portlet.html
            IBM Websphere Portal - http://www.software.ibm.com/wsdd/zones/Portal/
            Oracle Portal Developer Kit - http://Portalstudio.oracle.com/

            其它:
            PSML - http://jakarta.apache.org/jetspeed/site/psml.html
            BEA: Web Logic Portal 4.0 http://www.bea.com/products/weblogic/Portal/index.shtml
            IBM: WebSphere Portal 2.1 http://www-4.ibm.com/software/webservers/Portal/
            iPlanet: iPlanet Portal Server 3.0 http://www.iplanet.com/products/iplanet_Portal/home_Portal.html
            Oracle: Oracle 9i Portal http://www.oracle.com/ip/deploy/ias/Portal/index.html
            SAP Portal: http://www.iviewstudio.com/
            Epicentric Portal: http://www.epicentric.com/solutions/products/efs/

            參考:
            Wafer:Java開發框架研究
            http://www.waferproject.org/index.html

            門戶(Portal)系統相關開發框架:
            http://udoo.51.net/mt/archives/000011.html

            廣告管理系統

            關鍵詞:ad server

            廣告系統和內容的分離,可以大大降低系統之間的關聯度。
            ?
            專業行業研究網站:
            http://adres.internet.com/

            相關廠商和開源項目:
            http://directory.google.com/Top/Computers/Programming/Languages/PHP/Scripts/Ad_Management/?il=1
            http://directory.google.com/Top/Computers/Software/Internet/Servers/Advertising/?tc=1
            http://www.jspin.com/home/apps/admanage?cob=winedit
            http://www.scriptdex.com/dex/php_ad_management.shtml

            推薦:
            http://www.phpadsnew.com/ 功能性比較強
            http://oasis.sourceforge.net/ 免費 基于日志記錄和定期導入MYSQL統計,可以負載50萬請求/每小時 以上

            如果看重廣告的第3方特性,可以選擇第三方服務:
            http://www.doubleclick.net/
            http://www.allyes.com/

            論壇/社區系統

            關鍵詞: BBS FORUM

            論壇軟件介紹:
            http://directory.google.com/Top/Computers/Internet/Web_Design_and_Development/Message_Boards/

            推薦:
            http://www.phpbb.com/ PHP + MySQL open source
            http://www.vbulletin.com/order/ PHP + MySQL? 有付費的商業支持85-160$

            http://www.jivesoftware.com/products/pricing.jsp 商業論壇系統,1000$-2500$ 有知識庫擴展應用
            http://yazd.yasna.com/features.jsp 基于 Java

            所見即所得(WYSIWYG)編輯器

            ??????在內容的錄入管理方面,所見即所得是比較重要的,這樣可以大大簡化對系統中布局排版的需求。
            ??????基于瀏覽器的WYSIWYG(所見即所得)編輯器是CMS設計中,編輯工具的主要考慮方面。目前主要是通過JAVASCRIPT調用IE或其他瀏覽器的內置方法實現。其中基于IE5.5瀏覽器的實現最為簡潔。這里有一個完整的例子:

            Building a WYSIWYG HTML Editor Part 1/2
            Building a WYSIWYG HTML Editor Part 2/2

            主要功能:
            • 能夠通過JAVASCRIPT實現的基本功能:加粗,斜體字,居中,添加鏈接,添加圖片,模式切換:HTML和文本模式的切換,
            • Word垃圾代碼過濾
            • 圖片上載接口:圖片上載最好通過其他獨立模塊實現。
            選型指標:
            • 不依賴服務器端代碼:只通過JAVASCRIPT或客戶端控件實現代碼,可以保證以后系統遷移的方便。
            • WORD垃圾代碼過濾
            可視化編輯器大全:
            http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html

            推薦:
            http://www.aine.be/aynhtml/

            圖片/文件上傳組建

            ??????圖片和文件等非結構化數據還是分別使用另外的服務解決比較好。這樣可以大大簡化CMS本身的復雜程度。

            推薦:
            文件上傳:
            Apache Commons項目
            http://jakarta.apache.org/commons/

            ImageJ:圖片處理縮略圖生成和水印等
            http://rsb.info.nih.gov/ij/

          posted on 2006-12-05 10:26 BPM 閱讀(3498) 評論(0)  編輯  收藏 所屬分類: Portal

          主站蜘蛛池模板: 常熟市| 宁夏| 当涂县| 怀安县| 正定县| 随州市| 孟州市| 临武县| 秦安县| 韶关市| 新乡县| 海兴县| 疏勒县| 富蕴县| 惠来县| 即墨市| SHOW| 白朗县| 青阳县| 泽普县| 佳木斯市| 棋牌| 乌拉特中旗| 观塘区| 桦甸市| 利川市| 万州区| 小金县| 历史| 凤山市| 同心县| 西乡县| 皮山县| 保德县| 栾城县| 宁南县| 政和县| 呼伦贝尔市| 禄劝| 英山县| 锦州市|