CMS概念的理解
2006-01-24 13:46
232 查看
内容管理系统概述
------转载内容管理系统是一个很泛的概念:从商业门户网站的新闻系统到个人的Weblog都可以称作发布系统。
框架型:本身不包含任何应用实现,只是提供了底层框架,具体应用需要一定的二次开发,比如Cocoon,Vignette;
应用型:本身是一个面向具体类型的应用实现,已经包含了新闻/评论管理,投票,论坛,WIKI等一些子系统。比如:
但无论如何,在发布系统选型之前,首先了解自己的实际需求是最重要的:想根据现成系统将自己的需求硬往上照搬是非常不可取的。访问量,权限控制和各种功能需求。每个模块和功能自己都比较清晰一点以后,再去网上找找类似的实现:你会发现其实每个环节到目前上都有比较成熟的实现了,而且还在不断完善和发展中,如果没有:你的需求太特殊,或者可以尝试分解成更小的系统组合实现。
内容管理系统被分离成以下几个层面:各个层面优先考虑的需求不同
后台业务子系统管理(管理优先:内容管理):新闻录入系统,BBS论坛子系统,全文检索子系统等,针对不同系统的方便管理者的内容录入:所见即所得的编辑管理界面等,清晰的业务逻辑:各种子系统的权限控制机制等;
Portal系统(表现优先:模板管理):大部分最终的输出页面:网站首页,子频道/专题页,新闻详情页一般就是各种后台子系统模块的各种组合,这种发布组合逻辑是非常丰富的,Portal系统就是负责以上这些后台子系统的组合表现管理;
前台发布(效率优先:发布管理):面向最终用户的缓存发布,和搜索引擎spider的URL设计等……
内容管理和表现的分离:很多成套的CMS系统没有把后台各种子系统和Portal分离开设计,以至于在Portal层的模板表现管理和新闻子系统的内容管理逻辑混合在一起,甚至和BBS等子系统的管理都耦合的非常高,整个系统会显得非常庞杂。而且这样的系统各个子系统捆绑的比较死,如果后台的模块很难改变。但是如果把后台各种子系统内容管理逻辑和前台的表现/发布分离后,Portal和后台各个子系统之间只是数据传递的关系:Portal只决定后台各个子系统数据的取舍和表现,而后台的各个子系统也都非常容易插拔。
内容管理和数据分发的分离:需要要Portal系统设计的时候注意
此外,就是除了面向最终浏览器用户外,还要注意面向
--------------------------------------------- |新闻管理子系统||BBS论坛子系统||商城子系统| --------------------------------------------- |//|//内 |----------|---//容<==业务子系统(零件生产) |/|///管 ---------------|---------------理 |专题制作子系统|||全文检索子系统| ---------------|--------------- /|/ -------------------------|--------------------------------------------- /|/频 ---------------道<==Portal系统(产品组装) |Portal系统|管 ---------------理 | -------------------------|--------------------------------------------- |前 |台<==发布系统(分发代理) ---------------发 |前台发布系统|布 --------------- // // ------------------------------ |用户浏览器||SearchEngine| ------------------------------
内容发布系统选型中找到的一些资料总结如下:
内容管理系统的选型
关键词:CMSContentManageSystem
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---门户系统
OpensourceProjects:http://jportlet.sourceforge.net/
ApacheSoftwareFoundation:JakartaJetSpeed1.3
JetSpeedhomepage:http://jakarta.apache.org/jetspeed/site/index.html
JetSpeedPortletAPI: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/
商业软件:
BEAWebLogicPortal-http://edocs.bea.com/wlp/docs81/javadoc/com/bea/Portal/model/Portlet.html
IBMWebspherePortal-http://www.software.ibm.com/wsdd/zones/Portal/
OraclePortalDeveloperKit-http://Portalstudio.oracle.com/
其它:
PSML-http://jakarta.apache.org/jetspeed/site/psml.html
BEA:WebLogicPortal4.0http://www.bea.com/products/weblogic/Portal/index.shtml
IBM:WebSpherePortal2.1http://www-4.ibm.com/software/webservers/Portal/
iPlanet:iPlanetPortalServer3.0http://www.iplanet.com/products/iplanet_Portal/home_Portal.html
Oracle:Oracle9iPortalhttp://www.oracle.com/ip/deploy/ias/Portal/index.html
SAPPortal:http://www.iviewstudio.com
EpicentricPortal:http://www.epicentric.com/solutions/products/efs/
参考:Wafer:Java开发框架研究 http://www.waferproject.org/index.html 门户(Portal)系统相关开发框架: http://udoo.51.net/mt/archives/000011.html 广告管理系统
关键词:adserver
广告系统和内容的分离,可以大大降低系统之间的关联度。
专业行业研究网站: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/ 论坛/社区系统
关键词:BBSFORUM
论坛软件介绍:http://directory.google.com/Top/Computers/Internet/Web_Design_and_Development/Message_Boards/
推荐:http://www.phpBB.comPHP+MySQLopensource 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浏览器的实现最为简洁。这里有一个完整的例子:BuildingaWYSIWYGHTMLEditorPart1/2 BuildingaWYSIWYGHTMLEditorPart2/2
主要功能:
能够通过JAVASCRIPT实现的基本功能:加粗,斜体字,居中,添加链接,添加图片,模式切换:HTML和文本模式的切换,
Word垃圾代码过滤
图片上载接口:图片上载最好通过其他独立模块实现。
选型指标:
不依赖服务器端代码:只通过JAVASCRIPT或客户端控件实现代码,可以保证以后系统迁移的方便。
WORD垃圾代码过滤
可视化编辑器大全:http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html
推荐:http://www.aine.be/aynhtml/ 图片/文件上传组建
图片和文件等非结构化数据还是分别使用另外的服务解决比较好。这样可以大大简化CMS本身的复杂程度。
推荐:
文件上传:ApacheCommons项目 http://jakarta.apache.org/commons/ ImageJ:图片处理缩略图生成和水印等 http://rsb.info.nih.gov/ij/
关于Blog系统的选型,目前主流的基于PHP的包括:
·Nucleus3.0www.nucleuscms.org
·pmachine2.3www.pmachine.com
·b2evolution0.9.0.3www.b2evolution.net
·Serendipity0.6www.s9y.org
·WordPress1.2www.wordpress.org
·bBlog0.7.3www.bblog.com
·pLog0.3.1www.plogworld.org
·Simplog.9www.simplog.org
·Textpattern1.18awww.textpattern.com原文出处:<ahref="http://www.chedong.com/tech/cms.html">http://www.chedong.com/tech/cms.html</a>
相关文章推荐
- 一句话python概念理解
- 理解SOA概念的三个比喻
- 理解虚基类 虚函数与纯虚函数的概念
- Java API -- 理解API的概念
- 深入理解Java:注解(Annotation)基本概念
- 并发的概念理解
- TDS学习文档2——概念理解
- 理解错误的一些概念总结。
- JDBC的基本概念理解以及简单实现
- spring 概念理解(资料)
- 数据库的索引、视图、触发器、存储过程、游标等概念的理解
- C++中的声明,定义和赋值几个概念的理解
- FLEX事件中几个概念的理解
- 理解JavaScript的一些基本概念
- T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他
- GCD中的概念理解
- spring 概念理解(资料)
- [转]理解下DMA/NorFlash/DDR下的Burst是个什么概念
- atitit.闭包的概念与理解attilax总结v2 qb18.doc
- 对Web基本概念的理解