`

内容管理系统(CMS)的设计和选型

阅读更多

关键词:"content manage system" 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)形式上更像静态的目录结构,方便网站内容被搜索引擎收录;

---------------    ---------------     ---------------                    
|新闻管理子系统| | 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 原文出处:<a href="http://www.chedong.com/tech/cms.html">http://www.chedong.com/tech/cms.html</a>
    分享到:
    评论

    相关推荐

      CMS内容管理系统-后台静态页面

      CMS内容管理系统是现代网站建设和管理的核心工具之一,它允许用户无需深入编程就能创建、编辑和管理网站内容。在这个“CMS内容管理系统-后台静态页面”项目中,我们关注的是系统后台的用户界面,这部分通常用于管理...

      文章管理系统CMS系统

      总结,文章管理系统CMS是企业、个人博客等发布和管理内容的关键工具。设计和实现一个适用于中小型文章管理的CMS系统,需要关注其核心功能、易用性、灵活性和安全性。通过持续优化和维护,可以满足不断变化的需求,为...

      CMS内容管理系统

      **CMS内容管理系统详解** CMS(Content Management System,内容管理系统)是一种用于创建、管理和发布数字内容的软件平台。它为用户提供了一种用户友好的界面,使得非技术人员也能方便地管理网站内容,无需深入...

      信息系统分析与设计 CMS系统完成实验报告

      本文档旨在详细阐述“网站内容管理系统(CMS)”的设计与实现过程,特别是从需求分析、功能规划到技术选型等多个方面进行深入探讨。通过对项目的背景、目标及预期效果的说明,为后续开发工作提供明确指导。 ##### 背景 ...

      基于WEB的内容管理系统系统设计与开发-论文.zip

      内容管理系统(Content Management System,简称CMS)是用于创建、管理和发布数字内容的软件平台,而“基于WEB”则意味着该系统是通过Web技术实现的,用户可以通过浏览器进行访问和操作。 【描述解析】 描述中的...

      基于WEB的内容管理系统系统设计与开发.zip

      内容管理系统(Content Management System,简称CMS)是一种用于组织、创建、存储、管理和发布数字内容的软件平台。它通常以Web应用程序的形式存在,使得用户无需深入理解编程语言就能进行网站内容的更新和管理。在...

      一个高手写的内容管理系统(C#版)

      内容管理系统(Content Management System,CMS)是现代互联网应用中的重要组成部分,它使得非技术用户也能方便地创建、编辑和管理网站内容。本系统由一位高手独立开发,使用C#编程语言,充分展示了C#在构建Web应用...

      video cms 后台管理系统 可用作毕业设计.zip

      本项目“video cms 后台管理系统”是一个适用于毕业设计或课程设计的实践项目,旨在帮助学生深入理解和掌握Web开发技术,特别是涉及到视频内容处理的部分。 一、系统架构与技术选型 Video CMS后台管理系统基于现代...

      雨林CMS网站管理系统.txt

      **雨林CMS网站管理系统**(YulinCMS)是一款基于多种技术栈构建的网站内容管理系统,其核心特点在于强大的功能模块、灵活的自定义设置以及高效的性能表现。从描述中可以看出,该系统被标榜为“非常实用,非常经典”...

      基于Spring Boot的CMS内容管理系统项目的实习心得.docx

      - **定义**:CMS(Content Management System)是内容管理系统,用于创建、管理和发布数字内容的应用程序。 - **功能**: - **内容发布与管理**:支持文本、图片、视频等多种格式的内容发布。 - **用户管理**:支持...

      基于web网站内容管理系统的设计与实现毕业论文.docx

      网站内容管理系统(Content Management System,简称CMS)是一种构建在互联网基础设施上的Web应用程序,旨在简化网站内容的创建、管理和分发。它由前台和后台两大部分组成,其中后台提供了对内容进行管理的工具和...

      java 版CMS系统、基于java技术研发的内容管理系统

      java 版CMS系统、基于java技术研发的内容管理系统、功能:栏目模板自定义、内容模型自定义、多个站点管理、在线模板页面编辑等功能、代码完全开源、MIT授权协议。技术选型:jfinal DB+Record mysql freemarker ...

      jingpingB2B.rar_内容管理 java_内容管理系统

      在IT行业中,内容管理系统(Content Management System,简称CMS)是一个重要的工具,用于组织、创建、存储、管理和发布数字内容,如文本、图像、视频等。本项目“jingpingB2B”显然是一款针对B2B(Business to ...

      毕业设计完整版ASP人才网内容管理系统(源代码+论文).zip

      标题"毕业设计完整版ASP人才网内容管理系统(源代码+论文)"表明这是一个关于ASP技术的毕业设计项目,包含了整个内容管理系统(CMS)的源代码以及相关的学术论文。这通常是一个学生在完成计算机科学或相关专业学业时,...

      CMS网站总体设计.doc

      【CMS网站总体设计】文档是关于构建一个内容管理系统(CMS)的详细方案,主要涵盖了系统的设计目标、技术选型、需求分析、系统架构和性能要求等方面。以下是文档中提到的关键知识点: 1. **编写目的**:该文档旨在...

      ASP人才网内容管理系统(源代码+论文).zip

      内容管理系统(CMS)是一种软件应用,用于组织、创建、审阅、发布和管理数字内容。在ASP人才网内容管理系统中,管理员可以通过后台管理界面添加、修改和删除招聘信息,求职者则可以发布和管理自己的简历。CMS通常...

      仓库管理系统全文下载

      最后,编写课程设计报告是对整个开发过程的总结,包括系统概述、设计思路、技术选型、实现细节和测试结果,它是对系统开发成果的全面呈现。 总的来说,仓库管理系统是一个综合性的项目,涉及到数据库设计、编程技术...

    Global site tag (gtag.js) - Google Analytics