内容管理系统(CMS)的设计和选型 选择自 goaler 的 Blog

来源:互联网 发布:中国域名抢注案例 编辑:程序博客网 时间:2024/09/21 09:01
 http://dev.csdn.net/article/45/article/59/59924.shtm

内容管理系统概述


内容管理系统是一个很泛的概念:从商业门户网站的新闻系统到个人的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)形式上更像静态的目录结构,方便网站内容被搜索引擎收录;

---------------    ---------------     ---------------                    
|新闻管理子系统| | BBS论坛子系统| | 商城子系统 |
--------------- --------------- ---------------
| / / | / / 内
| ----------|--- / / 容 <== 业务子系统(零件生产)
| / | / / / 管
--------------- | --------------- 理
|专题制作子系统| | |全文检索子系统|
--------------- | ---------------
/ | /
-------------------------|---------------------------------------------
/ | / 频
--------------- 道 <== Portal系统(产品组装)
| Portal 系统 | 管
--------------- 理
|
-------------------------|---------------------------------------------
| 前
| 台 <== 发布系统(分发代理)
--------------- 发
|前台发布系统 | 布
---------------
/ /
/ /
--------------- ---------------
| 用户浏览器 | |Search Engine|
--------------- ---------------

这里,我把在内容发布系统选型中找到的一些资料总结如下:

    内容管理系统的选型

    关键词:CMS Content Manage System

    CMS行业研究
    http://www.cmswatch.com
    http://www.cmsreview.com
    http://www.cmsinfo.org

    CMS讨论邮件列表
    http://www.cms-list.org

    商业软件和开源项目列表:
    http://directory.google.com/Top/Computers/Software/Internet/Site_Management/Content_Management/

    推荐:基于XML的发布框架
    http://cocoon.apache.org/

    具体实现复杂程度可能会根据需求的不同而不同,但越是大型的系统越是需要分工:将内容(数据),表现(模板)和应用逻辑(程序)尽可能分离和对这3 者的管理。

    Portal---门户系统
    Open source Projects:
    http://jportlet.sourceforge.net/
    Apache Software Foundation: Jakarta JetSpeed 1.3
    JetSpeed home page: http://jakarta.apache.org/jetspeed/site/index.html
    JetSpeed Portlet API: http://cvs.apache.org/viewcvs/jakarta-jetspeed/proposals/portletAPI/
    http://www.liferay.com/home/index.jsp
    http://basicPortal.com/
    http://www.jahia.org/
    http://jporta.sourceforge.net/

    商业软件:
    BEA WebLogic Portal - http://edocs.bea.com/wlp/docs81/javadoc/com/bea/Portal/model/Portlet.html
    IBM Websphere Portal - http://www.software.ibm.com/wsdd/zones/Portal/
    Oracle Portal Developer Kit - http://Portalstudio.oracle.com/

    其它:
    PSML - http://jakarta.apache.org/jetspeed/site/psml.html
    BEA: Web Logic Portal 4.0 http://www.bea.com/products/weblogic/Portal/index.shtml
    IBM: WebSphere Portal 2.1 http://www-4.ibm.com/software/webservers/Portal/
    iPlanet: iPlanet Portal Server 3.0 http://www.iplanet.com/products/iplanet_Portal/home_Portal.html
    Oracle: Oracle 9i Portal http://www.oracle.com/ip/deploy/ias/Portal/index.html
    SAP Portal: http://www.iviewstudio.com
    Epicentric Portal: http://www.epicentric.com/solutions/products/efs/

    参考:
    Wafer:Java开发框架研究
    http://www.waferproject.org/index.html

    门户(Portal)系统相关开发框架:
    http://udoo.51.net/mt/archives/000011.html

    广告管理系统

    关键词:ad server

    广告系统和内容的分离,可以大大降低系统之间的关联度。
     
    专业行业研究网站:
    http://adres.internet.com

    相关厂商和开源项目:
    http://directory.google.com/Top/Computers/Programming/Languages/PHP/Scripts/Ad_Management/?il=1
    http://directory.google.com/Top/Computers/Software/Internet/Servers/Advertising/?tc=1
    http://www.jspin.com/home/apps/admanage?cob=winedit
    http://www.scriptdex.com/dex/php_ad_management.shtml

    推荐:
    http://www.phpadsnew.com/ 功能性比较强
    http://oasis.sourceforge.net/ 免费 基于日志记录和定期导入MYSQL统计,可以负载50万请求/每小时 以上

    如果看重广告的第3方特性,可以选择第三方服务:
    http://www.doubleclick.net/
    http://www.allyes.com/

    论坛/社区系统

    关键词: BBS FORUM

    论坛软件介绍:
    http://directory.google.com/Top/Computers/Internet/Web_Design_and_Development/Message_Boards/

    推荐:
    http://www.phpBB.com PHP + MySQL open source
    http://www.vbulletin.com/order/ PHP + MySQL  有付费的商业支持85-160$

    http://www.jivesoftware.com/products/pricing.jsp 商业论坛系统,1000$-2500$ 有知识库扩展应用
    http://yazd.yasna.com/features.jsp 基于 Java

    所见即所得(WYSIWYG)编辑器

    在内容的录入管理方面,所见即所得是比较重要的,这样可以大大简化对系统中布局排版的需求。
    基于浏览器的WYSIWYG(所见即所得)编辑器是CMS设计中,编辑工具的主要考虑方面。目前主要是通过JAVASCRIPT调用IE或其他浏览器的内置方法实现。其中基于IE5.5浏览器的实现最为简洁。这里有一个完整的例子:
    Building a WYSIWYG HTML Editor Part 1/2
    Building a WYSIWYG HTML Editor Part 2/2

    主要功能:
    • 能够通过JAVASCRIPT实现的基本功能:加粗,斜体字,居中,添加链接,添加图片,模式切换:HTML和文本模式的切换,
    • Word垃圾代码过滤
    • 图片上载接口:图片上载最好通过其他独立模块实现。
    选型指标:
    • 不依赖服务器端代码:只通过JAVASCRIPT或客户端控件实现代码,可以保证以后系统迁移的方便。
    • WORD垃圾代码过滤
    可视化编辑器大全:
    http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html

    推荐:
    http://www.aine.be/aynhtml/

    图片/文件上传组建

    图片和文件等非结构化数据还是分别使用另外的服务解决比较好。这样可以大大简化CMS本身的复杂程度。

    推荐:
    文件上传:
    Apache Commons项目
    http://jakarta.apache.org/commons/

    ImageJ:图片处理缩略图生成和水印等
    http://rsb.info.nih.gov/ij/

    关于Blog系统的选型,目前主流的基于PHP的包括:
    · Nucleus 3.0 www.nucleuscms.org
    · pmachine 2.3 www.pmachine.com
    · b2evolution 0.9.0.3 www.b2evolution.net
    · Serendipity 0.6 www.s9y.org
    · WordPress 1.2 www.wordpress.org
    · bBlog 0.7.3 www.bblog.com
    · pLog 0.3.1 www.plogworld.org
    · Simplog .9 www.simplog.org
    · Textpattern 1.18a www.textpattern.com

    原文出处:http://www.chedong.com/tech/cms.html
    原文作者:车东


    作者Blog:http://blog.csdn.net/goaler/
    相关文章
    原创粉丝点击
    热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 物流东西弄丢了怎么办 理赔款账号打错了怎么办 顺丰快递搞丢了怎么办 论文表格跨页了怎么办 网线突然没网了怎么办 室内门高门洞矮怎么办 路基填方土质含水率大怎么办 公路工程材料价格不予调差怎么办 桩基偏位60公分怎么办 定义的跨板受力筋长度不够怎么办 支座梁体预埋钢板忘记埋了怎么办 做nt小孩头朝下怎么办 简历上传的照片太大怎么办 本科毕业论文没写英文摘要怎么办 气泵储气罐有个小眼漏气怎么办 吸拉开关坏了怎么办 窗口数量已达上限怎么办 村土地原始台账没有怎么办 涂防晒霜后出汗怎么办 张拉千斤顶泄荷回油不到位怎么办 隧道二衬打到一半没混凝土怎么办 在左车道骑电动车撞到车怎么办 电镐钻头卡住了怎么办 玩具机器人无线遥控不了怎么办 电锤锤头卸不下来怎么办 打地基没打出硬土层怎么办 中标的项目经理没有B证怎么办 12306证件被注册过怎么办 政府3p项目不给钱怎么办 电气没考上国网怎么办 小区宽带业务被个人承包怎么办 高铁用户名忘了怎么办 昆山社保号是8位怎么办 高铁票误了时间怎么办 动车票没赶上车怎么办 铁路用户名已存在要怎么办 铁路12306用户名忘了怎么办 铁路12306的用户名忘了怎么办 铁路12306注册名已存在怎么办 12306账号密码忘记了怎么办 12306登录名忘记了怎么办