Mar 4, 2009 at 7:58 PM
Edited Mar 4, 2009 at 8:18 PM
The goal of 2.0 of the toolkit was to better respond to (regular) changes in the facebook api and better align the toolkit’s api with facebook’s.
It was understood we’d break old code in order to better mesh with what facebook has published in its api.
We solicited feedback before we began development. The community up-voted what features they’d like to see and we worked those items.
In order to better respond to changes in the API, we looked into tools that would do the monotonous heavy lifting that was required for all previous updates.
We found what we needed in Linq2XSD. When evaluating Linq2XSD, our goal was to find a framework for creating entity objects, and parsers based upon an xsd. For more information about Linq2XSD, look at Scott Hanselman’s take on the
We are not using very much of the “Linqiness” of Linq2XSD which you linked to or that others use.
We’re only using it for the object creating and parsing.
When talking with the Microsoft team about the stability of this piece, they felt it was stable enough for what we’re using for.
An alternative option was to use XSD.exe which is an old tool that is able to create the entity objects, but we would have had to create our own parsing engine for each object, forcing us to write our own parsing anytime Facebook
changes their API. This would have defeated the reason of creating version 2.0 of the toolkit: to make it easier for the community to respond to changes to the Facebook api.
Additionally, we are provided flexibility going forward in how Linq 2 XSD generates its entities.
It does leave its generated code for entities and parsers available for us to modify if we ever need to at a future date.
The goal going forward is to stay as close to the facebook api as possible with the toolkit.
This allows the toolkit developers to “talk the same talk” as those developing natively against the facebook api, allowing all users to post the talk about issues in the same forums and get help from all.
If this product is such an integral piece of your business, I suggest (for your own sake) you become a codeplex developer on this project.
I’ve stated this before in previous postings, but there is a reason this code is hosted on codeplex, not on Microsoft’s site.
We made these changes so that the community can help us update this toolkit as facebook changes its api.