开源项目 Camaleon CMS, 一个接近 WordPress 的 Rails 版 CMS

samport · 发布于 2016年11月06日 · 最后由 Peter 回复于 2017年2月08日 · 1400 次阅读
26232

也许是我孤陋寡闻吧,我就没看到过Rails有像样的CMS管理系统,多数都还停留在教学示例的程度。特别是编辑器里面插入图片,以及图片文件管理,和WordPress简直没法比。

在谷歌上搜来搜去,找到一款接近WordPress的: Camaleon CMS,很有参考价值。

  • 亮点:编辑器图片上传功能,图片管理功能,分类和标签功能,基本的SEO功能,插件机制,前台可以更换模板,多语言,内置评论功能,联系表单功能。
  • 不足:用户登陆及文件上传功能好像是自己造的轮子,没有使用devise及carrierwave,代码不太容易懂。

Camaleon CMS官网

Camaleon CMS Demo

Camaleon CMS GitHub

Camaleon CMS图片管理

共收到 22 条回复
14534

我们使用AlchemyCMS,我认为是最灵活的CMS,Alchemy与其他CMS有理念上最根本的差别,CMS通常是提供一个富文本编辑器了事,Alchemy的做法是由开发人员提供HTML结构与CSS,编辑人员只需要往里面填空即可。

我们使用AlchmeyCMS做电商的首页(楼层)及活动页面;只提供富文本编辑器的CMS也许只适合用来写blog post 😅

1475

Ruby on Rails 适合快速原型开发。非常适合,以至于从 rails new ... 开始的敏捷开发,胜过基于框架的二次开发。

15

rails 要干什么 刷刷就造出来了 不用 cms

一般装个 wp 来用的 装 rails 环境就够一壶了。

26232

我要给客户实现一个在线销售系统中,有一些文章页面需要不定期的由客服人员去更新。后台需要一个类似tinymce之类的web编辑器能让业务人员去编辑页面,在这个编辑器上能插入图片,能调出过去已经上传的图片,能给图片加caption文字,在编辑器中能对一张图片重新编辑img的一些属性。另外图片等多媒体有个管理页面,上传图片时能选择或者创建新目录,也能删除已经上传的图片。还有图片上传应该能支持又拍云或者cloudinary之类的云存储。

这些普通的编辑器功能是在要求不过分,在php系统中也是很常见的,但是很少能见到有rails系统中对这些功能很好的实现。这里面其实涉及到很多jquery file upload等前端的东西,并不是用几条rails命令就能搞出来的。

我不相信rails网站里面不需要图文编辑器功能,我去找一些rails版的CMS,主要其实是想找一个实现的比较好的图文编辑实现方案,当目前为止除了Camaleon CMS,其它都太过于简单了

就拿现在回复帖子用的markdown编辑器来说,我也觉得markdown挺好用的,但是这样的编辑器是无法提供给普通客服人员用做文章编辑器的。

我感觉rails如果只是去追求极简,不屑于一些常见功能的话,最终只会是越来越小众,或者只适合做一个产品原型。

15

#4楼 @samport 没看出来你说的那些和 rails 什么关系。功能是自己做出来的。

26232

#5楼 @huobazi 我本来是想找一个现成的轮子,看来连这样的基本功能也得自己造?😁

9442

rails随便搭确实可以很快出来,但那是给自己用的。要给用户一个好用的cms还是得花不少时间的。我也是至今没有找到一个像样的rails cms,没有任何一个rails cms能给我wordpress的使用体验。感觉楼主这个是我需要的。我试试改成中文版。

15

#6楼 @samport tinymce ckeditor ueeditor 等等 哪个不能在 rails 用?

不过你说的好像是一个现象,我印象中 php 开发者喜欢造 cms 程序,喜欢造 blog 程序,喜欢造论坛程序……

26232

#7楼 @flowerwrong 这个Camaleon确实很接近WP的感觉了,后台是用了AdminLTE模板,很熟悉。

不过这套代码里面用了很多rails engine, plugin的用法,还有就是作者自己用FileUtils写了个uploader。我是rails新手,习惯于看常见的gem调用,看别人DIY的代码很累。

但是作者写的几个处理图片管理的前端coffeescript脚本,感觉很有参考价值。我准备自己拿carrierwave,ancestry来山寨一个图片管理器。

26232

