sv_*_*_in 7 architecture ruby-on-rails social-networking plugin-architecture plug-and-play
我必须在Ruby on Rails上构建一个社交网站.网站中的功能可能会不时变化; 所以我们需要轻松添加/删除功能.此外,我们可能正在建立另一个社交网站.由于这些原因,我们正在考虑为RoR中的社交网站构建一个基本框架,其功能是安装或卸载框架的扩展.
我之前在Joomla工作过!CMS及其用于添加/删除扩展的体系结构正是我所关注的.在Joomla!安装通常有一个管理员端,您可以从中添加/删除/自定义扩展.
我是RoR的新手,发现很难决定如何做到这一点.任何帮助将不胜感激.
Spa*_*asm 15
更新2015年:这在2009年得到了回应,很多都发生了变化
插件已被宝石和引擎取代了有关引擎所需的所有信息:http: //guides.rubyonrails.org/engines.html
引擎是为rails应用程序构建封装和可重用代码的绝佳方式.
原始答案供参考
在开发方面,Rails引擎和/或插件可能就是您正在寻找的.
比如说你的社交网络应用程序有一个wiki,博客,聊天室等.你很可能想要创建一个wiki引擎,博客引擎和聊天室引擎.
引擎允许您在不同的应用程序中重用这些功能,因此您不必重复自己.
我还建议看一下github上的一些公共项目,看看人们如何使用引擎.
看看一些引擎:
其他有用的阅读链接
在功能方面,您仍然可以拥有可以激活某些功能的管理区域,即.允许用户使用权限/角色系统访问此类区域,从而实现您的博客或Wiki.
如果你想构建一个支持某种扩展的CMS,比如Wordpress或Joomla,那么你必须构建它并提供指导,或者至少从用户的角度研究如何上传/安装引擎/插件.
不确定这对安全的影响
Redmine已将这种功能融入到他们非常棒的应用程序中.您可能想要挖掘源代码以获取提示和线索
最后,Adva_CMS基本上采用了这种方法,并为其CMS应用程序创建了许多引擎
HTH
| 归档时间: |
|
| 查看次数: |
1893 次 |
| 最近记录: |