我正在为客户(在这种情况下是专门的拍卖网站)构建自定义Web应用程序,我们正在评估使用一些现有的CMS作为应用程序的“支架”。
理由是,对于许多自定义Web应用程序项目,编写的代码中约有70%用于添加CMS功能,用户管理和基本管理CRUD。据推测,如果我们从现有的CMS开始,那么已经构建了那些组件。
我们决定坚持使用PHP来解决分发和部署问题。我们评估的顶级CMS是Wordpress,Drupal和Joomla。这是我们迄今为止的分析(按顺序列出):
WordPress的
优点:简单的设计。非常受欢迎和理解。最近非常稳固的安全历史
缺点:也许有点过于简单 - 可以使它起作用吗?
Drupal的
优点:对自定义应用程序开发可能更友好。体面的安全历史
缺点:更复杂,更难理解。
的Joomla
优点:受欢迎且易于理解。
缺点:一些安全问题
我们遇到的最大问题之一,以及我们希望从S.O.获得的东西。社区正在了解如何轻松地将这些内容定制为成为自定义应用程序。举个例子,当客户进入他的管理区域时,他会不会觉得这是一个带有内置wordpress CMS的“拍卖网站”,或者是 “带有拍卖插件的wordpress网站”?我们希望前者而不是后者。但是可以做到吗?
或许我们看错了方向? 我们应该寻找像CakePHP 这样的东西吗? (请注意,由于分发和部署原因,像RoR和Django这样的选项是非常规的。)
以下是一些相关(但不完全相同)的问题,这些问题有一些有用的信息:
Using a CMS to Design a Web Application
CMS for custom application
答案 0 :(得分:8)
这是我们过去经常面对的问题。
我们的开发工具包由Wordpress和CakePHP组成。在我们真正需要的时候,我们使用了前者和后者。
除非你正在做一些非常激进的事情,否则你可以用(类似的)Wordpress来做。如今,管理区域可以进行大量修改,自定义分类法允许有意义的实体,而不仅仅是帖子和页面。
您需要考虑的是已建立的CMS软件包带来的丰富功能和测试。另外,Wordpress等人。有大量的插件/扩展,可以让你更接近你需要的地方。
我想我所说的是,你会发现很难说服我退回像CakePHP这样的东西。
编辑:六次修订有great post on customising the admin area。此外,如果您有特定的wordpress查询,请记住我们有really strong stackexchange site等待您的问题!
答案 1 :(得分:7)
除非你做一些激进的事情,否则你会更好地使用CMS(与Tom Wright达成协议)。
我会参加Drupal。它是一个非常强大的CMS,为http://www.whitehouse.gov(美国总统官方网站)等世界级网站提供支持。这本身就说明了它的可扩展性,可靠性和安全性。
查看http://drupalsites.net以查看在Drupal中制作的一整套网站。一旦进入Drupal,您就可以访问其中一个最活跃的社区,用于开源项目。该社区已经制作了超过2000多个免费模块(或附加组件),以满足vanilla Drupal无法满足的要求。
Drupal确实比Joomla或Wordpress有更清晰的学习曲线。但Drupal,我相信比Wordpress和Joomla更强大。一旦掌握了Drupal的基础知识,就可以轻松推出其功能。整个Drupal系统感觉一致。有些CMS是一系列无休止的一次性模块,只需要那样配置。 Drupal有一些功能强大的模块,如Views和CCK,一旦掌握,将帮助你完成许多需要在其他CMS中进行许多不同的黑客/附加组件/自定义编程的东西。
Joomla拥有声誉,因为它更容易学习,但最终难以建立真正复杂和庞大的社区网站。 Wordpress虽然在3.0版本中快速成熟,但仍然像Drupal / Joomla一样功能丰富。然后还有其他一些即将推出的CMS即将推出 - 查看Packtpub CMS奖项 - 你可以在那里看到一些好的CMS。
基本上归结为此 - 像Drupal这样的CMS就是为满足主流网站需求而构建的。如果您的网站不是激进的(今天的推特或foursquare等价物)坚持使用Drupal /另一个CMS。开发时间刚刚严重缩短。只有当你觉得你在做什么在CMS中不实用时,你应该选择像Cake,Django等框架。
答案 2 :(得分:2)
我也会继续使用CMS的潮流。除非你有一个真正独特的应用程序,不需要任何标准用户/内容类型的东西,否则从头开始是没有意义的。
我的决定取决于技术人员对客户的了解程度。我倾向于远离Wordpress,因为扩展它并不像Drupal或Joomla那么简单。让Wordpress做同样的事情还需要做更多的工作,而且开箱即用的功能非常有限。
我们通常选择Joomla,因为管理员比Drupal更容易教授客户端。与Joomla相比,Drupal具有更好的用户管理和访问控制,但是有很好的扩展可以在必要时为您提供。我认为Joomla的另一个优势是它的MVC架构和庞大的开发社区。近6000个GPL扩展和更多非GPL扩展。添加一个像K2这样的好CCK,天空是极限。
至于自定义管理员,我们为商业网站使用自定义安装。它标有我们的徽标,所有的Joomla东西都被删除了。没有未使用的核心扩展程序显示在管理员中,并且根据网站的目的,它可以看起来像具有内置CMS的应用程序。我们所做的任何改变都没有触及核心,大多数是根据需要打开或关闭内容的简单设置。您甚至可以通过简单的管理扩展更进一步,使您可以精确控制用户登录管理员时看到的内容。但我们并没有觉得有必要。
最后,它更多地是关于哪种CMS感觉最舒适的编码扩展。已经证明,所有3个都可以做成基本相同的事情,所以选择你最喜欢的那个。
答案 3 :(得分:2)
我们公司在网络开发方面拥有丰富的经验,但最近决定将基于Drupal development的常规能量引导到网络开发,因为只有在Drupal开发的情况下客户才能获得:
答案 4 :(得分:0)
我肯定会使用ExpressionEngine。它是一个功能齐全的CMS,使用它的查询模块并允许PHP模板,你可以在CMS框架内进行相当精细的调整。
如果你需要更多功能,它是建立在CodeIgniter之上的,并且开发附加组件对于一个体面的开发人员来说非常容易。
它不是免费的,但它非常完美且值得花费(商业网站300美元)。