#8楼 @huobazi 不是tinymce不能在rails用,而是tinymce上点击插入图片的按钮以后,怎么处理的问题。你可以随便找个rails的cms系统,点击插入图片按钮,看看它是怎么处理的,然后你再看看WordPress是怎么处理。

其它的CMS功能就更不用和WP去比较了,只能说Rails不屑于做CMS。

1107

#10楼 @samport 点击上传后如何做,这个很容易的....就是开debugger或者读他们提供的php、c#、java等等语言的参考实现了解前后端的协议就行了,比如我几年前做过的示例....

虽然tinymce、ckeditor等都提供了部分语言的后端实现,但参考代码就是参考代码,最后还是要根据自己的项目定制的

另外,WP是应用,Rails是框架...库层面没法做到你想要的那种层面的开箱方案的,后端持久化如何做的、文件管理、权限模型(以及你用什么访问控制的gem还是自己搞的...)...可能的组合太多,但是WP、Drupal层面这些已经抽象成接口甚至协议就很容易了,并且甚至能整理出开发文档

rails方面也有打包方案类似 ckeditor ,你看readme里为了支持市面上的上传组件就搞了多少套适配,但这个太简单,还没涉及访问控制、文件组织等等业务,把这些加上,那适配真就是排列组合了...

PS,很多开箱即用Gem(比如Devise、Doorkeeper)也可以深度定制的,修改一些内置的逻辑、扩展新功能,定制需要基于ruby和rails的理解找到hack点(最简单的定制比如上文提到的ckeditor的gem,不爽他上传文件的那个界面,如何用自己的替换),太细碎,整理成文档太难

2973

Camaleon 多语言支持的很好,以前也选过它

14534

其实很多Rails做的CMS都实现了题主说的功能;题主认为缺少的功能,其实是属于富文本编辑器的功能范畴,即 RTE File Manager。之前我们为了做电商的商品详情页让运营编辑,对这方面研究了很多。

TinyMCE 有 enterprise 版本,比社区版本多了 File Manager 。开源的 File Manager 也有几个,比较不错的有:

  • simogeo/Filemanager
  • elFinder
  • Responsive FileManager

题主可以自己尝试集成,不过相应的 upload backend 还是要自己实现,特别是跟七牛等云服务的结合。

题主要是有心,我们可以一起基于现有的这几个 File Manager 扩展一下,实现这些功能:

  • 文件夹形式管理上传的资源;
  • 结合常用云存储服务;
14534

另外我赞同 @jasl 说的“WP是应用,Rails是框架”,甚至我一楼回复的AlchemyCMS也只是CMS框架。对自己的定位不同,看待File Manager的态度就不同。框架可以不屑做这些,但是如果是做CMS应用没有这些就说不过去了。

26232

#13楼 @holysoros 感谢分享经验。这个很棒:Responsive FileManager。

我开始参考别人的前端代码,写一个自己的media管理器加后端的支持目录结构的uploader。

这个在php项目中,可以随手找到一个前后端全套的组件直接拿过来用,没想到在rails项目中还得自己去研究前后端的代码。

希望能将来有一个符合多数普通编辑人员习惯的编辑器加媒体管理器,可以直接拿过来集成到rails项目里。

14534

#15楼 @samport 因为这件事情实在是繁琐,而不是难。你写了TinyMCE的File manager加相应后端,那用CKEditor的没法用;有的又想浏览器直传到七牛等云存储;所以这件事情还真的只有自己才能做,即使有人做好了发布出来,适用场景其实很窄。

377

非常能理解楼主需求,一套可重用的CMS框架,可以满足很多无需太多定制要求的项目,极大减少开发量,例如:

  • refinerycms, 可满足 只需要简单页面内容定制的,例如建站类型的
  • activeadmin-cms, 适合原型级别、不管后端、验证概念级别的项目
  • rails-admin, 可满足不太care管理后台,前台有定制需要的项目
1665

#13楼 @holysoros 我们电商运营和我说,请让我直接写html可以么?我表示压力好大。。。

14534

#18楼 @ericguo 曾经我们运营和我说请允许他使用 DreamWave,被我断然拒绝了😎 现在我们运营已经爱上我们这套CMS了,玩的飞起。

1090

CKEditor的file manager已经做得很好了。什么权限管理,上传到CDN简单配置一下就可以用的了。我们就是CKEditor然后结合cancan做权限管理然后直接存CDN。

648

看着不错,有中文版支持没?

22楼 已删除
1553

#15楼 @samport 不知道有没有开发媒体管理器,有什么经验或代码分享吗?谢谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册