kolidon于 2008年10月

目前常用的WEB应用平台有PHP/ASP.NET(C# and VB.NET)/Java/Perl, Python and Ruby

根据wikipedia.org资料(词条Web_content_management_system)、Google趋势分析、每年举办的全球开源CMS评比及本公司相关专业WEB开发人员反馈,计有如下开源产品受到较多关注:

windows+.NET Framework平台,IIS+ASP.NET(不建议运行于Linux的mono平台)

* DotNetNuke (请参照其官方站点dotnetnuke功能http://www.dotnetnuke.com

* mojoPortal

* dotCMS

* Umbraco

windows/linux平台,IIS/APACHE/LIGHTTPD/NGINX + PHP

* Drupal (请参照其官方站及中文站http://drupal.orghttp://drupalchina.org )

* Joomla! (请参照http://joomla.orghttp://maycode.comhttp://www.joomlart.com )

* XOOPS

* ImpressCMS

windows/linux平台,python语言+zope应用服务器

* Plone

我们最终选出Dotnetnuke、Joomla及Drupal用于在不同环境下使用。理由为:这三个应用有足够的成熟度、众多的原生功能/第三方组件与模块支持,较好的可扩展性及普适性。能适用于从小型内容展示站到需求复杂多变的网站群构建,重要的是,这三者在中国大陆地区的普及程度及社区大小均相对强大,这有利于吸引更多爱好者和专业开发人士,使开发工作可以持续延续和深入。

我们并不打算完全重新构造在企业门户站点或网站群中的一些基础的功能应用,例如文章展示、评论、图库系统、用户系统、多媒体展示系统、商城和购物车、论坛、留言和咨询、投票统计与调查、广告、邮件列表、表单、社区功能等等,我们不建议选用Microsoft ASP.NET MVC、及ZEND FRAMEWORK、CakePHP等纯框架产品,因为这与我们快速开发WEB应用及利用既有应用的目标相违背。当然,我们更不建议脱离参照而完全独立设计构造用于企业的门户网站和内容管理系统。

有足够技术实力及相应需求、预算充足的用户,可考虑选用基于python语言的应用服务器zope,或基于IBM WEBSPHERE应用服务器进行JAVA开发,或在Microsoft SHAREPOINT PORTAL SERVER基础上进行开发,前者有较好的社群支持,后两者商业支持足够可靠。

综述,针对企业内联站点及外部门户、网站群的需求,Drupal/Joomla/Dotnetnuke完全能够满足需求,初中高各级程序人员/制作者/设计者,即可按需订制扩展实现功能,快速制作模块、模板,自由实现任何所需效果。

而作为开发框架,其代码复杂程度亦可使普通中、高级程序员得以深入系统核心,由此而借框架之便且能不受限于框架本身,在此基础上开发出完全不同于传统应用的功能如SNS、Web Service应用等。

(请跟踪此链接获得第三方比较报告http://www.digitalartsonline.co.uk/news/index.cfm?NewsID=8854

基本术语或特性(kolidon制表)

 

Drupal6.x

Joomla1.5.x

dotnetnuke

完成功能

模块

组件

模块

页面外观

模板theme

模板template

模板theme

外观辅助

区域+容器(包装模块)

位置(包装模块)

区域

节点

节点(文章、博客、书)

   

插件或其他辅助

钩子hook(模块相关)

插件plug-in

Provider、component

页面各组成部分

区块,稍弱

组件主体+模块,强大

模块,稍弱

页面

建页面放置区块和模块

新建菜单,模块菜单对应

建页面,模块与页面对应

扩展安装

手工(FTP上传)

半自动,自动(1.6功能)

半自动(管理界面上传)

缓存系统

有,多级缓存

有,核心开发实现全静态

有,多级缓存

搜索引擎友好

完美

组件,二次开发更完美

完美

数据库

MYSQL,PGSql,可更多

MYSQL,可支持更多

SQLSERVER,可支持更多

开发者友好

用户友好

一般

较好

功能比较(kolidon制表)

 

Drupal6.x

Joomla1.5.x

dotnetnuke

权限管理

完善,成员角色分离

完善,前后台均多级

角色系统,成员角色分离

个性化

既有模块

既有组件

未知

群组

既有模块

既有组件

未知

站内信

既有模块

既有组件

未知

其他 SNS功能

组件支持(中)

组件支持(强)

组件支持(?)

应用系统

模块数百种

组件千余种

模块百余种

文章

模块

组件

模块

博客

模块、桥接其他

组件、桥接其他

模块、桥接其他

投票统计

模块

组件

模块

下载

模块

组件

模块

邮件列表

模块

组件

模块

咨询

模块

组件

模块

多媒体

模块

组件

模块

图库

模块

组件

模块

表单

模块

组件

开发

整合其他应用难度

简单

简单

中等

检索系统

检索所有内容

检索所有内容

检索所有内容

网站群

原生支持

安装扩展或简单开发

原生支持

远程控制开发难度

中等

简单,或采既有系统

中等

简评

Drupal:为开发者提供更大自由度和更少依赖。框架简洁但扩展尚算方便,代码完美。目前未见丰富模板;

Joomla:框架优秀,社区支持强。各水平程序员均可参与模块、组件或核心开发。完全释放设计人员灵感;

Dotnetnuke:桥接既有.NET Framework应用方便,模块均为“可用”水准,亦有优秀,功能基本合规。