张晓静 吕航 张帆
摘要:根据某政企类门户网站系统的管理经验,首先概括了门户网站及内容管理系统的结构关系、总体系統架构和政企门户网站常规需求,在该基础上论述了内容管理系统主要功能及如何通过它实现门户网站管理和运转;然后研究内容与表现分离思想、内容编辑和信息组织结构这三个重要问题对应的关键技术,以此为切入点窥探内容管理系统底层实现机制,并据此为网站管理人员决策提供了思路;最后,多方面综合阐述了系统研究与应用实践过程中得出的运维和管理建议。
关键词:门户网站;内容管理系统;页面结构;内容模型;内容与表现分离;模板语言
中图分类号:TP315 文献标识码:A
文章编号:1009-3044(2022)04-0070-03
政企门户网站信息资源丰富、更新频繁,是以展示为主、交互为辅的信息类站点,主要作用是展示信息、宣传教育、提供服务,通常基于内容管理系统(Content Management System, CMS)实现。
内容管理系统是一种用于网站建设与内容管理的软件系统,支持快速搭建网站、便捷地采集信息和管理网站、高效地更新发布信息,能够有效降低网站维护成本与难度。“内容”指一切网站上出现的信息,包括文字、表格、超链接、图片、视频等[1],网站管理人员通过登录内容管理系统录入、编辑、审批、发布这些信息。目前国内的内容管理系统有很多,例如PHPCMS、五指CMS、SiteServer CMS,有一定技术力量又不便开发一套全新系统的机构,可采用开源内容管理系统建站。
本文旨在通过研究门户网站及内容管理系统的功能需求和运转机制,总结合理的运维经验和建议。
1 系统概述
门户网站是外在表现和最终目的,内容管理系统是实际实现,网站管理人员习惯称门户网站为前台、内容管理系统为后台,前台页面是后台发布生成的文件,存储在服务器上,二者也可以看作一个整体,都属于广义的门户网站,系统总体架构如图1所示。
1.1 门户网站常规需求
政企门户网站的目标是自我展示、传递动态、服务交流,常规需求有:组织概况、新闻动态、通知公告、事务公开、问卷调查、在线办事、全站搜索。从技术开发的角度看,页面展现途径主要有两种,一是通过文字、图片等载体展示信息,二是通过表单等交互控件提供服务入口。在内容管理系统中对应着不同的内容模型。从信息聚合形式的角度看,页面结构基本分为四个层级:一是网站主页;二是专题模块页,聚合多个模块列表信息;三是模块列表页、搜索结果页,展示一个列表信息;四是内容详情页、功能页,展示一条信息的具体内容,或服务办事等具体交互功能。在内容管理系统中对应着不同的模板类型。
1.2 内容管理系统主要功能
内容管理系统一般是B/S架构,目标是高效地管理与发布信息资源,实现网站建设及维护过程的良好分工协作,主要功能有信息管理、模板管理、发布管理、权限管理,此外通常还有站点管理、系统管理、日志告警、统计分析、文件管理、工作流管理等功能。
1.2.1 信息管理
在内容管理系统中,信息一般以栏目、内容的方式组织,网站的一篇文章对应内容管理系统中的一条内容;一个文章模块如“新闻动态”对应内容管理系统中的一个栏目,是对信息的分类。
支持内容管理,可以对内容进行增删改、用所见即所得的富文本编辑器编辑正文,能够设置内容的标题、作者等字段,通过单个或批量上传WORD生成内容,设置内容“置顶”“NEW”等属性,记录点击量、收藏量等统计数据。
支持自定义内容模型,不同内容模型发布后形成各种类型的网页,例如新闻、公告都是文章展示类;问卷调查、在线办事等属于表单提交类内容,应支持自定义表单功能,设置实现功能所需的单选、多选、文本等表单项。
支持栏目管理,具有增删改栏目、设置模板、所属内容模型、所属内容模板、父栏目等基本功能,可转移栏目位置,复制、剪切、引用内容至其他栏目。
1.2.2 模板管理
网站页面大致分主页、列表页、内容页三类结构,相应的模板分为主页模板、栏目模板、内容模板三类进行管理。支持对模板增删改、上传、下载及复制,统一存储图片、CSS、JavaScript等相关文件。能够设置栏目、内容与模板绑定,修改绑定可快速切换对应页面外观。系统应提供一批基础参考模板,能够一键建站,系统管理员按需修改,实现个性化界面需求或全局更新。
1.2.3 发布管理
将管理员指定的栏目、内容或首页发布到网站上,支持批量发布、计划发布、发布前预览。
1.2.4 权限管理
建立基于角色的权限管理机制,通过角色划分来分门别类地管理系统用户,从而实现协作管理及分工维护。权限与角色相对应,是多对多的关系。系统用户主要有系统管理员、网站管理员。系统管理员权限最高,可以对各级网站管理员进行增删改、设置其操作权限。各级网站管理员则集中于编辑内容、发布信息。
1.2.5 数据存储
采用数据驱动方式,内容数据、栏目数据、用户数据等文本类信息结构化存储在数据库,模板、图片、页面等文件放在服务器指定目录集中管理,文件地址也存储在数据库中,支持一键备份和定期备份。
2 内容管理系统关键技术研究
2.1 模板技术
内容管理系统的基本思想是实现内容与表现分离,模板技术是实现这一思想的关键,本质是标记替换,一般由四个部分组成:模板文件、模板语言、模板引擎和数据[2],模板引擎负责将编有模板语言的模板文件解析为浏览器可执行的HTML文件,如图2。Jinja、Smarty、Velocity都是这类工具,内容管理系统可以引入,也可以根据自身需求自定义。
模板文件表达了页面展示方式和信息,即如何“表现”,一般包括HTML、CSS、JavaScript和模板语言代码。文件中通常以HTML规定页面结构、以CSS控制页面样式、以模板语言标记数据调取方式及实现动态逻辑,JavaScript则用来处理模板语言不涉及的动态逻辑。例如新闻类信息,都含有标题、正文、作者等属性,页面结构与样式一致,可绑定同一个模板文件。
模板语言是一组自定义标签、变量和表达式,可以指代栏目、附件存储地址等数据,以及条件判断、循环输出、翻页、订阅等动态逻辑,标记了数据调用方式和相关功能。模板语言可看作HTML标记语言的扩展,HTML可以被浏览器执行却不能重用,模板语言达成了重用目的。
通常系统管理员负责编写模板文件,网站管理员负责维护和发布内容,二者各司其职,即分工完成内容与表现。网站管理员编辑栏目时关联模板即指定页面展示方式,选择发布栏目或内容则调用模板引擎更新页面。
模板语言支持标记 “是否动态显示”,是关系到页面响应速度和网站管理效率的重要功能。标记为动态方式调取数据的栏目,初次发布并生成HTML文件时,模板引擎将文件中栏目输出位置解析为一段请求查询数据庫的代码,即生成动态页面。每一次访问者访问该页面时,浏览器会根据代码发送HTTP请求,系统根据请求信息连接数据库,查询相关数据并响应浏览器,访问者看到的信息是当前最新的。选择动态方式在后续内容变动时可以不发布,较为灵活,能减轻网站管理员工作量,提高管理效率,但数据库操作频繁比较消耗服务器资源。标记为静态方式调取数据的栏目,发布生成HTML文件时,模板引擎将文件中栏目输出位置代码解析为带有最新数据信息的HTML标记语言,即生成静态页面。网站访问者访问页面时,服务器直接返回该页面,不查询数据库。选择静态方式消耗服务器资源较少,可以加快页面响应速度,提高网站承载能力,但后续每次内容变动都要手动发布。系统管理员编写模板文件时,可以根据不同栏目中内容更新频率选择合适的方式。
2.2 富文本编辑器
所见即所得的富文本编辑器是编辑内容最重要的工具,所见即所得是指文字、图片、表格等内容在编辑框里的视觉效果与实际页面相同,支持各类信息混排并设置格式,是类似WORD的编辑能力。同时支持源代码模式编辑,即直接修改HTML代码,两种模式能够互换且实时生效。源代码模式让内容编辑可以更深入。开源的富文本编辑器工具有很多,功能丰富且轻量级,如CKEditor、UEditor、TinyMCE,内容管理系统的开发者选择合适的工具引入即可。
2.3 栏目管理
栏目即网站信息的类别,栏目管理对应了网站信息的目录结构管理。每个子栏目都有一个父栏目,一级栏目都是主页的子栏目,每个栏目可以有多个子栏目或多条内容。可以看出,网站信息数据是树型结构的,根节点是主页,非叶节点为子栏目,叶节点为内容,每个节点绑定有若干属性,栏目或内容的增删改查就是对树节点的修改与查找,搜索栏目或内容是调用树的相关查找算法。网站管理员在创建栏目时,子栏目层次不宜太深,信息分类尽可能清晰有序。
3 应用实践管理建议
3.1 信息归类
应合理规划信息资源结构,以方便定位、易于查找、最大程度向访问者提供信息访问和事务处理的便捷性为主要原则。分析访问者的需求和特点,突出更新频率高和关切度高的信息模块。资源层级总体上扁平化,提高可读性,适当增加主页信息量,采用便于灵活扩展和结构清晰的导航展示方式。
3.2 应用集成
门户网站往往需要集成多种外部应用,可以采用提供外部链接、提取外部数据、嵌套IFrame等方式集成。提供外部链接的方式耦合度最低,不受外部应用状态影响,管理人员要综合考虑网站展示需求和外部应用稳定性等情况选择合适的方式。
3.3 模板优化
编写模板时可参考WEB前端性能优化技巧,提高网站页面性能。适当精炼模板文件,合理复用公共部分、提取CSS样式等调整频率少的代码作为外部独立文件。但同一个页面应少引用或合并几个外部文件,减少HTTP请求次数[3]。对加载页面时稍晚才用到的外部文件,可以放在底部引用,减少加载等待时间。
3.4 安全防护
门户网站常常面临安全威胁,要结合风险防范和运维检测来抵御安全隐患。静态页面相对不易被病毒攻击,也不易受数据库或程序故障影响,合理运用静态页面以提高网站安全性和稳定性。通过配置防火墙策略,加强HTTP请求的类型、频率等应用层访问控制,加强XSS攻击、SQL注入等WEB攻击的防护,提升特殊字符等内容过滤能力,设置源IP地址等网络层访问控制,阻断普通网站访问者对后台内容管理系统的访问。同时做好系统用户权限控制,日常进行数据备份,定期组织技术检测,分析网站状态监控与告警日志[4]。
4 结束语
本文深入研究了如何通过内容管理系统有效建设政企类门户网站,并基于以上研究内容结合自身运维经验,从各方面总结了管理建议,对网站设计和管理人员具有一定的参考价值。而本文仅根据政企类门户网站及基础的内容管理系统功能探讨,建设一个清晰流畅、稳定可靠的门户网站,还可以从界面设计、算法分析、管理制度等方面提高。还有适用于建设视频网站或综合性网站的内容管理系统,例如苹果CMS、WordPress,更有走向平台化、智能化的内容管理系统,比如通过数据挖掘技术实现内容的自动组织、归类,自动生成摘要、关键字[5],这些都可以作为下一步研究方向。
参考文献:
[1] 杨可乙,张天祥.基于ThinkPHP框架与MVC模式的CMS系统构建[J].计算机时代,2017(7):21-23.
[2] 刘茗,曾海春.构建高职院校门户网站内容管理系统关键问题初探[J].价值工程,2013,32(20):242-243.
[3] 李鹏楼.高性能门户网站及其信息发布系统的设计与实现[D].北京:北京邮电大学,2019.
[4] 潘庆超,吴东伟.高校门户网站设计与实现[J].电脑知识与技术,2014,10(4):838-840.
[5] 陈霄峰.内容管理系统的关键技术及其改进[D].杭州:浙江大学,2013.
收稿日期:2021-08-25
作者简介:张晓静(1990—),女,陕西大荔人,助理工程师,硕士,主要研究方向为计算机科学;吕航(1988—),男,河北徐水人,工程师,硕士,主要研究方向为网络运维与管理;张帆(1982—),女,北京人,助理研究员,硕士,主要研究方向为计算机科学。