Options to allow users to chat with providers on a site - ruby-on-rails

We have a website, and want to allow users on the site to chat with the providers (if they are online). To make it as simple as possible, we'd either ask the providers for their Google Voice/AIM username or just ask them to have our website open.
Any ideas on best ways to implement this (we are using HTML5/CSS3/RoR3 and don't support old browsers) or even better, perhaps a solution out there that does this. To my knowledge, olark, livechat, etc don't provide this...
FYI: I prefer an open source solution vs. building it myself.

There was a recent railscast regarding messaging where Ryan built a chat program with push support (not polling). Seems a decent place to start if your requirements are easy going:
http://railscasts.com/episodes/260-messaging-with-faye

Related

Allowing others to copy and tweak my Rails app online

I have developed a relatively simple Rails web application that others (non-programmers) may find useful. I would like to provide a web interface for anyone who wants to create their own copy of my app and change some minor settings, like the appearance, the name of the app and some of its resources, that type of thing. What kind of technology would allow me to do this? Thank you in advance!
GitHub is probably one of the most popular tools to support this, but there are many others such as SourceForge. I'd start from there and do some research to decide the best one for your purposes.
The best way to collaborate code online is through git. The most popular sites for git management include GitHub and BitBucket. Here's a good article suggesting nine alternatives.
However, you stated it would be used by "non-programmers". I can't tell if they will find it useful through the function of the application or the simplicity of the code, so it seems reasonable to also suggest non-git options.
You could use something like Amazon Web Services or Google Cloud to host the static files. See the AWS S3 docs regarding creating a bucket and adding an object.
If you would like to host the entire application online and allow users to easily edit and view the application in-browser, check out cloud9.

Whether to use Disqus or implement a commenting system

I have a simple asp.net mvc 5 site with its own authentication system. Users can sign in either using my site's account or from external such as facebook or google, etc... I want to add a commenting system to allow users feedback on the site's content.
I have tried using Disqus by embedding its universal code script snippet and things seem to work fine. However, the problem is that Disqus requires users to log in again via its own authentication. If users have signed in to my site, I don't want users to do that again just to leave comments. After some searching around I concluded that Disqus was not really what I need and decided not to use it.
Now I am trying to determine whether there's a commenting system that'd be easy to integrate to my site or if I should just implement my own. I don't care too much about nested comments, if it's supported then better but otherwise no big deal.
There is a solution to your problem, and that is single sign-on which is a disqus feature offered for free.
More info - http://help.disqus.com/customer/portal/articles/684744-getting-started-with-single-sign-on

Guide me to build ad server using Pylons

Building advertising infrastructure for each website is somewhat bad, especially when the website is new and not much traffic. People will curious to advertise to website with low traffic.
I need ad server (like AdSense) which:
user can register, can create an ad
(advertiser), and can embed customizable ad codes in
their website
have text and image ads
all payment through paypal
I've found some example using Pylons but it rather outdated. It will be great if someone can guide me what to do and what I need to build it. Any recommendation are welcome.
if you are looking for good documented pylons framework you should look at PylonsProject aka Pyramid. Here you will find EVERYTHING up-2-date documentation. So i think this is a good start.
But if you are looking for a website that you install, login and start working this is not what you want. with pylons/pyramid you will have to write your own code.
Also if you are more explicit where you need guidance i will be more helpful.

Getting started with Authlogic -- is this what I am looking for?

I'm looking to build an application that handles authentication and authorization for a variety of smaller apps that may or may not be rails applications (e.g. some with sinatra, some with non-ruby frameworks, etc). These applications will be on separate domains.
Can I do this with Authlogic? I do not want to setup a rails application for each application, just use a central authenticator. I'm sure as I start reading and working the answer would become evident, but I'm trying to avoid a dead end (doing work and research, then finding out this can't be done.)
From what I've read this is a use case, and I'm looking for input from people who've done similar. This is at the idea stage so if i can offer more detail, let me know.
I think you are planning to build a cross domain, single sign-on service. Besides building your own, there are a quite a few project that do this out of the box.
rubycas is one of them : http://code.google.com/p/rubycas-server/
You could also look into open Id (http://openid.net), where the login functionality is done by a third party authentication server.
In case you want to roll your own:
It doesn't really matter which authentication plugin/system you will use. (I would choose devise/warden, but Authlogic will do just fine). Instead you need to focus on understanding the security problems and the http interaction between your service, the browser and the application for which authentication is used. I think it's doable, but you need to know what you are doing.
Today, the cool kids use warden, or the railsy thingy devise.
Im not sure but i think you cant use authlogic with a non-ruby-app.
I would probably go with Devise as well but you should look into some plugins for it like JanRain's Engage (used to be RPX Now). It allows you to use quite a few social login options (Facebook, Twitter, etc.) http://www.janrain.com/products/engage.
Ryan Bates from Railscasts.com just posted an episode on Devise using Engage this morning. http://railscasts.com/episodes/233-engage-with-devise
There are some more episodes about Devise on Railscasts too. http://railscasts.com/episodes?search=devise
If I were you I wouldn't reinvent the wheel. I'd use a third party service to authenticate and just get on with the project. Social connectors such as Engage will provide this functionality for you without all the time and expertise.

How can I bill within an application

I've been programming for years, and I've also done a few professional programming projects. I recently had a friend ask about creating an e-commerce site, but I had to turn her down because I had never worked on a web application that can bill. I also might need to write a subscription-based web service in the future. My question is, how do I even get started with billing? I've never found a guide about this, and I barely know how bank accounts work since I don't manage my own one (I have an excuse for this since I'm only 16).
I don't know if the answer is language dependent, but if it is the languages I'm interested in are Python, C/C++, and Java.
There are lots of ways to go about setting up e-commerce sites;
If you don't have any experience whatsoever, and don't want to get into anything "complicated", i would suggest going with a customizable web "storefront" hosted by someone else, pre-integrated with credit card processing, etc. There are tons of options for these online. Just search google for "web storefront". Yahoo! even has such a service:
http://smallbusiness.yahoo.com/ecommerce/sellonline.php
Going beyond that, It's pretty easy to integrate with someone like PayPal. They have all sorts of options from the most basic (use a link to send someone to their site with query string parameters to let paypal know what the user wanted to buy):
https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_ID=developer/home
Beyond that level, you will need to signup for a merchant account, or other similar sort of service, like the one offered by authorize.net (who I like):
http://www.authorize.net/
There are components you can buy for most major web development platforms like .NET, JSP, etc. Perfect example is dotnetcart. These components provide out-of-the-box, easy-to-setup integrations with major CC processing companies, as well as out-of-the-box shopping cart implementations:
http://www.dotnetcart.com/
Finally, most merchant services / payment gateways provide web services for direct integration.
PS.) Never ever ever store CC numbers ; )
I would look at paypal's api to get started. You might not want to stick with them but it is a good starting place to learn about dealing with credit card clearing houses and such.
Here ya go.
You'll typically interface with a 3rd-party for doing banking transactions. One that I've work with in the past is Authorize.Net but there's plenty out there (PayPal is another fairly popular one with a decent API).
Basically, the best approach is to do as little as possible and let the 3rd party handle all the "hard" stuff (such as security, managing credit card details and so on).

Resources