張曉靜 呂航 張帆
摘要:根據(jù)某政企類門戶網(wǎng)站系統(tǒng)的管理經(jīng)驗(yàn),首先概括了門戶網(wǎng)站及內(nèi)容管理系統(tǒng)的結(jié)構(gòu)關(guān)系、總體系統(tǒng)架構(gòu)和政企門戶網(wǎng)站常規(guī)需求,在該基礎(chǔ)上論述了內(nèi)容管理系統(tǒng)主要功能及如何通過它實(shí)現(xiàn)門戶網(wǎng)站管理和運(yùn)轉(zhuǎn);然后研究內(nèi)容與表現(xiàn)分離思想、內(nèi)容編輯和信息組織結(jié)構(gòu)這三個(gè)重要問題對應(yīng)的關(guān)鍵技術(shù),以此為切入點(diǎn)窺探內(nèi)容管理系統(tǒng)底層實(shí)現(xiàn)機(jī)制,并據(jù)此為網(wǎng)站管理人員決策提供了思路;最后,多方面綜合闡述了系統(tǒng)研究與應(yīng)用實(shí)踐過程中得出的運(yùn)維和管理建議。
關(guān)鍵詞:門戶網(wǎng)站;內(nèi)容管理系統(tǒng);頁面結(jié)構(gòu);內(nèi)容模型;內(nèi)容與表現(xiàn)分離;模板語言
中圖分類號:TP315? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)04-0070-03
政企門戶網(wǎng)站信息資源豐富、更新頻繁,是以展示為主、交互為輔的信息類站點(diǎn),主要作用是展示信息、宣傳教育、提供服務(wù),通常基于內(nèi)容管理系統(tǒng)(Content Management System, CMS)實(shí)現(xiàn)。
內(nèi)容管理系統(tǒng)是一種用于網(wǎng)站建設(shè)與內(nèi)容管理的軟件系統(tǒng),支持快速搭建網(wǎng)站、便捷地采集信息和管理網(wǎng)站、高效地更新發(fā)布信息,能夠有效降低網(wǎng)站維護(hù)成本與難度?!皟?nèi)容”指一切網(wǎng)站上出現(xiàn)的信息,包括文字、表格、超鏈接、圖片、視頻等[1],網(wǎng)站管理人員通過登錄內(nèi)容管理系統(tǒng)錄入、編輯、審批、發(fā)布這些信息。目前國內(nèi)的內(nèi)容管理系統(tǒng)有很多,例如PHPCMS、五指CMS、SiteServer CMS,有一定技術(shù)力量又不便開發(fā)一套全新系統(tǒng)的機(jī)構(gòu),可采用開源內(nèi)容管理系統(tǒng)建站。
本文旨在通過研究門戶網(wǎng)站及內(nèi)容管理系統(tǒng)的功能需求和運(yùn)轉(zhuǎn)機(jī)制,總結(jié)合理的運(yùn)維經(jīng)驗(yàn)和建議。
1 系統(tǒng)概述
門戶網(wǎng)站是外在表現(xiàn)和最終目的,內(nèi)容管理系統(tǒng)是實(shí)際實(shí)現(xiàn),網(wǎng)站管理人員習(xí)慣稱門戶網(wǎng)站為前臺、內(nèi)容管理系統(tǒng)為后臺,前臺頁面是后臺發(fā)布生成的文件,存儲(chǔ)在服務(wù)器上,二者也可以看作一個(gè)整體,都屬于廣義的門戶網(wǎng)站,系統(tǒng)總體架構(gòu)如圖1所示。
1.1 門戶網(wǎng)站常規(guī)需求
政企門戶網(wǎng)站的目標(biāo)是自我展示、傳遞動(dòng)態(tài)、服務(wù)交流,常規(guī)需求有:組織概況、新聞動(dòng)態(tài)、通知公告、事務(wù)公開、問卷調(diào)查、在線辦事、全站搜索。從技術(shù)開發(fā)的角度看,頁面展現(xiàn)途徑主要有兩種,一是通過文字、圖片等載體展示信息,二是通過表單等交互控件提供服務(wù)入口。在內(nèi)容管理系統(tǒng)中對應(yīng)著不同的內(nèi)容模型。從信息聚合形式的角度看,頁面結(jié)構(gòu)基本分為四個(gè)層級:一是網(wǎng)站主頁;二是專題模塊頁,聚合多個(gè)模塊列表信息;三是模塊列表頁、搜索結(jié)果頁,展示一個(gè)列表信息;四是內(nèi)容詳情頁、功能頁,展示一條信息的具體內(nèi)容,或服務(wù)辦事等具體交互功能。在內(nèi)容管理系統(tǒng)中對應(yīng)著不同的模板類型。
1.2 內(nèi)容管理系統(tǒng)主要功能
內(nèi)容管理系統(tǒng)一般是B/S架構(gòu),目標(biāo)是高效地管理與發(fā)布信息資源,實(shí)現(xiàn)網(wǎng)站建設(shè)及維護(hù)過程的良好分工協(xié)作,主要功能有信息管理、模板管理、發(fā)布管理、權(quán)限管理,此外通常還有站點(diǎn)管理、系統(tǒng)管理、日志告警、統(tǒng)計(jì)分析、文件管理、工作流管理等功能。
1.2.1 信息管理
在內(nèi)容管理系統(tǒng)中,信息一般以欄目、內(nèi)容的方式組織,網(wǎng)站的一篇文章對應(yīng)內(nèi)容管理系統(tǒng)中的一條內(nèi)容;一個(gè)文章模塊如“新聞動(dòng)態(tài)”對應(yīng)內(nèi)容管理系統(tǒng)中的一個(gè)欄目,是對信息的分類。
支持內(nèi)容管理,可以對內(nèi)容進(jìn)行增刪改、用所見即所得的富文本編輯器編輯正文,能夠設(shè)置內(nèi)容的標(biāo)題、作者等字段,通過單個(gè)或批量上傳WORD生成內(nèi)容,設(shè)置內(nèi)容“置頂”“NEW”等屬性,記錄點(diǎn)擊量、收藏量等統(tǒng)計(jì)數(shù)據(jù)。
支持自定義內(nèi)容模型,不同內(nèi)容模型發(fā)布后形成各種類型的網(wǎng)頁,例如新聞、公告都是文章展示類;問卷調(diào)查、在線辦事等屬于表單提交類內(nèi)容,應(yīng)支持自定義表單功能,設(shè)置實(shí)現(xiàn)功能所需的單選、多選、文本等表單項(xiàng)。
支持欄目管理,具有增刪改欄目、設(shè)置模板、所屬內(nèi)容模型、所屬內(nèi)容模板、父欄目等基本功能,可轉(zhuǎn)移欄目位置,復(fù)制、剪切、引用內(nèi)容至其他欄目。
1.2.2 模板管理
網(wǎng)站頁面大致分主頁、列表頁、內(nèi)容頁三類結(jié)構(gòu),相應(yīng)的模板分為主頁模板、欄目模板、內(nèi)容模板三類進(jìn)行管理。支持對模板增刪改、上傳、下載及復(fù)制,統(tǒng)一存儲(chǔ)圖片、CSS、JavaScript等相關(guān)文件。能夠設(shè)置欄目、內(nèi)容與模板綁定,修改綁定可快速切換對應(yīng)頁面外觀。系統(tǒng)應(yīng)提供一批基礎(chǔ)參考模板,能夠一鍵建站,系統(tǒng)管理員按需修改,實(shí)現(xiàn)個(gè)性化界面需求或全局更新。
1.2.3 發(fā)布管理
將管理員指定的欄目、內(nèi)容或首頁發(fā)布到網(wǎng)站上,支持批量發(fā)布、計(jì)劃發(fā)布、發(fā)布前預(yù)覽。
1.2.4 權(quán)限管理
建立基于角色的權(quán)限管理機(jī)制,通過角色劃分來分門別類地管理系統(tǒng)用戶,從而實(shí)現(xiàn)協(xié)作管理及分工維護(hù)。權(quán)限與角色相對應(yīng),是多對多的關(guān)系。系統(tǒng)用戶主要有系統(tǒng)管理員、網(wǎng)站管理員。系統(tǒng)管理員權(quán)限最高,可以對各級網(wǎng)站管理員進(jìn)行增刪改、設(shè)置其操作權(quán)限。各級網(wǎng)站管理員則集中于編輯內(nèi)容、發(fā)布信息。
1.2.5 數(shù)據(jù)存儲(chǔ)
采用數(shù)據(jù)驅(qū)動(dòng)方式,內(nèi)容數(shù)據(jù)、欄目數(shù)據(jù)、用戶數(shù)據(jù)等文本類信息結(jié)構(gòu)化存儲(chǔ)在數(shù)據(jù)庫,模板、圖片、頁面等文件放在服務(wù)器指定目錄集中管理,文件地址也存儲(chǔ)在數(shù)據(jù)庫中,支持一鍵備份和定期備份。
2 內(nèi)容管理系統(tǒng)關(guān)鍵技術(shù)研究
2.1 模板技術(shù)
內(nèi)容管理系統(tǒng)的基本思想是實(shí)現(xiàn)內(nèi)容與表現(xiàn)分離,模板技術(shù)是實(shí)現(xiàn)這一思想的關(guān)鍵,本質(zhì)是標(biāo)記替換,一般由四個(gè)部分組成:模板文件、模板語言、模板引擎和數(shù)據(jù)[2],模板引擎負(fù)責(zé)將編有模板語言的模板文件解析為瀏覽器可執(zhí)行的HTML文件,如圖2。Jinja、Smarty、Velocity都是這類工具,內(nèi)容管理系統(tǒng)可以引入,也可以根據(jù)自身需求自定義。
模板文件表達(dá)了頁面展示方式和信息,即如何“表現(xiàn)”,一般包括HTML、CSS、JavaScript和模板語言代碼。文件中通常以HTML規(guī)定頁面結(jié)構(gòu)、以CSS控制頁面樣式、以模板語言標(biāo)記數(shù)據(jù)調(diào)取方式及實(shí)現(xiàn)動(dòng)態(tài)邏輯,JavaScript則用來處理模板語言不涉及的動(dòng)態(tài)邏輯。例如新聞?lì)愋畔?,都含有?biāo)題、正文、作者等屬性,頁面結(jié)構(gòu)與樣式一致,可綁定同一個(gè)模板文件。
模板語言是一組自定義標(biāo)簽、變量和表達(dá)式,可以指代欄目、附件存儲(chǔ)地址等數(shù)據(jù),以及條件判斷、循環(huán)輸出、翻頁、訂閱等動(dòng)態(tài)邏輯,標(biāo)記了數(shù)據(jù)調(diào)用方式和相關(guān)功能。模板語言可看作HTML標(biāo)記語言的擴(kuò)展,HTML可以被瀏覽器執(zhí)行卻不能重用,模板語言達(dá)成了重用目的。
通常系統(tǒng)管理員負(fù)責(zé)編寫模板文件,網(wǎng)站管理員負(fù)責(zé)維護(hù)和發(fā)布內(nèi)容,二者各司其職,即分工完成內(nèi)容與表現(xiàn)。網(wǎng)站管理員編輯欄目時(shí)關(guān)聯(lián)模板即指定頁面展示方式,選擇發(fā)布欄目或內(nèi)容則調(diào)用模板引擎更新頁面。
模板語言支持標(biāo)記 “是否動(dòng)態(tài)顯示”,是關(guān)系到頁面響應(yīng)速度和網(wǎng)站管理效率的重要功能。標(biāo)記為動(dòng)態(tài)方式調(diào)取數(shù)據(jù)的欄目,初次發(fā)布并生成HTML文件時(shí),模板引擎將文件中欄目輸出位置解析為一段請求查詢數(shù)據(jù)庫的代碼,即生成動(dòng)態(tài)頁面。每一次訪問者訪問該頁面時(shí),瀏覽器會(huì)根據(jù)代碼發(fā)送HTTP請求,系統(tǒng)根據(jù)請求信息連接數(shù)據(jù)庫,查詢相關(guān)數(shù)據(jù)并響應(yīng)瀏覽器,訪問者看到的信息是當(dāng)前最新的。選擇動(dòng)態(tài)方式在后續(xù)內(nèi)容變動(dòng)時(shí)可以不發(fā)布,較為靈活,能減輕網(wǎng)站管理員工作量,提高管理效率,但數(shù)據(jù)庫操作頻繁比較消耗服務(wù)器資源。標(biāo)記為靜態(tài)方式調(diào)取數(shù)據(jù)的欄目,發(fā)布生成HTML文件時(shí),模板引擎將文件中欄目輸出位置代碼解析為帶有最新數(shù)據(jù)信息的HTML標(biāo)記語言,即生成靜態(tài)頁面。網(wǎng)站訪問者訪問頁面時(shí),服務(wù)器直接返回該頁面,不查詢數(shù)據(jù)庫。選擇靜態(tài)方式消耗服務(wù)器資源較少,可以加快頁面響應(yīng)速度,提高網(wǎng)站承載能力,但后續(xù)每次內(nèi)容變動(dòng)都要手動(dòng)發(fā)布。系統(tǒng)管理員編寫模板文件時(shí),可以根據(jù)不同欄目中內(nèi)容更新頻率選擇合適的方式。
2.2 富文本編輯器
所見即所得的富文本編輯器是編輯內(nèi)容最重要的工具,所見即所得是指文字、圖片、表格等內(nèi)容在編輯框里的視覺效果與實(shí)際頁面相同,支持各類信息混排并設(shè)置格式,是類似WORD的編輯能力。同時(shí)支持源代碼模式編輯,即直接修改HTML代碼,兩種模式能夠互換且實(shí)時(shí)生效。源代碼模式讓內(nèi)容編輯可以更深入。開源的富文本編輯器工具有很多,功能豐富且輕量級,如CKEditor、UEditor、TinyMCE,內(nèi)容管理系統(tǒng)的開發(fā)者選擇合適的工具引入即可。
2.3 欄目管理
欄目即網(wǎng)站信息的類別,欄目管理對應(yīng)了網(wǎng)站信息的目錄結(jié)構(gòu)管理。每個(gè)子欄目都有一個(gè)父欄目,一級欄目都是主頁的子欄目,每個(gè)欄目可以有多個(gè)子欄目或多條內(nèi)容??梢钥闯?,網(wǎng)站信息數(shù)據(jù)是樹型結(jié)構(gòu)的,根節(jié)點(diǎn)是主頁,非葉節(jié)點(diǎn)為子欄目,葉節(jié)點(diǎn)為內(nèi)容,每個(gè)節(jié)點(diǎn)綁定有若干屬性,欄目或內(nèi)容的增刪改查就是對樹節(jié)點(diǎn)的修改與查找,搜索欄目或內(nèi)容是調(diào)用樹的相關(guān)查找算法。網(wǎng)站管理員在創(chuàng)建欄目時(shí),子欄目層次不宜太深,信息分類盡可能清晰有序。
3 應(yīng)用實(shí)踐管理建議
3.1 信息歸類
應(yīng)合理規(guī)劃信息資源結(jié)構(gòu),以方便定位、易于查找、最大程度向訪問者提供信息訪問和事務(wù)處理的便捷性為主要原則。分析訪問者的需求和特點(diǎn),突出更新頻率高和關(guān)切度高的信息模塊。資源層級總體上扁平化,提高可讀性,適當(dāng)增加主頁信息量,采用便于靈活擴(kuò)展和結(jié)構(gòu)清晰的導(dǎo)航展示方式。
3.2 應(yīng)用集成
門戶網(wǎng)站往往需要集成多種外部應(yīng)用,可以采用提供外部鏈接、提取外部數(shù)據(jù)、嵌套IFrame等方式集成。提供外部鏈接的方式耦合度最低,不受外部應(yīng)用狀態(tài)影響,管理人員要綜合考慮網(wǎng)站展示需求和外部應(yīng)用穩(wěn)定性等情況選擇合適的方式。
3.3 模板優(yōu)化
編寫模板時(shí)可參考WEB前端性能優(yōu)化技巧,提高網(wǎng)站頁面性能。適當(dāng)精煉模板文件,合理復(fù)用公共部分、提取CSS樣式等調(diào)整頻率少的代碼作為外部獨(dú)立文件。但同一個(gè)頁面應(yīng)少引用或合并幾個(gè)外部文件,減少HTTP請求次數(shù)[3]。對加載頁面時(shí)稍晚才用到的外部文件,可以放在底部引用,減少加載等待時(shí)間。
3.4 安全防護(hù)
門戶網(wǎng)站常常面臨安全威脅,要結(jié)合風(fēng)險(xiǎn)防范和運(yùn)維檢測來抵御安全隱患。靜態(tài)頁面相對不易被病毒攻擊,也不易受數(shù)據(jù)庫或程序故障影響,合理運(yùn)用靜態(tài)頁面以提高網(wǎng)站安全性和穩(wěn)定性。通過配置防火墻策略,加強(qiáng)HTTP請求的類型、頻率等應(yīng)用層訪問控制,加強(qiáng)XSS攻擊、SQL注入等WEB攻擊的防護(hù),提升特殊字符等內(nèi)容過濾能力,設(shè)置源IP地址等網(wǎng)絡(luò)層訪問控制,阻斷普通網(wǎng)站訪問者對后臺內(nèi)容管理系統(tǒng)的訪問。同時(shí)做好系統(tǒng)用戶權(quán)限控制,日常進(jìn)行數(shù)據(jù)備份,定期組織技術(shù)檢測,分析網(wǎng)站狀態(tài)監(jiān)控與告警日志[4]。
4 結(jié)束語
本文深入研究了如何通過內(nèi)容管理系統(tǒng)有效建設(shè)政企類門戶網(wǎng)站,并基于以上研究內(nèi)容結(jié)合自身運(yùn)維經(jīng)驗(yàn),從各方面總結(jié)了管理建議,對網(wǎng)站設(shè)計(jì)和管理人員具有一定的參考價(jià)值。而本文僅根據(jù)政企類門戶網(wǎng)站及基礎(chǔ)的內(nèi)容管理系統(tǒng)功能探討,建設(shè)一個(gè)清晰流暢、穩(wěn)定可靠的門戶網(wǎng)站,還可以從界面設(shè)計(jì)、算法分析、管理制度等方面提高。還有適用于建設(shè)視頻網(wǎng)站或綜合性網(wǎng)站的內(nèi)容管理系統(tǒng),例如蘋果CMS、WordPress,更有走向平臺化、智能化的內(nèi)容管理系統(tǒng),比如通過數(shù)據(jù)挖掘技術(shù)實(shí)現(xiàn)內(nèi)容的自動(dòng)組織、歸類,自動(dòng)生成摘要、關(guān)鍵字[5],這些都可以作為下一步研究方向。
參考文獻(xiàn):
[1] 楊可乙,張?zhí)煜?基于ThinkPHP框架與MVC模式的CMS系統(tǒng)構(gòu)建[J].計(jì)算機(jī)時(shí)代,2017(7):21-23.
[2] 劉茗,曾海春.構(gòu)建高職院校門戶網(wǎng)站內(nèi)容管理系統(tǒng)關(guān)鍵問題初探[J].價(jià)值工程,2013,32(20):242-243.
[3] 李鵬樓.高性能門戶網(wǎng)站及其信息發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2019.
[4] 潘慶超,吳東偉.高校門戶網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2014,10(4):838-840.
[5] 陳霄峰.內(nèi)容管理系統(tǒng)的關(guān)鍵技術(shù)及其改進(jìn)[D].杭州:浙江大學(xué),2013.
收稿日期:2021-08-25
作者簡介:張曉靜(1990—),女,陜西大荔人,助理工程師,碩士,主要研究方向?yàn)橛?jì)算機(jī)科學(xué);呂航(1988—),男,河北徐水人,工程師,碩士,主要研究方向?yàn)榫W(wǎng)絡(luò)運(yùn)維與管理;張帆(1982—),女,北京人,助理研究員,碩士,主要研究方向?yàn)橛?jì)算機(jī)科學(xué)。