我需要为我的下一个项目选择一个 cms,我已经搜索并提出了这两个:radiant 和 refinery,哪个更适合构建中型网站?rails cms 还有其他选择吗?一个重要因素是客户可以轻松地更新他们的网站,而无需太多知识 thnx 的帮助
4 回答
我发现这个领域仍然非常分散。去年我研究了 Radiant、adva-cms、BrowserCMS 和 Refinery。我的简单看法是这样的:
- Radiant 是最成熟的,但以其专有的风格接管了整个应用程序堆栈。向其中添加自己的应用程序不仅像编写 Rails 应用程序,而且您必须学习 Radiant 扩展方法才能做到这一点。Rake 任务、测试套件、迁移都是非标准的。这限制了灵活性,并带来了更高的员工培训要求。
- adva-cms 是作为 Rails 引擎构建的(作为 gem 发布),不会接管应用程序堆栈,因此您可以像以前一样开发 Rails 应用程序,并且 adva-cms 可以和平共存。它对国际化和多站点支持有很好的支持。它很有前途,他们刚刚发布了 adva-cms2,这是针对 Rails 3 的完全重写。它很有前途,但还很年轻。
- BrowserCMS 和 adva-cms 一样,是一个 Rails 引擎,当我 9 个月前第一次看到它时,我觉得它更成熟了,但开发似乎已经放缓。今年早些时候我为一个项目选择了它,但我们想知道正在进行的开发人员活动会是什么样子。在撰写本文时,还没有兼容 Rails 3 的版本。
- RefineryCMS 似乎有很多活动和商业支持,但与其他 3 个不同的是,它仍然没有测试套件。一个 4 年的 Rails 项目没有测试套件,风险太大。由于缺乏回归,它何时会达到改变成本增加的指数曲线是有争议的,但它是否会到来则不是。我也厌倦了在这个时代在 Rails 中工作的仍然不了解 TDD 的开发人员。你的旅费可能会改变。
总而言之,目前还没有一个简单的脑残选项可以满足大多数需求。根据您的需要进行选择。
9/2011 更新:我们最近一直在使用rails_admin
gem,它工作得非常好,不是很侵入,并且允许大量自定义。它可能是新的 Rails 3 和标准之后的版本。这也active_admin
遵循我们在另一个项目中使用的类似概念。
我是 Refinery CMS 的开发人员之一,我会推荐它用于您所描述的用途。
炼油厂已经建成了 4 年,我们向普通人展示了它,并让他们在没有我们帮助的情况下更新他们的网站。我们故意从 UI 中省略了技术细节,因此非技术客户使用起来非常简单。
CMS 应该为谁服务,对吧?
如果您将来需要构建一个较小的站点,还有一个名为Refinery HQ的托管版本的 Refinery ,它允许您使用开源项目提供的所有相同工具快速、廉价地为您的客户提供一个可编辑的站点。
我真的很喜欢RefineryCMS,因为它使用灵活,不偏离Rails 的方式,而且非常可扩展。将现有的 Rails 应用程序转换为 Refinery 应用程序是轻而易举的事。他们确实有一个包含 46 个奇怪场景的黄瓜测试套件,您必须确定它的有效性。
另一方面,Radiant 也非常好,但它的学习曲线更大,因为它非常广泛和专有。尽管 Radiant 的扩展基础很大,但要添加新功能,必须依赖现有的扩展或构建一个。很难将现有的 Rails 应用程序转换为 Radiant 应用程序。
过去曾为 Radiant 贡献过补丁,并且使用过 Refinery(虽然只是短暂的),我会倾向于 Radiant。过多的扩展使其非常容易扩展,而 2.0 的计划功能之一(正如 Freenode 上的#RadiantCMS 所讨论的)是使扩展对 Rails 更加友好(Think Rails 3 Engines),所以问题在完成 Rails 3 支持后,应该可以轻松地将现有应用程序移植到扩展程序。目前的计划是在 1.0 版本发布后开始认真地对 Rails 3 支持进行黑客攻击。
Radiant 1.0.0.RC4 目前非常易于安装和使用。在GitHub Wiki上有设置和部署它的很好的说明,Radiant 1.0 的第一个完整版本应该是现在任何一天,所以这是开始使用它或参与它的开发的最佳时机。
在我看来,对于中小型团队来说,没有更好的 CMS(即使是大型团队,它也可以很好地扩展,尽管我发现这需要比普通用户愿意投入更多的工作)。
编辑:此外,Radiant 1.0 RC4 将在 Ruby 版本 1.8.7 - 1.9.3 上运行良好。这样您就可以确保它适合您现有的 Ruby 设置。