Best Ruby on Rails Social Networking Framework

Best Ruby on Rails social networking framework

It depends what your priorities are.

If you really want to learn RoR, do it all from scratch. Seriously. Roll your own. It's the best way to learn, far better than hacking through someone else's code. If you do that, sometimes you'll be learning Rails, but sometimes you'll just be learning that specific social network framework. And you won't know which is which...

The type of site you're suggesting sounds perfect for a Rails project. If you get stuck, then go browse the repositories of these frameworks. Who cares if you're reinventing the wheel? It's your site, your vision, your rules.

If you just want a site up and running, then I would pick Insoshi or LovdbyLess simply because they're out of the box apps so you'll have to do less to do get running. I suggest trying to install them both, and introducing yourself in the Google Groups. That'll give you a good indication of wether you're going to get along.

Is there a plugin like Elgg available for Ruby on Rails?

Diaspora was implemented in Ruby on Rails. They've got a lot of nice code there to fork or just even just read. The Gemfile has a lot of useful suggestions. Mostly we roll our own. Check out this related SO post.

Any Ruby on Rails equivalent to Pinax?

maybe you also want to take a look at the following entry on stackoverflow that has a similar topic: Social Network in Rails - which framework

How do I have plugin architecture in Ruby on Rails?

UPDATE 2015: this was answered in 2009 a lot has changed

Plug-ins have been superseded by Gems and Engines
For all the information you need on Engines:
http://guides.rubyonrails.org/engines.html

Engines are a fantastic way of building encapsulated and reusable code for your rails apps.

Original Answer for Reference

On the development side Rails Engines and/or plugins is probably what you are looking for.

Rails Engines are small subsets of an
application that can be dropped into
any of your Rails applications and
handle common parts of the application
from scratch.

Say for example your social networking application has a wiki, blog, chatroom etc. You would more than likely want to create a wiki engine, blog engine and chatroom engine.

Engines allows you to re-use such functionality within different applications so you do not have to repeat yourself.

Take a look at: http://rails-engines.org/

Some support for ‘engine’ plugins has
been merged into the Rails core
codebase in Rails 2.3.

I would also recommend taking a look at some public projects say on github and see how people have used engines.

Take a look at some engines:

  • Wiki-Engine
  • Skinny-Blog-Engine

Other useful links for reading

  • Tips for writing Engines
  • Rails Engines, Railscast by Ryan Bates
  • The Russian Doll Pattern (PDF)

In functionality terms you could still have an admin area that could activate certain features ie. your blog or wiki by allowing users access to such areas with a permissions/roles system.

  • ACL9
  • role_requirement
  • restful-authentication

If you want to build a CMS which supports some kind of extensions like in Wordpress or Joomla then you will have to either build it and provide guidlines or at least look into how you would upload/install Engines/Plugins from a user perspective.

Not sure on the security implications of this

Redmine has put this kind of functionality into their awesome application. You may want to dig around the source code for tips and clues

Finally Adva_CMS has basically adopted this approach and have created a number of Engines for their CMS application

HTH

Social Media Sharing Buttons Gem for Ruby on Rails

As you shop for these widgets you should not think in terms of Rails solutions but Javascript solutions. Since Rails had adopted JQuery as it default JS framework you can also look in that direction.

Here are a few: http://plugins.jquery.com/?s=social

I recommend shareBox

PHP framework for Social Networking

Ryan, there is a php framework called Elgg which is a php framework directed at social networking based applications.

Django or Ruby on Rails

I kind of like the Python language
better and it seems to be more
full-featured than Ruby for
statistical, scientific and networking
(let me know if you think this is
wrong).

If you think you'll need libraries like NumPy or SciPy, probably best to stick with python/django. I've struggled to find ruby equivalents.

However, the RoR community seems to be
much bigger

Bigger is of course not going to be better. I've had great experiences with the django community in terms of support, and the pluggable app ecosystem is maturing quite quickly.

I would also add that I find the django documentation to be very easy to follow.



Related Topics



Leave a reply



Submit