i am developing a rails plugin, in which i want a model where server will notify updates to all the connected clients. for simplicity say, on certain event server will say 'hi there is an update' to all the clients.
i came across juggernaut plugin that uses web-sockets and have followed https://github.com/maccman/juggernaut_plugin/tree/c3e07a812341f93bb1f90c00b7a125524b07b80a
but its not working for me.
can any one help me figuring out what am i missing, simply to send an alerts to the clients.
or is there some simpler library or simpler way to get on with it?
any suggestions/comments will be appreciated.
What about Faye? Here's a Railscasts screencast
juggernaut_plugin hasn't been updated for three years. You want Juggernaut, the much more recently and recently-updated version. Try following the instructions for that.
Related
So I want to be able to get a live stream of notifications for my users that are using my rails application. I heard that you are able to do this using web sockets but I haven't seen anything about it in rails.
Is there a way to do this in rails or am I able to use something else along side my application such as node.js ?
Okay I started searching for different terms and I was able to find Faye
This tutorial is great for it http://code.tutsplus.com/tutorials/how-to-use-faye-as-a-real-time-push-server-in-rails--net-22600
You can also use something like PubNub http://www.pubnub.com/
They support a good amount of languages/libraries such as AngularJS. Great customer service and documentation. Also many examples such as this one: http://www.pubnub.com/developers/data-streams/twitter-stream
I have searched for some time investigating several technologies to build an simple instant messaging system for a ruby on rails app. It seems very complicated as I haven't found any implementations that are cross browser or any 1-1 proof of concept at all.
Looked into:
xmpp clients ( there is Candy on github only supports group chat )
xmpp servers & Rails ( lot of hassle no good integration )
Juggernaut ( no 1-1 , not supported by Internet Explorer cause of web sockets used)
Private Pub by ryan bates ( seems to be able to do the trick but as ruby newbie with little documentation on this cannot get this figured )
Can anyone suggest me a instant messenger for rails:
that is Cross browser
has good documentation, example of implementation
Instant Messenger where User A talks to User B and User B talks to User A
I really have no idea anymore how I would implement this, anyone can give me advise on how this problem could be tackled? thx
As Eric said, there isn't one. Messaging is a very difficult thing to do.
Right now I'm using Pubnub, which is an external service. There isn't very good documentation on Rails integration, so you'll just have to try to do it yourself.
On the better documented side, there's Faye, but this is an internal process and requires two instances to be running (one to respond to Faye requests, and one to run your app). This was a little trickier (and more expensive) to do on Heroku, so I just stuck to Pubnub.
In terms of Faye documentation, check out this Railscast, and for privacy, check out Private Pub.
edit: if you think Private Pub is hard to integrate.. well, not to be mean, but perhaps you should try to learn more about Rails and Javascript before you delve into this matter, as it's not an easy thing to do (even though it seems like it should be)
edit 2: Also, for faye, this tutorial might help you out.
You might be better off using Node.js for this type of thing.
Work in progress:
full facebook clone
https://github.com/rubytastic/im
please contribute the code is to be fixed and still wacky!
I just finished implementing juggernaut. I ran both the redis server and juggernaut and they work fine. I have tested out the local host using irb and texts do appear.
I've basically followed the steps on github:
https://github.com/maccman/juggernaut
But now I would like to build the view with ruby on rails and actually be able to use/test the chat room like an actual chat room on any given website instead of writing messages through irb.
Should I use scaffolding to build the layout/view? Thanks!
I wish I could post up my screenshots but I don't have a high enough reputation.
Railscast #260 deals with a similar topic however Ryan chose to use Faye as the messaging server. However it should be easy for you to adapt to the example chat application he builds.
There is a link to the project source on GitHub here and a text version of the screencast here.
Scaffolding may be useful to you here however it may be difficult to stick strictly to the REST conventions, I would attempt to use Rails for the creation of messages and then use Juggernaut to update the messages client side after creation.
Originally I planned to use Juggernaut, however, it is not compatible with Rails 3. And new Juggernaut 2 seems to be completely independent from Rails, which is not what I want. Then I found cramp, it looks quite neat, but is still under development. So I am just wondering which framework should I use? Or is there a better one?
Thanks!
You're right that the new Juggernaut is de-coupled from Rails, but that doesn't mean you can't use the two together. Juggernaut comes with a Ruby library. Using Juggernaut solves the long-lived connection problem that Toby was talking about.
Any questions about Juggernaut, ping me a line (I'm the creator).
I have looked at the options for this stuff quite extensively and real-time chat is a bit against the grain of Rails. If you really want to stay inside Rails, then Cramp is probably the best option. I recommend you have a look at this article on Websockets and Rails as well: http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/
Using EventMachine to handle the communication means you are that even though you will still be outside Rails, you are at least in Ruby and can share models and libraries.
I have a Async Rails build on GitHub:
https://github.com/tobyhede/AsyncRails
Which is largely based on:
https://github.com/igrigorik/async-rails
Well - you could also try Socky: https://github.com/socky/socky-server-ruby
It's ruby-based, and uses WebSocket as base with flash fallback to support most devices. Also it's complete ruby-based so give it a try if you want :)
Does anyone know of a plugin or something that can be used to send bulk emails for a Rails app?
Specifically, I'd like to be able to pass an HTML email file to a rake task or something and have it emailed out to everyone who has signed up to my site and checked the "please send me info about XXX" box.
I wrote kind of a hacked-together version for myself, but I'd like something that throttles itself somewhat smartly and can pick up where it left off if interrupted.
Update: I eventually broke down and got out my credit card and signed up for a real bulk email service, and damn was that the right choice. The resulting emails are very professional, they have built-in analytics, also integrate with Google Analytics, and it's awesome for a ton of other reasons.
If you're looking to do bulk emails with Rails, I would suggest using the Mailchimp service (here's my affiliate link that has a bonus on signup) along with the hominid gem. This will allow you to sync all your user emails from your database to Mailchimp, then use a real bulk service instead of some crappy patched together one.
Another Update: I heard about Maktoub today, and it's pretty much exactly what I was describing. Disclaimer: I have never used it and would still probably steer clear and go with a paid service, but it's still probably better than rolling you own.
I couldn't find one so I wrote it myself. It's not pretty (at this stage), but should serve as a good starting point for anyone with similar needs.
Please send me a pull request if you make any beneficial changes and I'll make sure to give you credit.
Mailcar - Ruby on Rails mass / bulk email plugin
Update - I highly recommend using a service. Rolling your own is a real pain and it will be difficult to manage once your list becomes reasonably large at all.
I don't know that this is the kind of thing that can be covered by a plugin as there are whole sites/applications dedicated to this kind of thing. If you wanted to use one of those then there is www.campaignmonitor.com, it's pretty good and it has an api that you can hook into from your application.
You might want to take a look at postageapp.com
Not aware of any plugins for this and I don't know how rake could be used to do this, if at all.
Since you're using Rails, I assume you're using MySQL as your database so this may not be useful to you, but SQL Answers Mail for SQL Server sends bulk email directly from SQL Server. You could try searching for a tool that does something similar for the database you're using.
There's also a tutorial here and here on creating your own mailer.
use ActionMailer(tutorial) (docs), it comes with Rails and you should be able to rig it to run from a rake task.
There's a relatively new project called Maktoub which claims to be a Rails engine for email newsletters. I haven't tried it yet, but it looks promising.