`

内容管理系统(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>
    分享到:
    评论

    相关推荐

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

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

      天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案

      天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案。用户可以不编写一句代码,就制作出一个默认风格的CMS站点。前端页面自适应,支持PC和H5端,采用前后端分离的机制实现...

      CMS看点咨询系统.zip

      网站系统又名网站CMS系统,主要用途是为了节约网站开发的成本而开发的建站系统。简单分为前台展示和后台管理两块业务。 1、java运行环境:jdk1.8 2、技术选型:SpringBoot + SpringMVC+ Swagger2+MyBatis+MyBatis-...

      CMS轻量级系统

      1、天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案。 2、用户可以不编写一句代码,就制作出一个默认风格的CMS站点。 3、前端页面自适应,支持PC和H5端,采用前后端...

      国微CMS门户版 (原php168 S系列) v20150407.zip

      试用系统是选型的最重要的一环;国微软件为客户提供最全方位的试用,并协助其验证其所有体系;国微是唯一一家提供”独立站群 自助站群“的厂商,功能非常强健。   系统体系化 模块化体系:所有功能均已系统化、...

      国微CMS门户版(原php168 S系列) v20150407

      试用系统是选型的最重要的一环;国微软件为客户提供最全方位的试用,并协助其验证其所有体系;国微是唯一一家提供”独立站群+自助站群“的厂商,功能非常强健。系统体系化模块化体系:所有功能均已系统化、模块化、...

      二手商城跳蚤市场+校园闲置物品交易小程序+cms网页后台+云开发+数据库+微信小程序毕业设计源码+跟着部署运行视频自己就可以运行

      云开发Cms内容管理系统 web网页 3,数据后台 小程序云开发 云函数 云开发数据库(基于MongoDB) 云存储 二,页面功能 2-1,小程序端首页有以下几个功能点 1,顶部轮播图 2,商品搜索 3,二手商城入口 4,新品推荐...

      若依博客(ruoyi-blog-master.zip)

      此这个博客系统将若依后台管理与 pb-cms结合。 技术选型 核心框架:Spring Boot。 安全框架:Apache Shiro。 模板引擎:Thymeleaf。 持久层框架:MyBatis(若依原有的), mybatis-plus(后期自己加的) 。 定时任务:...

      扫码点餐小程序+cms网页后台+管理员+厨师端小程序代码+云开发+云函数+云数据库+完整源码+讲解视频+知识点笔记

      云开发Cms内容管理系统 web网页 3,数据后台 小程序云开发 云函数 云数据库 云存储 二,小程序端 1,点餐 2,菜单浏览 3,排号等位 4,饭店地址 5,顶部轮播图 6,搜索菜品 7,热门菜品推荐 8,搜索功能 9,搜索...

      若依后台管理系统-其他

      一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS...

      Java轻量级CMS-天梯 v1.0

      软件简介:1、天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案。2、用户可以不编写一句代码,就制作出一个默认风格的CMS站点。3、前端页面自适应,支持PC和H5端,采用...

      easybms-ssm:基于SSM的后台管理系统-EasyBMS

      基于SSM的后台管理系统:EasyBMS 个人博客:,Java技术交流,技术分享以及经验总结和资源分享。欢迎来访~ 一、介绍 上手SSM后,一直想做一款后台管理系统,根据所学知识进行一个全面整合。于是也就利用空闲时间写了...

      【linjiashop邻家小铺v0.8】基于Spring Boot和Vue.js的web商城系统 手机h5 小程序.zip

      linjiashop包含了商城的后台管理系统,手机h5和小程序版本。 linjiashop包含了后台管理功能和手机端商城业务功能 基础模块: 部门管理 用户管理 角色管理 菜单管理 权限分配 参数管理 数据字典管理 定时任务管理 ...

      java轻量级的CMS解决方案-天梯.zip

      天梯是一个用java相关技术搭建的后台CMS解决方案,用户可以结合自身业务进行相应扩展,同时提供了针对dao、service等的代码生成工具。技术选型:Spring Data JPA、Hibernate、Shiro、 Spring MV… 方案是为解决特定...

      安防天下智能网络视频监控技术详解与实践part2

      2.6 闭路电视监控系统设计 34 2.6.1 系统需求分析 34 2.6.2 摄像机的选型 36 2.6.3 镜头的选型 37 2.6.4 矩阵的选型 37 2.7 典型厂家设备介绍 37 2.7.1 泰科discover系列半球 37 2.7.2 泰科speeddome...

      安防天下智能网络视频监控技术详解与实践.part3

      2.6 闭路电视监控系统设计 34 2.6.1 系统需求分析 34 2.6.2 摄像机的选型 36 2.6.3 镜头的选型 37 2.6.4 矩阵的选型 37 2.7 典型厂家设备介绍 37 2.7.1 泰科discover系列半球 37 2.7.2 泰科speeddome快球 38 ...

      安防天下智能网络视频监控技术详解与实践part1

      2.6 闭路电视监控系统设计 34 2.6.1 系统需求分析 34 2.6.2 摄像机的选型 36 2.6.3 镜头的选型 37 2.6.4 矩阵的选型 37 2.7 典型厂家设备介绍 37 2.7.1 泰科discover系列半球 37 2.7.2 泰科speeddome...

      JSite 快速开发框架.rar

      可用于所有Web应用,如企业后台管理系统、OA系统、CMS、CRM等。 3、框架本身集成了最新的 Flowable工作流引擎,内置了流程流程设计器moduler,有完整的流程管理模块,可以轻松实现流程的在线设计、部署,流程发起、...

      若依后台管理系统

      一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS...

    Global site tag (gtag.js) - Google Analytics