Drupal 为企业做好准备了吗?
有人使用 Drupal 来实现大规模、关键业务的企业应用程序吗?
Drupal 缺乏数据库事务支持是否会阻碍潜在用户?
是否还有其他基于动态语言的轻量级 Web 框架可供人们用于此类应用程序? Java 门户(例如 JBossPortal 或 Jetspeed)作为替代方案或 Drupal + J2EE 混合架构怎么样?
Is anyone out there using Drupal for large scale, business critical enterprise applications?
Does Drupal's lack of database transaction support dissuade potential users?
Are there any other lightweight web-frameworks based on dynamic languages that people are using for these types of apps? What about Java portals such as JBossPortal or Jetspeed as an alternative or a Drupal + J2EE hybrid architecture?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(16)
答案一:是
答案二:看情况
肯定有人对此问题有所顾虑。 Drupal 的数据库支持和模式在其发展过程中受到了一些审查和批评。 如果部分或全部计划的增强功能进入 Drupal 7,这种情况可能会减少。这是您的三个问题中无法通过搜索互联网轻松而明确地回答的一个。
答案三:
答案四:(更新:2010-02-03 11:25:04)
Answer One: Yes
Answer Two: It depends
There are surely some who have concerns about this issue. Drupal's database support and schema have been subject to some scrutiny and criticism over its evolution. That is likely to diminish if some or all of the planned enhancements make it into Drupal 7. This is the one out of your three questions that cannot be easily and definitively answered by searching the internet.
Answer Three:
Answer Four: (Update: 2010-02-03 11:25:04)
我建议不要使用 Drupal,因为它效率低下。 是的,它几乎可以做任何事情,但它做起来很慢。 对于除了最简单的站点之外的任何站点,drupal 构建的查询链和页面都不会像定制站点那样高效。 可以通过两个 SQL 连接和一个 PHP 循环手动完成的事情很可能由 Drupal 通过五个连接和一个嵌套循环来处理。
也就是说,我喜欢 Drupal 并将继续在非企业环境中使用它,并且我不能推荐任何其他在处理复杂任务时不存在类似问题的 CMS。
I recommend against Drupal due to its inefficiency. Yes, it can do almost anything, but it does it slowly. For any but the simplest of sites, drupal will not build nearly as efficient a chain of queries and pages as a custom built site will. Something that can be done by hand with two SQL joins and a single PHP loop is likely to be handled by Drupal with five joins and a nested loop.
That said, I love Drupal and will continue using it in non-enterprise environments, and I cannot recommend any other CMS that does not have similar problems when presented with complex tasks.
这取决于您所说的“企业”是什么意思。 例如,如果您正在构建供应链管理工具,那么这是一个可怕的选择。
但如果您的意思是“流量极高的网站”或“内容上线之前具有复杂审批工作流程的网站”或“我们可以水平扩展的网站”,那么我会说是的。 有相当多的大规模 Drupal 部署,从 SonyBMG 的艺术家网站套件到报纸和杂志。
It depends on what you mean by "Enterprise." It's a horrible choice if you're building a supply chain management tool, for example.
But if you mean "extremely high traffic sites" or "Sites with complex approval workflows before content goes live" or "sites that we can scale horizontally", then I'd say yes. There are quite a few very large scale Drupal deployments out there, from SonyBMG's suite of artist web sites to newspapers and magazines.
是的,但是...
注意事项:
许多基于社区的主题的编码都很草率,这完全否定了 Drupal 为确保其 CMS 安全所做的努力。 更糟糕的是,主题开发的常见做法是找到一个与您想要的主题相似的主题并对其进行自定义。 由于这些主题的代码是如此自由地共享,因此一个草率的错误可能会影响从中派生的许多其他主题。
如果您使用 Drupal(或任何其他库存 CMS),不要只是聘请一些 joe-shmo 设计师为您设计主题。 如果可能的话,聘请一份视觉主题合同和一名 PHP 开发人员,以实际从 PSD 构建主题
Yes, but...
Word of Caution:
Many community-based themes are coded sloppily, which completely negates the efforts Drupal has made to make their CMS secure. Worse still, common practice in theme development is to find a theme like the one you want and customize it. Since code of these themes is shared so freely, a single sloppy mistake can affect many other themes derived from it.
If you go with Drupal (or any other stock CMS), don't just hire some joe-shmo designer to theme it for you. If possible, hire one contract for the visual theme and a php developer to actually build the theme from PSD's
我是最近重新启动的美国糖尿病协会的首席开发人员 - http://forecast.diabetes.org/ - 在 Drupal 中重建。 发布时,我们每月获得约 25 万独立用户,并且还在显着增长。 虽然对“低效查询链”的批评大多是准确的,但这是有原因的。 延迟加载模式被尽可能频繁地使用。 为了稍微简化这个过程,你总是可以配置 Drupal 的缓存,有一些插件模块,然后你可以使用 APC 或 memcached 之类的东西。
无论如何,轻松扩展、定制以及(通常不到一个小时)向客户展示一些内容并允许他们加载内容的权衡是非常重要的。
I was the lead developer behind the recently relaunched American Diabetes Association - http://forecast.diabetes.org/ - rebuild in Drupal. At launch, we were getting about 250k uniques/month and it's been growing significantly. While the criticism for "inefficient query chains" is mostly accurate, there is a reason for that. The Lazy Loading pattern is used as frequently and often as possible. To streamline the process a bit, you can always configure Drupal's caching, there are some addon modules, and then you could go with something like APC or memcached.
Regardless, the trade off of being easily extended, customized, and - in normally less than an hour - having something to show the customer and allow them to load content, is pretty significant.
帮助为 Popular Science Magazine 创建 drupal 网站,很快又为另一本杂志(我不确定我是否能说出名字吗?),我觉得还挺合适的。 我们还为 BMW 和 Pregnancy.org 建立了一个内部网站点。
它可能还不完美,但非常合适。
Having helped to create drupal sites for Popular Science Magazine and soon another magazine (which I'm not sure if I can name yet?), I think it's quite suitable. We've also done an intranet site for BMW and Pregnancy.org.
It may not be perfect yet, but it's quite suitable.
我的公司正在使用 Drupal 为我居住的州最大的大学之一构建面向公众的网站。到目前为止,我们已经取得了相当成功。
我们也为许多其他客户使用混凝土,我认为我们通常对混凝土更满意,尽管它不像 Drupal 那样广泛使用。
My company is using Drupal to build the public facing website for one of the largest universities in the state that I live in. So far we have been pretty successful with it.
We use concrete for a bunch of other clients as well and I think we're generally happier with concrete although it is not nearly as wide spread used as Drupal.
Drupal 被广泛使用,并且有一个非常大的社区支持其开发。 如果您想要自定义 drupal 组件,还有一个大型出租社区。
Drupal is used all over the place and has a very large community supporting its development. There is also a large for hire community if you want a custom drupal component.
我参与过一个拥有大约 100 万个节点的 Drupal 项目。 我们添加了事务支持,这并不太难。 当然,您需要修补核心,但这对于具有良好支持和文档的企业应用程序来说不应该是主要问题。 我当时担任事务支持方面的观察结对程序员。 我想我们花了大约一天的时间。
编辑:
我作为 Drupal 开发人员已经工作几年了。 最近,我修改了我对 Drupal 最佳实践和企业应用程序的立场。
我不认为 Drupal 特别适合企业领域,因为:
另外:我曾经开发的企业 Drupal 应用程序现在已经移植到 Rails 中。
I've worked on a Drupal project with about 1 million nodes. We added transactional support and it wasn't too hard. You'll need to patch the core of course but this shouldn't be a major concern for an enterprise application with good support and documentation. I was working as the observing pair programmer on the transactional support. I think it took us about a day.
Edit:
I've been working as a Drupal Developer for a few years now. And recently, I have revised my position on Drupal in relation to best practices and enterprise application.
I don't think Drupal is particularly suited to the Enterprise space because:
Also: The enterprise Drupal Application I was once working on has now been ported into Rails.
我使用 Drupal 为一个组织构建了一个面向公众的综合网站,其中还包括供员工使用的内部功能,例如会议组织和内部文档管理。 大多数情况下,它的效果很好,他们对此感到满意,并且非常高兴不必管理两个单独的站点和/或共享点之类的东西。
我发现 Drupal 有点欠缺的地方是它的 LDAP 支持。 您可以很好地使用它进行身份验证,但是模块中存在一些错误,这些错误尝试将 LDAP 组降低为角色,如果这工作得更加无缝,我将完全同意“Drupal 已为企业做好准备”的观点,但是现在还没有。
也就是说,您可以使用内容类型和基于分类的访问控制进行大量操作,以自定义哪些内容可供哪些角色使用,这是大多数 Intranet 的要求。
I've used Drupal to build a combined public-facing site for an organization that also included internal features for employees such as meeting organization and internal document management. Mostly it worked out well and they are happy with it, and very happy not to have to manage two separate sites and / or something like sharepoint.
The one place I found Drupal to be a little lacking is in its LDAP support. You can use it just fine for authentication, but there are some bugs in the modules that try and bring LDAP groups down as roles, if this worked more seamlessly I would be completely on board with the "Drupal is enterprise-ready" sentiment, but it's not there yet.
That said, you can do a lot with content types and taxonomy-based access control to customize what content is available to what roles, something that is a requirement for most intranets.
对于事务支持和其他重大扩展改进,请考虑 Pressflow http://fourkitchens.com/pressflow-makes- drupal 规模
For transactional support and other significant scaling improvements consider 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 的性能功能,并确保使用高质量的托管。
Drupal is great, but it is very inefficient. But, as I keep telling my frontend developers, this is the payoff for being flexible and highly modular.
We are currently creating a Druapl site, which I consider enterprise (http://stackoverflow.com/questions/161991/what-makes-an-application-an-enterprise-or-enterprise-level-application). It has about 40 content types, 15 user roles, integrated with Ubercart, interfacing with external APIs for membership verification etc. etc. Our development servers struggle some times, but on our staging hosting, it is lightening - fast as any similar sized site.
Make sure any bespoke code is well developed, use Drupal's performance features before release and ensure quality hosting is used.
如果您将在此处看到网站列表 http://buytaert.net/tag/drupal-sites在这里http://www.drupalsites.net/,你会看到Drupal正在被用来构建小型、中型、大型网站!
If you will see the list of sites here http://buytaert.net/tag/drupal-sites and here http://www.drupalsites.net/, you will see that Drupal is being used to build small, medium and large scale sites!
我也对 Drupal 的缓慢问题感到不满,但似乎只要有一流的开发人员就可以解决这个问题。
对于制作公司网站来说,这是一个中等难度的工具,对于制作企业应用程序来说,这是一个非常困难的工具。 但当谈到开源 LAMP CMS 时,没有真正的竞争对手。
I too have issues with Drupal's slowness, but it seems that with top notch developers you can get around it.
It's a moderately difficult tool to make a company website with, its a very difficult tool to make an enterprise-application with. But when it comes to open source LAMP CMS's, there is no real competitor.
我们使用 Drupal 作为我们网站 http://www.tableausoftware.com 的主要企业宣传册和社区区域
。使我们能够添加大量可插拔功能并定制 UX 来满足我们的需求,这远远超出了我们使用更简单的平台(如 Rails 或更适合应用程序的 django)所能做到的。
我们在性能调整方面仍有增长空间,但我们每年有数百万次点击,没有任何问题。 我们利用 Solr 索引来改进搜索,并允许对网站内容、知识库和支持论坛进行分面集成搜索。 此外,我们的团队有权创建内容并管理网站,而无需遇到开发麻烦。
最后,随着最近社区对功能和上下文等工具的关注,除了改进的站点架构之外,我们还能够管理更多的无风险部署和工作流程/环境管理。
We use Drupal for the main corporate brochure and community areas of our website at http://www.tableausoftware.com
It has allowed us to add on a multitude of plug-able features and customize UX to meet our needs far beyond what we could do with either a more bare-bones platform like rails or django better suited for apps.
We still have room to grow for performance tuning, but we have millions of hits a year without a problem. We've made use of Solr indexing to improve search and allow faceted integrated search for site content and knowledge base and support forums. Additionally, our team has been empowered to create content and curate the site without development hassles.
Lastly, with recent community focus on tools like Features and Context we've been able to manage more risk free deployment and workflow/environment management in addition to improved site architecture.
Drupal 很棒。 我已经将它用于几个中型社区和个人网站,到目前为止给我们带来了非常好的结果。 我支持这样的评论,该评论指出我们已经看过的许多网站的模板做得过度甚至质量低下,但是,只需聘请一位优秀的编码员/设计师来为您做好这件事即可。
至于内存问题,有大量文章可以帮助您调整 Drupal 的数据库管理。 甚至有一个名为 Drupal Tweaks 的模块可以自动为您执行此操作。 以下是其项目页面的摘录:
总的来说,到目前为止我们非常满意使用 Drupal 快速开发最多样化的网站和企业内部网。
Drupal is great. I've used it for several mid-scale community and personal websites, and so far is giving us very good results. I would support the comment pointing at the over-done or even low quality of the templates of many of the website's we've looked at out there, but then, just hire a good coder/designer that does this nicely for you.
As for the memory issues there's tons of articles out there that would help you in tweaking Drupal's database management. There's even a module called Drupal Tweaks that does this automatically for you. Here is an excerpt from its project page:
Overall we are quite happy so far with Drupal for quick development of the most varied websites and corporate Intranets.