As we begin to wrap up the year we also are beginning to wrap up the API getting ready for the “real” pull request for the API code. We are down to one last code review of the final clean up pass before we have it looked at by the core team. I think the code is pretty solid but it will of course have problems that are discovered during the review and the testing. Ah the testing, real world testing that we really need to do. To get there we need to have a test server. Thankfully that’s all taken care of now and we’ve had the first data interactions with a pod.
As I wrote previously I wanted to run the latest and greatest of the API code on real production pod that could act as a live development-test system. To do that I stood up a brand new instance by following the instructions on the Diaspora Wiki. Rather than following the instructions to pull the latest of the master branch I’ve instead pulled the head of the final cleanup branch of the API in Franks’ GitHub Fork that we’ve been working in. After struggling with some Nginx configurations for the HTTPS reverse proxy I was up and running pretty seamlessly. Then it was a question of going through the first app registration and authentication process for the user that I’ve done hundreds of times over the development. It all worked perfectly, leading to the first ever post to a production pod with the API. You can see the result here (using the web+diaspora link) or here (using a web link). I actually went through an entire cycle of getting my current user’s data, querying for their posts, creating a post, and then requerying. I intend to write a more detailed post about that whole process shortly.
If anyone else wants to start testing the API they are free to make an account on the test pod. Please keep in mind:
- This will be running bleeding edge software so will probably have stability issues and bugs you wouldn’t normally see.
- There is no concept of data guarantee. Data can and will be deleted as necessary up to and including blowing away the entire database if warranted. Do not put critical data posts on this pod.
- This pod is not running on a large server it therefore will not scale to huge numbers of users, posts etc. It’s not meant for that kind of testing.
- People who abuse the pod will be ejected from it.
Overall though I can’t tell you how stoked I am about this. I’ve been seeing posts show up on my local development pods for a while now but seeing a real live server properly interacting in the same way just tickled me a lot. Here’s to another important milestone on getting the Diaspora API out the door!