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.
<img src=“https://secure.travis-ci.org/ging/social_stream.png” /> <img src=“https://gemnasium.com/ging/social_stream.png” />
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 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:
bundle
Then:
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 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 rdoc.info
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.