标签:
cms新闻系统模块规划代码 |
分类: 实用源码块 |
一 新闻系统简介
新闻发布系统其实是CMS(Content Manager System)对新闻信息方面的一个应用。所谓CMS,指后台由人工输入信息内容,然后系统自动将这些信息内容整理保存到一个指定文件中(通常是数据库);用户在前台浏览由系统生成的 HTML 页面。
目前,CMS系统主要有两类:
⒈生成静态页的
⒉ 从数据库实时读取的
新闻发布系统其实是CMS(Content Manager System)对新闻信息方面的一个应用。所谓CMS,指后台由人工输入信息内容,然后系统自动将这些信息内容整理保存到一个指定文件中(通常是数据库);用户在前台浏览由系统生成的 HTML 页面。
目前,CMS系统主要有两类:
⒈
⒉ 从数据库实时读取的
生成静态页的,即用户浏览的页面为系统已经预先设计好的静态页面(有时 CMS 系统也可以智能生成一些 HTML 页面),CMS系统根据用户的请求,找出用户需要的页面,反馈给用户。
这种系统的好处是服务器负担很轻,信息反馈效率高;缺点是更新信息时工作量大,并且实时效率低。
从数据库实时读取的,这种模式为,把用户可能请求到的数据、信息,分类收集、存放在一个数据库系统内,当用户发送请求时,脚本就将用户需要的数据调出,生成 HTML 页面,反馈给用户。
这种系统的好处是实时性好,交互性强,但频繁的数据库访问需要服务器很高的数据吞吐性能。
举个例子说明:比如我要浏览一篇叫 《ASP 编程指南》的文章,一开始上面的两种 CMS 系统都是先从数据库里面找到这篇文章,但第一种 CMS 把这篇文章的静态 HTML 页面做了保存,如果再有对这篇文章的请求,系统就直接把已经保存的这篇文章的静态 HTML 页面反馈给用户,不用重复访问数据库;而第二种 CMS 对数据库访问结果不保存,反馈给用户之后,直接扔掉,当有相同的访问时,得再次访问数据库,取出页面,反馈给用户。
推荐几个成熟的新闻发布系统:
V7 Content Management Suite(http://www.vignette.com)、Interwoven-TeamSite(http://www.interwoven.com)、OpenCMS(http://www.opencms.org)、Zope-Content Management Framework(http://www.zope.org)。
二 功能划分
在功能模块上,我们划分前台与后台两个大的模块,然后再各自细分。一般地,相对而言,用户接触的是前台部分,他们可以浏览文章、评论、甚至发表文章;而后台是管理员的工作平台,他们管理用户、管理文章、管理评论、给用户分配权限,等等。
尽管 Web 2.0 及其以后的趋势是——用户是很大一部分内容的提供者,而不仅仅依靠网站设计者提供内容——但是,作为教程,我们这里假设用户不能发表文章,只能发表评论、浏览文章,而文章统统由网站管理员发表。这样子看来,这个系统是有点糟糕,但是做为教程,能为你做的已经做得足够好了,你要这个系统满足你的要求,那你得自己动脑子去。仅此说明。
用户在前台的操作流程:
在功能模块上,我们划分前台与后台两个大的模块,然后再各自细分。一般地,相对而言,用户接触的是前台部分,他们可以浏览文章、评论、甚至发表文章;而后台是管理员的工作平台,他们管理用户、管理文章、管理评论、给用户分配权限,等等。
尽管 Web 2.0 及其以后的趋势是——用户是很大一部分内容的提供者,而不仅仅依靠网站设计者提供内容——但是,作为教程,我们这里假设用户不能发表文章,只能发表评论、浏览文章,而文章统统由网站管理员发表。这样子看来,这个系统是有点糟糕,但是做为教程,能为你做的已经做得足够好了,你要这个系统满足你的要求,那你得自己动脑子去。仅此说明。
用户在前台的操作流程:

在浏览相关文章之前,需要进行权限验证。用户只能浏览自己权限以内的文章。
用户在前台检索文章的操作:
一个网站往往信息量大,分类栏目多,用户不能完全知道自己查找的信息在哪个栏目。此时,需要提供检索服务程序。
检索分为关键字检索和全文检索。
- 关键词检索就是利用文章的关键词进行模糊匹配。这种方式快速、准确,但是用户有时很难输入准确的关键词。
- 全文检索就是利用用户输入的检索词进行全文匹配。这种方式速度较慢,也不太准确,但是用户操作起来简单实用。
在本教程演示的系统中,两种检索方式都采用。另外我们还增加 Google
第三方搜索代码,方便用户搜索 Internet 网络上的信息。
用户在前台检索信息的流程:
下面分析一下后台管理部分,即后台管理员管理文章、用户、评论,以及给用户分配各种权限的功能实现。
一个新闻系统,可能有多个管理人员,比如:写稿的、编辑的、专栏的,还有是管理整个后台的超级管理员。所以,设计后台系统时,也要规划好后台各用户的身份、权限。
在这里,我们只设立一个超级管理员用户,负责后台的一切事务,不再细分。
管理员在后台的管理流程:
上面这一步,实际上是数学建模,分析我们要做什么事,这件事能不能解决,并得出一个解决方案。接下来,我们把上面的解决方案的每个步骤,细化落实到计算机程序模块上,只有这样,才能得到计算机解决的方案。
我们做程序设计,就是把问题交给计算机解决。所以,事前需要分析问题能否解决,即数学建模,然后再看看能否程序模块化,即编程起来能否实现,代价如何,这是能否程序化的问题。一般程序设计问题都要经过此两个分析过程。