Topic: Implementing a "beta test" layer?I

Hey all,

I'm expecting my site to be ready for a beta test phase sometime late this month to early next month. What I want my "beta test" to be is basically a small set of invited people to join and use my site, and iron out bugs and issues as they use it.

So I want my site to be live on the internet, but I want to add an extra layer to prevent just anyone from signing up and using it. So if you go to my site, i want you to have to show you are a part of the beta program, then once that is done, the site itself is just like the real thing.

Any ideas on how to approach this? Should I have a before filter on all actions that requires people to log into the beta program? Then from there they log into the site itself with their regular username/password? How would those two logins conflict?

Should I instead only give out regular login/usernames manually, and not allow people to sign up? Then I could just put on the site we are beta testing and not accepting normal signups just yet. In that case the signup page could instead be a request to join the beta program if someone wanted to for some reason.

That second idea seems a lot easier and probably the way to go. But if anyone has any ideas or has done something like this before, I'd love to hear it.

Re: Implementing a "beta test" layer?I

One way to do this is through HTTP authentication. You can usually accomplish this through the web server configuration so you don't even need to alter the application. For example, here's some instructions on doing it with Apache.

Your 2nd idea sounds really cool though.

Railscasts - Free Ruby on Rails Screencasts

Re: Implementing a "beta test" layer?I

I'm in early alpha testing with one of my applications, so far I'm just doing it by word of mouth.  Telling a few interested friends to poke around, etc.  But there isn't any real "protection" to keep people out.  The site isn't linked from anywhere nor does it seem to have been indexed by google (at least not highly ranked) so I wouldn't expect people to stubble across it.

It also has some message of the day/announcements clearly indicating that its a beta/alpha site and that the real site (PHP app I'm porting to RoR) is somewhere else.

For me that's sufficient. For you it might not be.  One easy option I think would be to turn on HTTP Basic Auth and and make a single shared username/password to give to all invited beta testers.  This wouldn't touch the Rails app at all which means you have the same environment in both beta and production which is always nice.

My RoR journey  -- thoughts on learning RoR and lessons learned in applying TDD and agile practices.

Re: Implementing a "beta test" layer?I

Hmmm, I didnt even think of using htaccess. That's a good idea. But I think I still prefer the idea of just handing out logins manually.

Re: Implementing a "beta test" layer?I

I'm currently doing some alpha testing and I'm using Apache authorization.  .htaccess didn't work for me (something with ProxyPass, mongrel, and rewrite rules).  However, I managed to set up a Location in Apache and block it off completely.

Then, I hand out the single username/password for Basic authentication to all my testers.  After that, they can access the site and register normally.

If there is a post/website/blog entry/whatever that answers my questions, please don't hesitate to simply post a link.  I know it can get old fast to answer the same question hundreds of times...

Re: Implementing a "beta test" layer?I

a little while ago i used acts_as_authenticated and created a beta user/password and gave it out to people i wanted to view it. All others would just see the the login page. I just put the before login filter, stuff right on my application model, detailed in the docs.

I can dig up more details if you want. It was a quick way to do what it seems like you want to do.

http://technoweenie.stikipad.com/plugin … henticated

and if your not hip on using plugins/generators I second the http authroization method(all though i never set it up in rails based site)