Social Stream is a core for building social network websites.
Pull request Compare This branch is 1661 commits behind ging:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Social Stream: core for building social network websites

Social Stream is an engine for Ruby on Rails. It provides a robust and flexible core with social networking features and activity streams for building websites.

Social networking

Social networks are a new paradigm on web application design. Social networking platforms stand among the most popular websites, while many content oriented applications are supporting social networking features in order to improve engagement, enhance user awareness and stimulate communities around the website.

Social Stream is based on social network analysis (SNA) concepts and methods, including social entities (actors), ties and relations. Social Stream is so flexible that you can define custom actors (groups, organizations, institutions, social events) and relationships (friends, collegues, members, administrators, contributors, attendants, speakers).

It also provides a new tie-based access control model, which grants rights at the relation level, allowing you to share activities with friends, administrators, members or everybody.

Activity Streams

Activity Streams is a format for syndicating social activities around the web. It has already been adopted by some of the major social networking platforms.

Social Stream provides a database schema based on the Activity Streams specification, leading your application towards a well-known compatible data model design. It is extensible so you can add your own activities easily.


Add the following to the Gemfile of the your Rails application:

gem 'social_stream', '>= 0.19.0'

and run:



rails generate social_stream:install

Do not forget to migrate your database

rake db:migrate

Since Social Stream depends on Devise, make sure you follow its setup instructions. Specifically, make sure you set the default URL options for your environments at config/environments/*.rb with something like:

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

Social Stream is not compatible with default mass attributes protection shipped with Rails 3.2.3

You must set

config.active_record.whitelist_attributes = false in config/application.rb

Social Stream components

Social Stream is divided into components. Developers can customize their social network with the functionalities they need for each case. For instance, the Gemfile in an application using documents and links only would contain the following:

gem 'social_stream-documents'
gem 'social_stream-linkser'

Current Social Stream distribution include the following components:

  • Base, basic functionalities of contacts, streams and walls, along with users, group, post and comments

  • Documents, support for activities on files: pictures, audio and video with a HTML5 player

  • Events, sheduled events with calendar

  • Linkser, advanced management of links to other webpages

  • Presence, XMPP based chat support


Social Stream documentation is available at

However, most of the documentation is in the base gem.


We are reaching beta phase of development. Feel free to add an issue or send a message at github.