涉及内容管理系统(CMS)时,Web开发者总是面临“买还是做”的困境。你是买一套商业CMS,还是使用某个开源CMS?是否应该基于一个开源CMS框架来定制和构建自己的CMS?本文解释了每种方法的得失。
历史回顾
就在不久以前,客户如果想进行内容管理,但没有购买商业CMS的预算,开发者就可能卖给客户一个“维护包”,它其实是一个HTML代码生成器,可以用它定期人工修改网站。原因很简单:人工维护要比购买一份CMS许可证或者进行内部CMS开发的成本低廉得多。但时至今日,虽然偶尔仍有必要进行人工维护,但大多数客户希望的都是一套完整的CMS。
CMS已成为现代Web开发的一个基本组件。CMS之所以得到大规模采纳,很大程度上归功于高质量、相当便宜的CMS工具的涌现。人们不久前还只能选择由Interwoven或者Vignette等厂商提供的昂贵的商业方案。今天,已经有许多价格合理的商业CMS应用程序可供选择。另外,还有数量更多的免费开源方案。
商业CMS
除了商业支持和良好定义的服务等级协议之外,购买商业CMS工具还有其他许多明显的好处。商业CMS工具也许已针对你的需求进行了体贴的设计,速度也可能超过开源CMS。相较于开源方案,商业CMS产品的文档和培训通常做得更好。另外,普通人一般认为商业软件比开源软件更有“安全感”。如果你或者你的客户有实力购买这样的一个工具,并有足够的预算购买相应的许可证,那么商业CMS通常是最保险的方案。
拒绝商业CMS的惟一理由就是价格。商业CMS的许可证费用可能高得出奇,定制/集成的费用也是一笔很大的开支。商业CMS系统几乎不可能与“经济型”方案沾边。
开源CMS
许多用户最初之所以尝试一种开源方案(包括我自己),原因也是价格。开源CMS要比商业CMS便宜得多。和许多开源程序一样,由于源代码是开放的,所以进行定制的机会要比商业CMS多得多。取决于你对CMS的要求,也许能在现有的开源CMS中找到一款最适合自己的。
反对实现开源CMS的理由有许多,但最终都归究于一点:不可靠。产品支持、文档和用户培训通常要取决于那些义务开发者的心情(这不能怪他们,他们本来就没有任何承诺)。所以,通常没有固定的品牌名称或者客服部门来保证CMS的稳定性和安全性。基于这个前提,企业级的工作流管理就难以实现,而且产品实现起来并不省心,所花的时间要比同等级的商业CMS产品多得多。
基于开源框架的定制CMS
你的客户总是提出各种各样的要求。作为Web开发者,你感兴趣的是为客户创建定制的、自有品牌的方案。如果基于开源CMS框架来定制一个“新的”CMS,就可缩小纯开源CMS产品与商业CMS之间的差距。例如,Zope Content Management Framework已经将工作流作为框架的一部分。它也许并不是特别可靠,不能满足你的特殊要求,但它起码是可定制的。可靠的内容管理框架将为你的后期定制工作打下一个良好的基础,最终满足客户的特殊要求。
一些人之所以反对基于开源框架来构建定制CMS,同样是因为可靠性。如果定制CMS,同样要进行繁重的内部开发,这会进一步延长实现时间,而且你的开发团队需要付出更多的精力来提供产品支持。
“做还是买”的复选表/记分卡
我和客户沟通时,感觉最要紧的5个问题是:
价格
时间
文档/培训
支持问题
定制能力
表A有助于你挑选出一个特定的CMS开发方案。除此之外,Vignette网站提供了一个投资回报(ROI)计算器,它能帮助你判断所选的方案是否在自己的经济承受范围之内(但由于那是一个厂商网站,所以对上面的任何建议都要留一个心眼儿)。
表A |
|
|
|
问题 |
商业 |
开源 |
开源框架 |
产品提供了你需要的所有功能吗? |
是;
如果否-> |
是; 如果是-> |
自己构建 |
你有开发者/支持人员来为产品提供技术支持吗? |
花钱买支持 |
<- 如果否 |
<- 如果否 |
未来6~18个月的使用过程中,需求会发生改变吗? |
继续花钱 |
也许能定制 |
肯定能定制 |
未来6~18个月中,用户数量会增加吗? |
继续花钱 |
谨慎乐观 |
越多越好 |
最后的决断
具体选用哪种CMS部署方案要取决于多方面的因素,但你的终极目标肯定是希望获得最佳的投资回报(ROI)。为此,你需要综合考察自己的需求、资源以及在特定情况下的具体要求。以我接手的一个合同为例,我得到的预算不高,客户提出了很高的要求,有充足的开发者以及合理的期限。所以,我决定基于一个框架来定制一个CMS。虽然整个过程有点儿费劲,但对我们来说却是最合适的方案。一些昂贵的CMS方案看起来真的不错,但现实就是现实;你只需针对实际情况做出最佳选择就好了。
|