Social Stream

Social Stream is a plugin for Ruby on Rails. It provides your application with social networking features and activity streams.

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 in Social Network Analysis concepts and methods, including social entities (actors), ties and relations. It also provides a new tie-based access control model.

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.


Add to your Gemfile:

gem 'social_stream'

and run:

bundle update

Then, execute:

rails generate social_stream:install

This will generate the following:

  • A jquery:install generation for jQuery support

  • A devise:install generation for authentication support

  • An initializer configuration file for Social Stream.

  • A database seeds file for defining Social Stream relations, along with an entry

in db/seeds.rb to load it.

  • A new application layout

  • A migration providing the database schema

Do not forget to migrate and seed your database

rake db:migrate
rake db:seed

Actors and Activity Objects

Social Stream relies in Devise. You have authenticated users support in your application.

Besides, there is another kind of actor: groups. If you want other type of actors (like organizations or social events) you must include an actor_id column in the migration. Then add it to config/initializers/social_stream.rb

There is also support for two types of basic activity objects: posts and comments. If you create other types, like photos, bookmarks or videos, you must do the same: add a activity_object_id column in the migration and include it in the initializer.


Social Stream documentation is available at


It is at an early stage of development. Feel free to add an issue or send a message at github.