首先楼主要清楚CMS是什么,CMS其实就是内容管理系统,可以理解为,CMS帮你把一个网站的程序部分的事全做完了,你要做的只是一个网站里面美工的部份,搞几个静态网页模板,一个门户级的网站就出来了!
内容管理系统是一个很泛的概念:从商业门户网站的新闻系统到个人的Weblog都可以称作发布系统。
框架型:本身不包含任何应用实现,只是提供了底层框架,具体应用需要一定的二次开发,比如Cocoon,Vignette;
应用型:本身是一个面向具体类型的应用实现,已经包含了新闻/评论管理,投票,论坛,WIKI等一些子系统。比如:postNuke xoops等;
但无论如何,在发布系统选型之前,首先了解自己的实际需求是最重要的:想根据现成系统将自己的需求硬往上照搬是非常不可取的。访问量,权限控制和各种功能需求。每个模块和功能自己都比较清晰一点以后,再去网上找找类似的实现:你会发现其实每个环节到目前上都有比较成熟的实现了,而且还在不断完善和发展中,如果没有:你的需求太特殊,或者可以尝试分解成更小的系统组合实现。
内容管理系统被分离成以下几个层面:各个层面优先考虑的需求不同
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还分各个平台脚本种类的。 如 php asp
大家都知道,现在开发流行的是PHP+MYSQL,.net
确定需求,大致需要哪些功能模块儿,比如内容模块、会员模块、评论模块、信息反馈、全站搜索、管理模块 ,还有就是是否需要生成静态页面,还是直接动态页面。
然后根据自己的情况和空间要求,确定开发工具和数据库,一般来说,asp+access、asp+sqlserver、php+mysql都是不错的搭配组合。最简单的应该算是asp+access了,部署也容易一些。
如果对软件架构设计不太熟悉,也可以参考一下现有的一些cms,好多开源的,先学习别人的,应该比较容易进入状态。
开发工具嘛,如果是asp,那么一个记事本就可以胜任了。
关于asp环境的搭建,可以参照我博客的服务器搭建方法的文章。多多交流哦
我们先假设一些需求:
1、内容模块 (包括 新闻、下载、图片、产品等,每个模块下可以无限分类)
2、会员模块 (会员分等级,应该和一些模块有关联)
3、评论模块 (对文章进行评论,可以对某个栏目关闭评论)
4、信息反馈 (或是留言板,一般企业网站都要留言反馈)
5、全站搜索 (可以全站搜索也可以选择栏目搜索)
6、动态与静态(可以使用动态文章显示,可以使用生成静态显示)
7、管理模块 (自由分配管理员对模块的管理权限)
以上是一个比较常见的CMS需求,我们应该如何使用Qee来一步步的满足这些需求呢?希望大家都能表达一下你们的见解。