On Wed, Jun 4, 2008 at 1:34 AM, Dan Bentley <dben...@google.com> wrote:
> I've been working on the RESTUL API python client library.
> (http://code.google.com/p/opensocial-restful-python-client , with the caveat
> that the code is less-than-impressive.) Some thoughts:
>
> Wow, XRDS is cool. It makes it really easy for containers to come up with a
> new service and launch it in a way that's discoverable. This is going to be
> awesome for making fancy libraries that allow questions of the form "what
> can I do here?"
>
> Wow, XRDS is complicated. To do what is conceptually one get can take up to
> 3 requests (first some container url to find out where the XRDS document is,
> second to get that document, and a third to actually get the data based on
> where the XRDS description says it is).
I agree on both things.
> I'm ecstatic to make a python library that allows easy querying of this
> per-container "what services do you support?" data in a programmatic and
> pythonic way. I'm enthused to write a similar library in Java, though worry
> about having to write two such libraries... And then there's php, and ruby,
> and C++...
I started such a thing as part of the pydataportability library:
http://code.google.com/p/pydataportability/
Hope to put up some more docs soon. This can parse XRDS Simple to some
extent and creating it is also planned.
I will also have a look at your library.
cheers,
Christian
--
Christian Scholz
Tao Takashi (Second Life name)
taota...@gmail.com
Blog/Podcast: http://mrtopf.de/blog
Planet: http://worldofsl.com
Company: http://comlounge.net
Tech Video Blog: http://comlounge.tv
IRC: MrTopf/Tao_T
I've been working on the RESTUL API python client library. (http://code.google.com/p/opensocial-restful-python-client , with the caveat that the code is less-than-impressive.) Some thoughts:
- Wow, XRDS is cool. It makes it really easy for containers to come up with a new service and launch it in a way that's discoverable. This is going to be awesome for making fancy libraries that allow questions of the form "what can I do here?"
- Wow, XRDS is complicated. To do what is conceptually one get can take up to 3 requests (first some container url to find out where the XRDS document is, second to get that document, and a third to actually get the data based on where the XRDS description says it is).
I'm ecstatic to make a python library that allows easy querying of this per-container "what services do you support?" data in a programmatic and pythonic way. I'm enthused to write a similar library in Java, though worry about having to write two such libraries... And then there's php, and ruby, and C++...
People *are* going to write dumb libraries that do gets based on string appending for simple requests. (One of the benefits is that OpenSocial makes it easy to do simple requests that provide enough info to do interesting things.) I think it's worth committing to supporting these dumb clients.
Concretely, I guess I'm proposing that we specify some amount of the XRDS (roughly of the scope of the sample XRDS at section 5 of http://code.google.com/apis/opensocial/docs/0.8/restfulspec.html ) that all containers will support the URLs of. That is, clients may consider the XRDS for a container to be <this standard XRDS> + <the XRDS fetched from the server>.
This would push work from the clients to the containers. But the work would be large on the client side and small on the container side. (I believe; please correct me if I'm wrong, but it seems like it'll be fairly easy to map the common URLs to whatever backend you have.)