如何開發CMS

2021-05-21 12:27:13 字數 1174 閱讀 9077

內容管理系統是乙個很泛的概念:從商業門戶**的新聞系統到個人的weblog都可以稱作發布系統。

框架型:本身不包含任何應用實現,只是提供了底層框架,具體應用需要一定的二次開發,比如cocoon,vignette;

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

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

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)形式上更像靜態的目錄結構,方便**內容被搜尋引擎收錄;

開發簡單的CMS

任務描述 在資料庫中建立新聞資料庫表news,包含標題 作者 日期 正文等字段 建立html模板檔案 讀取資料庫中所有新聞資訊,並使用新聞資訊替換模板檔案中的佔位符,從而為每一條新聞生成乙個html靜態頁面。操作步驟 一 建立資料庫表news 1 資料庫採用sql server2008。2 建立資料...

CMS開發文件

cms專案匯入myeclipse 1.在myeclipse中新建乙個專案jeecms,將伺服器中jeecms專案下web inf資料夾下內容拷到新建專案中 2.解壓縮jeecms 3.0.2 final src,在src資料夾下會看到有三個壓縮檔案,如果只想進行普通的二次開發,可以只匯入cms這個原...

開源cms 和 開源部落格 開源如何擾亂CMS市場

開源cms 和 開源部落格 開源正日益改變著軟體行業。我們可以看到,開源產品如今在幾乎每個類別中都獲得了市場份額,並且這種發展正在持續快速發展。儘管在開源軟體方面,許多商務人士仍然憑直覺想到linux,但是內容管理系統在改變公司內部的思維方式中起著舉足輕重的作用。為什麼?因為cms行業是最早採用開源...