【问题标题】:Which CMS as the basis for a custom web application [closed]哪个 CMS 作为自定义 Web 应用程序的基础 [关闭]
【发布时间】:2011-04-20 14:28:04
【问题描述】:

我正在考虑为客户(在本例中为专门的拍卖网站)构建一个自定义 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

【问题讨论】:

标签: php wordpress drupal web-applications joomla


【解决方案1】:

这是我们过去经常遇到的问题。

我们的开发工具包括 Wordpress 和 CakePHP。我们尽可能使用前者,而真正需要时使用后者。

除非您正在做一些非常激进的事情,否则您可能可以使用(类似的)Wordpress 来做。如今,管理区域可以进行大量修改,并且自定义分类法允许有意义的实体,而不仅仅是帖子和页面。

您需要考虑的是成熟的 CMS 软件包附带的丰富功能和测试。另外,Wordpress 等人。拥有大量插件/扩展,可以让您更接近您需要的位置。

我想我的意思是,你会发现很难说服我退回到像 CakePHP 这样的东西。

编辑:六个修订版有一个great post on customising the admin area。此外,如果您有特定的 wordpress 查询,请记住我们有一个 really strong stackexchange site 等待您的问题!

【讨论】:

  • 您能否指出有关您用于转换管理后端的机制的文档?
【解决方案2】:

除非你做一些激进的事情,否则你会更好地使用 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 中进行许多不同的 hacks/add-ons/自定义编程的事情。

Joomla 享有声誉,因为它更容易学习,但最终难以构建真正复杂和庞大的基于社区的网站。 Wordpress,虽然在 3.0 版中快速成熟,但距离像 Drupal/Joomla 那样丰富的功能还有很长的路要走。然后还有一些其他即将推出的 CMS——查看 Packtpub CMS 奖项——你可以看到那里列出了一些优秀的 CMS。

基本上归结为这一点 - 像 Drupal 这样的 CMS 旨在满足主流网站的需求。如果您的网站不是激进的(今天的 twitter 或foursquare 等价物),请坚持使用 Drupal/另一个 CMS。开发时间大大缩短。只有当你觉得你在 CMS 中做的事情不实用时,你才应该选择像 Cake、Django 等这样的框架。

【讨论】:

  • Drupal 的 +1。它绝对是迄今为止我使用过的最强大的 CMS,文档也非常好。
  • 也为 Drupal +1。我已经尝试了所有其他方法,但 Drupal 只是 为我做。大量模块允许轻松自定义,编写自己的(如果必须的话)一点也不难......
【解决方案3】:

我也会加入使用 CMS 的潮流。除非您有一个真正独特的应用程序,不需要任何标准用户/内容类型的东西,否则从头开始根本没有意义。

我会根据客户对技术的了解程度做出决定。我倾向于远离 Wordpress,因为扩展它不像 Drupal 或 Joomla 那样简单。让 Wordpress 做同样的事情需要做更多的工作,而且其开箱即用的功能非常有限。

我们通常使用 Joomla,因为管理员比 Drupal 更容易教客户。 Drupal 比 Joomla 具有更好的开箱即用用户管理和访问控制,但如果有必要,有非常好的扩展可以为您提供两者。我认为 Joomla 的另一个优势是它的 MVC 架构和庞大的开发社区。近 6000 个 GPL 扩展和更多非 GPL。再加上像 K2 这样好的 CCK,天空就是极限。

至于自定义管理员,我们为我们的商业网站使用自定义安装。它带有我们的徽标,并且所有 Joomla 内容都已删除。未使用的核心扩展都不会显示在管理员中,并且根据站点的目的,它可以看起来像一个带有内置 CMS 的应用程序。我们所做的任何更改都没有触及核心,大多数更改都是根据​​需要打开或关闭内容的简单设置。您甚至可以通过简单的管理员扩展更进一步,让您可以精细控制用户在登录到管理员时看到的内容。不过,我们还没有觉得有必要这样做。

归根结底,更重要的是您觉得哪个 CMS 编码扩展最舒服。已经证明,所有 3 个都可以做基本相同的事情,所以选择你最喜欢的那个。

【讨论】:

    【解决方案4】:

    我们公司在 Web 开发方面拥有丰富的经验,但最近决定基于 Drupal development 将共同的精力用于 Web 开发,因为只有在 Drupal 开发的情况下客户才能获得:

    • 一个建立在基于开源代码的安全系统上的网站,该系统经过全球数百万用户的测试。专业的内容管理系统;
      • Drupal 系统的可能性更有可能是受限于开发者的想象力,而不是 Drupal 本身的设施;这将是一个具有出色性能和可扩展性的网站;
      • 相信 CMS 制作人不会消失;
      • 价格适中的网站,即使需要开发一些 Drupal 尚未开发的特定功能;
      • Drupal 核心及其模块的新版本免费提供。

    【讨论】:

      【解决方案5】:

      我肯定会选择 ExpressionEngine。这是一个功能非常齐全的 CMS,使用它的查询模块并允许在模板中使用 PHP,您可以在 CMS 框架内进行微调。

      如果您需要更强大的功能,它构建在 CodeIgniter 之上,并且对于一个体面的开发人员来说,为其开发附加组件非常容易。

      它不是免费的,但它非常完美而且物有所值(商业网站 300 美元)。

      【讨论】:

      • 我不认为商业 CMS 是一种选择,因为客户想要转售应用程序。然而,CodeIgniter 看起来很吸引人,并且有免费的 CMS 建立在它上面可能会起作用(例如 PyroCMS)。
      猜你喜欢
      • 1970-01-01
      • 2016-04-07
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 2016-02-17
      • 1970-01-01
      • 2016-01-21
      相关资源
      最近更新 更多