So for a while now, we have been trying to figure out a standard means to lookup someone’s freetime from their calendar (called freebusy in the calendaring world). We knew we wanted a REST service that could be passed url parameters, we even had a demo one up on the net.
The problem, though, had always been how to figure out the url for the service given the user’s e-mail address. Openid, DIX, yadis et al always showed promise, but it always felt clunky to have to first translate an e-mail identifier for the user into an http url based identifier for the user and then ask for an attribute for the calendar service etc. etc. A recent proposal to the yadis mailing list, however, showed the way. Simply resolve the e-mail address to its domain and use the yadis protocol (section 6) on that to discover a freebusy service for all the members of the domain.
So, for example, let’s say that the e-mail address of someone who I want to schedule a meeting with is rob@robubu.com. Use the yadis protocol on http://robubu.com, i.e. retrieve the page at http://robubu.com and dereference the "X-XRDS-Location" meta tag in the html head to get back a yadis document (that looks something like this).
<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
<XRD>
<Service>
<Type>http://ietf.org/cal/freebusy/1.0</Type>
<URI>http://robubu.com/calendar/freebusy.php</URI>
</Service>
</XRD>
</xrds:XRDS>
Then extract the endpoint for the freebusy service by looking for the URI that corresponds to a service of type "http://ietf.org/cal/freebusy/1.0". Finally, construct the url request that returns the freebusy time in iCalendar format for a given period e.g. http://robubu.com/calendar/freebusy.php?email=rob@robubu.com&start=20070101&end=20071212. Done.
I’ve also hacked a little on webcalendar and got an end point up and running. The calendar in html is here, but if you want to schedule a meeting with me via yadis and the freebusy api then my e-mail address (for the purposes of the demo) is rob@robubu.com.
Finally, I do want to use the URI Template approach for the URI, but I’ll leave that for another post.
{ 10 } Comments
I know this site presents quality based content and other information, is
there any other site which presents such data in quality?
great post, very informative. I wonder why the other experts of this
sector do not notice this. You should continue your writing.
I’m sure, you have a great readers’ base already!
Write more, thats all I have to say. Literally, it seems as though you relied on
the video to make your point. You clearly know what youre talking about,
why throw away your intelligence on just posting
videos to your blog when you could be giving us something informative to read?
I know this web site gives quality dependent content and other material, is there any other website which
provides such stuff in quality?
Greate article. Keep posting such kind of info on your page.
Im really impressed by your site.
Hi there, You have done an excellent job. I will certainly digg it and in my view recommend to my friends.
I am sure they’ll be benefited from this website.
Hello there, You have done a fantastic job. I’ll definitely digg it and personally suggest to my friends. I’m sure they will be benefited from this
site.
Great post. I used to be checking constantly this weblog
and I’m inspired! Extremely useful info particularly the remaining section :) I care for such info a lot. I was seeking this particular info for a very long time. Thanks and best of luck.
I think that is certainly on the list of a great deal vital information within my situation.
And i’m satisfied studying your article. However should remark on some common issues, The website style is perfect, the articles is actually excellent : D. Just right job, cheers
I manage such info much.
Fantastic beat ! I would like to apprentice whilst you amend your website, how can i subscribe for a weblog site?
The account helped me a applicable deal. I were tiny bit familiar of this your broadcast offered bright clear concept
{ 1 } Trackback
[...] a standard that was completed in 1998, but they punted on all the hard stuff. The hard bit, as I have mentioned before, is working out where someone’s freebusy is stored on the web and then authenticating with [...]
Post a Comment