Rails 3 CMS +博客想要适应现有网站。不引人注目和轻量级

时间:2011-07-12 07:23:45

标签: ruby-on-rails-3 content-management-system

我想在网络应用中添加CMS和博客。一个不会妨碍的方式。没有太多内容,但足够我们希望非开发人员能够修改页面,也可能添加和删除它们。

我们有一个实体应用程序,CMS无法触及,而不是我们正在迁移的网站。

你是如何处理这种情况的?

你会建议:

  • 运行两个应用程序(内容应用程序和'app'应用程序)
  • 插入轻量级CMS
  • 使用Gems / plugins为WYSIWYG
  • 滚动我们自己

详细

我们稍后会添加一个错误的票务和支持系统。可能内置于应用程序中。

我们希望该应用的用户能够通过他们的主帐户对页面和博客帖子,文件票据等进行评论,因此将其构建到我们的应用程序中似乎是有意义的,而不是一个额外的应用程喜欢听到关于此的战争故事。

应该是:

  • 不引人注目(不应干扰现有应用)
  • 一定不要乱用Devise,DeclarativeAuthorization或Omniauth。我们拥有广泛的用户帐户,权限,身份验证机制和群组设置。这些必须留下来。
  • 轻量级(喜欢开发友好而非加载功能的东西)

所需功能:

  • 内容编辑的基本WYSIWYG
  • 让我们处理帐户(使用Devise)
  • 甚至可能是权限(使用DeclarativeAuthorization)

我已经读过这个类似的问题,但作者似乎愿意有一些更具侵入性的东西。 Simple Rails 3 CMS Gem/Plugin?

找到

选项

炼油厂似乎有很多功能,但粗略看来它需要对发生的事情进行大量控制:http://refinerycms.com/guides/attaching-refinery-cms-to-an-existing-rails-application它说它是模块化的,但似乎有那里有很多非可选的东西。

Radiant 似乎也有点单片 http://groups.google.com/group/radiantcms/browse_thread/thread/b691cf9ab644a8b2

ComfortableMexicanSofa 似乎更符合我的要求:https://github.com/twg/comfortable-mexican-sofa

Adva-Cms 拥有正确的理念,但似乎已经死了。 Adva-Cms2还没准备好 http://adva-cms.org/

总督似乎很好,但也许有点太年轻和精益 https://github.com/carpeliam/governor

结论

到目前为止滚动我们自己,或使用ComfortableMexicanSofa似乎是赌注,但在我花了几天时间之前,我想要你的想法。

2 个答案:

答案 0 :(得分:5)

我现在正在推出自己的博客应用程序,我对Rails 3有点新手。就像那样,在1周内我有一个带有标签,评论,omniauth身份验证等的博客。我的建议是:滚动你的拥有。我有同样的疑问,并寻找预先制作的解决方案,我决定从零开始,只是寻找我需要的任何插件。

如果您已经知道某些rails编程并使用正确的插件,那么它会非常快。这是我用过的:

  • Omniauth让用户能够通过脸书,推特等方式进行认证..并留下您的评论。

  • rails_admin:它允许您访问yourapp.com/admin来管理您的博客。它使用devise来创建一个Admin用户(您可以指定一个不同于用户的模型名称,以便不与omniauth或其他应用程序中的用户混合)如果您拥有正确的模型和关联,您可以从那里创建你的帖子,为他们分配标签或类别,还删除评论等..这一切都以一种简单的方式完成。对于用于介绍帖子内容的文本区域,只需向rails_admin初始化程序添加以下内容即可将其与ckeditor关联:

    config.model Post do
      edit do
        field :body, :text do
          ckeditor true
        end
      end
    end
    

    使用ckeditor,您可以介绍图片,附加视频,格式化文本等。

  • 使用kaminari进行分页,或者如果您更习惯使用,则可以使用will_paginate。

  • 使用蓝图框架与css进行样式设置可以节省时间并具有更多标准样式。

  • 使用少量jquery行优雅地插入/删除评论。

这就是我现在所能记住的一切。如果它不应该干扰主应用程序,我会为它分配一个子域。因此,如果您访问blog.myapp.com,则可以访问该博客,如果您访问myapp.com,则可以访问该应用程序。并且您希望应用程序中的用户与博客进行交互,因此您应该只使用一个应用程序并将此2个子域指向同一个应用程序的不同部分。请查看:rails 3 - one app, multiple domains, how implement a different 'root' route for one of the domains?

这就是我现在能想到的一切!如果我可以帮助你,请告诉我。

答案 1 :(得分:1)

rails_admin:它允许您访问yourapp.com/admin来管理您的博客。它使用devise来创建一个Admin用户(您可以指定一个不同于用户的模型名称,以便不与omniauth或其他应用程序中的用户混合)如果您拥有正确的模型和关联,您可以从那里创建你的帖子,为他们分配标签或类别,还删除评论等..这一切都以一种简单的方式完成。对于用于介绍帖子内容的文本区域,只需向rails_admin初始化程序添加以下内容即可将其与ckeditor关联:

config.model Post do
  edit do
    field :body, :text do
      ckeditor true
    end
  end
end