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

Ben*_*and 4 content-management-system ruby-on-rails-3

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

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

你是怎么处理这种情况的?

你会建议:

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

细节

我们稍后会添加一个bug票务和支持系统.可能内置到应用程序中.

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

应该:

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

所需特点:

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

我读过这个类似的问题,但作者似乎愿意有一些更具侵入性的东西. 简单的Rails 3 CMS Gem /插件?

找到的选项

炼油厂似乎有很多功能,但粗略看来它需要对发生的事情进行大量控制: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似乎是赌注,但我想你的想法,然后我花了几天搞乱它.

die*_*pau 5

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

如果你已经知道一些r​​ails编程并使用正确的插件,它会非常快.这是我用过的:

  • Omniauth让用户能够通过Facebook,Twitter等进行认证..并留下您的评论.

  • 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
    
    Run Code Online (Sandbox Code Playgroud)

    使用ckeditor,您可以引入图片,附加视频,格式化文本等.

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

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

  • 使用少量jquery行来优雅地插入/删除注释.

这就是我现在所能记住的一切.如果它不应该干扰主应用程序,我会为它分配一个子域.因此,如果您访问blog.myapp.com,则可以访问该博客,如果您访问myapp.com,则可以访问该应用程序.并且您希望应用程序中的用户与博客进行交互,因此您应该只使用一个应用程序并将此2个子域指向同一个应用程序的不同部分.看看:rails 3 - 一个应用程序,多个域,如何为其中一个域实现不同的"根"路由?

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