I manage to fix all that but the testing showed up some smaller problems that needed fixing.
I finished the OAuth code and thanks to we now running Rails 3 and the latest gems adding more services is just a few lines of code. I managed to add quite a few additonal services to our login system.
It's possible to login with:
I also got the mobile and embedded version back up. I was more lucky here. No modification was required - it still works the same.
The biggest challenge last week was during the final testing where I found a severe bug in the new oauth gem. Due to a faulty parser the signignature would be corrupt if parameters included special characters. At the same time Rails uses a scheme where parameters are in the form object[attribute]=value. Of course this would prevent all post and put requests to fail on any object.
There was also a problem with the new oauth-plugin gem. Firstly it didn't remember that you'd already authorized an application and would ask you everytime you logged in to your account. There was a method to override but it was only called after the redirect, since the plugin required the request to be post. I corrected the code and got it working.
I plan on submitting patches as soon as the release is over and I get some more time to spare. Right now I am fully focused on getting the beta released.
This takes us to what I'm going to do this week. I must fix the last bit of the website and then move on to doing a beta release. After the beta I will start to document the API and the part that will be in the report. If there's time I will start with filling the new website will all previous content such as news, about, contact, and so on. Which is pretty much just a copy-paste effort but I haven't prioritized it yet.
The releases has been somewhat of a russian roulette for me. And even though the last ones have been very painfree, I think that the release will still be the biggest potential threat to screw some things up.
Other than that I don't see any threats right now. It's mostly just tedious work, but it's almost done. :)