`

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

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 http://www.nucleuscms.org/
· pmachine 2.3 http://www.pmachine.com/
· b2evolution 0.9.0.3 http://www.b2evolution.net/
· Serendipity 0.6 http://www.s9y.org/
· WordPress 1.2 http://www.wordpress.org/
· bBlog 0.7.3 http://www.bblog.com/
· pLog 0.3.1 http://www.plogworld.org/
· Simplog .9 http://www.simplog.org/
· Textpattern 1.18a http://www.textpattern.com/
分享到:
评论

相关推荐

    基于智能电力仪表的电能管理系统设计与选型方案

    基于智能电力仪表的电能管理系统设计与选型方案

    安科瑞Zigbee物联网无线网络电能管理系统设计及选型方案.doc

    【安科瑞Zigbee物联网无线网络电能管理系统设计及选型方案】 随着科技的快速发展,Zigbee作为一种新兴的无线通信技术,逐渐在电能管理领域崭露头角。Zigbee是一种针对低功耗、低数据速率、低成本设备的无线联网技术...

    酒店管理系统毕业设计源码

    总的来说,通过学习和实践“酒店管理系统毕业设计源码”,可以深入了解软件工程的全生命周期,包括需求分析、系统设计、编码实现、测试和维护等各个环节,有助于提升开发者的综合能力。同时,这也是一次锻炼团队协作...

    基于微信小程序的党员积分管理系统设计与实现.docx

    基于微信小程序的党员积分管理系统设计与实现 微信小程序作为一种新兴的应用平台,近年来得到了广泛应用。随着党员积分管理系统的需求增加,基于微信小程序的党员积分管理系统设计与实现变得越来越重要。本文将对...

    学生管理系统界面设计

    总结,学生管理系统前端界面设计是一个综合考量用户体验、信息架构和视觉设计的过程。通过遵循以上原则和方法,我们可以构建一个高效、直观且易用的学生管理系统,满足师生的日常需求。在实际开发中,还需结合具体...

    嵌入式系统选型及设计要点

    首先,选型是嵌入式系统设计的第一步。这涉及到处理器的选择,包括微控制器(MCU)或数字信号处理器(DSP),以及其性能参数,如处理速度、内存容量、外设接口等。要根据应用需求来决定,例如,对于实时性要求高的...

    基于java的学生信息管理系统设计报告

    ### 基于Java的学生信息管理系统设计报告知识点总结 #### 一、系统概述与目标 - **背景**:随着互联网技术的发展,特别是数据库技术的进步,为用户提供更为个性化、人性化的服务变得越来越重要。在此背景下,设计...

    管理系统设计方案

    "安达信-××商贸发展有限公司管理信息系统方案.doc"这份文档很可能是具体实施这个管理系统设计方案的详细蓝图,包括了上述各个阶段的具体步骤、策略和技术选型,对于理解和实施这样的项目具有重要参考价值。...

    管理系统毕业设计的指导记录和教师评语

    1. **进度跟踪**:记录学生在各个阶段的工作进度,如需求分析、系统设计、编码、测试等,帮助学生和教师了解项目的实时进展。 2. **问题记录与解决**:记录在设计和实现过程中遇到的问题,以及解决方案,便于回顾和...

    学生档案管理系统设计与实现

    《学生档案管理系统设计与实现》是一项基于ASP技术的毕业设计项目,主要目标是构建一个能够高效管理和查询学生档案信息的在线平台。在这个系统中,学生信息的录入、更新、查询和检索都得到了全面的考虑,旨在提升...

    基于C# C S结构的仓库管理系统的设计与实现 毕业设计全套

    综上所述,基于C# C/S结构的仓库管理系统是一个集成了现代信息技术和企业管理理论的实用工具,对于学习者和使用者都具有较高的价值。通过深入研究和实践,可以进一步优化系统性能,提升用户体验,满足更多企业的个性...

    企业客户管理系统设计文档

    企业客户管理系统设计文档是...总的来说,企业客户管理系统设计文档是一个全面的过程,涉及到需求理解、架构规划、功能定义、技术选型等多个方面。只有精心设计并不断优化,才能打造出真正助力企业发展的客户管理系统。

    大学教学管理系统设计报告

    《大学教学管理系统设计报告》是一份详尽阐述高等教育机构中教学管理信息化的重要文档。这份报告主要探讨了如何利用现代信息技术优化教学过程,提高教学效率,同时也关注系统的设计原则、架构和实现方法。以下是对...

    毕业设计 门诊收费管理系统设计与实现

    《毕业设计:门诊收费管理系统设计与实现》 门诊收费管理系统是医疗机构信息化建设的重要组成部分,它旨在提高医疗机构的运营效率,规范收费流程,减少人为错误,为患者提供更便捷的服务。本设计涵盖了系统的整体...

    毕业设计 管理系统

    总的来说,设计一个管理系统是一个全面的软件开发过程,涵盖了需求分析、系统设计、编码实现、测试调试和后期维护等多个环节,对学生的综合能力有很高的要求。通过这个项目,学生能够深入理解软件工程的各个环节,并...

    ARM智能化停车场管理系统设计应用设计方案和对策.doc

    ARM智能化停车场管理系统设计应用设计方案和对策 ARM智能化停车场管理系统设计方案是基于ARM技术的智能化停车场管理系统的设计方案,旨在提高停车场的管理效率和安全性。该系统的设计方案遵循多种标准和原则,包括...

Global site tag (gtag.js) - Google Analytics