A messaging plugin that allows users to exchange messages and present them dialog like as know from chats or the iphone sms app.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


dialog_messages V 0.1
This plugin allows users of your application to exchange private messages. Beside the basic infrastructure of models it
provides a inbox and a dialog like messages presentation as know from ichat or the iphone sms app, including endless scrolling.


Get the plugin with script/plugin install git://github.com/thilo/dialog_messages.

* Engines
Additionally you need engines >= 1.2. If you don't use it yet here a short installation guide

Install it with script/plugin discover; script/plugin install engines;
Now you have to add the following in your applications environment rb right after your require rails boot.rb file.

require File.join(File.dirname(__FILE__), '../vendor/plugins/engines/boot')

now back to setting up dialog messages.

* Plugin
The plugin require that your application provide a current_user method to get the logged in user. 
If you use acts_as_authenticated it comes for free otherwise you may just create a alias for a similar method.

To use the endless scrolling the plugin need to include a javascript into the views. 
So add <%= yield :head %> inside the layout head.

With script/generate plugin_migration you will get a migration that adds a messages and a dialogs table to your database. 
Don't forget to call rake db:migrate to create these tables.

To add the messaging abilities to the User add acts_as_dialog_peer to your user model.

At last add map.from_plugin 'dialog_messages' to your routes.rb

Now you are ready to roll. 


To get to the inbox, just provide a link to dialogs_path. 

To sending a message just point a link to list_dialogs_path(:user_id => receiver_id) where receiver_id is the id of the receiving user.


To customize the inbox you can create your own index.html.erb in your_app/app/views/dialogs to overwrite the template that comes with the plugin.
Same works for all other views that you will find under the appv/iews dir in the plugin.

Open Issues

I still have to find a way to get the controller specs running. 
No test for the acts_as_dialoge_peer module