是否有人将 Drupal 用于大规模、关键业务的企业应用程序?
Drupal 缺乏数据库事务支持是否会阻止潜在用户?
是否还有其他基于动态语言的轻量级 Web 框架可供人们用于这些类型的应用程序?JBossPortal 或 Jetspeed 等 Java 门户作为替代方案或 Drupal + J2EE 混合架构怎么样?
是否有人将 Drupal 用于大规模、关键业务的企业应用程序?
Drupal 缺乏数据库事务支持是否会阻止潜在用户?
是否还有其他基于动态语言的轻量级 Web 框架可供人们用于这些类型的应用程序?JBossPortal 或 Jetspeed 等 Java 门户作为替代方案或 Drupal + J2EE 混合架构怎么样?
答案一:是
答案二:视情况而定
肯定有人担心这个问题。Drupal 的数据库支持和模式在其演变过程中受到了一些审查和批评。如果计划中的部分或全部增强功能进入 Drupal 7,这可能会减少。这是您的三个问题中的一个,无法通过搜索互联网轻松且明确地回答。
答案三:
答案四:(更新:2010-02-03 11:25:04)
由于效率低下,我建议不要使用 Drupal。是的,它几乎可以做任何事情,但它做的很慢。对于除了最简单的站点之外的任何站点,drupal 都不会像自定义构建的站点那样构建高效的查询链和页面。可以用两个 SQL 连接和一个 PHP 循环手动完成的事情很可能由 Drupal 用五个连接和一个嵌套循环来处理。
也就是说,我喜欢 Drupal 并将继续在非企业环境中使用它,我不推荐任何其他在处理复杂任务时没有类似问题的 CMS。
这取决于您所说的“企业”是什么意思。例如,如果您正在构建供应链管理工具,这是一个可怕的选择。
但是,如果您的意思是“流量极高的网站”或“在内容上线之前具有复杂审批工作流程的网站”或“我们可以水平扩展的网站”,那么我会说是的。从 SonyBMG 的艺术家网站套件到报纸和杂志,有很多非常大规模的 Drupal 部署。
对,但是...
注意事项:许多基于社区的主题编码草率,这完全否定了 Drupal 为确保其 CMS 安全所做的努力。更糟糕的是,主题开发中的常见做法是找到一个您想要的主题并对其进行自定义。由于这些主题的代码可以如此自由地共享,因此一个草率的错误可能会影响由此衍生的许多其他主题。
如果您使用 Drupal(或任何其他库存 CMS),不要只聘请一些 joe-shmo 设计师为您设置主题。如果可能的话,雇佣一份视觉主题合同和一个 php 开发人员从 PSD 实际构建主题
我是最近重新启动的美国糖尿病协会 - http://forecast.diabetes.org/ - 在 Drupal 中重建的首席开发人员。在发布时,我们每月获得大约 250k 的唯一身份,并且一直在显着增长。虽然对“低效查询链”的批评大多是准确的,但这是有原因的。延迟加载模式被尽可能频繁地使用。为了简化这个过程,你总是可以配置 Drupal 的缓存,有一些插件模块,然后你可以使用 APC 或 memcached 之类的东西。
无论如何,轻松扩展、定制以及(通常在不到一个小时内)向客户展示并允许他们加载内容的权衡是非常重要的。
帮助为大众科学杂志创建了 drupal 站点,很快又为另一本杂志(我不确定我是否可以命名?),我认为它非常合适。我们还为 BMW 和Pregnancy.org建立了一个内部网站。
它可能还不完美,但它非常适合。
我的公司正在使用 Drupal 为我居住的州内最大的大学之一建立面向公众的网站。到目前为止,我们在这方面取得了相当大的成功。
我们也为许多其他客户使用混凝土,我认为我们通常对混凝土更满意,尽管它不像 Drupal 那样广泛使用。
Drupal 被广泛使用,并且有一个非常大的社区支持它的发展。如果你想要一个自定义的 drupal 组件,还有一个大型的招聘社区。
我参与过一个拥有大约 100 万个节点的 Drupal 项目。我们添加了事务支持,这并不难。当然,您需要修补核心,但这对于具有良好支持和文档的企业应用程序来说不应该是一个主要问题。我在事务支持方面担任观察对程序员。我想我们花了大约一天的时间。
编辑:
我已经作为 Drupal 开发人员工作了几年了。最近,我在最佳实践和企业应用方面修改了我对 Drupal 的立场。
我不认为 Drupal 特别适合企业领域,因为:
另外:我曾经从事的企业 Drupal 应用程序现在已被移植到 Rails 中。
我使用 Drupal 为一个组织构建了一个面向公众的组合站点,该站点还包括员工的内部功能,例如会议组织和内部文档管理。大多数情况下效果很好,他们对此很满意,并且很高兴不必管理两个单独的站点和/或类似共享点的东西。
我发现 Drupal 有点缺乏的一个地方是它的 LDAP 支持。您可以很好地使用它进行身份验证,但是模块中有一些错误会尝试将 LDAP 组作为角色降低,如果这能更无缝地工作,我将完全接受“Drupal 是企业就绪”的情绪,但是它还没有。
也就是说,您可以对内容类型和基于分类的访问控制做很多事情,以自定义哪些内容可用于哪些角色,这是大多数 Intranet 的要求。
对于事务支持和其他重要的扩展改进,请考虑 Pressflow http://fourkitchens.com/pressflow-makes-drupal-scale
Drupal 很棒,但效率很低。但是,正如我一直告诉我的前端开发人员,这是灵活和高度模块化的回报。
我们目前正在创建一个 Druapl 站点,我认为它是企业级的(http://stackoverflow.com/questions/161991/what-makes-an-application-an-enterprise-or-enterprise-level-application)。它有大约 40 种内容类型,15 个用户角色,与 Ubercart 集成,与外部 API 接口以进行成员身份验证等。我们的开发服务器有时会遇到困难,但在我们的暂存托管上,它是轻量级的 - 与任何类似大小的站点一样快。
确保任何定制代码开发良好,在发布前使用 Drupal 的性能特性,并确保使用质量托管。
如果您将在此处http://buytaert.net/tag/drupal-sites和此处http://www.drupalsites.net/看到站点列表,您将看到 Drupal 被用于构建小型、中型和大型规模网站!
我也对 Drupal 的缓慢有疑问,但似乎有一流的开发人员可以解决它。
这是一个制作公司网站的中等难度工具,它是制作企业应用程序的一个非常困难的工具。但是当谈到开源 LAMP CMS 时,并没有真正的竞争对手。
Drupal 很棒。我已经将它用于几个中型社区和个人网站,并且到目前为止给我们带来了非常好的结果。我会支持指出我们已经看过的许多网站的模板的过度甚至低质量的评论,但是,然后,只需聘请一位优秀的编码器/设计师来为您做好这件事。
至于内存问题,有大量文章可以帮助您调整 Drupal 的数据库管理。甚至还有一个名为Drupal Tweaks的模块可以自动为您执行此操作。以下是其项目页面的摘录:
...提供以下功能:
- 通过自动完成建议启用和禁用模块
- 快速搜索节点、用户等进行一些操作
- 从一个地方清除缓存并重建权限或同时执行这两项操作
总的来说,到目前为止,我们对 Drupal 能够快速开发最多样化的网站和企业内部网感到非常满意。
我们将 Drupal 用于我们网站http://www.tableausoftware.com的主要公司宣传册和社区区域
它使我们能够添加大量可插入的功能并自定义 UX 以满足我们的需求,这远远超出了我们使用更简单的平台(如 rails 或更适合应用程序的 django)所能做的事情。
我们仍有提升性能调整的空间,但我们每年有数百万次点击没有问题。我们利用 Solr 索引来改进搜索,并允许对站点内容和知识库以及支持论坛进行分面集成搜索。此外,我们的团队已被授权创建内容和管理网站,而不会遇到开发麻烦。
最后,随着最近社区对功能和上下文等工具的关注,除了改进的站点架构外,我们还能够管理更多无风险的部署和工作流/环境管理。