Social Stream is an engine for Ruby on Rails. It provides a robust and flexible framework with social networking features and activity streams for building websites.
<img src=“https://secure.travis-ci.org/ging/social_stream.png” /> <img src=“https://codeclimate.com/badge.png” />
Social Stream is divided into components. Developers can customize their social network with the functionalities they need for each case. 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
-
Ostatus, support for social network federation
-
Oauth2Server, authentication and authorization service based on OAuth2
Add the following to the Gemfile of the your Rails application:
gem 'social_stream', '>= 1.0.0'
In the case you do not want some functionality, include your desired components instead. For instance, the Gemfile in an application using documents and links only would contain the following:
gem 'social_stream-documents' gem 'social_stream-linkser'
Then run:
bundle
Then:
rails generate social_stream:install
or use specific generators if you are using components.
Social Stream is not compatible with default mass attributes protection shipped with Rails 3.2.3, but uses the strong_parameters gem that will be the default in Rails 4. Set this in your config/application.rb before running the migration command:
config.active_record.whitelist_attributes = false
Now 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’s wiki covers topics such as deployment howtos, development tips or an explanation of the database schema.
Furthermore, Social Stream’s code documentation is available at rdoc.info. Most of the stuff is in the base gem.
If you have any questions or issues regarding Social Stream usage, Social Stream’s Google group is a perfect place to share them. Other experienced users of Social Stream will be willing to help you. There exist also a social-stream tag in StackOverflow
Social Stream’s issue tracker is reserved to discuss defects and contributions. Please do not post questions in the issue tracker.